aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrarbab <arbab@panix.com>2023-01-03 19:55:46 +0000
committerrarbab <arbab@panix.com>2023-01-03 19:55:46 +0000
commit885075ae971da4c2b08d3b2d10c0394e30306999 (patch)
treeb1f6bd40d117977eafc510a44e8e797d03142c0c
parent3a5ee36fd7480e89800dd6a0cf6efa294e6aa957 (diff)
downloadskiboot-885075ae971da4c2b08d3b2d10c0394e30306999.zip
skiboot-885075ae971da4c2b08d3b2d10c0394e30306999.tar.gz
skiboot-885075ae971da4c2b08d3b2d10c0394e30306999.tar.bz2
Deploying to gh-pages from @ open-power/skiboot@e6cda1703f6f816ee4ceef1b5389d1a8585cabff 🚀
-rw-r--r--coverage-report/ccan/array_size/test/index-sort-b.html2
-rw-r--r--coverage-report/ccan/array_size/test/index-sort-f.html2
-rw-r--r--coverage-report/ccan/array_size/test/index-sort-l.html2
-rw-r--r--coverage-report/ccan/array_size/test/index.html2
-rw-r--r--coverage-report/ccan/array_size/test/run.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/array_size/test/run.c.func.html2
-rw-r--r--coverage-report/ccan/array_size/test/run.c.gcov.html2
-rw-r--r--coverage-report/ccan/build_assert/test/index-sort-b.html2
-rw-r--r--coverage-report/ccan/build_assert/test/index-sort-f.html2
-rw-r--r--coverage-report/ccan/build_assert/test/index-sort-l.html2
-rw-r--r--coverage-report/ccan/build_assert/test/index.html2
-rw-r--r--coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func.html2
-rw-r--r--coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.gcov.html2
-rw-r--r--coverage-report/ccan/check_type/test/index-sort-b.html2
-rw-r--r--coverage-report/ccan/check_type/test/index-sort-f.html2
-rw-r--r--coverage-report/ccan/check_type/test/index-sort-l.html2
-rw-r--r--coverage-report/ccan/check_type/test/index.html2
-rw-r--r--coverage-report/ccan/check_type/test/run.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/check_type/test/run.c.func.html2
-rw-r--r--coverage-report/ccan/check_type/test/run.c.gcov.html2
-rw-r--r--coverage-report/ccan/container_of/container_of.h.func-sort-c.html2
-rw-r--r--coverage-report/ccan/container_of/container_of.h.func.html2
-rw-r--r--coverage-report/ccan/container_of/container_of.h.gcov.html2
-rw-r--r--coverage-report/ccan/container_of/index-sort-b.html2
-rw-r--r--coverage-report/ccan/container_of/index-sort-f.html2
-rw-r--r--coverage-report/ccan/container_of/index-sort-l.html2
-rw-r--r--coverage-report/ccan/container_of/index.html2
-rw-r--r--coverage-report/ccan/container_of/test/index-sort-b.html2
-rw-r--r--coverage-report/ccan/container_of/test/index-sort-f.html2
-rw-r--r--coverage-report/ccan/container_of/test/index-sort-l.html2
-rw-r--r--coverage-report/ccan/container_of/test/index.html2
-rw-r--r--coverage-report/ccan/container_of/test/run.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/container_of/test/run.c.func.html2
-rw-r--r--coverage-report/ccan/container_of/test/run.c.gcov.html2
-rw-r--r--coverage-report/ccan/endian/endian.h.func-sort-c.html14
-rw-r--r--coverage-report/ccan/endian/endian.h.func.html14
-rw-r--r--coverage-report/ccan/endian/endian.h.gcov.html26
-rw-r--r--coverage-report/ccan/endian/index-sort-b.html2
-rw-r--r--coverage-report/ccan/endian/index-sort-f.html2
-rw-r--r--coverage-report/ccan/endian/index-sort-l.html2
-rw-r--r--coverage-report/ccan/endian/index.html2
-rw-r--r--coverage-report/ccan/endian/test/index-sort-b.html2
-rw-r--r--coverage-report/ccan/endian/test/index-sort-f.html2
-rw-r--r--coverage-report/ccan/endian/test/index-sort-l.html2
-rw-r--r--coverage-report/ccan/endian/test/index.html2
-rw-r--r--coverage-report/ccan/endian/test/run.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/endian/test/run.c.func.html2
-rw-r--r--coverage-report/ccan/endian/test/run.c.gcov.html2
-rw-r--r--coverage-report/ccan/heap/heap.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/heap/heap.c.func.html2
-rw-r--r--coverage-report/ccan/heap/heap.c.gcov.html2
-rw-r--r--coverage-report/ccan/heap/index-sort-b.html2
-rw-r--r--coverage-report/ccan/heap/index-sort-f.html2
-rw-r--r--coverage-report/ccan/heap/index-sort-l.html2
-rw-r--r--coverage-report/ccan/heap/index.html2
-rw-r--r--coverage-report/ccan/heap/test/index-sort-b.html2
-rw-r--r--coverage-report/ccan/heap/test/index-sort-f.html2
-rw-r--r--coverage-report/ccan/heap/test/index-sort-l.html2
-rw-r--r--coverage-report/ccan/heap/test/index.html2
-rw-r--r--coverage-report/ccan/heap/test/run.c.func-sort-c.html8
-rw-r--r--coverage-report/ccan/heap/test/run.c.func.html8
-rw-r--r--coverage-report/ccan/heap/test/run.c.gcov.html30
-rw-r--r--coverage-report/ccan/list/index-sort-b.html22
-rw-r--r--coverage-report/ccan/list/index-sort-f.html2
-rw-r--r--coverage-report/ccan/list/index-sort-l.html2
-rw-r--r--coverage-report/ccan/list/index.html2
-rw-r--r--coverage-report/ccan/list/list.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/list.c.func.html2
-rw-r--r--coverage-report/ccan/list/list.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/list.h.func-sort-c.html16
-rw-r--r--coverage-report/ccan/list/list.h.func.html16
-rw-r--r--coverage-report/ccan/list/list.h.gcov.html58
-rw-r--r--coverage-report/ccan/list/test/helper.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/test/helper.c.func.html2
-rw-r--r--coverage-report/ccan/list/test/helper.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/test/index-sort-b.html58
-rw-r--r--coverage-report/ccan/list/test/index-sort-f.html34
-rw-r--r--coverage-report/ccan/list/test/index-sort-l.html10
-rw-r--r--coverage-report/ccan/list/test/index.html10
-rw-r--r--coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func.html2
-rw-r--r--coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/test/run-check-corrupt.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/test/run-check-corrupt.c.func.html2
-rw-r--r--coverage-report/ccan/list/test/run-check-corrupt.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/test/run-check-nonconst.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/test/run-check-nonconst.c.func.html2
-rw-r--r--coverage-report/ccan/list/test/run-check-nonconst.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/test/run-list_del_from-assert.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/test/run-list_del_from-assert.c.func.html2
-rw-r--r--coverage-report/ccan/list/test/run-list_del_from-assert.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/test/run-list_prev-list_next.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/test/run-list_prev-list_next.c.func.html2
-rw-r--r--coverage-report/ccan/list/test/run-list_prev-list_next.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/test/run-prepend_list.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/test/run-prepend_list.c.func.html2
-rw-r--r--coverage-report/ccan/list/test/run-prepend_list.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/test/run-single-eval.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/list/test/run-single-eval.c.func.html2
-rw-r--r--coverage-report/ccan/list/test/run-single-eval.c.gcov.html2
-rw-r--r--coverage-report/ccan/list/test/run.c.func-sort-c.html6
-rw-r--r--coverage-report/ccan/list/test/run.c.func.html6
-rw-r--r--coverage-report/ccan/list/test/run.c.gcov.html12
-rw-r--r--coverage-report/ccan/short_types/test/index-sort-b.html6
-rw-r--r--coverage-report/ccan/short_types/test/index-sort-f.html6
-rw-r--r--coverage-report/ccan/short_types/test/index-sort-l.html6
-rw-r--r--coverage-report/ccan/short_types/test/index.html2
-rw-r--r--coverage-report/ccan/short_types/test/run-endian.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/short_types/test/run-endian.c.func.html2
-rw-r--r--coverage-report/ccan/short_types/test/run-endian.c.gcov.html2
-rw-r--r--coverage-report/ccan/short_types/test/run.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/short_types/test/run.c.func.html2
-rw-r--r--coverage-report/ccan/short_types/test/run.c.gcov.html2
-rw-r--r--coverage-report/ccan/str/index-sort-b.html2
-rw-r--r--coverage-report/ccan/str/index-sort-f.html2
-rw-r--r--coverage-report/ccan/str/index-sort-l.html2
-rw-r--r--coverage-report/ccan/str/index.html2
-rw-r--r--coverage-report/ccan/str/str.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/str/str.c.func.html2
-rw-r--r--coverage-report/ccan/str/str.c.gcov.html2
-rw-r--r--coverage-report/ccan/str/str.h.func-sort-c.html2
-rw-r--r--coverage-report/ccan/str/str.h.func.html2
-rw-r--r--coverage-report/ccan/str/str.h.gcov.html2
-rw-r--r--coverage-report/ccan/str/test/index-sort-b.html14
-rw-r--r--coverage-report/ccan/str/test/index-sort-f.html2
-rw-r--r--coverage-report/ccan/str/test/index-sort-l.html2
-rw-r--r--coverage-report/ccan/str/test/index.html2
-rw-r--r--coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func.html2
-rw-r--r--coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.gcov.html2
-rw-r--r--coverage-report/ccan/str/test/run.c.func-sort-c.html2
-rw-r--r--coverage-report/ccan/str/test/run.c.func.html2
-rw-r--r--coverage-report/ccan/str/test/run.c.gcov.html2
-rw-r--r--coverage-report/core/bitmap.c.func-sort-c.html2
-rw-r--r--coverage-report/core/bitmap.c.func.html2
-rw-r--r--coverage-report/core/bitmap.c.gcov.html2
-rw-r--r--coverage-report/core/buddy.c.func-sort-c.html2
-rw-r--r--coverage-report/core/buddy.c.func.html2
-rw-r--r--coverage-report/core/buddy.c.gcov.html2
-rw-r--r--coverage-report/core/chip.c.func-sort-c.html2
-rw-r--r--coverage-report/core/chip.c.func.html2
-rw-r--r--coverage-report/core/chip.c.gcov.html2
-rw-r--r--coverage-report/core/console-log.c.func-sort-c.html2
-rw-r--r--coverage-report/core/console-log.c.func.html2
-rw-r--r--coverage-report/core/console-log.c.gcov.html2
-rw-r--r--coverage-report/core/cpufeatures.c.func-sort-c.html2
-rw-r--r--coverage-report/core/cpufeatures.c.func.html2
-rw-r--r--coverage-report/core/cpufeatures.c.gcov.html2
-rw-r--r--coverage-report/core/device.c.func-sort-c.html2
-rw-r--r--coverage-report/core/device.c.func.html2
-rw-r--r--coverage-report/core/device.c.gcov.html2
-rw-r--r--coverage-report/core/fdt.c.func-sort-c.html2
-rw-r--r--coverage-report/core/fdt.c.func.html2
-rw-r--r--coverage-report/core/fdt.c.gcov.html2
-rw-r--r--coverage-report/core/flash-firmware-versions.c.func-sort-c.html2
-rw-r--r--coverage-report/core/flash-firmware-versions.c.func.html2
-rw-r--r--coverage-report/core/flash-firmware-versions.c.gcov.html2
-rw-r--r--coverage-report/core/flash-subpartition.c.func-sort-c.html2
-rw-r--r--coverage-report/core/flash-subpartition.c.func.html2
-rw-r--r--coverage-report/core/flash-subpartition.c.gcov.html2
-rw-r--r--coverage-report/core/index-sort-b.html228
-rw-r--r--coverage-report/core/index-sort-f.html44
-rw-r--r--coverage-report/core/index-sort-l.html6
-rw-r--r--coverage-report/core/index.html2
-rw-r--r--coverage-report/core/malloc.c.func-sort-c.html2
-rw-r--r--coverage-report/core/malloc.c.func.html2
-rw-r--r--coverage-report/core/malloc.c.gcov.html2
-rw-r--r--coverage-report/core/mem_region.c.func-sort-c.html24
-rw-r--r--coverage-report/core/mem_region.c.func.html24
-rw-r--r--coverage-report/core/mem_region.c.gcov.html248
-rw-r--r--coverage-report/core/nvram-format.c.func-sort-c.html2
-rw-r--r--coverage-report/core/nvram-format.c.func.html2
-rw-r--r--coverage-report/core/nvram-format.c.gcov.html2
-rw-r--r--coverage-report/core/opal-msg.c.func-sort-c.html2
-rw-r--r--coverage-report/core/opal-msg.c.func.html2
-rw-r--r--coverage-report/core/opal-msg.c.gcov.html2
-rw-r--r--coverage-report/core/pci-quirk.c.func-sort-c.html2
-rw-r--r--coverage-report/core/pci-quirk.c.func.html2
-rw-r--r--coverage-report/core/pci-quirk.c.gcov.html2
-rw-r--r--coverage-report/core/pel.c.func-sort-c.html2
-rw-r--r--coverage-report/core/pel.c.func.html2
-rw-r--r--coverage-report/core/pel.c.gcov.html2
-rw-r--r--coverage-report/core/pool.c.func-sort-c.html2
-rw-r--r--coverage-report/core/pool.c.func.html2
-rw-r--r--coverage-report/core/pool.c.gcov.html2
-rw-r--r--coverage-report/core/test/dummy-cpu.h.func-sort-c.html2
-rw-r--r--coverage-report/core/test/dummy-cpu.h.func.html2
-rw-r--r--coverage-report/core/test/dummy-cpu.h.gcov.html2
-rw-r--r--coverage-report/core/test/index-sort-b.html230
-rw-r--r--coverage-report/core/test/index-sort-f.html82
-rw-r--r--coverage-report/core/test/index-sort-l.html6
-rw-r--r--coverage-report/core/test/index.html2
-rw-r--r--coverage-report/core/test/run-api-test.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-api-test.c.func.html2
-rw-r--r--coverage-report/core/test/run-api-test.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-bitmap.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-bitmap.c.func.html2
-rw-r--r--coverage-report/core/test/run-bitmap.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-buddy.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-buddy.c.func.html2
-rw-r--r--coverage-report/core/test/run-buddy.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-console-log-buf-overrun.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-console-log-buf-overrun.c.func.html2
-rw-r--r--coverage-report/core/test/run-console-log-buf-overrun.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-console-log-pr_fmt.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-console-log-pr_fmt.c.func.html2
-rw-r--r--coverage-report/core/test/run-console-log-pr_fmt.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-console-log.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-console-log.c.func.html2
-rw-r--r--coverage-report/core/test/run-console-log.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-cpufeatures.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-cpufeatures.c.func.html2
-rw-r--r--coverage-report/core/test/run-cpufeatures.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-device.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-device.c.func.html2
-rw-r--r--coverage-report/core/test/run-device.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-flash-firmware-versions.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-flash-firmware-versions.c.func.html2
-rw-r--r--coverage-report/core/test/run-flash-firmware-versions.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-flash-subpartition.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-flash-subpartition.c.func.html2
-rw-r--r--coverage-report/core/test/run-flash-subpartition.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-malloc-speed.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-malloc-speed.c.func.html2
-rw-r--r--coverage-report/core/test/run-malloc-speed.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-malloc.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-malloc.c.func.html2
-rw-r--r--coverage-report/core/test/run-malloc.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-mem_range_is_reserved.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-mem_range_is_reserved.c.func.html2
-rw-r--r--coverage-report/core/test/run-mem_range_is_reserved.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-mem_region.c.func-sort-c.html4
-rw-r--r--coverage-report/core/test/run-mem_region.c.func.html4
-rw-r--r--coverage-report/core/test/run-mem_region.c.gcov.html24
-rw-r--r--coverage-report/core/test/run-mem_region_init.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-mem_region_init.c.func.html2
-rw-r--r--coverage-report/core/test/run-mem_region_init.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-mem_region_next.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-mem_region_next.c.func.html2
-rw-r--r--coverage-report/core/test/run-mem_region_next.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-mem_region_release_unused.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-mem_region_release_unused.c.func.html2
-rw-r--r--coverage-report/core/test/run-mem_region_release_unused.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func.html2
-rw-r--r--coverage-report/core/test/run-mem_region_release_unused_noalloc.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-mem_region_reservations.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-mem_region_reservations.c.func.html2
-rw-r--r--coverage-report/core/test/run-mem_region_reservations.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-msg.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-msg.c.func.html2
-rw-r--r--coverage-report/core/test/run-msg.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-nvram-format.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-nvram-format.c.func.html2
-rw-r--r--coverage-report/core/test/run-nvram-format.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-pci-quirk.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-pci-quirk.c.func.html2
-rw-r--r--coverage-report/core/test/run-pci-quirk.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-pel.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-pel.c.func.html2
-rw-r--r--coverage-report/core/test/run-pel.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-pool.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-pool.c.func.html2
-rw-r--r--coverage-report/core/test/run-pool.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-time-utils.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-time-utils.c.func.html2
-rw-r--r--coverage-report/core/test/run-time-utils.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-timebase.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-timebase.c.func.html2
-rw-r--r--coverage-report/core/test/run-timebase.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-timer.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/run-timer.c.func.html2
-rw-r--r--coverage-report/core/test/run-timer.c.gcov.html2
-rw-r--r--coverage-report/core/test/run-trace.c.func-sort-c.html14
-rw-r--r--coverage-report/core/test/run-trace.c.func.html14
-rw-r--r--coverage-report/core/test/run-trace.c.gcov.html124
-rw-r--r--coverage-report/core/test/stubs.c.func-sort-c.html2
-rw-r--r--coverage-report/core/test/stubs.c.func.html2
-rw-r--r--coverage-report/core/test/stubs.c.gcov.html2
-rw-r--r--coverage-report/core/time-utils.c.func-sort-c.html2
-rw-r--r--coverage-report/core/time-utils.c.func.html2
-rw-r--r--coverage-report/core/time-utils.c.gcov.html2
-rw-r--r--coverage-report/core/timer.c.func-sort-c.html2
-rw-r--r--coverage-report/core/timer.c.func.html2
-rw-r--r--coverage-report/core/timer.c.gcov.html2
-rw-r--r--coverage-report/core/trace.c.func-sort-c.html6
-rw-r--r--coverage-report/core/trace.c.func.html6
-rw-r--r--coverage-report/core/trace.c.gcov.html114
-rw-r--r--coverage-report/core/vpd.c.func-sort-c.html2
-rw-r--r--coverage-report/core/vpd.c.func.html2
-rw-r--r--coverage-report/core/vpd.c.gcov.html2
-rw-r--r--coverage-report/external/ffspart/ccan/endian/endian.h.func-sort-c.html6
-rw-r--r--coverage-report/external/ffspart/ccan/endian/endian.h.func.html6
-rw-r--r--coverage-report/external/ffspart/ccan/endian/endian.h.gcov.html10
-rw-r--r--coverage-report/external/ffspart/ccan/endian/index-sort-b.html12
-rw-r--r--coverage-report/external/ffspart/ccan/endian/index-sort-f.html12
-rw-r--r--coverage-report/external/ffspart/ccan/endian/index-sort-l.html12
-rw-r--r--coverage-report/external/ffspart/ccan/endian/index.html12
-rw-r--r--coverage-report/external/ffspart/common/arch_flash_common.c.func-sort-c.html2
-rw-r--r--coverage-report/external/ffspart/common/arch_flash_common.c.func.html2
-rw-r--r--coverage-report/external/ffspart/common/arch_flash_common.c.gcov.html2
-rw-r--r--coverage-report/external/ffspart/common/arch_flash_unknown.c.func-sort-c.html2
-rw-r--r--coverage-report/external/ffspart/common/arch_flash_unknown.c.func.html2
-rw-r--r--coverage-report/external/ffspart/common/arch_flash_unknown.c.gcov.html2
-rw-r--r--coverage-report/external/ffspart/common/index-sort-b.html26
-rw-r--r--coverage-report/external/ffspart/common/index-sort-f.html2
-rw-r--r--coverage-report/external/ffspart/common/index-sort-l.html2
-rw-r--r--coverage-report/external/ffspart/common/index.html2
-rw-r--r--coverage-report/external/ffspart/ffspart.c.func-sort-c.html14
-rw-r--r--coverage-report/external/ffspart/ffspart.c.func.html14
-rw-r--r--coverage-report/external/ffspart/ffspart.c.gcov.html16
-rw-r--r--coverage-report/external/ffspart/index-sort-b.html10
-rw-r--r--coverage-report/external/ffspart/index-sort-f.html10
-rw-r--r--coverage-report/external/ffspart/index-sort-l.html10
-rw-r--r--coverage-report/external/ffspart/index.html10
-rw-r--r--coverage-report/external/ffspart/libflash/blocklevel.c.func-sort-c.html26
-rw-r--r--coverage-report/external/ffspart/libflash/blocklevel.c.func.html26
-rw-r--r--coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html50
-rw-r--r--coverage-report/external/ffspart/libflash/ecc.c.func-sort-c.html14
-rw-r--r--coverage-report/external/ffspart/libflash/ecc.c.func.html14
-rw-r--r--coverage-report/external/ffspart/libflash/ecc.c.gcov.html12
-rw-r--r--coverage-report/external/ffspart/libflash/ecc.h.func-sort-c.html2
-rw-r--r--coverage-report/external/ffspart/libflash/ecc.h.func.html2
-rw-r--r--coverage-report/external/ffspart/libflash/ecc.h.gcov.html2
-rw-r--r--coverage-report/external/ffspart/libflash/file.c.func-sort-c.html14
-rw-r--r--coverage-report/external/ffspart/libflash/file.c.func.html14
-rw-r--r--coverage-report/external/ffspart/libflash/file.c.gcov.html52
-rw-r--r--coverage-report/external/ffspart/libflash/index-sort-b.html86
-rw-r--r--coverage-report/external/ffspart/libflash/index-sort-f.html58
-rw-r--r--coverage-report/external/ffspart/libflash/index-sort-l.html58
-rw-r--r--coverage-report/external/ffspart/libflash/index.html58
-rw-r--r--coverage-report/external/ffspart/libflash/libffs.c.func-sort-c.html36
-rw-r--r--coverage-report/external/ffspart/libflash/libffs.c.func.html32
-rw-r--r--coverage-report/external/ffspart/libflash/libffs.c.gcov.html70
-rw-r--r--coverage-report/external/ffspart/libflash/libflash.c.func-sort-c.html22
-rw-r--r--coverage-report/external/ffspart/libflash/libflash.c.func.html22
-rw-r--r--coverage-report/external/ffspart/libflash/libflash.c.gcov.html62
-rw-r--r--coverage-report/external/gard/ccan/endian/endian.h.func-sort-c.html6
-rw-r--r--coverage-report/external/gard/ccan/endian/endian.h.func.html6
-rw-r--r--coverage-report/external/gard/ccan/endian/endian.h.gcov.html10
-rw-r--r--coverage-report/external/gard/ccan/endian/index-sort-b.html12
-rw-r--r--coverage-report/external/gard/ccan/endian/index-sort-f.html12
-rw-r--r--coverage-report/external/gard/ccan/endian/index-sort-l.html12
-rw-r--r--coverage-report/external/gard/ccan/endian/index.html12
-rw-r--r--coverage-report/external/gard/ccan/list/index-sort-b.html2
-rw-r--r--coverage-report/external/gard/ccan/list/index-sort-f.html2
-rw-r--r--coverage-report/external/gard/ccan/list/index-sort-l.html2
-rw-r--r--coverage-report/external/gard/ccan/list/index.html2
-rw-r--r--coverage-report/external/gard/ccan/list/list.c.func-sort-c.html2
-rw-r--r--coverage-report/external/gard/ccan/list/list.c.func.html2
-rw-r--r--coverage-report/external/gard/ccan/list/list.c.gcov.html2
-rw-r--r--coverage-report/external/gard/common/arch_flash_common.c.func-sort-c.html2
-rw-r--r--coverage-report/external/gard/common/arch_flash_common.c.func.html2
-rw-r--r--coverage-report/external/gard/common/arch_flash_common.c.gcov.html2
-rw-r--r--coverage-report/external/gard/common/arch_flash_unknown.c.func-sort-c.html2
-rw-r--r--coverage-report/external/gard/common/arch_flash_unknown.c.func.html2
-rw-r--r--coverage-report/external/gard/common/arch_flash_unknown.c.gcov.html2
-rw-r--r--coverage-report/external/gard/common/index-sort-b.html26
-rw-r--r--coverage-report/external/gard/common/index-sort-f.html2
-rw-r--r--coverage-report/external/gard/common/index-sort-l.html2
-rw-r--r--coverage-report/external/gard/common/index.html2
-rw-r--r--coverage-report/external/gard/gard.c.func-sort-c.html16
-rw-r--r--coverage-report/external/gard/gard.c.func.html16
-rw-r--r--coverage-report/external/gard/gard.c.gcov.html10
-rw-r--r--coverage-report/external/gard/index-sort-b.html12
-rw-r--r--coverage-report/external/gard/index-sort-f.html12
-rw-r--r--coverage-report/external/gard/index-sort-l.html12
-rw-r--r--coverage-report/external/gard/index.html12
-rw-r--r--coverage-report/external/gard/libflash/blocklevel.c.func-sort-c.html26
-rw-r--r--coverage-report/external/gard/libflash/blocklevel.c.func.html26
-rw-r--r--coverage-report/external/gard/libflash/blocklevel.c.gcov.html54
-rw-r--r--coverage-report/external/gard/libflash/ecc.c.func-sort-c.html16
-rw-r--r--coverage-report/external/gard/libflash/ecc.c.func.html16
-rw-r--r--coverage-report/external/gard/libflash/ecc.c.gcov.html20
-rw-r--r--coverage-report/external/gard/libflash/ecc.h.func-sort-c.html2
-rw-r--r--coverage-report/external/gard/libflash/ecc.h.func.html2
-rw-r--r--coverage-report/external/gard/libflash/ecc.h.gcov.html2
-rw-r--r--coverage-report/external/gard/libflash/file.c.func-sort-c.html14
-rw-r--r--coverage-report/external/gard/libflash/file.c.func.html14
-rw-r--r--coverage-report/external/gard/libflash/file.c.gcov.html52
-rw-r--r--coverage-report/external/gard/libflash/index-sort-b.html86
-rw-r--r--coverage-report/external/gard/libflash/index-sort-f.html66
-rw-r--r--coverage-report/external/gard/libflash/index-sort-l.html56
-rw-r--r--coverage-report/external/gard/libflash/index.html52
-rw-r--r--coverage-report/external/gard/libflash/libffs.c.func-sort-c.html22
-rw-r--r--coverage-report/external/gard/libflash/libffs.c.func.html22
-rw-r--r--coverage-report/external/gard/libflash/libffs.c.gcov.html50
-rw-r--r--coverage-report/external/gard/libflash/libflash.c.func-sort-c.html22
-rw-r--r--coverage-report/external/gard/libflash/libflash.c.func.html22
-rw-r--r--coverage-report/external/gard/libflash/libflash.c.gcov.html62
-rw-r--r--coverage-report/external/pflash/ccan/endian/endian.h.func-sort-c.html8
-rw-r--r--coverage-report/external/pflash/ccan/endian/endian.h.func.html8
-rw-r--r--coverage-report/external/pflash/ccan/endian/endian.h.gcov.html16
-rw-r--r--coverage-report/external/pflash/ccan/endian/index-sort-b.html14
-rw-r--r--coverage-report/external/pflash/ccan/endian/index-sort-f.html14
-rw-r--r--coverage-report/external/pflash/ccan/endian/index-sort-l.html14
-rw-r--r--coverage-report/external/pflash/ccan/endian/index.html14
-rw-r--r--coverage-report/external/pflash/ccan/list/index-sort-b.html2
-rw-r--r--coverage-report/external/pflash/ccan/list/index-sort-f.html2
-rw-r--r--coverage-report/external/pflash/ccan/list/index-sort-l.html2
-rw-r--r--coverage-report/external/pflash/ccan/list/index.html2
-rw-r--r--coverage-report/external/pflash/ccan/list/list.c.func-sort-c.html2
-rw-r--r--coverage-report/external/pflash/ccan/list/list.c.func.html2
-rw-r--r--coverage-report/external/pflash/ccan/list/list.c.gcov.html2
-rw-r--r--coverage-report/external/pflash/common/arch_flash_common.c.func-sort-c.html2
-rw-r--r--coverage-report/external/pflash/common/arch_flash_common.c.func.html2
-rw-r--r--coverage-report/external/pflash/common/arch_flash_common.c.gcov.html2
-rw-r--r--coverage-report/external/pflash/common/arch_flash_unknown.c.func-sort-c.html2
-rw-r--r--coverage-report/external/pflash/common/arch_flash_unknown.c.func.html2
-rw-r--r--coverage-report/external/pflash/common/arch_flash_unknown.c.gcov.html2
-rw-r--r--coverage-report/external/pflash/common/index-sort-b.html26
-rw-r--r--coverage-report/external/pflash/common/index-sort-f.html2
-rw-r--r--coverage-report/external/pflash/common/index-sort-l.html2
-rw-r--r--coverage-report/external/pflash/common/index.html2
-rw-r--r--coverage-report/external/pflash/index-sort-b.html26
-rw-r--r--coverage-report/external/pflash/index-sort-f.html2
-rw-r--r--coverage-report/external/pflash/index-sort-l.html2
-rw-r--r--coverage-report/external/pflash/index.html2
-rw-r--r--coverage-report/external/pflash/libflash/blocklevel.c.func-sort-c.html24
-rw-r--r--coverage-report/external/pflash/libflash/blocklevel.c.func.html24
-rw-r--r--coverage-report/external/pflash/libflash/blocklevel.c.gcov.html52
-rw-r--r--coverage-report/external/pflash/libflash/ecc.c.func-sort-c.html10
-rw-r--r--coverage-report/external/pflash/libflash/ecc.c.func.html10
-rw-r--r--coverage-report/external/pflash/libflash/ecc.c.gcov.html8
-rw-r--r--coverage-report/external/pflash/libflash/ecc.h.func-sort-c.html2
-rw-r--r--coverage-report/external/pflash/libflash/ecc.h.func.html2
-rw-r--r--coverage-report/external/pflash/libflash/ecc.h.gcov.html2
-rw-r--r--coverage-report/external/pflash/libflash/file.c.func-sort-c.html18
-rw-r--r--coverage-report/external/pflash/libflash/file.c.func.html18
-rw-r--r--coverage-report/external/pflash/libflash/file.c.gcov.html56
-rw-r--r--coverage-report/external/pflash/libflash/index-sort-b.html64
-rw-r--r--coverage-report/external/pflash/libflash/index-sort-f.html52
-rw-r--r--coverage-report/external/pflash/libflash/index-sort-l.html52
-rw-r--r--coverage-report/external/pflash/libflash/index.html52
-rw-r--r--coverage-report/external/pflash/libflash/libffs.c.func-sort-c.html38
-rw-r--r--coverage-report/external/pflash/libflash/libffs.c.func.html32
-rw-r--r--coverage-report/external/pflash/libflash/libffs.c.gcov.html74
-rw-r--r--coverage-report/external/pflash/libflash/libflash.c.func-sort-c.html22
-rw-r--r--coverage-report/external/pflash/libflash/libflash.c.func.html22
-rw-r--r--coverage-report/external/pflash/libflash/libflash.c.gcov.html62
-rw-r--r--coverage-report/external/pflash/pflash.c.func-sort-c.html2
-rw-r--r--coverage-report/external/pflash/pflash.c.func.html2
-rw-r--r--coverage-report/external/pflash/pflash.c.gcov.html2
-rw-r--r--coverage-report/external/pflash/progress.c.func-sort-c.html2
-rw-r--r--coverage-report/external/pflash/progress.c.func.html2
-rw-r--r--coverage-report/external/pflash/progress.c.gcov.html2
-rw-r--r--coverage-report/external/trace/index-sort-b.html2
-rw-r--r--coverage-report/external/trace/index-sort-f.html2
-rw-r--r--coverage-report/external/trace/index-sort-l.html2
-rw-r--r--coverage-report/external/trace/index.html2
-rw-r--r--coverage-report/external/trace/trace.c.func-sort-c.html10
-rw-r--r--coverage-report/external/trace/trace.c.func.html6
-rw-r--r--coverage-report/external/trace/trace.c.gcov.html78
-rw-r--r--coverage-report/hdata/cpu-common.c.func-sort-c.html2
-rw-r--r--coverage-report/hdata/cpu-common.c.func.html2
-rw-r--r--coverage-report/hdata/cpu-common.c.gcov.html2
-rw-r--r--coverage-report/hdata/fsp.c.func-sort-c.html6
-rw-r--r--coverage-report/hdata/fsp.c.func.html6
-rw-r--r--coverage-report/hdata/fsp.c.gcov.html10
-rw-r--r--coverage-report/hdata/hdif.c.func-sort-c.html2
-rw-r--r--coverage-report/hdata/hdif.c.func.html2
-rw-r--r--coverage-report/hdata/hdif.c.gcov.html2
-rw-r--r--coverage-report/hdata/hdif.h.func-sort-c.html2
-rw-r--r--coverage-report/hdata/hdif.h.func.html2
-rw-r--r--coverage-report/hdata/hdif.h.gcov.html2
-rw-r--r--coverage-report/hdata/hostservices.c.func-sort-c.html2
-rw-r--r--coverage-report/hdata/hostservices.c.func.html2
-rw-r--r--coverage-report/hdata/hostservices.c.gcov.html2
-rw-r--r--coverage-report/hdata/i2c.c.func-sort-c.html2
-rw-r--r--coverage-report/hdata/i2c.c.func.html2
-rw-r--r--coverage-report/hdata/i2c.c.gcov.html2
-rw-r--r--coverage-report/hdata/index-sort-b.html164
-rw-r--r--coverage-report/hdata/index-sort-f.html56
-rw-r--r--coverage-report/hdata/index-sort-l.html72
-rw-r--r--coverage-report/hdata/index.html40
-rw-r--r--coverage-report/hdata/iohub.c.func-sort-c.html6
-rw-r--r--coverage-report/hdata/iohub.c.func.html6
-rw-r--r--coverage-report/hdata/iohub.c.gcov.html10
-rw-r--r--coverage-report/hdata/memory.c.func-sort-c.html8
-rw-r--r--coverage-report/hdata/memory.c.func.html8
-rw-r--r--coverage-report/hdata/memory.c.gcov.html10
-rw-r--r--coverage-report/hdata/pcia.c.func-sort-c.html8
-rw-r--r--coverage-report/hdata/pcia.c.func.html8
-rw-r--r--coverage-report/hdata/pcia.c.gcov.html12
-rw-r--r--coverage-report/hdata/slca.c.func-sort-c.html2
-rw-r--r--coverage-report/hdata/slca.c.func.html2
-rw-r--r--coverage-report/hdata/slca.c.gcov.html2
-rw-r--r--coverage-report/hdata/spira.c.func-sort-c.html4
-rw-r--r--coverage-report/hdata/spira.c.func.html4
-rw-r--r--coverage-report/hdata/spira.c.gcov.html6
-rw-r--r--coverage-report/hdata/spira.h.func-sort-c.html2
-rw-r--r--coverage-report/hdata/spira.h.func.html2
-rw-r--r--coverage-report/hdata/spira.h.gcov.html2
-rw-r--r--coverage-report/hdata/test/hdata_to_dt.c.func-sort-c.html2
-rw-r--r--coverage-report/hdata/test/hdata_to_dt.c.func.html2
-rw-r--r--coverage-report/hdata/test/hdata_to_dt.c.gcov.html2
-rw-r--r--coverage-report/hdata/test/index-sort-b.html2
-rw-r--r--coverage-report/hdata/test/index-sort-f.html2
-rw-r--r--coverage-report/hdata/test/index-sort-l.html2
-rw-r--r--coverage-report/hdata/test/index.html2
-rw-r--r--coverage-report/hdata/tpmrel.c.func-sort-c.html2
-rw-r--r--coverage-report/hdata/tpmrel.c.func.html2
-rw-r--r--coverage-report/hdata/tpmrel.c.gcov.html2
-rw-r--r--coverage-report/hdata/vpd-common.c.func-sort-c.html2
-rw-r--r--coverage-report/hdata/vpd-common.c.func.html2
-rw-r--r--coverage-report/hdata/vpd-common.c.gcov.html2
-rw-r--r--coverage-report/hdata/vpd.c.func-sort-c.html8
-rw-r--r--coverage-report/hdata/vpd.c.func.html8
-rw-r--r--coverage-report/hdata/vpd.c.gcov.html10
-rw-r--r--coverage-report/hw/index-sort-b.html26
-rw-r--r--coverage-report/hw/index-sort-f.html2
-rw-r--r--coverage-report/hw/index-sort-l.html2
-rw-r--r--coverage-report/hw/index.html2
-rw-r--r--coverage-report/hw/ipmi/index-sort-b.html2
-rw-r--r--coverage-report/hw/ipmi/index-sort-f.html2
-rw-r--r--coverage-report/hw/ipmi/index-sort-l.html2
-rw-r--r--coverage-report/hw/ipmi/index.html2
-rw-r--r--coverage-report/hw/ipmi/ipmi-fru.c.func-sort-c.html2
-rw-r--r--coverage-report/hw/ipmi/ipmi-fru.c.func.html2
-rw-r--r--coverage-report/hw/ipmi/ipmi-fru.c.gcov.html2
-rw-r--r--coverage-report/hw/ipmi/test/index-sort-b.html2
-rw-r--r--coverage-report/hw/ipmi/test/index-sort-f.html2
-rw-r--r--coverage-report/hw/ipmi/test/index-sort-l.html2
-rw-r--r--coverage-report/hw/ipmi/test/index.html2
-rw-r--r--coverage-report/hw/ipmi/test/run-fru.c.func-sort-c.html2
-rw-r--r--coverage-report/hw/ipmi/test/run-fru.c.func.html2
-rw-r--r--coverage-report/hw/ipmi/test/run-fru.c.gcov.html2
-rw-r--r--coverage-report/hw/lpc-port80h.c.func-sort-c.html2
-rw-r--r--coverage-report/hw/lpc-port80h.c.func.html2
-rw-r--r--coverage-report/hw/lpc-port80h.c.gcov.html2
-rw-r--r--coverage-report/hw/phys-map.c.func-sort-c.html2
-rw-r--r--coverage-report/hw/phys-map.c.func.html2
-rw-r--r--coverage-report/hw/phys-map.c.gcov.html2
-rw-r--r--coverage-report/hw/test/index-sort-b.html26
-rw-r--r--coverage-report/hw/test/index-sort-f.html2
-rw-r--r--coverage-report/hw/test/index-sort-l.html2
-rw-r--r--coverage-report/hw/test/index.html2
-rw-r--r--coverage-report/hw/test/phys-map-test.c.func-sort-c.html2
-rw-r--r--coverage-report/hw/test/phys-map-test.c.func.html2
-rw-r--r--coverage-report/hw/test/phys-map-test.c.gcov.html2
-rw-r--r--coverage-report/hw/test/run-port80h.c.func-sort-c.html2
-rw-r--r--coverage-report/hw/test/run-port80h.c.func.html2
-rw-r--r--coverage-report/hw/test/run-port80h.c.gcov.html2
-rw-r--r--coverage-report/include/bitmap.h.func-sort-c.html2
-rw-r--r--coverage-report/include/bitmap.h.func.html2
-rw-r--r--coverage-report/include/bitmap.h.gcov.html2
-rw-r--r--coverage-report/include/chip.h.func-sort-c.html2
-rw-r--r--coverage-report/include/chip.h.func.html2
-rw-r--r--coverage-report/include/chip.h.gcov.html2
-rw-r--r--coverage-report/include/compiler.h.func-sort-c.html2
-rw-r--r--coverage-report/include/compiler.h.func.html2
-rw-r--r--coverage-report/include/compiler.h.gcov.html2
-rw-r--r--coverage-report/include/device.h.func-sort-c.html2
-rw-r--r--coverage-report/include/device.h.func.html2
-rw-r--r--coverage-report/include/device.h.gcov.html2
-rw-r--r--coverage-report/include/index-sort-b.html76
-rw-r--r--coverage-report/include/index-sort-f.html22
-rw-r--r--coverage-report/include/index-sort-l.html2
-rw-r--r--coverage-report/include/index.html2
-rw-r--r--coverage-report/include/lock.h.func-sort-c.html2
-rw-r--r--coverage-report/include/lock.h.func.html2
-rw-r--r--coverage-report/include/lock.h.gcov.html2
-rw-r--r--coverage-report/include/opal-internal.h.func-sort-c.html2
-rw-r--r--coverage-report/include/opal-internal.h.func.html2
-rw-r--r--coverage-report/include/opal-internal.h.gcov.html2
-rw-r--r--coverage-report/include/pci.h.func-sort-c.html2
-rw-r--r--coverage-report/include/pci.h.func.html2
-rw-r--r--coverage-report/include/pci.h.gcov.html2
-rw-r--r--coverage-report/include/processor.h.func-sort-c.html2
-rw-r--r--coverage-report/include/processor.h.func.html2
-rw-r--r--coverage-report/include/processor.h.gcov.html2
-rw-r--r--coverage-report/include/skiboot.h.func-sort-c.html2
-rw-r--r--coverage-report/include/skiboot.h.func.html2
-rw-r--r--coverage-report/include/skiboot.h.gcov.html2
-rw-r--r--coverage-report/include/time-utils.h.func-sort-c.html2
-rw-r--r--coverage-report/include/time-utils.h.func.html2
-rw-r--r--coverage-report/include/time-utils.h.gcov.html2
-rw-r--r--coverage-report/include/timebase.h.func-sort-c.html2
-rw-r--r--coverage-report/include/timebase.h.func.html2
-rw-r--r--coverage-report/include/timebase.h.gcov.html2
-rw-r--r--coverage-report/index-sort-b.html608
-rw-r--r--coverage-report/index-sort-f.html192
-rw-r--r--coverage-report/index-sort-l.html186
-rw-r--r--coverage-report/index.html118
-rw-r--r--coverage-report/libc/ctype/index-sort-b.html22
-rw-r--r--coverage-report/libc/ctype/index-sort-f.html22
-rw-r--r--coverage-report/libc/ctype/index-sort-l.html10
-rw-r--r--coverage-report/libc/ctype/index.html2
-rw-r--r--coverage-report/libc/ctype/isdigit.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/ctype/isdigit.c.func.html2
-rw-r--r--coverage-report/libc/ctype/isdigit.c.gcov.html2
-rw-r--r--coverage-report/libc/ctype/isprint.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/ctype/isprint.c.func.html2
-rw-r--r--coverage-report/libc/ctype/isprint.c.gcov.html2
-rw-r--r--coverage-report/libc/ctype/isspace.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/ctype/isspace.c.func.html2
-rw-r--r--coverage-report/libc/ctype/isspace.c.gcov.html2
-rw-r--r--coverage-report/libc/ctype/isxdigit.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/ctype/isxdigit.c.func.html2
-rw-r--r--coverage-report/libc/ctype/isxdigit.c.gcov.html2
-rw-r--r--coverage-report/libc/ctype/tolower.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/ctype/tolower.c.func.html2
-rw-r--r--coverage-report/libc/ctype/tolower.c.gcov.html2
-rw-r--r--coverage-report/libc/ctype/toupper.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/ctype/toupper.c.func.html2
-rw-r--r--coverage-report/libc/ctype/toupper.c.gcov.html2
-rw-r--r--coverage-report/libc/index-sort-b.html2
-rw-r--r--coverage-report/libc/index-sort-f.html2
-rw-r--r--coverage-report/libc/index-sort-l.html2
-rw-r--r--coverage-report/libc/index.html2
-rw-r--r--coverage-report/libc/stdio/index-sort-b.html2
-rw-r--r--coverage-report/libc/stdio/index-sort-f.html2
-rw-r--r--coverage-report/libc/stdio/index-sort-l.html2
-rw-r--r--coverage-report/libc/stdio/index.html2
-rw-r--r--coverage-report/libc/stdio/snprintf.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/stdio/snprintf.c.func.html2
-rw-r--r--coverage-report/libc/stdio/snprintf.c.gcov.html2
-rw-r--r--coverage-report/libc/stdio/vsnprintf.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/stdio/vsnprintf.c.func.html2
-rw-r--r--coverage-report/libc/stdio/vsnprintf.c.gcov.html6
-rw-r--r--coverage-report/libc/stdlib/atoi.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/stdlib/atoi.c.func.html2
-rw-r--r--coverage-report/libc/stdlib/atoi.c.gcov.html2
-rw-r--r--coverage-report/libc/stdlib/atol.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/stdlib/atol.c.func.html2
-rw-r--r--coverage-report/libc/stdlib/atol.c.gcov.html2
-rw-r--r--coverage-report/libc/stdlib/index-sort-b.html46
-rw-r--r--coverage-report/libc/stdlib/index-sort-f.html24
-rw-r--r--coverage-report/libc/stdlib/index-sort-l.html2
-rw-r--r--coverage-report/libc/stdlib/index.html2
-rw-r--r--coverage-report/libc/stdlib/rand.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/stdlib/rand.c.func.html2
-rw-r--r--coverage-report/libc/stdlib/rand.c.gcov.html2
-rw-r--r--coverage-report/libc/stdlib/strtol.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/stdlib/strtol.c.func.html2
-rw-r--r--coverage-report/libc/stdlib/strtol.c.gcov.html6
-rw-r--r--coverage-report/libc/stdlib/strtoul.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/stdlib/strtoul.c.func.html2
-rw-r--r--coverage-report/libc/stdlib/strtoul.c.gcov.html6
-rw-r--r--coverage-report/libc/string/index-sort-b.html128
-rw-r--r--coverage-report/libc/string/index-sort-f.html62
-rw-r--r--coverage-report/libc/string/index-sort-l.html18
-rw-r--r--coverage-report/libc/string/index.html2
-rw-r--r--coverage-report/libc/string/memchr.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/memchr.c.func.html2
-rw-r--r--coverage-report/libc/string/memchr.c.gcov.html2
-rw-r--r--coverage-report/libc/string/memcmp.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/memcmp.c.func.html2
-rw-r--r--coverage-report/libc/string/memcmp.c.gcov.html2
-rw-r--r--coverage-report/libc/string/memcpy.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/memcpy.c.func.html2
-rw-r--r--coverage-report/libc/string/memcpy.c.gcov.html2
-rw-r--r--coverage-report/libc/string/memmove.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/memmove.c.func.html2
-rw-r--r--coverage-report/libc/string/memmove.c.gcov.html2
-rw-r--r--coverage-report/libc/string/memset.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/memset.c.func.html2
-rw-r--r--coverage-report/libc/string/memset.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strcasecmp.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strcasecmp.c.func.html2
-rw-r--r--coverage-report/libc/string/strcasecmp.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strcat.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strcat.c.func.html2
-rw-r--r--coverage-report/libc/string/strcat.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strchr.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strchr.c.func.html2
-rw-r--r--coverage-report/libc/string/strchr.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strcmp.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strcmp.c.func.html2
-rw-r--r--coverage-report/libc/string/strcmp.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strcpy.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strcpy.c.func.html2
-rw-r--r--coverage-report/libc/string/strcpy.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strdup.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strdup.c.func.html2
-rw-r--r--coverage-report/libc/string/strdup.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strlen.c.func-sort-c.html4
-rw-r--r--coverage-report/libc/string/strlen.c.func.html4
-rw-r--r--coverage-report/libc/string/strlen.c.gcov.html14
-rw-r--r--coverage-report/libc/string/strncasecmp.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strncasecmp.c.func.html2
-rw-r--r--coverage-report/libc/string/strncasecmp.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strncmp.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strncmp.c.func.html2
-rw-r--r--coverage-report/libc/string/strncmp.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strncpy.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strncpy.c.func.html2
-rw-r--r--coverage-report/libc/string/strncpy.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strrchr.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strrchr.c.func.html2
-rw-r--r--coverage-report/libc/string/strrchr.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strstr.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strstr.c.func.html2
-rw-r--r--coverage-report/libc/string/strstr.c.gcov.html2
-rw-r--r--coverage-report/libc/string/strtok.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/string/strtok.c.func.html2
-rw-r--r--coverage-report/libc/string/strtok.c.gcov.html2
-rw-r--r--coverage-report/libc/test/index-sort-b.html52
-rw-r--r--coverage-report/libc/test/index-sort-f.html18
-rw-r--r--coverage-report/libc/test/index-sort-l.html6
-rw-r--r--coverage-report/libc/test/index.html2
-rw-r--r--coverage-report/libc/test/run-ctype-test.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/test/run-ctype-test.c.func.html2
-rw-r--r--coverage-report/libc/test/run-ctype-test.c.gcov.html2
-rw-r--r--coverage-report/libc/test/run-ctype.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/test/run-ctype.c.func.html2
-rw-r--r--coverage-report/libc/test/run-ctype.c.gcov.html2
-rw-r--r--coverage-report/libc/test/run-memops-test.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/test/run-memops-test.c.func.html2
-rw-r--r--coverage-report/libc/test/run-memops-test.c.gcov.html2
-rw-r--r--coverage-report/libc/test/run-memops.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/test/run-memops.c.func.html2
-rw-r--r--coverage-report/libc/test/run-memops.c.gcov.html2
-rw-r--r--coverage-report/libc/test/run-snprintf-test.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/test/run-snprintf-test.c.func.html2
-rw-r--r--coverage-report/libc/test/run-snprintf-test.c.gcov.html2
-rw-r--r--coverage-report/libc/test/run-snprintf.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/test/run-snprintf.c.func.html2
-rw-r--r--coverage-report/libc/test/run-snprintf.c.gcov.html2
-rw-r--r--coverage-report/libc/test/run-stdlib.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/test/run-stdlib.c.func.html2
-rw-r--r--coverage-report/libc/test/run-stdlib.c.gcov.html2
-rw-r--r--coverage-report/libc/test/run-time.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/test/run-time.c.func.html2
-rw-r--r--coverage-report/libc/test/run-time.c.gcov.html2
-rw-r--r--coverage-report/libc/time.c.func-sort-c.html2
-rw-r--r--coverage-report/libc/time.c.func.html2
-rw-r--r--coverage-report/libc/time.c.gcov.html2
-rw-r--r--coverage-report/libfdt/fdt.c.func-sort-c.html2
-rw-r--r--coverage-report/libfdt/fdt.c.func.html2
-rw-r--r--coverage-report/libfdt/fdt.c.gcov.html4
-rw-r--r--coverage-report/libfdt/fdt_ro.c.func-sort-c.html6
-rw-r--r--coverage-report/libfdt/fdt_ro.c.func.html6
-rw-r--r--coverage-report/libfdt/fdt_ro.c.gcov.html14
-rw-r--r--coverage-report/libfdt/fdt_strerror.c.func-sort-c.html2
-rw-r--r--coverage-report/libfdt/fdt_strerror.c.func.html2
-rw-r--r--coverage-report/libfdt/fdt_strerror.c.gcov.html2
-rw-r--r--coverage-report/libfdt/fdt_sw.c.func-sort-c.html2
-rw-r--r--coverage-report/libfdt/fdt_sw.c.func.html2
-rw-r--r--coverage-report/libfdt/fdt_sw.c.gcov.html2
-rw-r--r--coverage-report/libfdt/index-sort-b.html54
-rw-r--r--coverage-report/libfdt/index-sort-f.html12
-rw-r--r--coverage-report/libfdt/index-sort-l.html12
-rw-r--r--coverage-report/libfdt/index.html12
-rw-r--r--coverage-report/libfdt/libfdt.h.func-sort-c.html2
-rw-r--r--coverage-report/libfdt/libfdt.h.func.html2
-rw-r--r--coverage-report/libfdt/libfdt.h.gcov.html2
-rw-r--r--coverage-report/libfdt/libfdt_env.h.func-sort-c.html2
-rw-r--r--coverage-report/libfdt/libfdt_env.h.func.html2
-rw-r--r--coverage-report/libfdt/libfdt_env.h.gcov.html2
-rw-r--r--coverage-report/libfdt/libfdt_internal.h.func-sort-c.html2
-rw-r--r--coverage-report/libfdt/libfdt_internal.h.func.html2
-rw-r--r--coverage-report/libfdt/libfdt_internal.h.gcov.html2
-rw-r--r--coverage-report/libflash/blocklevel.c.func-sort-c.html24
-rw-r--r--coverage-report/libflash/blocklevel.c.func.html12
-rw-r--r--coverage-report/libflash/blocklevel.c.gcov.html36
-rw-r--r--coverage-report/libflash/ecc.c.func-sort-c.html10
-rw-r--r--coverage-report/libflash/ecc.c.func.html4
-rw-r--r--coverage-report/libflash/ecc.c.gcov.html10
-rw-r--r--coverage-report/libflash/ecc.h.func-sort-c.html2
-rw-r--r--coverage-report/libflash/ecc.h.func.html2
-rw-r--r--coverage-report/libflash/ecc.h.gcov.html2
-rw-r--r--coverage-report/libflash/file.c.func-sort-c.html18
-rw-r--r--coverage-report/libflash/file.c.func.html18
-rw-r--r--coverage-report/libflash/file.c.gcov.html56
-rw-r--r--coverage-report/libflash/index-sort-b.html106
-rw-r--r--coverage-report/libflash/index-sort-f.html46
-rw-r--r--coverage-report/libflash/index-sort-l.html46
-rw-r--r--coverage-report/libflash/index.html46
-rw-r--r--coverage-report/libflash/ipmi-hiomap.c.func-sort-c.html2
-rw-r--r--coverage-report/libflash/ipmi-hiomap.c.func.html2
-rw-r--r--coverage-report/libflash/ipmi-hiomap.c.gcov.html2
-rw-r--r--coverage-report/libflash/libffs.c.func-sort-c.html38
-rw-r--r--coverage-report/libflash/libffs.c.func.html32
-rw-r--r--coverage-report/libflash/libffs.c.gcov.html74
-rw-r--r--coverage-report/libflash/libflash.c.func-sort-c.html6
-rw-r--r--coverage-report/libflash/libflash.c.func.html6
-rw-r--r--coverage-report/libflash/libflash.c.gcov.html8
-rw-r--r--coverage-report/libflash/mbox-flash.c.func-sort-c.html2
-rw-r--r--coverage-report/libflash/mbox-flash.c.func.html2
-rw-r--r--coverage-report/libflash/mbox-flash.c.gcov.html40
-rw-r--r--coverage-report/libflash/test/index-sort-b.html72
-rw-r--r--coverage-report/libflash/test/index-sort-f.html2
-rw-r--r--coverage-report/libflash/test/index-sort-l.html2
-rw-r--r--coverage-report/libflash/test/index.html2
-rw-r--r--coverage-report/libflash/test/mbox-server.c.func-sort-c.html8
-rw-r--r--coverage-report/libflash/test/mbox-server.c.func.html8
-rw-r--r--coverage-report/libflash/test/mbox-server.c.gcov.html40
-rw-r--r--coverage-report/libflash/test/stubs.c.func-sort-c.html2
-rw-r--r--coverage-report/libflash/test/stubs.c.func.html2
-rw-r--r--coverage-report/libflash/test/stubs.c.gcov.html2
-rw-r--r--coverage-report/libflash/test/test-blocklevel.c.func-sort-c.html2
-rw-r--r--coverage-report/libflash/test/test-blocklevel.c.func.html2
-rw-r--r--coverage-report/libflash/test/test-blocklevel.c.gcov.html2
-rw-r--r--coverage-report/libflash/test/test-ecc.c.func-sort-c.html2
-rw-r--r--coverage-report/libflash/test/test-ecc.c.func.html2
-rw-r--r--coverage-report/libflash/test/test-ecc.c.gcov.html2
-rw-r--r--coverage-report/libflash/test/test-flash.c.func-sort-c.html2
-rw-r--r--coverage-report/libflash/test/test-flash.c.func.html2
-rw-r--r--coverage-report/libflash/test/test-flash.c.gcov.html2
-rw-r--r--coverage-report/libflash/test/test-ipmi-hiomap.c.func-sort-c.html2
-rw-r--r--coverage-report/libflash/test/test-ipmi-hiomap.c.func.html2
-rw-r--r--coverage-report/libflash/test/test-ipmi-hiomap.c.gcov.html2
-rw-r--r--coverage-report/libflash/test/test-mbox.c.func-sort-c.html2
-rw-r--r--coverage-report/libflash/test/test-mbox.c.func.html2
-rw-r--r--coverage-report/libflash/test/test-mbox.c.gcov.html4
-rw-r--r--coverage-report/libstb/container.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/container.c.func.html2
-rw-r--r--coverage-report/libstb/container.c.gcov.html2
-rw-r--r--coverage-report/libstb/crypto/pkcs7/index-sort-b.html2
-rw-r--r--coverage-report/libstb/crypto/pkcs7/index-sort-f.html2
-rw-r--r--coverage-report/libstb/crypto/pkcs7/index-sort-l.html2
-rw-r--r--coverage-report/libstb/crypto/pkcs7/index.html2
-rw-r--r--coverage-report/libstb/crypto/pkcs7/pkcs7.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/crypto/pkcs7/pkcs7.c.func.html2
-rw-r--r--coverage-report/libstb/crypto/pkcs7/pkcs7.c.gcov.html2
-rw-r--r--coverage-report/libstb/index-sort-b.html2
-rw-r--r--coverage-report/libstb/index-sort-f.html2
-rw-r--r--coverage-report/libstb/index-sort-l.html2
-rw-r--r--coverage-report/libstb/index.html2
-rw-r--r--coverage-report/libstb/secvar/backend/edk2-compat-process.c.func-sort-c.html6
-rw-r--r--coverage-report/libstb/secvar/backend/edk2-compat-process.c.func.html6
-rw-r--r--coverage-report/libstb/secvar/backend/edk2-compat-process.c.gcov.html8
-rw-r--r--coverage-report/libstb/secvar/backend/edk2-compat.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/backend/edk2-compat.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/backend/edk2-compat.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/backend/index-sort-b.html28
-rw-r--r--coverage-report/libstb/secvar/backend/index-sort-f.html10
-rw-r--r--coverage-report/libstb/secvar/backend/index-sort-l.html10
-rw-r--r--coverage-report/libstb/secvar/backend/index.html10
-rw-r--r--coverage-report/libstb/secvar/index-sort-b.html2
-rw-r--r--coverage-report/libstb/secvar/index-sort-f.html2
-rw-r--r--coverage-report/libstb/secvar/index-sort-l.html2
-rw-r--r--coverage-report/libstb/secvar/index.html2
-rw-r--r--coverage-report/libstb/secvar/secvar_api.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/secvar_api.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/secvar_api.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/secvar_util.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/secvar_util.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/secvar_util.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/storage/fakenv_ops.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/storage/fakenv_ops.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/storage/fakenv_ops.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/storage/index-sort-b.html2
-rw-r--r--coverage-report/libstb/secvar/storage/index-sort-f.html2
-rw-r--r--coverage-report/libstb/secvar/storage/index-sort-l.html2
-rw-r--r--coverage-report/libstb/secvar/storage/index.html2
-rw-r--r--coverage-report/libstb/secvar/storage/secboot_tpm.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/storage/secboot_tpm.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/storage/secboot_tpm.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/test/index-sort-b.html56
-rw-r--r--coverage-report/libstb/secvar/test/index-sort-f.html10
-rw-r--r--coverage-report/libstb/secvar/test/index-sort-l.html2
-rw-r--r--coverage-report/libstb/secvar/test/index.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-enqueue.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-getvar.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-getvar.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-getvar.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-nextvar.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-void.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-void.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar-test-void.c.gcov.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar_api_test.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar_api_test.c.func.html2
-rw-r--r--coverage-report/libstb/secvar/test/secvar_api_test.c.gcov.html2
-rw-r--r--coverage-report/libstb/test/index-sort-b.html2
-rw-r--r--coverage-report/libstb/test/index-sort-f.html2
-rw-r--r--coverage-report/libstb/test/index-sort-l.html2
-rw-r--r--coverage-report/libstb/test/index.html2
-rw-r--r--coverage-report/libstb/test/run-stb-container.c.func-sort-c.html2
-rw-r--r--coverage-report/libstb/test/run-stb-container.c.func.html2
-rw-r--r--coverage-report/libstb/test/run-stb-container.c.gcov.html2
-rw-r--r--coverage-report/test/dt_common.c.func-sort-c.html2
-rw-r--r--coverage-report/test/dt_common.c.func.html2
-rw-r--r--coverage-report/test/dt_common.c.gcov.html2
-rw-r--r--coverage-report/test/index-sort-b.html2
-rw-r--r--coverage-report/test/index-sort-f.html2
-rw-r--r--coverage-report/test/index-sort-l.html2
-rw-r--r--coverage-report/test/index.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func-sort-c.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.gcov.html6
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func-sort-c.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.gcov.html4
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-b.html44
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-f.html28
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-l.html22
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/index.html16
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func-sort-c.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.gcov.html10
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func-sort-c.html6
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func.html6
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.gcov.html717
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func-sort-c.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func.html2
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.gcov.html215
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func-sort-c.html8
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func.html8
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.gcov.html611
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-b.html107
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-f.html107
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-l.html107
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/sys/index.html107
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.func-sort-c.html81
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.func.html81
-rw-r--r--coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.gcov.html622
-rw-r--r--doc/.buildinfo2
-rw-r--r--doc/_static/basic.css323
-rw-r--r--doc/_static/classic.css13
-rw-r--r--doc/_static/doctools.js24
-rw-r--r--doc/_static/documentation_options.js6
-rw-r--r--doc/_static/jquery.js1950
-rw-r--r--doc/_static/language_data.js6
-rw-r--r--doc/_static/pygments.css7
-rw-r--r--doc/_static/searchtools.js123
-rw-r--r--doc/_static/sidebar.js2
-rw-r--r--doc/_static/underscore.js2929
-rw-r--r--doc/bmc.html97
-rw-r--r--doc/console-log.html149
-rw-r--r--doc/device-tree.html92
-rw-r--r--doc/device-tree/ibm,cvc.html66
-rw-r--r--doc/device-tree/ibm,firmware-versions.html252
-rw-r--r--doc/device-tree/ibm,opal.html102
-rw-r--r--doc/device-tree/ibm,opal/diagnostics.html58
-rw-r--r--doc/device-tree/ibm,opal/dump.html54
-rw-r--r--doc/device-tree/ibm,opal/firmware.html81
-rw-r--r--doc/device-tree/ibm,opal/flash.html74
-rw-r--r--doc/device-tree/ibm,opal/led.html66
-rw-r--r--doc/device-tree/ibm,opal/nvram.html50
-rw-r--r--doc/device-tree/ibm,opal/oppanel.html50
-rw-r--r--doc/device-tree/ibm,opal/power-mgt.html86
-rw-r--r--doc/device-tree/ibm,opal/power-mgt/occ.html74
-rw-r--r--doc/device-tree/ibm,opal/power-mgt/powercap.html76
-rw-r--r--doc/device-tree/ibm,opal/power-mgt/psr.html70
-rw-r--r--doc/device-tree/ibm,opal/secvar.html166
-rw-r--r--doc/device-tree/ibm,opal/sensor-groups.html80
-rw-r--r--doc/device-tree/ibm,opal/sensors.html70
-rw-r--r--doc/device-tree/ibm,opal/sysparams.html70
-rw-r--r--doc/device-tree/ibm,powerpc-cpu-features/binding.html230
-rw-r--r--doc/device-tree/ibm,powerpc-cpu-features/design.html106
-rw-r--r--doc/device-tree/ibm,secureboot.html70
-rw-r--r--doc/device-tree/imc.html112
-rw-r--r--doc/device-tree/index.html70
-rw-r--r--doc/device-tree/memory-hierarchy.html53
-rw-r--r--doc/device-tree/nvlink.html58
-rw-r--r--doc/device-tree/nx.html58
-rw-r--r--doc/device-tree/opencapi.html58
-rw-r--r--doc/device-tree/pci.html50
-rw-r--r--doc/device-tree/reserved-memory.html75
-rw-r--r--doc/device-tree/tpm.html62
-rw-r--r--doc/device-tree/vas.html50
-rw-r--r--doc/device-tree/vpd.html58
-rw-r--r--doc/error-logging.html155
-rw-r--r--doc/gcov.html68
-rw-r--r--doc/genindex.html46
-rw-r--r--doc/imc.html70
-rw-r--r--doc/index.html82
-rw-r--r--doc/memory.html60
-rw-r--r--doc/mpipl.html72
-rw-r--r--doc/nvlink.html196
-rw-r--r--doc/objects.invbin11229 -> 11269 bytes
-rw-r--r--doc/opal-api/index.html2590
-rw-r--r--doc/opal-api/opal-cec-power-down-5.html117
-rw-r--r--doc/opal-api/opal-cec-reboot-6-116.html185
-rw-r--r--doc/opal-api/opal-check-async-completion-86.html84
-rw-r--r--doc/opal-api/opal-check-token-80.html52
-rw-r--r--doc/opal-api/opal-code-update-76-77-78.html162
-rw-r--r--doc/opal-api/opal-config-cpu-idle-state-99.html68
-rw-r--r--doc/opal-api/opal-console-read-write-1-2.html160
-rw-r--r--doc/opal-api/opal-dump-81-82-83-84-94-101-102.html220
-rw-r--r--doc/opal-api/opal-elog-71-72-73-74-75.html102
-rw-r--r--doc/opal-api/opal-flash-110-111-112.html102
-rw-r--r--doc/opal-api/opal-get-device-tree-118.html96
-rw-r--r--doc/opal-api/opal-get-epow-status-56.html124
-rw-r--r--doc/opal-api/opal-get-msg-85.html78
-rw-r--r--doc/opal-api/opal-get-msi-39-40.html108
-rw-r--r--doc/opal-api/opal-get-xive-20.html74
-rw-r--r--doc/opal-api/opal-handle-hmi-98-166.html126
-rw-r--r--doc/opal-api/opal-handle-interrupt.html62
-rw-r--r--doc/opal-api/opal-i2c-request-109.html138
-rw-r--r--doc/opal-api/opal-imc-counters.html166
-rw-r--r--doc/opal-api/opal-int-eoi-124.html52
-rw-r--r--doc/opal-api/opal-int-get-xirr-122.html52
-rw-r--r--doc/opal-api/opal-int-set-cppr-123.html52
-rw-r--r--doc/opal-api/opal-int-set-mfrr-125.html52
-rw-r--r--doc/opal-api/opal-invalid-call--1.html50
-rw-r--r--doc/opal-api/opal-ipmi-send-recv-107-108.html184
-rw-r--r--doc/opal-api/opal-led-get-set-114-115.html159
-rw-r--r--doc/opal-api/opal-lpc-read-write-67-68.html188
-rw-r--r--doc/opal-api/opal-messages.html94
-rw-r--r--doc/opal-api/opal-mpipl-173-174.html226
-rw-r--r--doc/opal-api/opal-nmmu-set-ptcr-127.html78
-rw-r--r--doc/opal-api/opal-npu2-146-147-148.html62
-rw-r--r--doc/opal-api/opal-npu2-get-set-relaxed-order-168-169.html120
-rw-r--r--doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.html254
-rw-r--r--doc/opal-api/opal-nvram-read-write-7-8.html144
-rw-r--r--doc/opal-api/opal-param-89-90.html136
-rw-r--r--doc/opal-api/opal-pci-config-read-write-13-14-15-16-17-18.html154
-rw-r--r--doc/opal-api/opal-pci-eeh-freeze-clear-26.html92
-rw-r--r--doc/opal-api/opal-pci-eeh-freeze-set-97.html86
-rw-r--r--doc/opal-api/opal-pci-eeh-freeze-status-23.html126
-rw-r--r--doc/opal-api/opal-pci-err-inject-96.html130
-rw-r--r--doc/opal-api/opal-pci-get-hub-diag-data-50.html80
-rw-r--r--doc/opal-api/opal-pci-get-phb-diag-data2-64.html526
-rw-r--r--doc/opal-api/opal-pci-get-power-state-120.html88
-rw-r--r--doc/opal-api/opal-pci-get-presence-state-119.html86
-rw-r--r--doc/opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165.html125
-rw-r--r--doc/opal-api/opal-pci-map-pe-dma-window-44.html128
-rw-r--r--doc/opal-api/opal-pci-map-pe-dma-window-real-45.html90
-rw-r--r--doc/opal-api/opal-pci-map-pe-mmio-window-29.html93
-rw-r--r--doc/opal-api/opal-pci-msi-eoi-63.html74
-rw-r--r--doc/opal-api/opal-pci-next-error-60.html104
-rw-r--r--doc/opal-api/opal-pci-phb-mmio-enable-27.html77
-rw-r--r--doc/opal-api/opal-pci-poll-62.html56
-rw-r--r--doc/opal-api/opal-pci-reinit-53.html84
-rw-r--r--doc/opal-api/opal-pci-reset-49.html96
-rw-r--r--doc/opal-api/opal-pci-set-mve-33.html74
-rw-r--r--doc/opal-api/opal-pci-set-mve-enable-34.html84
-rw-r--r--doc/opal-api/opal-pci-set-p2p-157.html98
-rw-r--r--doc/opal-api/opal-pci-set-pe-31.html131
-rw-r--r--doc/opal-api/opal-pci-set-peltv-32.html88
-rw-r--r--doc/opal-api/opal-pci-set-phb-capi-mode-93.html140
-rw-r--r--doc/opal-api/opal-pci-set-phb-mem-window-28.html107
-rw-r--r--doc/opal-api/opal-pci-set-power-state-121.html100
-rw-r--r--doc/opal-api/opal-pci-set-xive-pe-37.html74
-rw-r--r--doc/opal-api/opal-pci-tce-kill-126.html126
-rw-r--r--doc/opal-api/opal-phb-flag-set-get-179-180.html104
-rw-r--r--doc/opal-api/opal-poll-events.html98
-rw-r--r--doc/opal-api/opal-power-shift-ratio.html190
-rw-r--r--doc/opal-api/opal-powercap.html174
-rw-r--r--doc/opal-api/opal-prd-msg-113.html62
-rw-r--r--doc/opal-api/opal-query-cpu-status-42.html90
-rw-r--r--doc/opal-api/opal-quiesce-158.html132
-rw-r--r--doc/opal-api/opal-read-write-tpo-dpo-103-104-105.html84
-rw-r--r--doc/opal-api/opal-reinit-cpus-70.html92
-rw-r--r--doc/opal-api/opal-resync-timebase-79.html66
-rw-r--r--doc/opal-api/opal-rtc-read-write-3-4.html140
-rw-r--r--doc/opal-api/opal-secvar.html246
-rw-r--r--doc/opal-api/opal-sensor-group-enable-clear-163-156.html144
-rw-r--r--doc/opal-api/opal-sensor-read-88.html106
-rw-r--r--doc/opal-api/opal-set-xive-19.html84
-rw-r--r--doc/opal-api/opal-signal-system-reset-145.html90
-rw-r--r--doc/opal-api/opal-slw-set-reg-100.html90
-rw-r--r--doc/opal-api/opal-start-return-cpu-41-69.html90
-rw-r--r--doc/opal-api/opal-sync-host-reboot-87.html70
-rw-r--r--doc/opal-api/opal-test-0.html72
-rw-r--r--doc/opal-api/opal-write-oppanel-async-95.html94
-rw-r--r--doc/opal-api/opal-xscom-read-write-65-66.html158
-rw-r--r--doc/opal-api/opal_nx_coproc_init-167.html74
-rw-r--r--doc/opal-api/power9-changes.html85
-rw-r--r--doc/opal-api/return-codes.html650
-rw-r--r--doc/opal-spec.html208
-rw-r--r--doc/overview.html266
-rw-r--r--doc/pci-slot.html208
-rw-r--r--doc/pci.html122
-rw-r--r--doc/platforms-and-cpus.html731
-rw-r--r--doc/power-management.html60
-rw-r--r--doc/process/CONTRIBUTING.html152
-rw-r--r--doc/process/dev-release-process.html118
-rw-r--r--doc/process/stable-skiboot-rules.html124
-rw-r--r--doc/process/versioning.html88
-rw-r--r--doc/release-notes/index.html50
-rw-r--r--doc/release-notes/skiboot-4.0.html56
-rw-r--r--doc/release-notes/skiboot-4.1.1.html109
-rw-r--r--doc/release-notes/skiboot-4.1.html109
-rw-r--r--doc/release-notes/skiboot-5.0.html263
-rw-r--r--doc/release-notes/skiboot-5.1.0-beta1.html723
-rw-r--r--doc/release-notes/skiboot-5.1.0-beta2.html123
-rw-r--r--doc/release-notes/skiboot-5.1.0.html809
-rw-r--r--doc/release-notes/skiboot-5.1.1.html66
-rw-r--r--doc/release-notes/skiboot-5.1.10.html67
-rw-r--r--doc/release-notes/skiboot-5.1.11.html54
-rw-r--r--doc/release-notes/skiboot-5.1.12.html101
-rw-r--r--doc/release-notes/skiboot-5.1.13.html88
-rw-r--r--doc/release-notes/skiboot-5.1.14.html58
-rw-r--r--doc/release-notes/skiboot-5.1.15.html50
-rw-r--r--doc/release-notes/skiboot-5.1.16.html79
-rw-r--r--doc/release-notes/skiboot-5.1.17.html62
-rw-r--r--doc/release-notes/skiboot-5.1.18.html68
-rw-r--r--doc/release-notes/skiboot-5.1.19.html84
-rw-r--r--doc/release-notes/skiboot-5.1.2.html416
-rw-r--r--doc/release-notes/skiboot-5.1.20.html77
-rw-r--r--doc/release-notes/skiboot-5.1.21.html52
-rw-r--r--doc/release-notes/skiboot-5.1.3.html328
-rw-r--r--doc/release-notes/skiboot-5.1.4.html58
-rw-r--r--doc/release-notes/skiboot-5.1.5.html91
-rw-r--r--doc/release-notes/skiboot-5.1.6.html66
-rw-r--r--doc/release-notes/skiboot-5.1.7.html60
-rw-r--r--doc/release-notes/skiboot-5.1.8.html52
-rw-r--r--doc/release-notes/skiboot-5.1.9.html56
-rw-r--r--doc/release-notes/skiboot-5.10-rc1.html715
-rw-r--r--doc/release-notes/skiboot-5.10-rc2.html84
-rw-r--r--doc/release-notes/skiboot-5.10-rc3.html75
-rw-r--r--doc/release-notes/skiboot-5.10-rc4.html77
-rw-r--r--doc/release-notes/skiboot-5.10.1.html55
-rw-r--r--doc/release-notes/skiboot-5.10.2.html52
-rw-r--r--doc/release-notes/skiboot-5.10.3.html66
-rw-r--r--doc/release-notes/skiboot-5.10.4.html58
-rw-r--r--doc/release-notes/skiboot-5.10.5.html70
-rw-r--r--doc/release-notes/skiboot-5.10.6.html62
-rw-r--r--doc/release-notes/skiboot-5.10.html2080
-rw-r--r--doc/release-notes/skiboot-5.11-rc1.html265
-rw-r--r--doc/release-notes/skiboot-5.11.html283
-rw-r--r--doc/release-notes/skiboot-5.2.0-rc1.html723
-rw-r--r--doc/release-notes/skiboot-5.2.0-rc2.html121
-rw-r--r--doc/release-notes/skiboot-5.2.0.html808
-rw-r--r--doc/release-notes/skiboot-5.2.1.html337
-rw-r--r--doc/release-notes/skiboot-5.2.2.html61
-rw-r--r--doc/release-notes/skiboot-5.2.3.html80
-rw-r--r--doc/release-notes/skiboot-5.2.4.html67
-rw-r--r--doc/release-notes/skiboot-5.2.5.html100
-rw-r--r--doc/release-notes/skiboot-5.3.0-rc1.html877
-rw-r--r--doc/release-notes/skiboot-5.3.0-rc2.html94
-rw-r--r--doc/release-notes/skiboot-5.3.0.html50
-rw-r--r--doc/release-notes/skiboot-5.3.1.html80
-rw-r--r--doc/release-notes/skiboot-5.3.2.html62
-rw-r--r--doc/release-notes/skiboot-5.3.3.html56
-rw-r--r--doc/release-notes/skiboot-5.3.4.html62
-rw-r--r--doc/release-notes/skiboot-5.3.5.html56
-rw-r--r--doc/release-notes/skiboot-5.3.6.html54
-rw-r--r--doc/release-notes/skiboot-5.3.7.html92
-rw-r--r--doc/release-notes/skiboot-5.4.0-rc1.html1224
-rw-r--r--doc/release-notes/skiboot-5.4.0-rc2.html442
-rw-r--r--doc/release-notes/skiboot-5.4.0-rc3.html76
-rw-r--r--doc/release-notes/skiboot-5.4.0-rc4.html68
-rw-r--r--doc/release-notes/skiboot-5.4.0.html1388
-rw-r--r--doc/release-notes/skiboot-5.4.1.html72
-rw-r--r--doc/release-notes/skiboot-5.4.10.html64
-rw-r--r--doc/release-notes/skiboot-5.4.11.html63
-rw-r--r--doc/release-notes/skiboot-5.4.12.html52
-rw-r--r--doc/release-notes/skiboot-5.4.2.html54
-rw-r--r--doc/release-notes/skiboot-5.4.3.html64
-rw-r--r--doc/release-notes/skiboot-5.4.4.html59
-rw-r--r--doc/release-notes/skiboot-5.4.5.html56
-rw-r--r--doc/release-notes/skiboot-5.4.6.html69
-rw-r--r--doc/release-notes/skiboot-5.4.7.html54
-rw-r--r--doc/release-notes/skiboot-5.4.8.html150
-rw-r--r--doc/release-notes/skiboot-5.4.9.html52
-rw-r--r--doc/release-notes/skiboot-5.5.0-rc1.html1521
-rw-r--r--doc/release-notes/skiboot-5.5.0-rc2.html113
-rw-r--r--doc/release-notes/skiboot-5.5.0-rc3.html72
-rw-r--r--doc/release-notes/skiboot-5.5.0.html1176
-rw-r--r--doc/release-notes/skiboot-5.6.0-rc1.html812
-rw-r--r--doc/release-notes/skiboot-5.6.0-rc2.html62
-rw-r--r--doc/release-notes/skiboot-5.6.0.html58
-rw-r--r--doc/release-notes/skiboot-5.7-rc1.html395
-rw-r--r--doc/release-notes/skiboot-5.7-rc2.html137
-rw-r--r--doc/release-notes/skiboot-5.7.html1357
-rw-r--r--doc/release-notes/skiboot-5.8-rc1.html278
-rw-r--r--doc/release-notes/skiboot-5.8.html863
-rw-r--r--doc/release-notes/skiboot-5.9-rc1.html318
-rw-r--r--doc/release-notes/skiboot-5.9-rc2.html189
-rw-r--r--doc/release-notes/skiboot-5.9-rc3.html59
-rw-r--r--doc/release-notes/skiboot-5.9-rc4.html66
-rw-r--r--doc/release-notes/skiboot-5.9-rc5.html66
-rw-r--r--doc/release-notes/skiboot-5.9.1.html58
-rw-r--r--doc/release-notes/skiboot-5.9.2.html82
-rw-r--r--doc/release-notes/skiboot-5.9.3.html52
-rw-r--r--doc/release-notes/skiboot-5.9.4.html57
-rw-r--r--doc/release-notes/skiboot-5.9.5.html81
-rw-r--r--doc/release-notes/skiboot-5.9.6.html57
-rw-r--r--doc/release-notes/skiboot-5.9.7.html54
-rw-r--r--doc/release-notes/skiboot-5.9.8.html52
-rw-r--r--doc/release-notes/skiboot-5.9.9.html57
-rw-r--r--doc/release-notes/skiboot-5.9.html1579
-rw-r--r--doc/release-notes/skiboot-6.0-rc1.html342
-rw-r--r--doc/release-notes/skiboot-6.0-rc2.html86
-rw-r--r--doc/release-notes/skiboot-6.0.1.html56
-rw-r--r--doc/release-notes/skiboot-6.0.10.html75
-rw-r--r--doc/release-notes/skiboot-6.0.11.html74
-rw-r--r--doc/release-notes/skiboot-6.0.12.html55
-rw-r--r--doc/release-notes/skiboot-6.0.13.html52
-rw-r--r--doc/release-notes/skiboot-6.0.14.html56
-rw-r--r--doc/release-notes/skiboot-6.0.15.html56
-rw-r--r--doc/release-notes/skiboot-6.0.16.html58
-rw-r--r--doc/release-notes/skiboot-6.0.17.html74
-rw-r--r--doc/release-notes/skiboot-6.0.18.html114
-rw-r--r--doc/release-notes/skiboot-6.0.19.html54
-rw-r--r--doc/release-notes/skiboot-6.0.2.html52
-rw-r--r--doc/release-notes/skiboot-6.0.20.html83
-rw-r--r--doc/release-notes/skiboot-6.0.21.html52
-rw-r--r--doc/release-notes/skiboot-6.0.22.html58
-rw-r--r--doc/release-notes/skiboot-6.0.23.html54
-rw-r--r--doc/release-notes/skiboot-6.0.24.html58
-rw-r--r--doc/release-notes/skiboot-6.0.3.html60
-rw-r--r--doc/release-notes/skiboot-6.0.4.html60
-rw-r--r--doc/release-notes/skiboot-6.0.5.html98
-rw-r--r--doc/release-notes/skiboot-6.0.6.html56
-rw-r--r--doc/release-notes/skiboot-6.0.7.html52
-rw-r--r--doc/release-notes/skiboot-6.0.8.html63
-rw-r--r--doc/release-notes/skiboot-6.0.9.html69
-rw-r--r--doc/release-notes/skiboot-6.0.html381
-rw-r--r--doc/release-notes/skiboot-6.1-rc1.html196
-rw-r--r--doc/release-notes/skiboot-6.1.html239
-rw-r--r--doc/release-notes/skiboot-6.2-rc1.html317
-rw-r--r--doc/release-notes/skiboot-6.2-rc2.html82
-rw-r--r--doc/release-notes/skiboot-6.2.1.html70
-rw-r--r--doc/release-notes/skiboot-6.2.2.html135
-rw-r--r--doc/release-notes/skiboot-6.2.3.html56
-rw-r--r--doc/release-notes/skiboot-6.2.4.html89
-rw-r--r--doc/release-notes/skiboot-6.2.html1364
-rw-r--r--doc/release-notes/skiboot-6.3-rc1.html324
-rw-r--r--doc/release-notes/skiboot-6.3-rc2.html64
-rw-r--r--doc/release-notes/skiboot-6.3-rc3.html111
-rw-r--r--doc/release-notes/skiboot-6.3.1.html56
-rw-r--r--doc/release-notes/skiboot-6.3.2.html70
-rw-r--r--doc/release-notes/skiboot-6.3.3.html63
-rw-r--r--doc/release-notes/skiboot-6.3.4.html64
-rw-r--r--doc/release-notes/skiboot-6.3.5.html54
-rw-r--r--doc/release-notes/skiboot-6.3.html396
-rw-r--r--doc/release-notes/skiboot-6.4-rc1.html294
-rw-r--r--doc/release-notes/skiboot-6.4.html304
-rw-r--r--doc/release-notes/skiboot-6.5.1.html64
-rw-r--r--doc/release-notes/skiboot-6.5.2.html64
-rw-r--r--doc/release-notes/skiboot-6.5.3.html60
-rw-r--r--doc/release-notes/skiboot-6.5.4.html52
-rw-r--r--doc/release-notes/skiboot-6.5.html54
-rw-r--r--doc/release-notes/skiboot-6.6.1.html68
-rw-r--r--doc/release-notes/skiboot-6.6.2.html54
-rw-r--r--doc/release-notes/skiboot-6.6.3.html58
-rw-r--r--doc/release-notes/skiboot-6.6.4.html54
-rw-r--r--doc/release-notes/skiboot-6.6.6.html52
-rw-r--r--doc/release-notes/skiboot-6.6.html68
-rw-r--r--doc/release-notes/skiboot-6.7.1.html70
-rw-r--r--doc/release-notes/skiboot-6.7.2.html66
-rw-r--r--doc/release-notes/skiboot-6.7.3.html66
-rw-r--r--doc/release-notes/skiboot-6.7.html60
-rw-r--r--doc/release-notes/skiboot-6.8.1.html68
-rw-r--r--doc/release-notes/skiboot-6.8.html50
-rw-r--r--doc/release-notes/skiboot-7.0.html68
-rw-r--r--doc/search.html67
-rw-r--r--doc/searchindex.js2
-rw-r--r--doc/secvar/driver-api.html239
-rw-r--r--doc/secvar/edk2.html66
-rw-r--r--doc/secvar/secboot_tpm.html174
-rw-r--r--doc/stb.html126
-rw-r--r--doc/vas.html53
-rw-r--r--doc/xive.html584
-rw-r--r--doc/xscom-node-bindings.html96
1255 files changed, 35319 insertions, 35839 deletions
diff --git a/coverage-report/ccan/array_size/test/index-sort-b.html b/coverage-report/ccan/array_size/test/index-sort-b.html
index 1792b28..13ce090 100644
--- a/coverage-report/ccan/array_size/test/index-sort-b.html
+++ b/coverage-report/ccan/array_size/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/array_size/test/index-sort-f.html b/coverage-report/ccan/array_size/test/index-sort-f.html
index 7d74d90..b230faa 100644
--- a/coverage-report/ccan/array_size/test/index-sort-f.html
+++ b/coverage-report/ccan/array_size/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/array_size/test/index-sort-l.html b/coverage-report/ccan/array_size/test/index-sort-l.html
index 90f2199..23214a6 100644
--- a/coverage-report/ccan/array_size/test/index-sort-l.html
+++ b/coverage-report/ccan/array_size/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/array_size/test/index.html b/coverage-report/ccan/array_size/test/index.html
index 94435b0..46eb8eb 100644
--- a/coverage-report/ccan/array_size/test/index.html
+++ b/coverage-report/ccan/array_size/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/array_size/test/run.c.func-sort-c.html b/coverage-report/ccan/array_size/test/run.c.func-sort-c.html
index 8d15e8d..3ae1044 100644
--- a/coverage-report/ccan/array_size/test/run.c.func-sort-c.html
+++ b/coverage-report/ccan/array_size/test/run.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/array_size/test/run.c.func.html b/coverage-report/ccan/array_size/test/run.c.func.html
index 16dc46c..d97d369 100644
--- a/coverage-report/ccan/array_size/test/run.c.func.html
+++ b/coverage-report/ccan/array_size/test/run.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/array_size/test/run.c.gcov.html b/coverage-report/ccan/array_size/test/run.c.gcov.html
index a385122..3337736 100644
--- a/coverage-report/ccan/array_size/test/run.c.gcov.html
+++ b/coverage-report/ccan/array_size/test/run.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/build_assert/test/index-sort-b.html b/coverage-report/ccan/build_assert/test/index-sort-b.html
index aea1675..e6bcec2 100644
--- a/coverage-report/ccan/build_assert/test/index-sort-b.html
+++ b/coverage-report/ccan/build_assert/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/build_assert/test/index-sort-f.html b/coverage-report/ccan/build_assert/test/index-sort-f.html
index 904174c..ca7db5d 100644
--- a/coverage-report/ccan/build_assert/test/index-sort-f.html
+++ b/coverage-report/ccan/build_assert/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/build_assert/test/index-sort-l.html b/coverage-report/ccan/build_assert/test/index-sort-l.html
index 3a74b39..7346eb3 100644
--- a/coverage-report/ccan/build_assert/test/index-sort-l.html
+++ b/coverage-report/ccan/build_assert/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/build_assert/test/index.html b/coverage-report/ccan/build_assert/test/index.html
index ab8549d..f0f0e1c 100644
--- a/coverage-report/ccan/build_assert/test/index.html
+++ b/coverage-report/ccan/build_assert/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func-sort-c.html b/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func-sort-c.html
index d2a0b1f..e42e79a 100644
--- a/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func-sort-c.html
+++ b/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func.html b/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func.html
index fb9cf8f..4f2b6dc 100644
--- a/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func.html
+++ b/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.gcov.html b/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.gcov.html
index dd38748..1b71e66 100644
--- a/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.gcov.html
+++ b/coverage-report/ccan/build_assert/test/run-BUILD_ASSERT_OR_ZERO.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/check_type/test/index-sort-b.html b/coverage-report/ccan/check_type/test/index-sort-b.html
index 7e144b5..a9db3b0 100644
--- a/coverage-report/ccan/check_type/test/index-sort-b.html
+++ b/coverage-report/ccan/check_type/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/check_type/test/index-sort-f.html b/coverage-report/ccan/check_type/test/index-sort-f.html
index 6837155..27a6cfd 100644
--- a/coverage-report/ccan/check_type/test/index-sort-f.html
+++ b/coverage-report/ccan/check_type/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/check_type/test/index-sort-l.html b/coverage-report/ccan/check_type/test/index-sort-l.html
index bb77b87..9229ae6 100644
--- a/coverage-report/ccan/check_type/test/index-sort-l.html
+++ b/coverage-report/ccan/check_type/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/check_type/test/index.html b/coverage-report/ccan/check_type/test/index.html
index 73dc633..86d8697 100644
--- a/coverage-report/ccan/check_type/test/index.html
+++ b/coverage-report/ccan/check_type/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/check_type/test/run.c.func-sort-c.html b/coverage-report/ccan/check_type/test/run.c.func-sort-c.html
index bd77449..14cb5f9 100644
--- a/coverage-report/ccan/check_type/test/run.c.func-sort-c.html
+++ b/coverage-report/ccan/check_type/test/run.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/check_type/test/run.c.func.html b/coverage-report/ccan/check_type/test/run.c.func.html
index 7a1fb26..020c1f7 100644
--- a/coverage-report/ccan/check_type/test/run.c.func.html
+++ b/coverage-report/ccan/check_type/test/run.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/check_type/test/run.c.gcov.html b/coverage-report/ccan/check_type/test/run.c.gcov.html
index 916442b..108db04 100644
--- a/coverage-report/ccan/check_type/test/run.c.gcov.html
+++ b/coverage-report/ccan/check_type/test/run.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/container_of.h.func-sort-c.html b/coverage-report/ccan/container_of/container_of.h.func-sort-c.html
index 99af933..20797cc 100644
--- a/coverage-report/ccan/container_of/container_of.h.func-sort-c.html
+++ b/coverage-report/ccan/container_of/container_of.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/container_of.h.func.html b/coverage-report/ccan/container_of/container_of.h.func.html
index b42e561..f54f79d 100644
--- a/coverage-report/ccan/container_of/container_of.h.func.html
+++ b/coverage-report/ccan/container_of/container_of.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/container_of.h.gcov.html b/coverage-report/ccan/container_of/container_of.h.gcov.html
index 26abb0c..a43fda5 100644
--- a/coverage-report/ccan/container_of/container_of.h.gcov.html
+++ b/coverage-report/ccan/container_of/container_of.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/index-sort-b.html b/coverage-report/ccan/container_of/index-sort-b.html
index 83f7a82..3b1f55a 100644
--- a/coverage-report/ccan/container_of/index-sort-b.html
+++ b/coverage-report/ccan/container_of/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/index-sort-f.html b/coverage-report/ccan/container_of/index-sort-f.html
index eb17266..9fadf2f 100644
--- a/coverage-report/ccan/container_of/index-sort-f.html
+++ b/coverage-report/ccan/container_of/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/index-sort-l.html b/coverage-report/ccan/container_of/index-sort-l.html
index 0175baf..c515f5a 100644
--- a/coverage-report/ccan/container_of/index-sort-l.html
+++ b/coverage-report/ccan/container_of/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/index.html b/coverage-report/ccan/container_of/index.html
index b1e4c3e..0459aca 100644
--- a/coverage-report/ccan/container_of/index.html
+++ b/coverage-report/ccan/container_of/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/test/index-sort-b.html b/coverage-report/ccan/container_of/test/index-sort-b.html
index 0df1e3f..ce647a0 100644
--- a/coverage-report/ccan/container_of/test/index-sort-b.html
+++ b/coverage-report/ccan/container_of/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/test/index-sort-f.html b/coverage-report/ccan/container_of/test/index-sort-f.html
index c8a90be..79269de 100644
--- a/coverage-report/ccan/container_of/test/index-sort-f.html
+++ b/coverage-report/ccan/container_of/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/test/index-sort-l.html b/coverage-report/ccan/container_of/test/index-sort-l.html
index 36cd188..39a68a7 100644
--- a/coverage-report/ccan/container_of/test/index-sort-l.html
+++ b/coverage-report/ccan/container_of/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/test/index.html b/coverage-report/ccan/container_of/test/index.html
index 2bdfb15..0f924c7 100644
--- a/coverage-report/ccan/container_of/test/index.html
+++ b/coverage-report/ccan/container_of/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/test/run.c.func-sort-c.html b/coverage-report/ccan/container_of/test/run.c.func-sort-c.html
index 2587646..21e57b4 100644
--- a/coverage-report/ccan/container_of/test/run.c.func-sort-c.html
+++ b/coverage-report/ccan/container_of/test/run.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/test/run.c.func.html b/coverage-report/ccan/container_of/test/run.c.func.html
index 44402be..030f129 100644
--- a/coverage-report/ccan/container_of/test/run.c.func.html
+++ b/coverage-report/ccan/container_of/test/run.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/container_of/test/run.c.gcov.html b/coverage-report/ccan/container_of/test/run.c.gcov.html
index a9da654..3437513 100644
--- a/coverage-report/ccan/container_of/test/run.c.gcov.html
+++ b/coverage-report/ccan/container_of/test/run.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/endian/endian.h.func-sort-c.html b/coverage-report/ccan/endian/endian.h.func-sort-c.html
index 40c30d7..0431d4e 100644
--- a/coverage-report/ccan/endian/endian.h.func-sort-c.html
+++ b/coverage-report/ccan/endian/endian.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
@@ -94,27 +94,27 @@
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#313">cpu_to_be16</a></td>
- <td class="coverFnHi">13187618</td>
+ <td class="coverFnHi">13200775</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#295">cpu_to_be64</a></td>
- <td class="coverFnHi">15006212</td>
+ <td class="coverFnHi">15006226</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#340">be16_to_cpu</a></td>
- <td class="coverFnHi">19668978</td>
+ <td class="coverFnHi">19841490</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#304">cpu_to_be32</a></td>
- <td class="coverFnHi">28693594</td>
+ <td class="coverFnHi">28693593</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#331">be32_to_cpu</a></td>
- <td class="coverFnHi">36722809</td>
+ <td class="coverFnHi">36785443</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#322">be64_to_cpu</a></td>
- <td class="coverFnHi">115740086</td>
+ <td class="coverFnHi">115957414</td>
</tr>
</table>
<br>
diff --git a/coverage-report/ccan/endian/endian.h.func.html b/coverage-report/ccan/endian/endian.h.func.html
index fb1fa54..1ee8910 100644
--- a/coverage-report/ccan/endian/endian.h.func.html
+++ b/coverage-report/ccan/endian/endian.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
@@ -70,27 +70,27 @@
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#340">be16_to_cpu</a></td>
- <td class="coverFnHi">19668978</td>
+ <td class="coverFnHi">19841490</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#331">be32_to_cpu</a></td>
- <td class="coverFnHi">36722809</td>
+ <td class="coverFnHi">36785443</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#322">be64_to_cpu</a></td>
- <td class="coverFnHi">115740086</td>
+ <td class="coverFnHi">115957414</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#313">cpu_to_be16</a></td>
- <td class="coverFnHi">13187618</td>
+ <td class="coverFnHi">13200775</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#304">cpu_to_be32</a></td>
- <td class="coverFnHi">28693594</td>
+ <td class="coverFnHi">28693593</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#295">cpu_to_be64</a></td>
- <td class="coverFnHi">15006212</td>
+ <td class="coverFnHi">15006226</td>
</tr>
<tr>
<td class="coverFn"><a href="endian.h.gcov.html#259">cpu_to_le16</a></td>
diff --git a/coverage-report/ccan/endian/endian.h.gcov.html b/coverage-report/ccan/endian/endian.h.gcov.html
index ed062fa..d3dd2f3 100644
--- a/coverage-report/ccan/endian/endian.h.gcov.html
+++ b/coverage-report/ccan/endian/endian.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
@@ -365,54 +365,54 @@
<a name="294"><span class="lineNum"> 294 </span> : : * cpu_to_be64 - convert a uint64_t value to big endian.</a>
<a name="295"><span class="lineNum"> 295 </span> : : * @native: value to convert</a>
<a name="296"><span class="lineNum"> 296 </span> : : */</a>
-<a name="297"><span class="lineNum"> 297 </span> :<span class="lineCov"> 15006212 : static inline beint64_t cpu_to_be64(uint64_t native)</span></a>
+<a name="297"><span class="lineNum"> 297 </span> :<span class="lineCov"> 15006226 : static inline beint64_t cpu_to_be64(uint64_t native)</span></a>
<a name="298"><span class="lineNum"> 298 </span> : : {</a>
-<a name="299"><span class="lineNum"> 299 </span> :<span class="lineCov"> 15006212 : return CPU_TO_BE64(native);</span></a>
+<a name="299"><span class="lineNum"> 299 </span> :<span class="lineCov"> 15006226 : return CPU_TO_BE64(native);</span></a>
<a name="300"><span class="lineNum"> 300 </span> : : }</a>
<a name="301"><span class="lineNum"> 301 </span> : : </a>
<a name="302"><span class="lineNum"> 302 </span> : : /**</a>
<a name="303"><span class="lineNum"> 303 </span> : : * cpu_to_be32 - convert a uint32_t value to big endian.</a>
<a name="304"><span class="lineNum"> 304 </span> : : * @native: value to convert</a>
<a name="305"><span class="lineNum"> 305 </span> : : */</a>
-<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 28693595 : static inline beint32_t cpu_to_be32(uint32_t native)</span></a>
+<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 28693594 : static inline beint32_t cpu_to_be32(uint32_t native)</span></a>
<a name="307"><span class="lineNum"> 307 </span> : : {</a>
-<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 28693595 : return CPU_TO_BE32(native);</span></a>
+<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 28693594 : return CPU_TO_BE32(native);</span></a>
<a name="309"><span class="lineNum"> 309 </span> : : }</a>
<a name="310"><span class="lineNum"> 310 </span> : : </a>
<a name="311"><span class="lineNum"> 311 </span> : : /**</a>
<a name="312"><span class="lineNum"> 312 </span> : : * cpu_to_be16 - convert a uint16_t value to big endian.</a>
<a name="313"><span class="lineNum"> 313 </span> : : * @native: value to convert</a>
<a name="314"><span class="lineNum"> 314 </span> : : */</a>
-<a name="315"><span class="lineNum"> 315 </span> :<span class="lineCov"> 13187619 : static inline beint16_t cpu_to_be16(uint16_t native)</span></a>
+<a name="315"><span class="lineNum"> 315 </span> :<span class="lineCov"> 13200776 : static inline beint16_t cpu_to_be16(uint16_t native)</span></a>
<a name="316"><span class="lineNum"> 316 </span> : : {</a>
-<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 13187619 : return CPU_TO_BE16(native);</span></a>
+<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 13200776 : return CPU_TO_BE16(native);</span></a>
<a name="318"><span class="lineNum"> 318 </span> : : }</a>
<a name="319"><span class="lineNum"> 319 </span> : : </a>
<a name="320"><span class="lineNum"> 320 </span> : : /**</a>
<a name="321"><span class="lineNum"> 321 </span> : : * be64_to_cpu - convert a big-endian uint64_t value</a>
<a name="322"><span class="lineNum"> 322 </span> : : * @be_val: big-endian value to convert</a>
<a name="323"><span class="lineNum"> 323 </span> : : */</a>
-<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 115740086 : static inline uint64_t be64_to_cpu(beint64_t be_val)</span></a>
+<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 115957414 : static inline uint64_t be64_to_cpu(beint64_t be_val)</span></a>
<a name="325"><span class="lineNum"> 325 </span> : : {</a>
-<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 115740086 : return BE64_TO_CPU(be_val);</span></a>
+<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 115957414 : return BE64_TO_CPU(be_val);</span></a>
<a name="327"><span class="lineNum"> 327 </span> : : }</a>
<a name="328"><span class="lineNum"> 328 </span> : : </a>
<a name="329"><span class="lineNum"> 329 </span> : : /**</a>
<a name="330"><span class="lineNum"> 330 </span> : : * be32_to_cpu - convert a big-endian uint32_t value</a>
<a name="331"><span class="lineNum"> 331 </span> : : * @be_val: big-endian value to convert</a>
<a name="332"><span class="lineNum"> 332 </span> : : */</a>
-<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 36722854 : static inline uint32_t be32_to_cpu(beint32_t be_val)</span></a>
+<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 36785547 : static inline uint32_t be32_to_cpu(beint32_t be_val)</span></a>
<a name="334"><span class="lineNum"> 334 </span> : : {</a>
-<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 36722827 : return BE32_TO_CPU(be_val);</span></a>
+<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 36785520 : return BE32_TO_CPU(be_val);</span></a>
<a name="336"><span class="lineNum"> 336 </span> : : }</a>
<a name="337"><span class="lineNum"> 337 </span> : : </a>
<a name="338"><span class="lineNum"> 338 </span> : : /**</a>
<a name="339"><span class="lineNum"> 339 </span> : : * be16_to_cpu - convert a big-endian uint16_t value</a>
<a name="340"><span class="lineNum"> 340 </span> : : * @be_val: big-endian value to convert</a>
<a name="341"><span class="lineNum"> 341 </span> : : */</a>
-<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 19668978 : static inline uint16_t be16_to_cpu(beint16_t be_val)</span></a>
+<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 19841549 : static inline uint16_t be16_to_cpu(beint16_t be_val)</span></a>
<a name="343"><span class="lineNum"> 343 </span> : : {</a>
-<a name="344"><span class="lineNum"> 344 </span> :<span class="lineCov"> 19668978 : return BE16_TO_CPU(be_val);</span></a>
+<a name="344"><span class="lineNum"> 344 </span> :<span class="lineCov"> 19841549 : return BE16_TO_CPU(be_val);</span></a>
<a name="345"><span class="lineNum"> 345 </span> : : }</a>
<a name="346"><span class="lineNum"> 346 </span> : : </a>
<a name="347"><span class="lineNum"> 347 </span> : : /* Whichever they include first, they get these definitions. */</a>
diff --git a/coverage-report/ccan/endian/index-sort-b.html b/coverage-report/ccan/endian/index-sort-b.html
index e6a4f0c..c5d1769 100644
--- a/coverage-report/ccan/endian/index-sort-b.html
+++ b/coverage-report/ccan/endian/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/ccan/endian/index-sort-f.html b/coverage-report/ccan/endian/index-sort-f.html
index 94001d4..c3eadef 100644
--- a/coverage-report/ccan/endian/index-sort-f.html
+++ b/coverage-report/ccan/endian/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/ccan/endian/index-sort-l.html b/coverage-report/ccan/endian/index-sort-l.html
index 5e9cf78..101b9e3 100644
--- a/coverage-report/ccan/endian/index-sort-l.html
+++ b/coverage-report/ccan/endian/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/ccan/endian/index.html b/coverage-report/ccan/endian/index.html
index 39ee314..932eeb4 100644
--- a/coverage-report/ccan/endian/index.html
+++ b/coverage-report/ccan/endian/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/ccan/endian/test/index-sort-b.html b/coverage-report/ccan/endian/test/index-sort-b.html
index 16baa9a..5d6c061 100644
--- a/coverage-report/ccan/endian/test/index-sort-b.html
+++ b/coverage-report/ccan/endian/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/endian/test/index-sort-f.html b/coverage-report/ccan/endian/test/index-sort-f.html
index df368c0..e2eaf6c 100644
--- a/coverage-report/ccan/endian/test/index-sort-f.html
+++ b/coverage-report/ccan/endian/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/endian/test/index-sort-l.html b/coverage-report/ccan/endian/test/index-sort-l.html
index d72ed09..c0033e7 100644
--- a/coverage-report/ccan/endian/test/index-sort-l.html
+++ b/coverage-report/ccan/endian/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/endian/test/index.html b/coverage-report/ccan/endian/test/index.html
index ed6ea46..8f768a5 100644
--- a/coverage-report/ccan/endian/test/index.html
+++ b/coverage-report/ccan/endian/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/endian/test/run.c.func-sort-c.html b/coverage-report/ccan/endian/test/run.c.func-sort-c.html
index 38d70f4..033a073 100644
--- a/coverage-report/ccan/endian/test/run.c.func-sort-c.html
+++ b/coverage-report/ccan/endian/test/run.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/endian/test/run.c.func.html b/coverage-report/ccan/endian/test/run.c.func.html
index fc67aee..f41c260 100644
--- a/coverage-report/ccan/endian/test/run.c.func.html
+++ b/coverage-report/ccan/endian/test/run.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/endian/test/run.c.gcov.html b/coverage-report/ccan/endian/test/run.c.gcov.html
index 0ebccf3..b1e5f26 100644
--- a/coverage-report/ccan/endian/test/run.c.gcov.html
+++ b/coverage-report/ccan/endian/test/run.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/heap/heap.c.func-sort-c.html b/coverage-report/ccan/heap/heap.c.func-sort-c.html
index 261a395..40c26db 100644
--- a/coverage-report/ccan/heap/heap.c.func-sort-c.html
+++ b/coverage-report/ccan/heap/heap.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/ccan/heap/heap.c.func.html b/coverage-report/ccan/heap/heap.c.func.html
index c45fbb0..faf593a 100644
--- a/coverage-report/ccan/heap/heap.c.func.html
+++ b/coverage-report/ccan/heap/heap.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/ccan/heap/heap.c.gcov.html b/coverage-report/ccan/heap/heap.c.gcov.html
index 30a5290..22a723b 100644
--- a/coverage-report/ccan/heap/heap.c.gcov.html
+++ b/coverage-report/ccan/heap/heap.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/ccan/heap/index-sort-b.html b/coverage-report/ccan/heap/index-sort-b.html
index 00024c4..79d3114 100644
--- a/coverage-report/ccan/heap/index-sort-b.html
+++ b/coverage-report/ccan/heap/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/ccan/heap/index-sort-f.html b/coverage-report/ccan/heap/index-sort-f.html
index 27e7f87..3f020bb 100644
--- a/coverage-report/ccan/heap/index-sort-f.html
+++ b/coverage-report/ccan/heap/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/ccan/heap/index-sort-l.html b/coverage-report/ccan/heap/index-sort-l.html
index 2ca3fb2..6078cae 100644
--- a/coverage-report/ccan/heap/index-sort-l.html
+++ b/coverage-report/ccan/heap/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/ccan/heap/index.html b/coverage-report/ccan/heap/index.html
index 1514800..ddfa8ee 100644
--- a/coverage-report/ccan/heap/index.html
+++ b/coverage-report/ccan/heap/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/ccan/heap/test/index-sort-b.html b/coverage-report/ccan/heap/test/index-sort-b.html
index 812a4a6..8be0cdb 100644
--- a/coverage-report/ccan/heap/test/index-sort-b.html
+++ b/coverage-report/ccan/heap/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/ccan/heap/test/index-sort-f.html b/coverage-report/ccan/heap/test/index-sort-f.html
index 6ea3782..d6c874d 100644
--- a/coverage-report/ccan/heap/test/index-sort-f.html
+++ b/coverage-report/ccan/heap/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/ccan/heap/test/index-sort-l.html b/coverage-report/ccan/heap/test/index-sort-l.html
index 6eac207..d3f95e5 100644
--- a/coverage-report/ccan/heap/test/index-sort-l.html
+++ b/coverage-report/ccan/heap/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/ccan/heap/test/index.html b/coverage-report/ccan/heap/test/index.html
index 3505c0e..bf5d947 100644
--- a/coverage-report/ccan/heap/test/index.html
+++ b/coverage-report/ccan/heap/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/ccan/heap/test/run.c.func-sort-c.html b/coverage-report/ccan/heap/test/run.c.func-sort-c.html
index 4f153fa..01d5b0a 100644
--- a/coverage-report/ccan/heap/test/run.c.func-sort-c.html
+++ b/coverage-report/ccan/heap/test/run.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
@@ -86,15 +86,15 @@
</tr>
<tr>
<td class="coverFn"><a href="run.c.gcov.html#12">heap_ok</a></td>
- <td class="coverFnHi">50022200</td>
+ <td class="coverFnHi">50022256</td>
</tr>
<tr>
<td class="coverFn"><a href="run.c.gcov.html#43">__less</a></td>
- <td class="coverFnHi">50229600</td>
+ <td class="coverFnHi">50229620</td>
</tr>
<tr>
<td class="coverFn"><a href="run.c.gcov.html#38">less</a></td>
- <td class="coverFnHi">50239600</td>
+ <td class="coverFnHi">50239618</td>
</tr>
</table>
<br>
diff --git a/coverage-report/ccan/heap/test/run.c.func.html b/coverage-report/ccan/heap/test/run.c.func.html
index 2c05d61..ac7a3d6 100644
--- a/coverage-report/ccan/heap/test/run.c.func.html
+++ b/coverage-report/ccan/heap/test/run.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
@@ -70,7 +70,7 @@
</tr>
<tr>
<td class="coverFn"><a href="run.c.gcov.html#43">__less</a></td>
- <td class="coverFnHi">50229600</td>
+ <td class="coverFnHi">50229620</td>
</tr>
<tr>
<td class="coverFn"><a href="run.c.gcov.html#53">__more</a></td>
@@ -78,11 +78,11 @@
</tr>
<tr>
<td class="coverFn"><a href="run.c.gcov.html#12">heap_ok</a></td>
- <td class="coverFnHi">50022200</td>
+ <td class="coverFnHi">50022256</td>
</tr>
<tr>
<td class="coverFn"><a href="run.c.gcov.html#38">less</a></td>
- <td class="coverFnHi">50239600</td>
+ <td class="coverFnHi">50239618</td>
</tr>
<tr>
<td class="coverFn"><a href="run.c.gcov.html#122">main</a></td>
diff --git a/coverage-report/ccan/heap/test/run.c.gcov.html b/coverage-report/ccan/heap/test/run.c.gcov.html
index 9ebc48f..622fd83 100644
--- a/coverage-report/ccan/heap/test/run.c.gcov.html
+++ b/coverage-report/ccan/heap/test/run.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
@@ -82,40 +82,40 @@
<a name="11"><span class="lineNum"> 11 </span> : : int v;</a>
<a name="12"><span class="lineNum"> 12 </span> : : };</a>
<a name="13"><span class="lineNum"> 13 </span> : : </a>
-<a name="14"><span class="lineNum"> 14 </span> :<span class="lineCov"> 50022200 : static bool heap_ok(const struct heap *h, heap_less_func_t less, int i)</span></a>
+<a name="14"><span class="lineNum"> 14 </span> :<span class="lineCov"> 50022256 : static bool heap_ok(const struct heap *h, heap_less_func_t less, int i)</span></a>
<a name="15"><span class="lineNum"> 15 </span> : : {</a>
<a name="16"><span class="lineNum"> 16 </span> : : int l, r;</a>
<a name="17"><span class="lineNum"> 17 </span> : : </a>
-<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 50022200 : l = 2 * i + 1;</span></a>
-<a name="19"><span class="lineNum"> 19 </span> :<span class="lineCov"> 50022200 : r = l + 1;</span></a>
+<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 50022256 : l = 2 * i + 1;</span></a>
+<a name="19"><span class="lineNum"> 19 </span> :<span class="lineCov"> 50022256 : r = l + 1;</span></a>
<a name="20"><span class="lineNum"> 20 </span> : : </a>
-<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 50022200 : if (l &lt; h-&gt;len) {</span></a>
-<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 25006000 : if (less(h-&gt;data[l], h-&gt;data[i])) {</span></a>
+<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 50022256 : if (l &lt; h-&gt;len) {</span></a>
+<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 25006088 : if (less(h-&gt;data[l], h-&gt;data[i])) {</span></a>
<a name="23"><span class="lineNum"> 23 </span> :<span class="lineNoCov"> 0 : fprintf(stderr, &quot;heap property violation\n&quot;);</span></a>
<a name="24"><span class="lineNum"> 24 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="25"><span class="lineNum"> 25 </span> : : }</a>
-<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 25006000 : if (!heap_ok(h, less, l))</span></a>
+<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 25006088 : if (!heap_ok(h, less, l))</span></a>
<a name="27"><span class="lineNum"> 27 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="28"><span class="lineNum"> 28 </span> : : }</a>
-<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 50022200 : if (r &lt; h-&gt;len) {</span></a>
-<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 24996000 : if (less(h-&gt;data[r], h-&gt;data[i])) {</span></a>
+<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 50022256 : if (r &lt; h-&gt;len) {</span></a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 24996022 : if (less(h-&gt;data[r], h-&gt;data[i])) {</span></a>
<a name="31"><span class="lineNum"> 31 </span> :<span class="lineNoCov"> 0 : fprintf(stderr, &quot;heap property violation\n&quot;);</span></a>
<a name="32"><span class="lineNum"> 32 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="33"><span class="lineNum"> 33 </span> : : }</a>
-<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 24996000 : if (!heap_ok(h, less, r))</span></a>
+<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 24996022 : if (!heap_ok(h, less, r))</span></a>
<a name="35"><span class="lineNum"> 35 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="36"><span class="lineNum"> 36 </span> : : }</a>
-<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 50022200 : return true;</span></a>
+<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 50022256 : return true;</span></a>
<a name="38"><span class="lineNum"> 38 </span> : : }</a>
<a name="39"><span class="lineNum"> 39 </span> : : </a>
-<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 50239600 : static bool less(const struct item *a, const struct item *b)</span></a>
+<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 50239618 : static bool less(const struct item *a, const struct item *b)</span></a>
<a name="41"><span class="lineNum"> 41 </span> : : {</a>
-<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 50239600 : return a-&gt;v &lt; b-&gt;v;</span></a>
+<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 50239618 : return a-&gt;v &lt; b-&gt;v;</span></a>
<a name="43"><span class="lineNum"> 43 </span> : : }</a>
<a name="44"><span class="lineNum"> 44 </span> : : </a>
-<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 50229600 : static bool __less(const void *a, const void *b)</span></a>
+<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 50229620 : static bool __less(const void *a, const void *b)</span></a>
<a name="46"><span class="lineNum"> 46 </span> : : {</a>
-<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 50229600 : return less(a, b);</span></a>
+<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 50229620 : return less(a, b);</span></a>
<a name="48"><span class="lineNum"> 48 </span> : : }</a>
<a name="49"><span class="lineNum"> 49 </span> : : </a>
<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 32684 : static bool more(const struct item *a, const struct item *b)</span></a>
diff --git a/coverage-report/ccan/list/index-sort-b.html b/coverage-report/ccan/list/index-sort-b.html
index 1d787b9..7731150 100644
--- a/coverage-report/ccan/list/index-sort-b.html
+++ b/coverage-report/ccan/list/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">23</td>
@@ -82,26 +82,26 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="list.c.gcov.html">list.c</a></td>
+ <td class="coverFile"><a href="list.h.gcov.html">list.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=95 height=10 alt="94.7%"><img src="../../snow.png" width=5 height=10 alt="94.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">94.7&nbsp;%</td>
- <td class="coverNumHi">18 / 19</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">96 / 96</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="list.h.gcov.html">list.h</a></td>
+ <td class="coverFile"><a href="list.c.gcov.html">list.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=95 height=10 alt="94.7%"><img src="../../snow.png" width=5 height=10 alt="94.7%"></td></tr></table>
</td>
+ <td class="coverPerHi">94.7&nbsp;%</td>
+ <td class="coverNumHi">18 / 19</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">96 / 96</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">20 / 20</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/ccan/list/index-sort-f.html b/coverage-report/ccan/list/index-sort-f.html
index d2fe80b..e268479 100644
--- a/coverage-report/ccan/list/index-sort-f.html
+++ b/coverage-report/ccan/list/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">23</td>
diff --git a/coverage-report/ccan/list/index-sort-l.html b/coverage-report/ccan/list/index-sort-l.html
index 1fac4ee..8a9082b 100644
--- a/coverage-report/ccan/list/index-sort-l.html
+++ b/coverage-report/ccan/list/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">23</td>
diff --git a/coverage-report/ccan/list/index.html b/coverage-report/ccan/list/index.html
index 4d229ab..cd6e18f 100644
--- a/coverage-report/ccan/list/index.html
+++ b/coverage-report/ccan/list/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">23</td>
diff --git a/coverage-report/ccan/list/list.c.func-sort-c.html b/coverage-report/ccan/list/list.c.func-sort-c.html
index 4e8e925..ca33919 100644
--- a/coverage-report/ccan/list/list.c.func-sort-c.html
+++ b/coverage-report/ccan/list/list.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/list/list.c.func.html b/coverage-report/ccan/list/list.c.func.html
index aa60a88..f6e6132 100644
--- a/coverage-report/ccan/list/list.c.func.html
+++ b/coverage-report/ccan/list/list.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/list/list.c.gcov.html b/coverage-report/ccan/list/list.c.gcov.html
index 9fce5ad..0920bc7 100644
--- a/coverage-report/ccan/list/list.c.gcov.html
+++ b/coverage-report/ccan/list/list.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/list/list.h.func-sort-c.html b/coverage-report/ccan/list/list.h.func-sort-c.html
index 6dce990..854d7ea 100644
--- a/coverage-report/ccan/list/list.h.func-sort-c.html
+++ b/coverage-report/ccan/list/list.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">20</td>
@@ -114,19 +114,19 @@
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#202">list_add_</a></td>
- <td class="coverFnHi">14688</td>
+ <td class="coverFnHi">14692</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#176">list_add_after_</a></td>
- <td class="coverFnHi">14753</td>
+ <td class="coverFnHi">14757</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#368">list_del_from</a></td>
- <td class="coverFnHi">15303</td>
+ <td class="coverFnHi">15307</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#322">list_del_</a></td>
- <td class="coverFnHi">20513</td>
+ <td class="coverFnHi">20517</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#302">list_empty_nocheck</a></td>
@@ -138,15 +138,15 @@
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#265">list_empty_</a></td>
- <td class="coverFnHi">164536</td>
+ <td class="coverFnHi">164540</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#807">list_node_to_off_</a></td>
- <td class="coverFnHi">378027</td>
+ <td class="coverFnHi">378039</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#811">list_node_from_off_</a></td>
- <td class="coverFnHi">605719</td>
+ <td class="coverFnHi">605737</td>
</tr>
</table>
<br>
diff --git a/coverage-report/ccan/list/list.h.func.html b/coverage-report/ccan/list/list.h.func.html
index c295654..9674618 100644
--- a/coverage-report/ccan/list/list.h.func.html
+++ b/coverage-report/ccan/list/list.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">20</td>
@@ -70,11 +70,11 @@
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#202">list_add_</a></td>
- <td class="coverFnHi">14688</td>
+ <td class="coverFnHi">14692</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#176">list_add_after_</a></td>
- <td class="coverFnHi">14753</td>
+ <td class="coverFnHi">14757</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#225">list_add_before_</a></td>
@@ -90,11 +90,11 @@
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#322">list_del_</a></td>
- <td class="coverFnHi">20513</td>
+ <td class="coverFnHi">20517</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#368">list_del_from</a></td>
- <td class="coverFnHi">15303</td>
+ <td class="coverFnHi">15307</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#348">list_del_init_</a></td>
@@ -102,7 +102,7 @@
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#265">list_empty_</a></td>
- <td class="coverFnHi">164536</td>
+ <td class="coverFnHi">164540</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#302">list_empty_nocheck</a></td>
@@ -118,7 +118,7 @@
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#811">list_node_from_off_</a></td>
- <td class="coverFnHi">605719</td>
+ <td class="coverFnHi">605737</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#153">list_node_init</a></td>
@@ -126,7 +126,7 @@
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#807">list_node_to_off_</a></td>
- <td class="coverFnHi">378027</td>
+ <td class="coverFnHi">378039</td>
</tr>
<tr>
<td class="coverFn"><a href="list.h.gcov.html#473">list_pop_</a></td>
diff --git a/coverage-report/ccan/list/list.h.gcov.html b/coverage-report/ccan/list/list.h.gcov.html
index 8ce69d6..a31b76a 100644
--- a/coverage-report/ccan/list/list.h.gcov.html
+++ b/coverage-report/ccan/list/list.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">20</td>
@@ -246,17 +246,17 @@
<a name="175"><span class="lineNum"> 175 </span> : : * list_add_after(&amp;h, &amp;c1.list, &amp;c2.list);</a>
<a name="176"><span class="lineNum"> 176 </span> : : */</a>
<a name="177"><span class="lineNum"> 177 </span> : : #define list_add_after(h, p, n) list_add_after_(h, p, n, LIST_LOC)</a>
-<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 14753 : static inline void list_add_after_(struct list_head *h,</span></a>
+<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 14757 : static inline void list_add_after_(struct list_head *h,</span></a>
<a name="179"><span class="lineNum"> 179 </span> : : struct list_node *p,</a>
<a name="180"><span class="lineNum"> 180 </span> : : struct list_node *n,</a>
<a name="181"><span class="lineNum"> 181 </span> : : const char *abortstr)</a>
<a name="182"><span class="lineNum"> 182 </span> : : {</a>
-<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 14753 : n-&gt;next = p-&gt;next;</span></a>
-<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 14753 : n-&gt;prev = p;</span></a>
-<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 14753 : p-&gt;next-&gt;prev = n;</span></a>
-<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 14753 : p-&gt;next = n;</span></a>
-<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 14753 : (void)list_debug(h, abortstr);</span></a>
-<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 14753 : }</span></a>
+<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 14757 : n-&gt;next = p-&gt;next;</span></a>
+<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 14757 : n-&gt;prev = p;</span></a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 14757 : p-&gt;next-&gt;prev = n;</span></a>
+<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 14757 : p-&gt;next = n;</span></a>
+<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 14757 : (void)list_debug(h, abortstr);</span></a>
+<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 14757 : }</span></a>
<a name="189"><span class="lineNum"> 189 </span> : : </a>
<a name="190"><span class="lineNum"> 190 </span> : : /**</a>
<a name="191"><span class="lineNum"> 191 </span> : : * list_add - add an entry at the start of a linked list.</a>
@@ -272,12 +272,12 @@
<a name="201"><span class="lineNum"> 201 </span> : : * parent-&gt;num_children++;</a>
<a name="202"><span class="lineNum"> 202 </span> : : */</a>
<a name="203"><span class="lineNum"> 203 </span> : : #define list_add(h, n) list_add_(h, n, LIST_LOC)</a>
-<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 14688 : static inline void list_add_(struct list_head *h,</span></a>
+<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 14692 : static inline void list_add_(struct list_head *h,</span></a>
<a name="205"><span class="lineNum"> 205 </span> : : struct list_node *n,</a>
<a name="206"><span class="lineNum"> 206 </span> : : const char *abortstr)</a>
<a name="207"><span class="lineNum"> 207 </span> : : {</a>
-<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 14688 : list_add_after_(h, &amp;h-&gt;n, n, abortstr);</span></a>
-<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 14688 : }</span></a>
+<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 14692 : list_add_after_(h, &amp;h-&gt;n, n, abortstr);</span></a>
+<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 14692 : }</span></a>
<a name="210"><span class="lineNum"> 210 </span> : : </a>
<a name="211"><span class="lineNum"> 211 </span> : : /**</a>
<a name="212"><span class="lineNum"> 212 </span> : : * list_add_before - add an entry before an existing node in a linked list</a>
@@ -335,10 +335,10 @@
<a name="264"><span class="lineNum"> 264 </span> : : * assert(list_empty(&amp;parent-&gt;children) == (parent-&gt;num_children == 0));</a>
<a name="265"><span class="lineNum"> 265 </span> : : */</a>
<a name="266"><span class="lineNum"> 266 </span> : : #define list_empty(h) list_empty_(h, LIST_LOC)</a>
-<a name="267"><span class="lineNum"> 267 </span> :<span class="lineCov"> 164536 : static inline bool list_empty_(const struct list_head *h, const char* abortstr)</span></a>
+<a name="267"><span class="lineNum"> 267 </span> :<span class="lineCov"> 164540 : static inline bool list_empty_(const struct list_head *h, const char* abortstr)</span></a>
<a name="268"><span class="lineNum"> 268 </span> : : {</a>
-<a name="269"><span class="lineNum"> 269 </span> :<span class="lineCov"> 164536 : (void)list_debug(h, abortstr);</span></a>
-<a name="270"><span class="lineNum"> 270 </span> :<span class="lineCov"> 164526 : return h-&gt;n.next == &amp;h-&gt;n;</span></a>
+<a name="269"><span class="lineNum"> 269 </span> :<span class="lineCov"> 164540 : (void)list_debug(h, abortstr);</span></a>
+<a name="270"><span class="lineNum"> 270 </span> :<span class="lineCov"> 164530 : return h-&gt;n.next == &amp;h-&gt;n;</span></a>
<a name="271"><span class="lineNum"> 271 </span> : : }</a>
<a name="272"><span class="lineNum"> 272 </span> : : </a>
<a name="273"><span class="lineNum"> 273 </span> : : /**</a>
@@ -392,16 +392,16 @@
<a name="321"><span class="lineNum"> 321 </span> : : * parent-&gt;num_children--;</a>
<a name="322"><span class="lineNum"> 322 </span> : : */</a>
<a name="323"><span class="lineNum"> 323 </span> : : #define list_del(n) list_del_(n, LIST_LOC)</a>
-<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 20513 : static inline void list_del_(struct list_node *n, const char* abortstr)</span></a>
+<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 20517 : static inline void list_del_(struct list_node *n, const char* abortstr)</span></a>
<a name="325"><span class="lineNum"> 325 </span> : : {</a>
-<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 20513 : (void)list_debug_node(n, abortstr);</span></a>
-<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 20513 : n-&gt;next-&gt;prev = n-&gt;prev;</span></a>
-<a name="328"><span class="lineNum"> 328 </span> :<span class="lineCov"> 20513 : n-&gt;prev-&gt;next = n-&gt;next;</span></a>
+<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 20517 : (void)list_debug_node(n, abortstr);</span></a>
+<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 20517 : n-&gt;next-&gt;prev = n-&gt;prev;</span></a>
+<a name="328"><span class="lineNum"> 328 </span> :<span class="lineCov"> 20517 : n-&gt;prev-&gt;next = n-&gt;next;</span></a>
<a name="329"><span class="lineNum"> 329 </span> : : #ifdef CCAN_LIST_DEBUG</a>
<a name="330"><span class="lineNum"> 330 </span> : : /* Catch use-after-del. */</a>
-<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 20513 : n-&gt;next = n-&gt;prev = NULL;</span></a>
+<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 20517 : n-&gt;next = n-&gt;prev = NULL;</span></a>
<a name="332"><span class="lineNum"> 332 </span> : : #endif</a>
-<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 20513 : }</span></a>
+<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 20517 : }</span></a>
<a name="334"><span class="lineNum"> 334 </span> : : </a>
<a name="335"><span class="lineNum"> 335 </span> : : /**</a>
<a name="336"><span class="lineNum"> 336 </span> : : * list_del_init - delete a node, and reset it so it can be deleted again.</a>
@@ -438,21 +438,21 @@
<a name="367"><span class="lineNum"> 367 </span> : : * list_del_from(&amp;parent-&gt;children, &amp;child-&gt;list);</a>
<a name="368"><span class="lineNum"> 368 </span> : : * parent-&gt;num_children--;</a>
<a name="369"><span class="lineNum"> 369 </span> : : */</a>
-<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 15303 : static inline void list_del_from(struct list_head *h, struct list_node *n)</span></a>
+<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 15307 : static inline void list_del_from(struct list_head *h, struct list_node *n)</span></a>
<a name="371"><span class="lineNum"> 371 </span> : : {</a>
<a name="372"><span class="lineNum"> 372 </span> : : #ifdef CCAN_LIST_DEBUG</a>
<a name="373"><span class="lineNum"> 373 </span> : : {</a>
<a name="374"><span class="lineNum"> 374 </span> : : /* Thorough check: make sure it was in list! */</a>
<a name="375"><span class="lineNum"> 375 </span> : : struct list_node *i;</a>
-<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 17062 : for (i = h-&gt;n.next; i != n; i = i-&gt;next)</span></a>
+<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 17066 : for (i = h-&gt;n.next; i != n; i = i-&gt;next)</span></a>
<a name="377"><span class="lineNum"> 377 </span> :<span class="lineCov"> 1759 : assert(i != &amp;h-&gt;n);</span></a>
<a name="378"><span class="lineNum"> 378 </span> : : }</a>
<a name="379"><span class="lineNum"> 379 </span> : : #endif /* CCAN_LIST_DEBUG */</a>
<a name="380"><span class="lineNum"> 380 </span> : : </a>
<a name="381"><span class="lineNum"> 381 </span> : : /* Quick test that catches a surprising number of bugs. */</a>
-<a name="382"><span class="lineNum"> 382 </span> :<span class="lineCov"> 15303 : assert(!list_empty(h));</span></a>
-<a name="383"><span class="lineNum"> 383 </span> :<span class="lineCov"> 15303 : list_del(n);</span></a>
-<a name="384"><span class="lineNum"> 384 </span> :<span class="lineCov"> 15303 : }</span></a>
+<a name="382"><span class="lineNum"> 382 </span> :<span class="lineCov"> 15307 : assert(!list_empty(h));</span></a>
+<a name="383"><span class="lineNum"> 383 </span> :<span class="lineCov"> 15307 : list_del(n);</span></a>
+<a name="384"><span class="lineNum"> 384 </span> :<span class="lineCov"> 15307 : }</span></a>
<a name="385"><span class="lineNum"> 385 </span> : : </a>
<a name="386"><span class="lineNum"> 386 </span> : : /**</a>
<a name="387"><span class="lineNum"> 387 </span> : : * list_swap - swap out an entry from an (unknown) linked list for a new one.</a>
@@ -877,13 +877,13 @@
<a name="806"><span class="lineNum"> 806 </span> : : list_del_from(h, list_node_from_off_((n), (off)))</a>
<a name="807"><span class="lineNum"> 807 </span> : : </a>
<a name="808"><span class="lineNum"> 808 </span> : : /* Offset helper functions so we only single-evaluate. */</a>
-<a name="809"><span class="lineNum"> 809 </span> :<span class="lineCov"> 378027 : static inline void *list_node_to_off_(struct list_node *node, size_t off)</span></a>
+<a name="809"><span class="lineNum"> 809 </span> :<span class="lineCov"> 378039 : static inline void *list_node_to_off_(struct list_node *node, size_t off)</span></a>
<a name="810"><span class="lineNum"> 810 </span> : : {</a>
-<a name="811"><span class="lineNum"> 811 </span> :<span class="lineCov"> 378027 : return (void *)((char *)node - off);</span></a>
+<a name="811"><span class="lineNum"> 811 </span> :<span class="lineCov"> 378039 : return (void *)((char *)node - off);</span></a>
<a name="812"><span class="lineNum"> 812 </span> : : }</a>
-<a name="813"><span class="lineNum"> 813 </span> :<span class="lineCov"> 605719 : static inline struct list_node *list_node_from_off_(void *ptr, size_t off)</span></a>
+<a name="813"><span class="lineNum"> 813 </span> :<span class="lineCov"> 605737 : static inline struct list_node *list_node_from_off_(void *ptr, size_t off)</span></a>
<a name="814"><span class="lineNum"> 814 </span> : : {</a>
-<a name="815"><span class="lineNum"> 815 </span> :<span class="lineCov"> 605719 : return (struct list_node *)((char *)ptr + off);</span></a>
+<a name="815"><span class="lineNum"> 815 </span> :<span class="lineCov"> 605737 : return (struct list_node *)((char *)ptr + off);</span></a>
<a name="816"><span class="lineNum"> 816 </span> : : }</a>
<a name="817"><span class="lineNum"> 817 </span> : : </a>
<a name="818"><span class="lineNum"> 818 </span> : : /* Get the offset of the member, but make sure it's a list_node. */</a>
diff --git a/coverage-report/ccan/list/test/helper.c.func-sort-c.html b/coverage-report/ccan/list/test/helper.c.func-sort-c.html
index aee3d2e..b2c1b3a 100644
--- a/coverage-report/ccan/list/test/helper.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/helper.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/list/test/helper.c.func.html b/coverage-report/ccan/list/test/helper.c.func.html
index 76ef832..5211a0c 100644
--- a/coverage-report/ccan/list/test/helper.c.func.html
+++ b/coverage-report/ccan/list/test/helper.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/list/test/helper.c.gcov.html b/coverage-report/ccan/list/test/helper.c.gcov.html
index 6ade0ed..b067ff5 100644
--- a/coverage-report/ccan/list/test/helper.c.gcov.html
+++ b/coverage-report/ccan/list/test/helper.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/list/test/index-sort-b.html b/coverage-report/ccan/list/test/index-sort-b.html
index 2f94840..b09cdce 100644
--- a/coverage-report/ccan/list/test/index-sort-b.html
+++ b/coverage-report/ccan/list/test/index-sort-b.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">514</td>
- <td class="headerCovTableEntry">521</td>
- <td class="headerCovTableEntryHi">98.7 %</td>
+ <td class="headerCovTableEntry">511</td>
+ <td class="headerCovTableEntry">518</td>
+ <td class="headerCovTableEntryHi">98.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -82,48 +82,48 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run-prepend_list.c.gcov.html">run-prepend_list.c</a></td>
+ <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=99 height=10 alt="98.6%"><img src="../../../snow.png" width=1 height=10 alt="98.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">98.6&nbsp;%</td>
- <td class="coverNumHi">71 / 72</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">207 / 207</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
+ <td class="coverFile"><a href="run-list_del_from-assert.c.gcov.html">run-list_del_from-assert.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=86 height=10 alt="85.7%"><img src="../../../snow.png" width=14 height=10 alt="85.7%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">210 / 210</td>
+ <td class="coverPerMed">85.7&nbsp;%</td>
+ <td class="coverNumMed">12 / 14</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="helper.c.gcov.html">helper.c</a></td>
+ <td class="coverFile"><a href="run-CCAN_LIST_DEBUG.c.gcov.html">run-CCAN_LIST_DEBUG.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=94 height=10 alt="94.1%"><img src="../../../snow.png" width=6 height=10 alt="94.1%"></td></tr></table>
</td>
+ <td class="coverPerHi">94.1&nbsp;%</td>
+ <td class="coverNumHi">16 / 17</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">20 / 20</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-list_del_from-assert.c.gcov.html">run-list_del_from-assert.c</a></td>
+ <td class="coverFile"><a href="run-single-eval.c.gcov.html">run-single-eval.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=86 height=10 alt="85.7%"><img src="../../../snow.png" width=14 height=10 alt="85.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerMed">85.7&nbsp;%</td>
- <td class="coverNumMed">12 / 14</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">112 / 112</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -142,26 +142,26 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-CCAN_LIST_DEBUG.c.gcov.html">run-CCAN_LIST_DEBUG.c</a></td>
+ <td class="coverFile"><a href="run-prepend_list.c.gcov.html">run-prepend_list.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=94 height=10 alt="94.1%"><img src="../../../snow.png" width=6 height=10 alt="94.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=99 height=10 alt="98.6%"><img src="../../../snow.png" width=1 height=10 alt="98.6%"></td></tr></table>
</td>
- <td class="coverPerHi">94.1&nbsp;%</td>
- <td class="coverNumHi">16 / 17</td>
+ <td class="coverPerHi">98.6&nbsp;%</td>
+ <td class="coverNumHi">71 / 72</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-single-eval.c.gcov.html">run-single-eval.c</a></td>
+ <td class="coverFile"><a href="helper.c.gcov.html">helper.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">112 / 112</td>
+ <td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/ccan/list/test/index-sort-f.html b/coverage-report/ccan/list/test/index-sort-f.html
index ff18202..e8c66a0 100644
--- a/coverage-report/ccan/list/test/index-sort-f.html
+++ b/coverage-report/ccan/list/test/index-sort-f.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">514</td>
- <td class="headerCovTableEntry">521</td>
- <td class="headerCovTableEntryHi">98.7 %</td>
+ <td class="headerCovTableEntry">511</td>
+ <td class="headerCovTableEntry">518</td>
+ <td class="headerCovTableEntryHi">98.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -87,7 +87,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">210 / 210</td>
+ <td class="coverNumHi">207 / 207</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -106,24 +106,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-list_prev-list_next.c.gcov.html">run-list_prev-list_next.c</a></td>
+ <td class="coverFile"><a href="run-single-eval.c.gcov.html">run-single-eval.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">32 / 32</td>
+ <td class="coverNumHi">112 / 112</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-single-eval.c.gcov.html">run-single-eval.c</a></td>
+ <td class="coverFile"><a href="run-list_prev-list_next.c.gcov.html">run-list_prev-list_next.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">112 / 112</td>
+ <td class="coverNumHi">32 / 32</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -142,24 +142,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-prepend_list.c.gcov.html">run-prepend_list.c</a></td>
+ <td class="coverFile"><a href="run-CCAN_LIST_DEBUG.c.gcov.html">run-CCAN_LIST_DEBUG.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=99 height=10 alt="98.6%"><img src="../../../snow.png" width=1 height=10 alt="98.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=94 height=10 alt="94.1%"><img src="../../../snow.png" width=6 height=10 alt="94.1%"></td></tr></table>
</td>
- <td class="coverPerHi">98.6&nbsp;%</td>
- <td class="coverNumHi">71 / 72</td>
+ <td class="coverPerHi">94.1&nbsp;%</td>
+ <td class="coverNumHi">16 / 17</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-CCAN_LIST_DEBUG.c.gcov.html">run-CCAN_LIST_DEBUG.c</a></td>
+ <td class="coverFile"><a href="run-prepend_list.c.gcov.html">run-prepend_list.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=94 height=10 alt="94.1%"><img src="../../../snow.png" width=6 height=10 alt="94.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=99 height=10 alt="98.6%"><img src="../../../snow.png" width=1 height=10 alt="98.6%"></td></tr></table>
</td>
- <td class="coverPerHi">94.1&nbsp;%</td>
- <td class="coverNumHi">16 / 17</td>
+ <td class="coverPerHi">98.6&nbsp;%</td>
+ <td class="coverNumHi">71 / 72</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/ccan/list/test/index-sort-l.html b/coverage-report/ccan/list/test/index-sort-l.html
index adbdf34..f6e819b 100644
--- a/coverage-report/ccan/list/test/index-sort-l.html
+++ b/coverage-report/ccan/list/test/index-sort-l.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">514</td>
- <td class="headerCovTableEntry">521</td>
- <td class="headerCovTableEntryHi">98.7 %</td>
+ <td class="headerCovTableEntry">511</td>
+ <td class="headerCovTableEntry">518</td>
+ <td class="headerCovTableEntryHi">98.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -183,7 +183,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">210 / 210</td>
+ <td class="coverNumHi">207 / 207</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/ccan/list/test/index.html b/coverage-report/ccan/list/test/index.html
index 11d49ce..d2dd998 100644
--- a/coverage-report/ccan/list/test/index.html
+++ b/coverage-report/ccan/list/test/index.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">514</td>
- <td class="headerCovTableEntry">521</td>
- <td class="headerCovTableEntryHi">98.7 %</td>
+ <td class="headerCovTableEntry">511</td>
+ <td class="headerCovTableEntry">518</td>
+ <td class="headerCovTableEntryHi">98.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -183,7 +183,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">210 / 210</td>
+ <td class="coverNumHi">207 / 207</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func-sort-c.html b/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func-sort-c.html
index c0e1a96..efebb50 100644
--- a/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func.html b/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func.html
index 9baadb3..96d9b12 100644
--- a/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func.html
+++ b/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.gcov.html b/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.gcov.html
index f14a3c0..f6f746d 100644
--- a/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.gcov.html
+++ b/coverage-report/ccan/list/test/run-CCAN_LIST_DEBUG.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-check-corrupt.c.func-sort-c.html b/coverage-report/ccan/list/test/run-check-corrupt.c.func-sort-c.html
index 03dfcb4..a956fa7 100644
--- a/coverage-report/ccan/list/test/run-check-corrupt.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/run-check-corrupt.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-check-corrupt.c.func.html b/coverage-report/ccan/list/test/run-check-corrupt.c.func.html
index d9fea5f..b2e88be 100644
--- a/coverage-report/ccan/list/test/run-check-corrupt.c.func.html
+++ b/coverage-report/ccan/list/test/run-check-corrupt.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-check-corrupt.c.gcov.html b/coverage-report/ccan/list/test/run-check-corrupt.c.gcov.html
index 93c4988..f9a28cf 100644
--- a/coverage-report/ccan/list/test/run-check-corrupt.c.gcov.html
+++ b/coverage-report/ccan/list/test/run-check-corrupt.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-check-nonconst.c.func-sort-c.html b/coverage-report/ccan/list/test/run-check-nonconst.c.func-sort-c.html
index 7ce8c65..dbb6045 100644
--- a/coverage-report/ccan/list/test/run-check-nonconst.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/run-check-nonconst.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-check-nonconst.c.func.html b/coverage-report/ccan/list/test/run-check-nonconst.c.func.html
index 16e2007..affa456 100644
--- a/coverage-report/ccan/list/test/run-check-nonconst.c.func.html
+++ b/coverage-report/ccan/list/test/run-check-nonconst.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-check-nonconst.c.gcov.html b/coverage-report/ccan/list/test/run-check-nonconst.c.gcov.html
index c021650..756fc1a 100644
--- a/coverage-report/ccan/list/test/run-check-nonconst.c.gcov.html
+++ b/coverage-report/ccan/list/test/run-check-nonconst.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-list_del_from-assert.c.func-sort-c.html b/coverage-report/ccan/list/test/run-list_del_from-assert.c.func-sort-c.html
index 68cead2..49edb56 100644
--- a/coverage-report/ccan/list/test/run-list_del_from-assert.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/run-list_del_from-assert.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-list_del_from-assert.c.func.html b/coverage-report/ccan/list/test/run-list_del_from-assert.c.func.html
index 8653b27..b787ea9 100644
--- a/coverage-report/ccan/list/test/run-list_del_from-assert.c.func.html
+++ b/coverage-report/ccan/list/test/run-list_del_from-assert.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-list_del_from-assert.c.gcov.html b/coverage-report/ccan/list/test/run-list_del_from-assert.c.gcov.html
index 47651c2..328391d 100644
--- a/coverage-report/ccan/list/test/run-list_del_from-assert.c.gcov.html
+++ b/coverage-report/ccan/list/test/run-list_del_from-assert.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-list_prev-list_next.c.func-sort-c.html b/coverage-report/ccan/list/test/run-list_prev-list_next.c.func-sort-c.html
index 1b50d7f..d563af2 100644
--- a/coverage-report/ccan/list/test/run-list_prev-list_next.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/run-list_prev-list_next.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-list_prev-list_next.c.func.html b/coverage-report/ccan/list/test/run-list_prev-list_next.c.func.html
index 94bdee7..6f99a41 100644
--- a/coverage-report/ccan/list/test/run-list_prev-list_next.c.func.html
+++ b/coverage-report/ccan/list/test/run-list_prev-list_next.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-list_prev-list_next.c.gcov.html b/coverage-report/ccan/list/test/run-list_prev-list_next.c.gcov.html
index 78866bb..82bb18b 100644
--- a/coverage-report/ccan/list/test/run-list_prev-list_next.c.gcov.html
+++ b/coverage-report/ccan/list/test/run-list_prev-list_next.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-prepend_list.c.func-sort-c.html b/coverage-report/ccan/list/test/run-prepend_list.c.func-sort-c.html
index d2736ec..fb4e09a 100644
--- a/coverage-report/ccan/list/test/run-prepend_list.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/run-prepend_list.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-prepend_list.c.func.html b/coverage-report/ccan/list/test/run-prepend_list.c.func.html
index 7f039ce..878585f 100644
--- a/coverage-report/ccan/list/test/run-prepend_list.c.func.html
+++ b/coverage-report/ccan/list/test/run-prepend_list.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-prepend_list.c.gcov.html b/coverage-report/ccan/list/test/run-prepend_list.c.gcov.html
index 7543178..09cf5fe 100644
--- a/coverage-report/ccan/list/test/run-prepend_list.c.gcov.html
+++ b/coverage-report/ccan/list/test/run-prepend_list.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/list/test/run-single-eval.c.func-sort-c.html b/coverage-report/ccan/list/test/run-single-eval.c.func-sort-c.html
index ba25140..7f58163 100644
--- a/coverage-report/ccan/list/test/run-single-eval.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/run-single-eval.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-single-eval.c.func.html b/coverage-report/ccan/list/test/run-single-eval.c.func.html
index a4bbc55..323fa21 100644
--- a/coverage-report/ccan/list/test/run-single-eval.c.func.html
+++ b/coverage-report/ccan/list/test/run-single-eval.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run-single-eval.c.gcov.html b/coverage-report/ccan/list/test/run-single-eval.c.gcov.html
index 18b0790..47e64aa 100644
--- a/coverage-report/ccan/list/test/run-single-eval.c.gcov.html
+++ b/coverage-report/ccan/list/test/run-single-eval.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run.c.func-sort-c.html b/coverage-report/ccan/list/test/run.c.func-sort-c.html
index dc5c3fd..a9f1a85 100644
--- a/coverage-report/ccan/list/test/run.c.func-sort-c.html
+++ b/coverage-report/ccan/list/test/run.c.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">210</td>
- <td class="headerCovTableEntry">210</td>
+ <td class="headerCovTableEntry">207</td>
+ <td class="headerCovTableEntry">207</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run.c.func.html b/coverage-report/ccan/list/test/run.c.func.html
index 7349be9..f71425a 100644
--- a/coverage-report/ccan/list/test/run.c.func.html
+++ b/coverage-report/ccan/list/test/run.c.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">210</td>
- <td class="headerCovTableEntry">210</td>
+ <td class="headerCovTableEntry">207</td>
+ <td class="headerCovTableEntry">207</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/list/test/run.c.gcov.html b/coverage-report/ccan/list/test/run.c.gcov.html
index 28e3211..aa7d27e 100644
--- a/coverage-report/ccan/list/test/run.c.gcov.html
+++ b/coverage-report/ccan/list/test/run.c.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">210</td>
- <td class="headerCovTableEntry">210</td>
+ <td class="headerCovTableEntry">207</td>
+ <td class="headerCovTableEntry">207</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -332,7 +332,7 @@
<a name="261"><span class="lineNum"> 261 </span> :<span class="lineCov"> 20 : ok1(c == &amp;c2);</span></a>
<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 20 : break;</span></a>
<a name="263"><span class="lineNum"> 263 </span> : : }</a>
-<a name="264"><span class="lineNum"> 264 </span> :<span class="lineCov"> 40 : }</span></a>
+<a name="264"><span class="lineNum"> 264 </span> : : }</a>
<a name="265"><span class="lineNum"> 265 </span> :<span class="lineCov"> 20 : ok1(i == 2);</span></a>
<a name="266"><span class="lineNum"> 266 </span> : : </a>
<a name="267"><span class="lineNum"> 267 </span> :<span class="lineCov"> 20 : list_add_before(&amp;parent.children, &amp;c2.list, &amp;c3.list);</span></a>
@@ -351,7 +351,7 @@
<a name="280"><span class="lineNum"> 280 </span> :<span class="lineCov"> 20 : ok1(c == &amp;c2);</span></a>
<a name="281"><span class="lineNum"> 281 </span> :<span class="lineCov"> 20 : break;</span></a>
<a name="282"><span class="lineNum"> 282 </span> : : }</a>
-<a name="283"><span class="lineNum"> 283 </span> :<span class="lineCov"> 60 : }</span></a>
+<a name="283"><span class="lineNum"> 283 </span> : : }</a>
<a name="284"><span class="lineNum"> 284 </span> :<span class="lineCov"> 20 : ok1(i == 3);</span></a>
<a name="285"><span class="lineNum"> 285 </span> : : </a>
<a name="286"><span class="lineNum"> 286 </span> : : /* test list_swap */</a>
@@ -370,7 +370,7 @@
<a name="299"><span class="lineNum"> 299 </span> :<span class="lineCov"> 20 : ok1(c == &amp;c2);</span></a>
<a name="300"><span class="lineNum"> 300 </span> :<span class="lineCov"> 20 : break;</span></a>
<a name="301"><span class="lineNum"> 301 </span> : : }</a>
-<a name="302"><span class="lineNum"> 302 </span> :<span class="lineCov"> 60 : }</span></a>
+<a name="302"><span class="lineNum"> 302 </span> : : }</a>
<a name="303"><span class="lineNum"> 303 </span> :<span class="lineCov"> 20 : ok1(i == 3);</span></a>
<a name="304"><span class="lineNum"> 304 </span> : : </a>
<a name="305"><span class="lineNum"> 305 </span> :<span class="lineCov"> 20 : return exit_status();</span></a>
diff --git a/coverage-report/ccan/short_types/test/index-sort-b.html b/coverage-report/ccan/short_types/test/index-sort-b.html
index 899144e..4473598 100644
--- a/coverage-report/ccan/short_types/test/index-sort-b.html
+++ b/coverage-report/ccan/short_types/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -82,7 +82,7 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run-endian.c.gcov.html">run-endian.c</a></td>
+ <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -94,7 +94,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
+ <td class="coverFile"><a href="run-endian.c.gcov.html">run-endian.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
diff --git a/coverage-report/ccan/short_types/test/index-sort-f.html b/coverage-report/ccan/short_types/test/index-sort-f.html
index 484bb09..7e0762b 100644
--- a/coverage-report/ccan/short_types/test/index-sort-f.html
+++ b/coverage-report/ccan/short_types/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -82,7 +82,7 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run-endian.c.gcov.html">run-endian.c</a></td>
+ <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -94,7 +94,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
+ <td class="coverFile"><a href="run-endian.c.gcov.html">run-endian.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
diff --git a/coverage-report/ccan/short_types/test/index-sort-l.html b/coverage-report/ccan/short_types/test/index-sort-l.html
index d6b97bd..279058a 100644
--- a/coverage-report/ccan/short_types/test/index-sort-l.html
+++ b/coverage-report/ccan/short_types/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -82,7 +82,7 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run-endian.c.gcov.html">run-endian.c</a></td>
+ <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -94,7 +94,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
+ <td class="coverFile"><a href="run-endian.c.gcov.html">run-endian.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
diff --git a/coverage-report/ccan/short_types/test/index.html b/coverage-report/ccan/short_types/test/index.html
index 7f8c814..3f8772e 100644
--- a/coverage-report/ccan/short_types/test/index.html
+++ b/coverage-report/ccan/short_types/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/short_types/test/run-endian.c.func-sort-c.html b/coverage-report/ccan/short_types/test/run-endian.c.func-sort-c.html
index 131972d..14e0f9b 100644
--- a/coverage-report/ccan/short_types/test/run-endian.c.func-sort-c.html
+++ b/coverage-report/ccan/short_types/test/run-endian.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/short_types/test/run-endian.c.func.html b/coverage-report/ccan/short_types/test/run-endian.c.func.html
index 02d6b5a..19662de 100644
--- a/coverage-report/ccan/short_types/test/run-endian.c.func.html
+++ b/coverage-report/ccan/short_types/test/run-endian.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/short_types/test/run-endian.c.gcov.html b/coverage-report/ccan/short_types/test/run-endian.c.gcov.html
index d2743c7..e27cfc7 100644
--- a/coverage-report/ccan/short_types/test/run-endian.c.gcov.html
+++ b/coverage-report/ccan/short_types/test/run-endian.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/short_types/test/run.c.func-sort-c.html b/coverage-report/ccan/short_types/test/run.c.func-sort-c.html
index 7a780e1..b0a9d0a 100644
--- a/coverage-report/ccan/short_types/test/run.c.func-sort-c.html
+++ b/coverage-report/ccan/short_types/test/run.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/short_types/test/run.c.func.html b/coverage-report/ccan/short_types/test/run.c.func.html
index 011a86b..1ae7500 100644
--- a/coverage-report/ccan/short_types/test/run.c.func.html
+++ b/coverage-report/ccan/short_types/test/run.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/short_types/test/run.c.gcov.html b/coverage-report/ccan/short_types/test/run.c.gcov.html
index 2a8dd1e..562a34e 100644
--- a/coverage-report/ccan/short_types/test/run.c.gcov.html
+++ b/coverage-report/ccan/short_types/test/run.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/index-sort-b.html b/coverage-report/ccan/str/index-sort-b.html
index a4c8247..c2ae0f3 100644
--- a/coverage-report/ccan/str/index-sort-b.html
+++ b/coverage-report/ccan/str/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/str/index-sort-f.html b/coverage-report/ccan/str/index-sort-f.html
index cf9e5d6..9118742 100644
--- a/coverage-report/ccan/str/index-sort-f.html
+++ b/coverage-report/ccan/str/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/str/index-sort-l.html b/coverage-report/ccan/str/index-sort-l.html
index 722cfcf..161905f 100644
--- a/coverage-report/ccan/str/index-sort-l.html
+++ b/coverage-report/ccan/str/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/str/index.html b/coverage-report/ccan/str/index.html
index bf65c9a..7fb5f48 100644
--- a/coverage-report/ccan/str/index.html
+++ b/coverage-report/ccan/str/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/str/str.c.func-sort-c.html b/coverage-report/ccan/str/str.c.func-sort-c.html
index f7659a4..b416c70 100644
--- a/coverage-report/ccan/str/str.c.func-sort-c.html
+++ b/coverage-report/ccan/str/str.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/str.c.func.html b/coverage-report/ccan/str/str.c.func.html
index 364fcc8..42dc882 100644
--- a/coverage-report/ccan/str/str.c.func.html
+++ b/coverage-report/ccan/str/str.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/str.c.gcov.html b/coverage-report/ccan/str/str.c.gcov.html
index f467990..d47b743 100644
--- a/coverage-report/ccan/str/str.c.gcov.html
+++ b/coverage-report/ccan/str/str.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/str.h.func-sort-c.html b/coverage-report/ccan/str/str.h.func-sort-c.html
index 914575f..40f9da5 100644
--- a/coverage-report/ccan/str/str.h.func-sort-c.html
+++ b/coverage-report/ccan/str/str.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/str.h.func.html b/coverage-report/ccan/str/str.h.func.html
index 8e67475..7044dd8 100644
--- a/coverage-report/ccan/str/str.h.func.html
+++ b/coverage-report/ccan/str/str.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/str.h.gcov.html b/coverage-report/ccan/str/str.h.gcov.html
index 47cb079..3dc7ca9 100644
--- a/coverage-report/ccan/str/str.h.gcov.html
+++ b/coverage-report/ccan/str/str.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/test/index-sort-b.html b/coverage-report/ccan/str/test/index-sort-b.html
index b0bf370..c648570 100644
--- a/coverage-report/ccan/str/test/index-sort-b.html
+++ b/coverage-report/ccan/str/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
@@ -82,26 +82,26 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
+ <td class="coverFile"><a href="run-STR_MAX_CHARS.c.gcov.html">run-STR_MAX_CHARS.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">52 / 52</td>
+ <td class="coverNumHi">29 / 29</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-STR_MAX_CHARS.c.gcov.html">run-STR_MAX_CHARS.c</a></td>
+ <td class="coverFile"><a href="run.c.gcov.html">run.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">29 / 29</td>
+ <td class="coverNumHi">52 / 52</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/ccan/str/test/index-sort-f.html b/coverage-report/ccan/str/test/index-sort-f.html
index a288a59..65f9e5a 100644
--- a/coverage-report/ccan/str/test/index-sort-f.html
+++ b/coverage-report/ccan/str/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/str/test/index-sort-l.html b/coverage-report/ccan/str/test/index-sort-l.html
index 3d5d824..27f3bd9 100644
--- a/coverage-report/ccan/str/test/index-sort-l.html
+++ b/coverage-report/ccan/str/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/str/test/index.html b/coverage-report/ccan/str/test/index.html
index 4971bdc..f40e793 100644
--- a/coverage-report/ccan/str/test/index.html
+++ b/coverage-report/ccan/str/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func-sort-c.html b/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func-sort-c.html
index dc7ff8d..e3b3f0e 100644
--- a/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func-sort-c.html
+++ b/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func.html b/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func.html
index e1503b0..a76cd75 100644
--- a/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func.html
+++ b/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.gcov.html b/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.gcov.html
index 65b3b17..c5da2ff 100644
--- a/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.gcov.html
+++ b/coverage-report/ccan/str/test/run-STR_MAX_CHARS.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/ccan/str/test/run.c.func-sort-c.html b/coverage-report/ccan/str/test/run.c.func-sort-c.html
index abb3571..ac616ae 100644
--- a/coverage-report/ccan/str/test/run.c.func-sort-c.html
+++ b/coverage-report/ccan/str/test/run.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/str/test/run.c.func.html b/coverage-report/ccan/str/test/run.c.func.html
index ccc8fbb..cf168fc 100644
--- a/coverage-report/ccan/str/test/run.c.func.html
+++ b/coverage-report/ccan/str/test/run.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/ccan/str/test/run.c.gcov.html b/coverage-report/ccan/str/test/run.c.gcov.html
index f89a31d..3f07376 100644
--- a/coverage-report/ccan/str/test/run.c.gcov.html
+++ b/coverage-report/ccan/str/test/run.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/bitmap.c.func-sort-c.html b/coverage-report/core/bitmap.c.func-sort-c.html
index c55f7b1..2d4f85c 100644
--- a/coverage-report/core/bitmap.c.func-sort-c.html
+++ b/coverage-report/core/bitmap.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/bitmap.c.func.html b/coverage-report/core/bitmap.c.func.html
index d5d7645..393d1ee 100644
--- a/coverage-report/core/bitmap.c.func.html
+++ b/coverage-report/core/bitmap.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/bitmap.c.gcov.html b/coverage-report/core/bitmap.c.gcov.html
index 20e6f7c..364441b 100644
--- a/coverage-report/core/bitmap.c.gcov.html
+++ b/coverage-report/core/bitmap.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/buddy.c.func-sort-c.html b/coverage-report/core/buddy.c.func-sort-c.html
index 623a561..125b246 100644
--- a/coverage-report/core/buddy.c.func-sort-c.html
+++ b/coverage-report/core/buddy.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/core/buddy.c.func.html b/coverage-report/core/buddy.c.func.html
index 95dcfb0..1f4df99 100644
--- a/coverage-report/core/buddy.c.func.html
+++ b/coverage-report/core/buddy.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/core/buddy.c.gcov.html b/coverage-report/core/buddy.c.gcov.html
index c92b7a8..b04e33c 100644
--- a/coverage-report/core/buddy.c.gcov.html
+++ b/coverage-report/core/buddy.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/core/chip.c.func-sort-c.html b/coverage-report/core/chip.c.func-sort-c.html
index b5281b2..f3d6d1e 100644
--- a/coverage-report/core/chip.c.func-sort-c.html
+++ b/coverage-report/core/chip.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/core/chip.c.func.html b/coverage-report/core/chip.c.func.html
index 252675f..a4da6b0 100644
--- a/coverage-report/core/chip.c.func.html
+++ b/coverage-report/core/chip.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/core/chip.c.gcov.html b/coverage-report/core/chip.c.gcov.html
index de88ee3..6a41ff5 100644
--- a/coverage-report/core/chip.c.gcov.html
+++ b/coverage-report/core/chip.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/core/console-log.c.func-sort-c.html b/coverage-report/core/console-log.c.func-sort-c.html
index 004da0e..adf2ba5 100644
--- a/coverage-report/core/console-log.c.func-sort-c.html
+++ b/coverage-report/core/console-log.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/console-log.c.func.html b/coverage-report/core/console-log.c.func.html
index 3f3bd75..44d3a5f 100644
--- a/coverage-report/core/console-log.c.func.html
+++ b/coverage-report/core/console-log.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/console-log.c.gcov.html b/coverage-report/core/console-log.c.gcov.html
index 0bb7048..9aae9fe 100644
--- a/coverage-report/core/console-log.c.gcov.html
+++ b/coverage-report/core/console-log.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/cpufeatures.c.func-sort-c.html b/coverage-report/core/cpufeatures.c.func-sort-c.html
index e4bb101..6290964 100644
--- a/coverage-report/core/cpufeatures.c.func-sort-c.html
+++ b/coverage-report/core/cpufeatures.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/core/cpufeatures.c.func.html b/coverage-report/core/cpufeatures.c.func.html
index 0d40e65..3845a43 100644
--- a/coverage-report/core/cpufeatures.c.func.html
+++ b/coverage-report/core/cpufeatures.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/core/cpufeatures.c.gcov.html b/coverage-report/core/cpufeatures.c.gcov.html
index f4377b2..d3b19b3 100644
--- a/coverage-report/core/cpufeatures.c.gcov.html
+++ b/coverage-report/core/cpufeatures.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/core/device.c.func-sort-c.html b/coverage-report/core/device.c.func-sort-c.html
index f1740b5..290f960 100644
--- a/coverage-report/core/device.c.func-sort-c.html
+++ b/coverage-report/core/device.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">60</td>
diff --git a/coverage-report/core/device.c.func.html b/coverage-report/core/device.c.func.html
index 866fbef..04694c0 100644
--- a/coverage-report/core/device.c.func.html
+++ b/coverage-report/core/device.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">60</td>
diff --git a/coverage-report/core/device.c.gcov.html b/coverage-report/core/device.c.gcov.html
index a71c855..08fc66e 100644
--- a/coverage-report/core/device.c.gcov.html
+++ b/coverage-report/core/device.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">60</td>
diff --git a/coverage-report/core/fdt.c.func-sort-c.html b/coverage-report/core/fdt.c.func-sort-c.html
index a796095..ef632d0 100644
--- a/coverage-report/core/fdt.c.func-sort-c.html
+++ b/coverage-report/core/fdt.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/core/fdt.c.func.html b/coverage-report/core/fdt.c.func.html
index 19204dc..dae4686 100644
--- a/coverage-report/core/fdt.c.func.html
+++ b/coverage-report/core/fdt.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/core/fdt.c.gcov.html b/coverage-report/core/fdt.c.gcov.html
index beabd07..361a3cc 100644
--- a/coverage-report/core/fdt.c.gcov.html
+++ b/coverage-report/core/fdt.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/core/flash-firmware-versions.c.func-sort-c.html b/coverage-report/core/flash-firmware-versions.c.func-sort-c.html
index fb1b6e7..1a9bb9e 100644
--- a/coverage-report/core/flash-firmware-versions.c.func-sort-c.html
+++ b/coverage-report/core/flash-firmware-versions.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/flash-firmware-versions.c.func.html b/coverage-report/core/flash-firmware-versions.c.func.html
index 821fa04..a2bf2df 100644
--- a/coverage-report/core/flash-firmware-versions.c.func.html
+++ b/coverage-report/core/flash-firmware-versions.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/flash-firmware-versions.c.gcov.html b/coverage-report/core/flash-firmware-versions.c.gcov.html
index b06aa6f..ecb968e 100644
--- a/coverage-report/core/flash-firmware-versions.c.gcov.html
+++ b/coverage-report/core/flash-firmware-versions.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/flash-subpartition.c.func-sort-c.html b/coverage-report/core/flash-subpartition.c.func-sort-c.html
index faf3efc..4e1e54f 100644
--- a/coverage-report/core/flash-subpartition.c.func-sort-c.html
+++ b/coverage-report/core/flash-subpartition.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/flash-subpartition.c.func.html b/coverage-report/core/flash-subpartition.c.func.html
index 6881798..2158dd3 100644
--- a/coverage-report/core/flash-subpartition.c.func.html
+++ b/coverage-report/core/flash-subpartition.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/flash-subpartition.c.gcov.html b/coverage-report/core/flash-subpartition.c.gcov.html
index 9f48211..eaf114e 100644
--- a/coverage-report/core/flash-subpartition.c.gcov.html
+++ b/coverage-report/core/flash-subpartition.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/index-sort-b.html b/coverage-report/core/index-sort-b.html
index 8ed89ba..b32ff29 100644
--- a/coverage-report/core/index-sort-b.html
+++ b/coverage-report/core/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">185</td>
@@ -82,242 +82,242 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="pci-quirk.c.gcov.html">pci-quirk.c</a></td>
+ <td class="coverFile"><a href="timer.c.gcov.html">timer.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=13 height=10 alt="13.3%"><img src="../snow.png" width=87 height=10 alt="13.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=62 height=10 alt="61.8%"><img src="../snow.png" width=38 height=10 alt="61.8%"></td></tr></table>
</td>
- <td class="coverPerLo">13.3&nbsp;%</td>
- <td class="coverNumLo">8 / 60</td>
- <td class="coverPerLo">20.0&nbsp;%</td>
- <td class="coverNumLo">1 / 5</td>
+ <td class="coverPerLo">61.8&nbsp;%</td>
+ <td class="coverNumLo">68 / 110</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="mem_region.c.gcov.html">mem_region.c</a></td>
+ <td class="coverFile"><a href="malloc.c.gcov.html">malloc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=66 height=10 alt="65.6%"><img src="../snow.png" width=34 height=10 alt="65.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=97 height=10 alt="97.1%"><img src="../snow.png" width=3 height=10 alt="97.1%"></td></tr></table>
</td>
- <td class="coverPerLo">65.6&nbsp;%</td>
- <td class="coverNumLo">467 / 712</td>
- <td class="coverPerMed">79.6&nbsp;%</td>
- <td class="coverNumMed">39 / 49</td>
+ <td class="coverPerHi">97.1&nbsp;%</td>
+ <td class="coverNumHi">34 / 35</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="fdt.c.gcov.html">fdt.c</a></td>
+ <td class="coverFile"><a href="chip.c.gcov.html">chip.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=63 height=10 alt="63.4%"><img src="../snow.png" width=37 height=10 alt="63.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerLo">63.4&nbsp;%</td>
- <td class="coverNumLo">64 / 101</td>
- <td class="coverPerHi">90.9&nbsp;%</td>
- <td class="coverNumHi">10 / 11</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 107</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 8</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="time-utils.c.gcov.html">time-utils.c</a></td>
+ <td class="coverFile"><a href="mem_region.c.gcov.html">mem_region.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=66 height=10 alt="65.6%"><img src="../snow.png" width=34 height=10 alt="65.6%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">18 / 18</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverPerLo">65.6&nbsp;%</td>
+ <td class="coverNumLo">467 / 712</td>
+ <td class="coverPerMed">79.6&nbsp;%</td>
+ <td class="coverNumMed">39 / 49</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="pel.c.gcov.html">pel.c</a></td>
+ <td class="coverFile"><a href="opal-msg.c.gcov.html">opal-msg.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=97 height=10 alt="97.5%"><img src="../snow.png" width=3 height=10 alt="97.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=73 height=10 alt="73.1%"><img src="../snow.png" width=27 height=10 alt="73.1%"></td></tr></table>
</td>
- <td class="coverPerHi">97.5&nbsp;%</td>
- <td class="coverNumHi">155 / 159</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">12 / 12</td>
+ <td class="coverPerLo">73.1&nbsp;%</td>
+ <td class="coverNumLo">68 / 93</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">3 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="flash-subpartition.c.gcov.html">flash-subpartition.c</a></td>
+ <td class="coverFile"><a href="device.c.gcov.html">device.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=70 height=10 alt="69.6%"><img src="../snow.png" width=30 height=10 alt="69.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=85 height=10 alt="84.9%"><img src="../snow.png" width=15 height=10 alt="84.9%"></td></tr></table>
</td>
- <td class="coverPerLo">69.6&nbsp;%</td>
- <td class="coverNumLo">32 / 46</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerMed">84.9&nbsp;%</td>
+ <td class="coverNumMed">471 / 555</td>
+ <td class="coverPerMed">89.6&nbsp;%</td>
+ <td class="coverNumMed">60 / 67</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="nvram-format.c.gcov.html">nvram-format.c</a></td>
+ <td class="coverFile"><a href="console-log.c.gcov.html">console-log.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=77 height=10 alt="76.9%"><img src="../snow.png" width=23 height=10 alt="76.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerMed">76.9&nbsp;%</td>
- <td class="coverNumMed">113 / 147</td>
- <td class="coverPerLo">54.5&nbsp;%</td>
- <td class="coverNumLo">6 / 11</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">21 / 21</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="buddy.c.gcov.html">buddy.c</a></td>
+ <td class="coverFile"><a href="bitmap.c.gcov.html">bitmap.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.0%"><img src="../snow.png" width=1 height=10 alt="99.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">99.0&nbsp;%</td>
- <td class="coverNumHi">95 / 96</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">12 / 12</td>
+ <td class="coverNumHi">21 / 21</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="vpd.c.gcov.html">vpd.c</a></td>
+ <td class="coverFile"><a href="time-utils.c.gcov.html">time-utils.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=88 height=10 alt="88.1%"><img src="../snow.png" width=12 height=10 alt="88.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerMed">88.1&nbsp;%</td>
- <td class="coverNumMed">52 / 59</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">18 / 18</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="cpufeatures.c.gcov.html">cpufeatures.c</a></td>
+ <td class="coverFile"><a href="flash-firmware-versions.c.gcov.html">flash-firmware-versions.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.4%"><img src="../snow.png" width=19 height=10 alt="81.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=85 height=10 alt="85.3%"><img src="../snow.png" width=15 height=10 alt="85.3%"></td></tr></table>
</td>
- <td class="coverPerMed">81.4&nbsp;%</td>
- <td class="coverNumMed">118 / 145</td>
+ <td class="coverPerMed">85.3&nbsp;%</td>
+ <td class="coverNumMed">58 / 68</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="malloc.c.gcov.html">malloc.c</a></td>
+ <td class="coverFile"><a href="pool.c.gcov.html">pool.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=97 height=10 alt="97.1%"><img src="../snow.png" width=3 height=10 alt="97.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=96 height=10 alt="96.3%"><img src="../snow.png" width=4 height=10 alt="96.3%"></td></tr></table>
</td>
- <td class="coverPerHi">97.1&nbsp;%</td>
- <td class="coverNumHi">34 / 35</td>
+ <td class="coverPerHi">96.3&nbsp;%</td>
+ <td class="coverNumHi">26 / 27</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="bitmap.c.gcov.html">bitmap.c</a></td>
+ <td class="coverFile"><a href="flash-subpartition.c.gcov.html">flash-subpartition.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=70 height=10 alt="69.6%"><img src="../snow.png" width=30 height=10 alt="69.6%"></td></tr></table>
</td>
+ <td class="coverPerLo">69.6&nbsp;%</td>
+ <td class="coverNumLo">32 / 46</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">21 / 21</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="timer.c.gcov.html">timer.c</a></td>
+ <td class="coverFile"><a href="trace.c.gcov.html">trace.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=62 height=10 alt="61.8%"><img src="../snow.png" width=38 height=10 alt="61.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=71 height=10 alt="71.4%"><img src="../snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
</td>
- <td class="coverPerLo">61.8&nbsp;%</td>
- <td class="coverNumLo">68 / 110</td>
- <td class="coverPerLo">69.2&nbsp;%</td>
- <td class="coverNumLo">9 / 13</td>
+ <td class="coverPerLo">71.4&nbsp;%</td>
+ <td class="coverNumLo">90 / 126</td>
+ <td class="coverPerLo">71.4&nbsp;%</td>
+ <td class="coverNumLo">5 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="pool.c.gcov.html">pool.c</a></td>
+ <td class="coverFile"><a href="vpd.c.gcov.html">vpd.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=96 height=10 alt="96.3%"><img src="../snow.png" width=4 height=10 alt="96.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=88 height=10 alt="88.1%"><img src="../snow.png" width=12 height=10 alt="88.1%"></td></tr></table>
</td>
- <td class="coverPerHi">96.3&nbsp;%</td>
- <td class="coverNumHi">26 / 27</td>
+ <td class="coverPerMed">88.1&nbsp;%</td>
+ <td class="coverNumMed">52 / 59</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="opal-msg.c.gcov.html">opal-msg.c</a></td>
+ <td class="coverFile"><a href="pci-quirk.c.gcov.html">pci-quirk.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=73 height=10 alt="73.1%"><img src="../snow.png" width=27 height=10 alt="73.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=13 height=10 alt="13.3%"><img src="../snow.png" width=87 height=10 alt="13.3%"></td></tr></table>
</td>
- <td class="coverPerLo">73.1&nbsp;%</td>
- <td class="coverNumLo">68 / 93</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">3 / 4</td>
+ <td class="coverPerLo">13.3&nbsp;%</td>
+ <td class="coverNumLo">8 / 60</td>
+ <td class="coverPerLo">20.0&nbsp;%</td>
+ <td class="coverNumLo">1 / 5</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="console-log.c.gcov.html">console-log.c</a></td>
+ <td class="coverFile"><a href="buddy.c.gcov.html">buddy.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.0%"><img src="../snow.png" width=1 height=10 alt="99.0%"></td></tr></table>
</td>
+ <td class="coverPerHi">99.0&nbsp;%</td>
+ <td class="coverNumHi">95 / 96</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">21 / 21</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="chip.c.gcov.html">chip.c</a></td>
+ <td class="coverFile"><a href="cpufeatures.c.gcov.html">cpufeatures.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.4%"><img src="../snow.png" width=19 height=10 alt="81.4%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 107</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 8</td>
+ <td class="coverPerMed">81.4&nbsp;%</td>
+ <td class="coverNumMed">118 / 145</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="trace.c.gcov.html">trace.c</a></td>
+ <td class="coverFile"><a href="pel.c.gcov.html">pel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=71 height=10 alt="71.4%"><img src="../snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=97 height=10 alt="97.5%"><img src="../snow.png" width=3 height=10 alt="97.5%"></td></tr></table>
</td>
- <td class="coverPerLo">71.4&nbsp;%</td>
- <td class="coverNumLo">90 / 126</td>
- <td class="coverPerLo">71.4&nbsp;%</td>
- <td class="coverNumLo">5 / 7</td>
+ <td class="coverPerHi">97.5&nbsp;%</td>
+ <td class="coverNumHi">155 / 159</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="device.c.gcov.html">device.c</a></td>
+ <td class="coverFile"><a href="fdt.c.gcov.html">fdt.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=85 height=10 alt="84.9%"><img src="../snow.png" width=15 height=10 alt="84.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=63 height=10 alt="63.4%"><img src="../snow.png" width=37 height=10 alt="63.4%"></td></tr></table>
</td>
- <td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">471 / 555</td>
- <td class="coverPerMed">89.6&nbsp;%</td>
- <td class="coverNumMed">60 / 67</td>
+ <td class="coverPerLo">63.4&nbsp;%</td>
+ <td class="coverNumLo">64 / 101</td>
+ <td class="coverPerHi">90.9&nbsp;%</td>
+ <td class="coverNumHi">10 / 11</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="flash-firmware-versions.c.gcov.html">flash-firmware-versions.c</a></td>
+ <td class="coverFile"><a href="nvram-format.c.gcov.html">nvram-format.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=85 height=10 alt="85.3%"><img src="../snow.png" width=15 height=10 alt="85.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=77 height=10 alt="76.9%"><img src="../snow.png" width=23 height=10 alt="76.9%"></td></tr></table>
</td>
- <td class="coverPerMed">85.3&nbsp;%</td>
- <td class="coverNumMed">58 / 68</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverPerMed">76.9&nbsp;%</td>
+ <td class="coverNumMed">113 / 147</td>
+ <td class="coverPerLo">54.5&nbsp;%</td>
+ <td class="coverNumLo">6 / 11</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/core/index-sort-f.html b/coverage-report/core/index-sort-f.html
index 0d251f0..96b64f2 100644
--- a/coverage-report/core/index-sort-f.html
+++ b/coverage-report/core/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">185</td>
@@ -214,7 +214,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="bitmap.c.gcov.html">bitmap.c</a></td>
+ <td class="coverFile"><a href="console-log.c.gcov.html">console-log.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -226,36 +226,36 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="pool.c.gcov.html">pool.c</a></td>
+ <td class="coverFile"><a href="bitmap.c.gcov.html">bitmap.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=96 height=10 alt="96.3%"><img src="../snow.png" width=4 height=10 alt="96.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">96.3&nbsp;%</td>
- <td class="coverNumHi">26 / 27</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">21 / 21</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="console-log.c.gcov.html">console-log.c</a></td>
+ <td class="coverFile"><a href="flash-firmware-versions.c.gcov.html">flash-firmware-versions.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=85 height=10 alt="85.3%"><img src="../snow.png" width=15 height=10 alt="85.3%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">21 / 21</td>
+ <td class="coverPerMed">85.3&nbsp;%</td>
+ <td class="coverNumMed">58 / 68</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="flash-firmware-versions.c.gcov.html">flash-firmware-versions.c</a></td>
+ <td class="coverFile"><a href="pool.c.gcov.html">pool.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=85 height=10 alt="85.3%"><img src="../snow.png" width=15 height=10 alt="85.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=96 height=10 alt="96.3%"><img src="../snow.png" width=4 height=10 alt="96.3%"></td></tr></table>
</td>
- <td class="coverPerMed">85.3&nbsp;%</td>
- <td class="coverNumMed">58 / 68</td>
+ <td class="coverPerHi">96.3&nbsp;%</td>
+ <td class="coverNumHi">26 / 27</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
@@ -298,24 +298,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="pel.c.gcov.html">pel.c</a></td>
+ <td class="coverFile"><a href="buddy.c.gcov.html">buddy.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=97 height=10 alt="97.5%"><img src="../snow.png" width=3 height=10 alt="97.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.0%"><img src="../snow.png" width=1 height=10 alt="99.0%"></td></tr></table>
</td>
- <td class="coverPerHi">97.5&nbsp;%</td>
- <td class="coverNumHi">155 / 159</td>
+ <td class="coverPerHi">99.0&nbsp;%</td>
+ <td class="coverNumHi">95 / 96</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="buddy.c.gcov.html">buddy.c</a></td>
+ <td class="coverFile"><a href="pel.c.gcov.html">pel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.0%"><img src="../snow.png" width=1 height=10 alt="99.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=97 height=10 alt="97.5%"><img src="../snow.png" width=3 height=10 alt="97.5%"></td></tr></table>
</td>
- <td class="coverPerHi">99.0&nbsp;%</td>
- <td class="coverNumHi">95 / 96</td>
+ <td class="coverPerHi">97.5&nbsp;%</td>
+ <td class="coverNumHi">155 / 159</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/core/index-sort-l.html b/coverage-report/core/index-sort-l.html
index d659fd4..4a7c5d0 100644
--- a/coverage-report/core/index-sort-l.html
+++ b/coverage-report/core/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">185</td>
@@ -298,7 +298,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="bitmap.c.gcov.html">bitmap.c</a></td>
+ <td class="coverFile"><a href="console-log.c.gcov.html">console-log.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -310,7 +310,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="console-log.c.gcov.html">console-log.c</a></td>
+ <td class="coverFile"><a href="bitmap.c.gcov.html">bitmap.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
diff --git a/coverage-report/core/index.html b/coverage-report/core/index.html
index aa523d4..d6142f3 100644
--- a/coverage-report/core/index.html
+++ b/coverage-report/core/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">185</td>
diff --git a/coverage-report/core/malloc.c.func-sort-c.html b/coverage-report/core/malloc.c.func-sort-c.html
index 2b27503..ff181d5 100644
--- a/coverage-report/core/malloc.c.func-sort-c.html
+++ b/coverage-report/core/malloc.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/core/malloc.c.func.html b/coverage-report/core/malloc.c.func.html
index 08bec45..52fa6c6 100644
--- a/coverage-report/core/malloc.c.func.html
+++ b/coverage-report/core/malloc.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/core/malloc.c.gcov.html b/coverage-report/core/malloc.c.gcov.html
index 124367a..6ca2e6e 100644
--- a/coverage-report/core/malloc.c.gcov.html
+++ b/coverage-report/core/malloc.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/core/mem_region.c.func-sort-c.html b/coverage-report/core/mem_region.c.func-sort-c.html
index 110b6f5..109cca9 100644
--- a/coverage-report/core/mem_region.c.func-sort-c.html
+++ b/coverage-report/core/mem_region.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">39</td>
@@ -202,7 +202,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#500">mem_free</a></td>
- <td class="coverFnHi">297</td>
+ <td class="coverFnHi">299</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#717">intersects</a></td>
@@ -218,27 +218,27 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#143">mem_poison</a></td>
- <td class="coverFnHi">1670</td>
+ <td class="coverFnHi">1672</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#387">__mem_alloc</a></td>
- <td class="coverFnHi">4461</td>
+ <td class="coverFnHi">4463</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#478">mem_alloc</a></td>
- <td class="coverFnHi">4461</td>
+ <td class="coverFnHi">4463</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#220">fits</a></td>
- <td class="coverFnHi">4469</td>
+ <td class="coverFnHi">4471</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#173">make_free</a></td>
- <td class="coverFnHi">15885</td>
+ <td class="coverFnHi">15893</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#125">tailer</a></td>
- <td class="coverFnHi">30205</td>
+ <td class="coverFnHi">30217</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#526">mem_allocated_size</a></td>
@@ -250,19 +250,19 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#588">mem_check</a></td>
- <td class="coverFnHi">131260</td>
+ <td class="coverFnHi">131264</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#241">discard_excess</a></td>
- <td class="coverFnHi">135502</td>
+ <td class="coverFnHi">135504</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#131">next_hdr</a></td>
- <td class="coverFnHi">308416</td>
+ <td class="coverFnHi">308438</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#119">region_start</a></td>
- <td class="coverFnHi">448495</td>
+ <td class="coverFnHi">448525</td>
</tr>
</table>
<br>
diff --git a/coverage-report/core/mem_region.c.func.html b/coverage-report/core/mem_region.c.func.html
index aa52a56..c86500d 100644
--- a/coverage-report/core/mem_region.c.func.html
+++ b/coverage-report/core/mem_region.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">39</td>
@@ -74,7 +74,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#387">__mem_alloc</a></td>
- <td class="coverFnHi">4461</td>
+ <td class="coverFnHi">4463</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#778">add_region</a></td>
@@ -98,7 +98,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#241">discard_excess</a></td>
- <td class="coverFnHi">135502</td>
+ <td class="coverFnHi">135504</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#921">find_mem_region</a></td>
@@ -106,7 +106,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#220">fits</a></td>
- <td class="coverFnHi">4469</td>
+ <td class="coverFnHi">4471</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#753">get_overlap</a></td>
@@ -126,7 +126,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#173">make_free</a></td>
- <td class="coverFnHi">15885</td>
+ <td class="coverFnHi">15893</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#855">matches_chip_id</a></td>
@@ -138,7 +138,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#478">mem_alloc</a></td>
- <td class="coverFnHi">4461</td>
+ <td class="coverFnHi">4463</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#526">mem_allocated_size</a></td>
@@ -146,7 +146,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#588">mem_check</a></td>
- <td class="coverFnHi">131260</td>
+ <td class="coverFnHi">131264</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#666">mem_check_all</a></td>
@@ -166,11 +166,11 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#500">mem_free</a></td>
- <td class="coverFnHi">297</td>
+ <td class="coverFnHi">299</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#143">mem_poison</a></td>
- <td class="coverFnHi">1670</td>
+ <td class="coverFnHi">1672</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#932">mem_range_is_reserved</a></td>
@@ -230,7 +230,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#131">next_hdr</a></td>
- <td class="coverFnHi">308416</td>
+ <td class="coverFnHi">308438</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#739">overlaps</a></td>
@@ -246,7 +246,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#119">region_start</a></td>
- <td class="coverFnHi">448495</td>
+ <td class="coverFnHi">448525</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#701">split_region</a></td>
@@ -258,7 +258,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#125">tailer</a></td>
- <td class="coverFnHi">30205</td>
+ <td class="coverFnHi">30217</td>
</tr>
<tr>
<td class="coverFn"><a href="mem_region.c.gcov.html#1394">wait_mem_region_clear_unused</a></td>
diff --git a/coverage-report/core/mem_region.c.gcov.html b/coverage-report/core/mem_region.c.gcov.html
index b437c55..ebd57a2 100644
--- a/coverage-report/core/mem_region.c.gcov.html
+++ b/coverage-report/core/mem_region.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">39</td>
@@ -189,41 +189,41 @@
<a name="118"><span class="lineNum"> 118 </span> : : #define ALLOC_MIN_LONGS (sizeof(struct free_hdr) / sizeof(long) + 1)</a>
<a name="119"><span class="lineNum"> 119 </span> : : </a>
<a name="120"><span class="lineNum"> 120 </span> : : /* Avoid ugly casts. */</a>
-<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 448495 : static void *region_start(const struct mem_region *region)</span></a>
+<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 448525 : static void *region_start(const struct mem_region *region)</span></a>
<a name="122"><span class="lineNum"> 122 </span> : : {</a>
-<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 448495 : return (void *)(unsigned long)region-&gt;start;</span></a>
+<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 448525 : return (void *)(unsigned long)region-&gt;start;</span></a>
<a name="124"><span class="lineNum"> 124 </span> : : }</a>
<a name="125"><span class="lineNum"> 125 </span> : : </a>
<a name="126"><span class="lineNum"> 126 </span> : : /* Each free block has a tailer, so we can walk backwards. */</a>
-<a name="127"><span class="lineNum"> 127 </span> :<span class="lineCov"> 30205 : static unsigned long *tailer(struct free_hdr *f)</span></a>
+<a name="127"><span class="lineNum"> 127 </span> :<span class="lineCov"> 30217 : static unsigned long *tailer(struct free_hdr *f)</span></a>
<a name="128"><span class="lineNum"> 128 </span> : : {</a>
-<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 30205 : return (unsigned long *)f + f-&gt;hdr.num_longs - 1;</span></a>
+<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 30217 : return (unsigned long *)f + f-&gt;hdr.num_longs - 1;</span></a>
<a name="130"><span class="lineNum"> 130 </span> : : }</a>
<a name="131"><span class="lineNum"> 131 </span> : : </a>
<a name="132"><span class="lineNum"> 132 </span> : : /* This walks forward to the next hdr (or NULL if at the end). */</a>
-<a name="133"><span class="lineNum"> 133 </span> :<span class="lineCov"> 308416 : static struct alloc_hdr *next_hdr(const struct mem_region *region,</span></a>
+<a name="133"><span class="lineNum"> 133 </span> :<span class="lineCov"> 308438 : static struct alloc_hdr *next_hdr(const struct mem_region *region,</span></a>
<a name="134"><span class="lineNum"> 134 </span> : : const struct alloc_hdr *hdr)</a>
<a name="135"><span class="lineNum"> 135 </span> : : {</a>
<a name="136"><span class="lineNum"> 136 </span> : : void *next;</a>
<a name="137"><span class="lineNum"> 137 </span> : : </a>
-<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 308416 : next = ((unsigned long *)hdr + hdr-&gt;num_longs);</span></a>
-<a name="139"><span class="lineNum"> 139 </span> :<span class="lineCov"> 308416 : if (next &gt;= region_start(region) + region-&gt;len)</span></a>
-<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 157924 : next = NULL;</span></a>
-<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 308416 : return next;</span></a>
+<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 308438 : next = ((unsigned long *)hdr + hdr-&gt;num_longs);</span></a>
+<a name="139"><span class="lineNum"> 139 </span> :<span class="lineCov"> 308438 : if (next &gt;= region_start(region) + region-&gt;len)</span></a>
+<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 157934 : next = NULL;</span></a>
+<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 308438 : return next;</span></a>
<a name="142"><span class="lineNum"> 142 </span> : : }</a>
<a name="143"><span class="lineNum"> 143 </span> : : </a>
<a name="144"><span class="lineNum"> 144 </span> : : #if POISON_MEM_REGION == 1</a>
-<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 1670 : static void mem_poison(struct free_hdr *f)</span></a>
+<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 1672 : static void mem_poison(struct free_hdr *f)</span></a>
<a name="146"><span class="lineNum"> 146 </span> : : {</a>
-<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 1670 : size_t poison_size = (void*)tailer(f) - (void*)(f+1);</span></a>
+<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 1672 : size_t poison_size = (void*)tailer(f) - (void*)(f+1);</span></a>
<a name="148"><span class="lineNum"> 148 </span> : : </a>
<a name="149"><span class="lineNum"> 149 </span> : : /* We only poison up to a limit, as otherwise boot is</a>
<a name="150"><span class="lineNum"> 150 </span> : : * kinda slow */</a>
-<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 1670 : if (poison_size &gt; POISON_MEM_REGION_LIMIT)</span></a>
+<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 1672 : if (poison_size &gt; POISON_MEM_REGION_LIMIT)</span></a>
<a name="152"><span class="lineNum"> 152 </span> :<span class="lineNoCov"> 0 : poison_size = POISON_MEM_REGION_LIMIT;</span></a>
<a name="153"><span class="lineNum"> 153 </span> : : </a>
-<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 1670 : memset(f+1, POISON_MEM_REGION_WITH, poison_size);</span></a>
-<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 1670 : }</span></a>
+<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 1672 : memset(f+1, POISON_MEM_REGION_WITH, poison_size);</span></a>
+<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 1672 : }</span></a>
<a name="156"><span class="lineNum"> 156 </span> : : #endif</a>
<a name="157"><span class="lineNum"> 157 </span> : : </a>
<a name="158"><span class="lineNum"> 158 </span> : : /* Creates free block covering entire region. */</a>
@@ -243,94 +243,94 @@
<a name="172"><span class="lineNum"> 172 </span> : : #endif</a>
<a name="173"><span class="lineNum"> 173 </span> :<span class="lineCov"> 8 : }</span></a>
<a name="174"><span class="lineNum"> 174 </span> : : </a>
-<a name="175"><span class="lineNum"> 175 </span> :<span class="lineCov"> 15885 : static void make_free(struct mem_region *region, struct free_hdr *f,</span></a>
+<a name="175"><span class="lineNum"> 175 </span> :<span class="lineCov"> 15893 : static void make_free(struct mem_region *region, struct free_hdr *f,</span></a>
<a name="176"><span class="lineNum"> 176 </span> : : const char *location, bool skip_poison)</a>
<a name="177"><span class="lineNum"> 177 </span> : : {</a>
<a name="178"><span class="lineNum"> 178 </span> : : struct alloc_hdr *next;</a>
<a name="179"><span class="lineNum"> 179 </span> : : </a>
<a name="180"><span class="lineNum"> 180 </span> : : #if POISON_MEM_REGION == 1</a>
-<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 15885 : if (!skip_poison)</span></a>
-<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 1662 : mem_poison(f);</span></a>
+<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 15893 : if (!skip_poison)</span></a>
+<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 1664 : mem_poison(f);</span></a>
<a name="183"><span class="lineNum"> 183 </span> : : #else</a>
<a name="184"><span class="lineNum"> 184 </span> : : (void)skip_poison;</a>
<a name="185"><span class="lineNum"> 185 </span> : : #endif</a>
<a name="186"><span class="lineNum"> 186 </span> : : </a>
-<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 15885 : if (f-&gt;hdr.prev_free) {</span></a>
+<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 15893 : if (f-&gt;hdr.prev_free) {</span></a>
<a name="188"><span class="lineNum"> 188 </span> : : struct free_hdr *prev;</a>
-<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 1641 : unsigned long *prev_tailer = (unsigned long *)f - 1;</span></a>
+<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 1645 : unsigned long *prev_tailer = (unsigned long *)f - 1;</span></a>
<a name="190"><span class="lineNum"> 190 </span> : : </a>
-<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 1641 : assert(*prev_tailer);</span></a>
-<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 1641 : prev = (void *)((unsigned long *)f - *prev_tailer);</span></a>
-<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 1641 : assert(prev-&gt;hdr.free);</span></a>
-<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1641 : assert(!prev-&gt;hdr.prev_free);</span></a>
+<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 1645 : assert(*prev_tailer);</span></a>
+<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 1645 : prev = (void *)((unsigned long *)f - *prev_tailer);</span></a>
+<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 1645 : assert(prev-&gt;hdr.free);</span></a>
+<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1645 : assert(!prev-&gt;hdr.prev_free);</span></a>
<a name="195"><span class="lineNum"> 195 </span> : : </a>
<a name="196"><span class="lineNum"> 196 </span> : : /* Expand to cover the one we just freed. */</a>
-<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 1641 : prev-&gt;hdr.num_longs += f-&gt;hdr.num_longs;</span></a>
-<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1641 : f = prev;</span></a>
+<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 1645 : prev-&gt;hdr.num_longs += f-&gt;hdr.num_longs;</span></a>
+<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1645 : f = prev;</span></a>
<a name="199"><span class="lineNum"> 199 </span> : : } else {</a>
-<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 14244 : f-&gt;hdr.free = true;</span></a>
-<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 14244 : f-&gt;hdr.location = location;</span></a>
-<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 14244 : list_add(&amp;region-&gt;free_list, &amp;f-&gt;list);</span></a>
+<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 14248 : f-&gt;hdr.free = true;</span></a>
+<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 14248 : f-&gt;hdr.location = location;</span></a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 14248 : list_add(&amp;region-&gt;free_list, &amp;f-&gt;list);</span></a>
<a name="203"><span class="lineNum"> 203 </span> : : }</a>
<a name="204"><span class="lineNum"> 204 </span> : : </a>
<a name="205"><span class="lineNum"> 205 </span> : : /* Fix up tailer. */</a>
-<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 15885 : *tailer(f) = f-&gt;hdr.num_longs;</span></a>
+<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 15893 : *tailer(f) = f-&gt;hdr.num_longs;</span></a>
<a name="207"><span class="lineNum"> 207 </span> : : </a>
<a name="208"><span class="lineNum"> 208 </span> : : /* If next is free, coalesce it */</a>
-<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 15885 : next = next_hdr(region, &amp;f-&gt;hdr);</span></a>
-<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 15885 : if (next) {</span></a>
-<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 1780 : next-&gt;prev_free = true;</span></a>
-<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 1780 : if (next-&gt;free) {</span></a>
-<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 1596 : struct free_hdr *next_free = (void *)next;</span></a>
-<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 1596 : list_del_from(&amp;region-&gt;free_list, &amp;next_free-&gt;list);</span></a>
+<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 15893 : next = next_hdr(region, &amp;f-&gt;hdr);</span></a>
+<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 15893 : if (next) {</span></a>
+<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 1784 : next-&gt;prev_free = true;</span></a>
+<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 1784 : if (next-&gt;free) {</span></a>
+<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 1598 : struct free_hdr *next_free = (void *)next;</span></a>
+<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 1598 : list_del_from(&amp;region-&gt;free_list, &amp;next_free-&gt;list);</span></a>
<a name="215"><span class="lineNum"> 215 </span> : : /* Maximum of one level of recursion */</a>
-<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 1596 : make_free(region, next_free, location, true);</span></a>
+<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 1598 : make_free(region, next_free, location, true);</span></a>
<a name="217"><span class="lineNum"> 217 </span> : : }</a>
<a name="218"><span class="lineNum"> 218 </span> : : }</a>
-<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 15885 : }</span></a>
+<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 15893 : }</span></a>
<a name="220"><span class="lineNum"> 220 </span> : : </a>
<a name="221"><span class="lineNum"> 221 </span> : : /* Can we fit this many longs with this alignment in this free block? */</a>
-<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 4469 : static bool fits(struct free_hdr *f, size_t longs, size_t align, size_t *offset)</span></a>
+<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 4471 : static bool fits(struct free_hdr *f, size_t longs, size_t align, size_t *offset)</span></a>
<a name="223"><span class="lineNum"> 223 </span> : : {</a>
-<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 4469 : *offset = 0;</span></a>
+<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 4471 : *offset = 0;</span></a>
<a name="225"><span class="lineNum"> 225 </span> : : </a>
-<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 13233 : while (f-&gt;hdr.num_longs &gt;= *offset + longs) {</span></a>
+<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 27065 : while (f-&gt;hdr.num_longs &gt;= *offset + longs) {</span></a>
<a name="227"><span class="lineNum"> 227 </span> : : size_t addr;</a>
<a name="228"><span class="lineNum"> 228 </span> : : </a>
-<a name="229"><span class="lineNum"> 229 </span> :<span class="lineCov"> 13221 : addr = (unsigned long)f</span></a>
-<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 13221 : + (*offset + ALLOC_HDR_LONGS) * sizeof(long);</span></a>
-<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 13221 : if ((addr &amp; (align - 1)) == 0)</span></a>
-<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 4457 : return true;</span></a>
+<a name="229"><span class="lineNum"> 229 </span> :<span class="lineCov"> 27053 : addr = (unsigned long)f</span></a>
+<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 27053 : + (*offset + ALLOC_HDR_LONGS) * sizeof(long);</span></a>
+<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 27053 : if ((addr &amp; (align - 1)) == 0)</span></a>
+<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 4459 : return true;</span></a>
<a name="233"><span class="lineNum"> 233 </span> : : </a>
<a name="234"><span class="lineNum"> 234 </span> : : /* Don't make tiny chunks! */</a>
-<a name="235"><span class="lineNum"> 235 </span> :<span class="lineCov"> 8764 : if (*offset == 0)</span></a>
-<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 14 : *offset = ALLOC_MIN_LONGS;</span></a>
+<a name="235"><span class="lineNum"> 235 </span> :<span class="lineCov"> 22594 : if (*offset == 0)</span></a>
+<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 16 : *offset = ALLOC_MIN_LONGS;</span></a>
<a name="237"><span class="lineNum"> 237 </span> : : else</a>
-<a name="238"><span class="lineNum"> 238 </span> :<span class="lineCov"> 8750 : (*offset)++;</span></a>
+<a name="238"><span class="lineNum"> 238 </span> :<span class="lineCov"> 22578 : (*offset)++;</span></a>
<a name="239"><span class="lineNum"> 239 </span> : : }</a>
<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 12 : return false;</span></a>
<a name="241"><span class="lineNum"> 241 </span> : : }</a>
<a name="242"><span class="lineNum"> 242 </span> : : </a>
-<a name="243"><span class="lineNum"> 243 </span> :<span class="lineCov"> 135502 : static void discard_excess(struct mem_region *region,</span></a>
+<a name="243"><span class="lineNum"> 243 </span> :<span class="lineCov"> 135504 : static void discard_excess(struct mem_region *region,</span></a>
<a name="244"><span class="lineNum"> 244 </span> : : struct alloc_hdr *hdr, size_t alloc_longs,</a>
<a name="245"><span class="lineNum"> 245 </span> : : const char *location, bool skip_poison)</a>
<a name="246"><span class="lineNum"> 246 </span> : : {</a>
<a name="247"><span class="lineNum"> 247 </span> : : /* Do we have excess? */</a>
-<a name="248"><span class="lineNum"> 248 </span> :<span class="lineCov"> 135502 : if (hdr-&gt;num_longs &gt; alloc_longs + ALLOC_MIN_LONGS) {</span></a>
+<a name="248"><span class="lineNum"> 248 </span> :<span class="lineCov"> 135504 : if (hdr-&gt;num_longs &gt; alloc_longs + ALLOC_MIN_LONGS) {</span></a>
<a name="249"><span class="lineNum"> 249 </span> : : struct free_hdr *post;</a>
<a name="250"><span class="lineNum"> 250 </span> : : </a>
<a name="251"><span class="lineNum"> 251 </span> : : /* Set up post block. */</a>
-<a name="252"><span class="lineNum"> 252 </span> :<span class="lineCov"> 13980 : post = (void *)hdr + alloc_longs * sizeof(long);</span></a>
-<a name="253"><span class="lineNum"> 253 </span> :<span class="lineCov"> 13980 : post-&gt;hdr.num_longs = hdr-&gt;num_longs - alloc_longs;</span></a>
-<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 13980 : post-&gt;hdr.prev_free = false;</span></a>
+<a name="252"><span class="lineNum"> 252 </span> :<span class="lineCov"> 13982 : post = (void *)hdr + alloc_longs * sizeof(long);</span></a>
+<a name="253"><span class="lineNum"> 253 </span> :<span class="lineCov"> 13982 : post-&gt;hdr.num_longs = hdr-&gt;num_longs - alloc_longs;</span></a>
+<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 13982 : post-&gt;hdr.prev_free = false;</span></a>
<a name="255"><span class="lineNum"> 255 </span> : : </a>
<a name="256"><span class="lineNum"> 256 </span> : : /* Trim our block. */</a>
-<a name="257"><span class="lineNum"> 257 </span> :<span class="lineCov"> 13980 : hdr-&gt;num_longs = alloc_longs;</span></a>
+<a name="257"><span class="lineNum"> 257 </span> :<span class="lineCov"> 13982 : hdr-&gt;num_longs = alloc_longs;</span></a>
<a name="258"><span class="lineNum"> 258 </span> : : </a>
<a name="259"><span class="lineNum"> 259 </span> : : /* This coalesces as required. */</a>
-<a name="260"><span class="lineNum"> 260 </span> :<span class="lineCov"> 13980 : make_free(region, post, location, skip_poison);</span></a>
+<a name="260"><span class="lineNum"> 260 </span> :<span class="lineCov"> 13982 : make_free(region, post, location, skip_poison);</span></a>
<a name="261"><span class="lineNum"> 261 </span> : : }</a>
-<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 135502 : }</span></a>
+<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 135504 : }</span></a>
<a name="263"><span class="lineNum"> 263 </span> : : </a>
<a name="264"><span class="lineNum"> 264 </span> :<span class="lineCov"> 6 : static const char *hdr_location(const struct alloc_hdr *hdr)</span></a>
<a name="265"><span class="lineNum"> 265 </span> : : {</a>
@@ -457,7 +457,7 @@
<a name="386"><span class="lineNum"> 386 </span> :<span class="lineCov"> 2 : return total_free;</span></a>
<a name="387"><span class="lineNum"> 387 </span> : : }</a>
<a name="388"><span class="lineNum"> 388 </span> : : </a>
-<a name="389"><span class="lineNum"> 389 </span> :<span class="lineCov"> 4461 : static void *__mem_alloc(struct mem_region *region, size_t size, size_t align,</span></a>
+<a name="389"><span class="lineNum"> 389 </span> :<span class="lineCov"> 4463 : static void *__mem_alloc(struct mem_region *region, size_t size, size_t align,</span></a>
<a name="390"><span class="lineNum"> 390 </span> : : const char *location)</a>
<a name="391"><span class="lineNum"> 391 </span> : : {</a>
<a name="392"><span class="lineNum"> 392 </span> : : size_t alloc_longs, offset;</a>
@@ -465,100 +465,100 @@
<a name="394"><span class="lineNum"> 394 </span> : : struct alloc_hdr *next;</a>
<a name="395"><span class="lineNum"> 395 </span> : : </a>
<a name="396"><span class="lineNum"> 396 </span> : : /* Align must be power of 2. */</a>
-<a name="397"><span class="lineNum"> 397 </span> :<span class="lineCov"> 4461 : assert(!((align - 1) &amp; align));</span></a>
+<a name="397"><span class="lineNum"> 397 </span> :<span class="lineCov"> 4463 : assert(!((align - 1) &amp; align));</span></a>
<a name="398"><span class="lineNum"> 398 </span> : : </a>
<a name="399"><span class="lineNum"> 399 </span> : : /* This should be a constant. */</a>
<a name="400"><span class="lineNum"> 400 </span> :<span class="lineNoCov"> 0 : assert(is_rodata(location));</span></a>
<a name="401"><span class="lineNum"> 401 </span> : : </a>
<a name="402"><span class="lineNum"> 402 </span> : : /* Unallocatable region? */</a>
-<a name="403"><span class="lineNum"> 403 </span> :<span class="lineCov"> 4461 : if (!(region-&gt;type == REGION_SKIBOOT_HEAP ||</span></a>
+<a name="403"><span class="lineNum"> 403 </span> :<span class="lineCov"> 4463 : if (!(region-&gt;type == REGION_SKIBOOT_HEAP ||</span></a>
<a name="404"><span class="lineNum"> 404 </span> :<span class="lineCov"> 1 : region-&gt;type == REGION_MEMORY))</span></a>
<a name="405"><span class="lineNum"> 405 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a>
<a name="406"><span class="lineNum"> 406 </span> : : </a>
<a name="407"><span class="lineNum"> 407 </span> : : /* First allocation? */</a>
-<a name="408"><span class="lineNum"> 408 </span> :<span class="lineCov"> 4461 : if (region-&gt;free_list.n.next == NULL)</span></a>
+<a name="408"><span class="lineNum"> 408 </span> :<span class="lineCov"> 4463 : if (region-&gt;free_list.n.next == NULL)</span></a>
<a name="409"><span class="lineNum"> 409 </span> :<span class="lineCov"> 8 : init_allocatable_region(region);</span></a>
<a name="410"><span class="lineNum"> 410 </span> : : </a>
<a name="411"><span class="lineNum"> 411 </span> : : /* Don't do screwy sizes. */</a>
-<a name="412"><span class="lineNum"> 412 </span> :<span class="lineCov"> 4461 : if (size &gt; region-&gt;len)</span></a>
+<a name="412"><span class="lineNum"> 412 </span> :<span class="lineCov"> 4463 : if (size &gt; region-&gt;len)</span></a>
<a name="413"><span class="lineNum"> 413 </span> :<span class="lineCov"> 2 : return NULL;</span></a>
<a name="414"><span class="lineNum"> 414 </span> : : </a>
<a name="415"><span class="lineNum"> 415 </span> : : /* Don't do tiny alignments, we deal in long increments. */</a>
-<a name="416"><span class="lineNum"> 416 </span> :<span class="lineCov"> 4459 : if (align &lt; sizeof(long))</span></a>
+<a name="416"><span class="lineNum"> 416 </span> :<span class="lineCov"> 4461 : if (align &lt; sizeof(long))</span></a>
<a name="417"><span class="lineNum"> 417 </span> :<span class="lineCov"> 128 : align = sizeof(long);</span></a>
<a name="418"><span class="lineNum"> 418 </span> : : </a>
<a name="419"><span class="lineNum"> 419 </span> : : /* Convert size to number of longs, too. */</a>
-<a name="420"><span class="lineNum"> 420 </span> :<span class="lineCov"> 4459 : alloc_longs = (size + sizeof(long)-1) / sizeof(long) + ALLOC_HDR_LONGS;</span></a>
+<a name="420"><span class="lineNum"> 420 </span> :<span class="lineCov"> 4461 : alloc_longs = (size + sizeof(long)-1) / sizeof(long) + ALLOC_HDR_LONGS;</span></a>
<a name="421"><span class="lineNum"> 421 </span> : : </a>
<a name="422"><span class="lineNum"> 422 </span> : : /* Can't be too small for when we free it, either. */</a>
-<a name="423"><span class="lineNum"> 423 </span> :<span class="lineCov"> 4459 : if (alloc_longs &lt; ALLOC_MIN_LONGS)</span></a>
-<a name="424"><span class="lineNum"> 424 </span> :<span class="lineCov"> 174 : alloc_longs = ALLOC_MIN_LONGS;</span></a>
+<a name="423"><span class="lineNum"> 423 </span> :<span class="lineCov"> 4461 : if (alloc_longs &lt; ALLOC_MIN_LONGS)</span></a>
+<a name="424"><span class="lineNum"> 424 </span> :<span class="lineCov"> 176 : alloc_longs = ALLOC_MIN_LONGS;</span></a>
<a name="425"><span class="lineNum"> 425 </span> : : </a>
<a name="426"><span class="lineNum"> 426 </span> : : /* Walk free list. */</a>
-<a name="427"><span class="lineNum"> 427 </span> :<span class="lineCov"> 4471 : list_for_each(&amp;region-&gt;free_list, f, list) {</span></a>
+<a name="427"><span class="lineNum"> 427 </span> :<span class="lineCov"> 4473 : list_for_each(&amp;region-&gt;free_list, f, list) {</span></a>
<a name="428"><span class="lineNum"> 428 </span> : : /* We may have to skip some to meet alignment. */</a>
-<a name="429"><span class="lineNum"> 429 </span> :<span class="lineCov"> 4469 : if (fits(f, alloc_longs, align, &amp;offset))</span></a>
-<a name="430"><span class="lineNum"> 430 </span> :<span class="lineCov"> 4457 : goto found;</span></a>
+<a name="429"><span class="lineNum"> 429 </span> :<span class="lineCov"> 4471 : if (fits(f, alloc_longs, align, &amp;offset))</span></a>
+<a name="430"><span class="lineNum"> 430 </span> :<span class="lineCov"> 4459 : goto found;</span></a>
<a name="431"><span class="lineNum"> 431 </span> : : }</a>
<a name="432"><span class="lineNum"> 432 </span> : : </a>
<a name="433"><span class="lineNum"> 433 </span> :<span class="lineCov"> 2 : return NULL;</span></a>
<a name="434"><span class="lineNum"> 434 </span> : : </a>
-<a name="435"><span class="lineNum"> 435 </span> :<span class="lineCov"> 4457 : found:</span></a>
-<a name="436"><span class="lineNum"> 436 </span> :<span class="lineCov"> 4457 : assert(f-&gt;hdr.free);</span></a>
-<a name="437"><span class="lineNum"> 437 </span> :<span class="lineCov"> 4457 : assert(!f-&gt;hdr.prev_free);</span></a>
+<a name="435"><span class="lineNum"> 435 </span> :<span class="lineCov"> 4459 : found:</span></a>
+<a name="436"><span class="lineNum"> 436 </span> :<span class="lineCov"> 4459 : assert(f-&gt;hdr.free);</span></a>
+<a name="437"><span class="lineNum"> 437 </span> :<span class="lineCov"> 4459 : assert(!f-&gt;hdr.prev_free);</span></a>
<a name="438"><span class="lineNum"> 438 </span> : : </a>
<a name="439"><span class="lineNum"> 439 </span> : : /* This block is no longer free. */</a>
-<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 4457 : list_del_from(&amp;region-&gt;free_list, &amp;f-&gt;list);</span></a>
-<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 4457 : f-&gt;hdr.free = false;</span></a>
-<a name="442"><span class="lineNum"> 442 </span> :<span class="lineCov"> 4457 : f-&gt;hdr.location = location;</span></a>
+<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 4459 : list_del_from(&amp;region-&gt;free_list, &amp;f-&gt;list);</span></a>
+<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 4459 : f-&gt;hdr.free = false;</span></a>
+<a name="442"><span class="lineNum"> 442 </span> :<span class="lineCov"> 4459 : f-&gt;hdr.location = location;</span></a>
<a name="443"><span class="lineNum"> 443 </span> : : </a>
-<a name="444"><span class="lineNum"> 444 </span> :<span class="lineCov"> 4457 : next = next_hdr(region, &amp;f-&gt;hdr);</span></a>
-<a name="445"><span class="lineNum"> 445 </span> :<span class="lineCov"> 4457 : if (next) {</span></a>
+<a name="444"><span class="lineNum"> 444 </span> :<span class="lineCov"> 4459 : next = next_hdr(region, &amp;f-&gt;hdr);</span></a>
+<a name="445"><span class="lineNum"> 445 </span> :<span class="lineCov"> 4459 : if (next) {</span></a>
<a name="446"><span class="lineNum"> 446 </span> :<span class="lineCov"> 65 : assert(next-&gt;prev_free);</span></a>
<a name="447"><span class="lineNum"> 447 </span> :<span class="lineCov"> 65 : next-&gt;prev_free = false;</span></a>
<a name="448"><span class="lineNum"> 448 </span> : : }</a>
<a name="449"><span class="lineNum"> 449 </span> : : </a>
-<a name="450"><span class="lineNum"> 450 </span> :<span class="lineCov"> 4457 : if (offset != 0) {</span></a>
-<a name="451"><span class="lineNum"> 451 </span> :<span class="lineCov"> 13 : struct free_hdr *pre = f;</span></a>
+<a name="450"><span class="lineNum"> 450 </span> :<span class="lineCov"> 4459 : if (offset != 0) {</span></a>
+<a name="451"><span class="lineNum"> 451 </span> :<span class="lineCov"> 15 : struct free_hdr *pre = f;</span></a>
<a name="452"><span class="lineNum"> 452 </span> : : </a>
-<a name="453"><span class="lineNum"> 453 </span> :<span class="lineCov"> 13 : f = (void *)f + offset * sizeof(long);</span></a>
-<a name="454"><span class="lineNum"> 454 </span> :<span class="lineCov"> 13 : assert(f &gt;= pre + 1);</span></a>
+<a name="453"><span class="lineNum"> 453 </span> :<span class="lineCov"> 15 : f = (void *)f + offset * sizeof(long);</span></a>
+<a name="454"><span class="lineNum"> 454 </span> :<span class="lineCov"> 15 : assert(f &gt;= pre + 1);</span></a>
<a name="455"><span class="lineNum"> 455 </span> : : </a>
<a name="456"><span class="lineNum"> 456 </span> : : /* Set up new header. */</a>
-<a name="457"><span class="lineNum"> 457 </span> :<span class="lineCov"> 13 : f-&gt;hdr.num_longs = pre-&gt;hdr.num_longs - offset;</span></a>
+<a name="457"><span class="lineNum"> 457 </span> :<span class="lineCov"> 15 : f-&gt;hdr.num_longs = pre-&gt;hdr.num_longs - offset;</span></a>
<a name="458"><span class="lineNum"> 458 </span> : : /* f-&gt;hdr.prev_free will be set by make_free below. */</a>
-<a name="459"><span class="lineNum"> 459 </span> :<span class="lineCov"> 13 : f-&gt;hdr.free = false;</span></a>
-<a name="460"><span class="lineNum"> 460 </span> :<span class="lineCov"> 13 : f-&gt;hdr.location = location;</span></a>
+<a name="459"><span class="lineNum"> 459 </span> :<span class="lineCov"> 15 : f-&gt;hdr.free = false;</span></a>
+<a name="460"><span class="lineNum"> 460 </span> :<span class="lineCov"> 15 : f-&gt;hdr.location = location;</span></a>
<a name="461"><span class="lineNum"> 461 </span> : : </a>
<a name="462"><span class="lineNum"> 462 </span> : : /* Fix up old header. */</a>
-<a name="463"><span class="lineNum"> 463 </span> :<span class="lineCov"> 13 : pre-&gt;hdr.num_longs = offset;</span></a>
-<a name="464"><span class="lineNum"> 464 </span> :<span class="lineCov"> 13 : pre-&gt;hdr.prev_free = false;</span></a>
+<a name="463"><span class="lineNum"> 463 </span> :<span class="lineCov"> 15 : pre-&gt;hdr.num_longs = offset;</span></a>
+<a name="464"><span class="lineNum"> 464 </span> :<span class="lineCov"> 15 : pre-&gt;hdr.prev_free = false;</span></a>
<a name="465"><span class="lineNum"> 465 </span> : : </a>
<a name="466"><span class="lineNum"> 466 </span> : : /* This coalesces as required. */</a>
-<a name="467"><span class="lineNum"> 467 </span> :<span class="lineCov"> 13 : make_free(region, pre, location, true);</span></a>
+<a name="467"><span class="lineNum"> 467 </span> :<span class="lineCov"> 15 : make_free(region, pre, location, true);</span></a>
<a name="468"><span class="lineNum"> 468 </span> : : }</a>
<a name="469"><span class="lineNum"> 469 </span> : : </a>
<a name="470"><span class="lineNum"> 470 </span> : : /* We might be too long; put the rest back. */</a>
-<a name="471"><span class="lineNum"> 471 </span> :<span class="lineCov"> 4457 : discard_excess(region, &amp;f-&gt;hdr, alloc_longs, location, true);</span></a>
+<a name="471"><span class="lineNum"> 471 </span> :<span class="lineCov"> 4459 : discard_excess(region, &amp;f-&gt;hdr, alloc_longs, location, true);</span></a>
<a name="472"><span class="lineNum"> 472 </span> : : </a>
<a name="473"><span class="lineNum"> 473 </span> : : /* Clear tailer for debugging */</a>
-<a name="474"><span class="lineNum"> 474 </span> :<span class="lineCov"> 4457 : *tailer(f) = 0;</span></a>
+<a name="474"><span class="lineNum"> 474 </span> :<span class="lineCov"> 4459 : *tailer(f) = 0;</span></a>
<a name="475"><span class="lineNum"> 475 </span> : : </a>
<a name="476"><span class="lineNum"> 476 </span> : : /* Their pointer is immediately after header. */</a>
-<a name="477"><span class="lineNum"> 477 </span> :<span class="lineCov"> 4457 : return &amp;f-&gt;hdr + 1;</span></a>
+<a name="477"><span class="lineNum"> 477 </span> :<span class="lineCov"> 4459 : return &amp;f-&gt;hdr + 1;</span></a>
<a name="478"><span class="lineNum"> 478 </span> : : }</a>
<a name="479"><span class="lineNum"> 479 </span> : : </a>
-<a name="480"><span class="lineNum"> 480 </span> :<span class="lineCov"> 4461 : void *mem_alloc(struct mem_region *region, size_t size, size_t align,</span></a>
+<a name="480"><span class="lineNum"> 480 </span> :<span class="lineCov"> 4463 : void *mem_alloc(struct mem_region *region, size_t size, size_t align,</span></a>
<a name="481"><span class="lineNum"> 481 </span> : : const char *location)</a>
<a name="482"><span class="lineNum"> 482 </span> : : {</a>
<a name="483"><span class="lineNum"> 483 </span> : : static bool dumped = false;</a>
<a name="484"><span class="lineNum"> 484 </span> : : void *r;</a>
<a name="485"><span class="lineNum"> 485 </span> : : </a>
-<a name="486"><span class="lineNum"> 486 </span> :<span class="lineCov"> 4461 : assert(lock_held_by_me(&amp;region-&gt;free_list_lock));</span></a>
+<a name="486"><span class="lineNum"> 486 </span> :<span class="lineCov"> 4463 : assert(lock_held_by_me(&amp;region-&gt;free_list_lock));</span></a>
<a name="487"><span class="lineNum"> 487 </span> : : </a>
-<a name="488"><span class="lineNum"> 488 </span> :<span class="lineCov"> 4461 : r = __mem_alloc(region, size, align, location);</span></a>
-<a name="489"><span class="lineNum"> 489 </span> :<span class="lineCov"> 4461 : if (r)</span></a>
-<a name="490"><span class="lineNum"> 490 </span> :<span class="lineCov"> 4457 : return r;</span></a>
+<a name="488"><span class="lineNum"> 488 </span> :<span class="lineCov"> 4463 : r = __mem_alloc(region, size, align, location);</span></a>
+<a name="489"><span class="lineNum"> 489 </span> :<span class="lineCov"> 4463 : if (r)</span></a>
+<a name="490"><span class="lineNum"> 490 </span> :<span class="lineCov"> 4459 : return r;</span></a>
<a name="491"><span class="lineNum"> 491 </span> : : </a>
<a name="492"><span class="lineNum"> 492 </span> :<span class="lineCov"> 4 : prerror(&quot;mem_alloc(0x%lx, 0x%lx, \&quot;%s\&quot;, %s) failed !\n&quot;,</span></a>
<a name="493"><span class="lineNum"> 493 </span> : : size, align, location, region-&gt;name);</a>
@@ -570,30 +570,30 @@
<a name="499"><span class="lineNum"> 499 </span> :<span class="lineCov"> 4 : return NULL;</span></a>
<a name="500"><span class="lineNum"> 500 </span> : : }</a>
<a name="501"><span class="lineNum"> 501 </span> : : </a>
-<a name="502"><span class="lineNum"> 502 </span> :<span class="lineCov"> 297 : void mem_free(struct mem_region *region, void *mem, const char *location)</span></a>
+<a name="502"><span class="lineNum"> 502 </span> :<span class="lineCov"> 299 : void mem_free(struct mem_region *region, void *mem, const char *location)</span></a>
<a name="503"><span class="lineNum"> 503 </span> : : {</a>
<a name="504"><span class="lineNum"> 504 </span> : : struct alloc_hdr *hdr;</a>
<a name="505"><span class="lineNum"> 505 </span> : : </a>
<a name="506"><span class="lineNum"> 506 </span> : : /* This should be a constant. */</a>
<a name="507"><span class="lineNum"> 507 </span> :<span class="lineNoCov"> 0 : assert(is_rodata(location));</span></a>
<a name="508"><span class="lineNum"> 508 </span> : : </a>
-<a name="509"><span class="lineNum"> 509 </span> :<span class="lineCov"> 297 : assert(lock_held_by_me(&amp;region-&gt;free_list_lock));</span></a>
+<a name="509"><span class="lineNum"> 509 </span> :<span class="lineCov"> 299 : assert(lock_held_by_me(&amp;region-&gt;free_list_lock));</span></a>
<a name="510"><span class="lineNum"> 510 </span> : : </a>
<a name="511"><span class="lineNum"> 511 </span> : : /* Freeing NULL is always a noop. */</a>
-<a name="512"><span class="lineNum"> 512 </span> :<span class="lineCov"> 297 : if (!mem)</span></a>
+<a name="512"><span class="lineNum"> 512 </span> :<span class="lineCov"> 299 : if (!mem)</span></a>
<a name="513"><span class="lineNum"> 513 </span> :<span class="lineCov"> 1 : return;</span></a>
<a name="514"><span class="lineNum"> 514 </span> : : </a>
<a name="515"><span class="lineNum"> 515 </span> : : /* Your memory is in the region, right? */</a>
-<a name="516"><span class="lineNum"> 516 </span> :<span class="lineCov"> 296 : assert(mem &gt;= region_start(region) + sizeof(*hdr));</span></a>
-<a name="517"><span class="lineNum"> 517 </span> :<span class="lineCov"> 296 : assert(mem &lt; region_start(region) + region-&gt;len);</span></a>
+<a name="516"><span class="lineNum"> 516 </span> :<span class="lineCov"> 298 : assert(mem &gt;= region_start(region) + sizeof(*hdr));</span></a>
+<a name="517"><span class="lineNum"> 517 </span> :<span class="lineCov"> 298 : assert(mem &lt; region_start(region) + region-&gt;len);</span></a>
<a name="518"><span class="lineNum"> 518 </span> : : </a>
<a name="519"><span class="lineNum"> 519 </span> : : /* Grab header. */</a>
-<a name="520"><span class="lineNum"> 520 </span> :<span class="lineCov"> 296 : hdr = mem - sizeof(*hdr);</span></a>
+<a name="520"><span class="lineNum"> 520 </span> :<span class="lineCov"> 298 : hdr = mem - sizeof(*hdr);</span></a>
<a name="521"><span class="lineNum"> 521 </span> : : </a>
-<a name="522"><span class="lineNum"> 522 </span> :<span class="lineCov"> 296 : if (hdr-&gt;free)</span></a>
+<a name="522"><span class="lineNum"> 522 </span> :<span class="lineCov"> 298 : if (hdr-&gt;free)</span></a>
<a name="523"><span class="lineNum"> 523 </span> :<span class="lineNoCov"> 0 : bad_header(region, hdr, &quot;re-freed&quot;, location);</span></a>
<a name="524"><span class="lineNum"> 524 </span> : : </a>
-<a name="525"><span class="lineNum"> 525 </span> :<span class="lineCov"> 296 : make_free(region, (struct free_hdr *)hdr, location, false);</span></a>
+<a name="525"><span class="lineNum"> 525 </span> :<span class="lineCov"> 298 : make_free(region, (struct free_hdr *)hdr, location, false);</span></a>
<a name="526"><span class="lineNum"> 526 </span> : : }</a>
<a name="527"><span class="lineNum"> 527 </span> : : </a>
<a name="528"><span class="lineNum"> 528 </span> :<span class="lineCov"> 65539 : size_t mem_allocated_size(const void *ptr)</span></a>
@@ -658,49 +658,49 @@
<a name="587"><span class="lineNum"> 587 </span> :<span class="lineCov"> 8185 : return true;</span></a>
<a name="588"><span class="lineNum"> 588 </span> : : }</a>
<a name="589"><span class="lineNum"> 589 </span> : : </a>
-<a name="590"><span class="lineNum"> 590 </span> :<span class="lineCov"> 131260 : bool mem_check(const struct mem_region *region)</span></a>
+<a name="590"><span class="lineNum"> 590 </span> :<span class="lineCov"> 131264 : bool mem_check(const struct mem_region *region)</span></a>
<a name="591"><span class="lineNum"> 591 </span> : : {</a>
-<a name="592"><span class="lineNum"> 592 </span> :<span class="lineCov"> 131260 : size_t frees = 0;</span></a>
-<a name="593"><span class="lineNum"> 593 </span> :<span class="lineCov"> 131260 : struct alloc_hdr *hdr, *prev_free = NULL;</span></a>
+<a name="592"><span class="lineNum"> 592 </span> :<span class="lineCov"> 131264 : size_t frees = 0;</span></a>
+<a name="593"><span class="lineNum"> 593 </span> :<span class="lineCov"> 131264 : struct alloc_hdr *hdr, *prev_free = NULL;</span></a>
<a name="594"><span class="lineNum"> 594 </span> : : struct free_hdr *f;</a>
<a name="595"><span class="lineNum"> 595 </span> : : </a>
<a name="596"><span class="lineNum"> 596 </span> : : /* Check it's sanely aligned. */</a>
-<a name="597"><span class="lineNum"> 597 </span> :<span class="lineCov"> 131260 : if (region-&gt;start % sizeof(long)) {</span></a>
+<a name="597"><span class="lineNum"> 597 </span> :<span class="lineCov"> 131264 : if (region-&gt;start % sizeof(long)) {</span></a>
<a name="598"><span class="lineNum"> 598 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Region '%s' not sanely aligned (%llx)\n&quot;,</span></a>
<a name="599"><span class="lineNum"> 599 </span> : : region-&gt;name, (unsigned long long)region-&gt;start);</a>
<a name="600"><span class="lineNum"> 600 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="601"><span class="lineNum"> 601 </span> : : }</a>
-<a name="602"><span class="lineNum"> 602 </span> :<span class="lineCov"> 131260 : if ((long)region-&gt;len % sizeof(long)) {</span></a>
+<a name="602"><span class="lineNum"> 602 </span> :<span class="lineCov"> 131264 : if ((long)region-&gt;len % sizeof(long)) {</span></a>
<a name="603"><span class="lineNum"> 603 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Region '%s' not sane length (%llu)\n&quot;,</span></a>
<a name="604"><span class="lineNum"> 604 </span> : : region-&gt;name, (unsigned long long)region-&gt;len);</a>
<a name="605"><span class="lineNum"> 605 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="606"><span class="lineNum"> 606 </span> : : }</a>
<a name="607"><span class="lineNum"> 607 </span> : : </a>
<a name="608"><span class="lineNum"> 608 </span> : : /* Not ours to play with, or empty? Don't do anything. */</a>
-<a name="609"><span class="lineNum"> 609 </span> :<span class="lineCov"> 131260 : if (!(region-&gt;type == REGION_MEMORY ||</span></a>
-<a name="610"><span class="lineNum"> 610 </span> :<span class="lineCov"> 131253 : region-&gt;type == REGION_SKIBOOT_HEAP) ||</span></a>
-<a name="611"><span class="lineNum"> 611 </span> :<span class="lineCov"> 131242 : region-&gt;free_list.n.next == NULL)</span></a>
+<a name="609"><span class="lineNum"> 609 </span> :<span class="lineCov"> 131264 : if (!(region-&gt;type == REGION_MEMORY ||</span></a>
+<a name="610"><span class="lineNum"> 610 </span> :<span class="lineCov"> 131257 : region-&gt;type == REGION_SKIBOOT_HEAP) ||</span></a>
+<a name="611"><span class="lineNum"> 611 </span> :<span class="lineCov"> 131246 : region-&gt;free_list.n.next == NULL)</span></a>
<a name="612"><span class="lineNum"> 612 </span> :<span class="lineCov"> 30 : return true;</span></a>
<a name="613"><span class="lineNum"> 613 </span> : : </a>
<a name="614"><span class="lineNum"> 614 </span> : : /* Walk linearly. */</a>
-<a name="615"><span class="lineNum"> 615 </span> :<span class="lineCov"> 402760 : for (hdr = region_start(region); hdr; hdr = next_hdr(region, hdr)) {</span></a>
-<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 271530 : if (hdr-&gt;num_longs &lt; ALLOC_MIN_LONGS) {</span></a>
+<a name="615"><span class="lineNum"> 615 </span> :<span class="lineCov"> 402776 : for (hdr = region_start(region); hdr; hdr = next_hdr(region, hdr)) {</span></a>
+<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 271542 : if (hdr-&gt;num_longs &lt; ALLOC_MIN_LONGS) {</span></a>
<a name="617"><span class="lineNum"> 617 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Region '%s' %s %p (%s) size %zu\n&quot;,</span></a>
<a name="618"><span class="lineNum"> 618 </span> : : region-&gt;name, hdr-&gt;free ? &quot;free&quot; : &quot;alloc&quot;,</a>
<a name="619"><span class="lineNum"> 619 </span> : : hdr, hdr_location(hdr),</a>
<a name="620"><span class="lineNum"> 620 </span> : : hdr-&gt;num_longs * sizeof(long));</a>
<a name="621"><span class="lineNum"> 621 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="622"><span class="lineNum"> 622 </span> : : }</a>
-<a name="623"><span class="lineNum"> 623 </span> :<span class="lineCov"> 271530 : if ((unsigned long)hdr + hdr-&gt;num_longs * sizeof(long) &gt;</span></a>
-<a name="624"><span class="lineNum"> 624 </span> :<span class="lineCov"> 271530 : region-&gt;start + region-&gt;len) {</span></a>
+<a name="623"><span class="lineNum"> 623 </span> :<span class="lineCov"> 271542 : if ((unsigned long)hdr + hdr-&gt;num_longs * sizeof(long) &gt;</span></a>
+<a name="624"><span class="lineNum"> 624 </span> :<span class="lineCov"> 271542 : region-&gt;start + region-&gt;len) {</span></a>
<a name="625"><span class="lineNum"> 625 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Region '%s' %s %p (%s) oversize %zu\n&quot;,</span></a>
<a name="626"><span class="lineNum"> 626 </span> : : region-&gt;name, hdr-&gt;free ? &quot;free&quot; : &quot;alloc&quot;,</a>
<a name="627"><span class="lineNum"> 627 </span> : : hdr, hdr_location(hdr),</a>
<a name="628"><span class="lineNum"> 628 </span> : : hdr-&gt;num_longs * sizeof(long));</a>
<a name="629"><span class="lineNum"> 629 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="630"><span class="lineNum"> 630 </span> : : }</a>
-<a name="631"><span class="lineNum"> 631 </span> :<span class="lineCov"> 271530 : if (hdr-&gt;free) {</span></a>
-<a name="632"><span class="lineNum"> 632 </span> :<span class="lineCov"> 131173 : if (hdr-&gt;prev_free || prev_free) {</span></a>
+<a name="631"><span class="lineNum"> 631 </span> :<span class="lineCov"> 271542 : if (hdr-&gt;free) {</span></a>
+<a name="632"><span class="lineNum"> 632 </span> :<span class="lineCov"> 131179 : if (hdr-&gt;prev_free || prev_free) {</span></a>
<a name="633"><span class="lineNum"> 633 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Region '%s' free %p (%s) has prev_free&quot;</span></a>
<a name="634"><span class="lineNum"> 634 </span> : : &quot; %p (%s) %sset?\n&quot;,</a>
<a name="635"><span class="lineNum"> 635 </span> : : region-&gt;name, hdr, hdr_location(hdr),</a>
@@ -710,30 +710,30 @@
<a name="639"><span class="lineNum"> 639 </span> : : hdr-&gt;prev_free ? &quot;&quot; : &quot;un&quot;);</a>
<a name="640"><span class="lineNum"> 640 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="641"><span class="lineNum"> 641 </span> : : }</a>
-<a name="642"><span class="lineNum"> 642 </span> :<span class="lineCov"> 131173 : prev_free = hdr;</span></a>
-<a name="643"><span class="lineNum"> 643 </span> :<span class="lineCov"> 131173 : frees ^= (unsigned long)hdr - region-&gt;start;</span></a>
+<a name="642"><span class="lineNum"> 642 </span> :<span class="lineCov"> 131179 : prev_free = hdr;</span></a>
+<a name="643"><span class="lineNum"> 643 </span> :<span class="lineCov"> 131179 : frees ^= (unsigned long)hdr - region-&gt;start;</span></a>
<a name="644"><span class="lineNum"> 644 </span> : : } else {</a>
-<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 140357 : if (hdr-&gt;prev_free != (bool)prev_free) {</span></a>
+<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 140363 : if (hdr-&gt;prev_free != (bool)prev_free) {</span></a>
<a name="646"><span class="lineNum"> 646 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Region '%s' alloc %p (%s) has&quot;</span></a>
<a name="647"><span class="lineNum"> 647 </span> : : &quot; prev_free %p %sset?\n&quot;,</a>
<a name="648"><span class="lineNum"> 648 </span> : : region-&gt;name, hdr, hdr_location(hdr),</a>
<a name="649"><span class="lineNum"> 649 </span> : : prev_free, hdr-&gt;prev_free ? &quot;&quot; : &quot;un&quot;);</a>
<a name="650"><span class="lineNum"> 650 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="651"><span class="lineNum"> 651 </span> : : }</a>
-<a name="652"><span class="lineNum"> 652 </span> :<span class="lineCov"> 140357 : prev_free = NULL;</span></a>
+<a name="652"><span class="lineNum"> 652 </span> :<span class="lineCov"> 140363 : prev_free = NULL;</span></a>
<a name="653"><span class="lineNum"> 653 </span> : : }</a>
<a name="654"><span class="lineNum"> 654 </span> : : }</a>
<a name="655"><span class="lineNum"> 655 </span> : : </a>
<a name="656"><span class="lineNum"> 656 </span> : : /* Now walk free list. */</a>
-<a name="657"><span class="lineNum"> 657 </span> :<span class="lineCov"> 262403 : list_for_each(&amp;region-&gt;free_list, f, list)</span></a>
-<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 131173 : frees ^= (unsigned long)f - region-&gt;start;</span></a>
+<a name="657"><span class="lineNum"> 657 </span> :<span class="lineCov"> 262413 : list_for_each(&amp;region-&gt;free_list, f, list)</span></a>
+<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 131179 : frees ^= (unsigned long)f - region-&gt;start;</span></a>
<a name="659"><span class="lineNum"> 659 </span> : : </a>
-<a name="660"><span class="lineNum"> 660 </span> :<span class="lineCov"> 131230 : if (frees) {</span></a>
+<a name="660"><span class="lineNum"> 660 </span> :<span class="lineCov"> 131234 : if (frees) {</span></a>
<a name="661"><span class="lineNum"> 661 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Region '%s' free list and walk do not match!\n&quot;,</span></a>
<a name="662"><span class="lineNum"> 662 </span> : : region-&gt;name);</a>
<a name="663"><span class="lineNum"> 663 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="664"><span class="lineNum"> 664 </span> : : }</a>
-<a name="665"><span class="lineNum"> 665 </span> :<span class="lineCov"> 131230 : return true;</span></a>
+<a name="665"><span class="lineNum"> 665 </span> :<span class="lineCov"> 131234 : return true;</span></a>
<a name="666"><span class="lineNum"> 666 </span> : : }</a>
<a name="667"><span class="lineNum"> 667 </span> : : </a>
<a name="668"><span class="lineNum"> 668 </span> :<span class="lineNoCov"> 0 : bool mem_check_all(void)</span></a>
diff --git a/coverage-report/core/nvram-format.c.func-sort-c.html b/coverage-report/core/nvram-format.c.func-sort-c.html
index 461a4bb..2198e2e 100644
--- a/coverage-report/core/nvram-format.c.func-sort-c.html
+++ b/coverage-report/core/nvram-format.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/nvram-format.c.func.html b/coverage-report/core/nvram-format.c.func.html
index 66db94e..fcbc44d 100644
--- a/coverage-report/core/nvram-format.c.func.html
+++ b/coverage-report/core/nvram-format.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/nvram-format.c.gcov.html b/coverage-report/core/nvram-format.c.gcov.html
index 772ca95..7c80549 100644
--- a/coverage-report/core/nvram-format.c.gcov.html
+++ b/coverage-report/core/nvram-format.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/opal-msg.c.func-sort-c.html b/coverage-report/core/opal-msg.c.func-sort-c.html
index 36f40e0..0e09cfd 100644
--- a/coverage-report/core/opal-msg.c.func-sort-c.html
+++ b/coverage-report/core/opal-msg.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/opal-msg.c.func.html b/coverage-report/core/opal-msg.c.func.html
index eba52fb..f07e2a0 100644
--- a/coverage-report/core/opal-msg.c.func.html
+++ b/coverage-report/core/opal-msg.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/opal-msg.c.gcov.html b/coverage-report/core/opal-msg.c.gcov.html
index a2bb2c1..1df96c8 100644
--- a/coverage-report/core/opal-msg.c.gcov.html
+++ b/coverage-report/core/opal-msg.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/pci-quirk.c.func-sort-c.html b/coverage-report/core/pci-quirk.c.func-sort-c.html
index 1b0c640..1e96ba7 100644
--- a/coverage-report/core/pci-quirk.c.func-sort-c.html
+++ b/coverage-report/core/pci-quirk.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/pci-quirk.c.func.html b/coverage-report/core/pci-quirk.c.func.html
index 3dcc7ef..b09331e 100644
--- a/coverage-report/core/pci-quirk.c.func.html
+++ b/coverage-report/core/pci-quirk.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/pci-quirk.c.gcov.html b/coverage-report/core/pci-quirk.c.gcov.html
index 8cb34db..3956a94 100644
--- a/coverage-report/core/pci-quirk.c.gcov.html
+++ b/coverage-report/core/pci-quirk.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/pel.c.func-sort-c.html b/coverage-report/core/pel.c.func-sort-c.html
index 6517d0d..1bdb4c0 100644
--- a/coverage-report/core/pel.c.func-sort-c.html
+++ b/coverage-report/core/pel.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/core/pel.c.func.html b/coverage-report/core/pel.c.func.html
index 06bc421..d018050 100644
--- a/coverage-report/core/pel.c.func.html
+++ b/coverage-report/core/pel.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/core/pel.c.gcov.html b/coverage-report/core/pel.c.gcov.html
index b9a0dcd..ad4f2b3 100644
--- a/coverage-report/core/pel.c.gcov.html
+++ b/coverage-report/core/pel.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/core/pool.c.func-sort-c.html b/coverage-report/core/pool.c.func-sort-c.html
index 869179c..c35d3dd 100644
--- a/coverage-report/core/pool.c.func-sort-c.html
+++ b/coverage-report/core/pool.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/pool.c.func.html b/coverage-report/core/pool.c.func.html
index bad50ec..06ff4cc 100644
--- a/coverage-report/core/pool.c.func.html
+++ b/coverage-report/core/pool.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/pool.c.gcov.html b/coverage-report/core/pool.c.gcov.html
index 1f1d908..44b4f42 100644
--- a/coverage-report/core/pool.c.gcov.html
+++ b/coverage-report/core/pool.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/dummy-cpu.h.func-sort-c.html b/coverage-report/core/test/dummy-cpu.h.func-sort-c.html
index 241774e..1b8b259 100644
--- a/coverage-report/core/test/dummy-cpu.h.func-sort-c.html
+++ b/coverage-report/core/test/dummy-cpu.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/core/test/dummy-cpu.h.func.html b/coverage-report/core/test/dummy-cpu.h.func.html
index 114b9cf..31839e1 100644
--- a/coverage-report/core/test/dummy-cpu.h.func.html
+++ b/coverage-report/core/test/dummy-cpu.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/core/test/dummy-cpu.h.gcov.html b/coverage-report/core/test/dummy-cpu.h.gcov.html
index 1418a0b..b76ee72 100644
--- a/coverage-report/core/test/dummy-cpu.h.gcov.html
+++ b/coverage-report/core/test/dummy-cpu.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/core/test/index-sort-b.html b/coverage-report/core/test/index-sort-b.html
index 8011277..8321663 100644
--- a/coverage-report/core/test/index-sort-b.html
+++ b/coverage-report/core/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">138</td>
@@ -82,62 +82,38 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run-nvram-format.c.gcov.html">run-nvram-format.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="97.8%"><img src="../../snow.png" width=2 height=10 alt="97.8%"></td></tr></table>
- </td>
- <td class="coverPerHi">97.8&nbsp;%</td>
- <td class="coverNumHi">88 / 90</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">4 / 5</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="run-mem_region_reservations.c.gcov.html">run-mem_region_reservations.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">90 / 90</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">10 / 10</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="run-time-utils.c.gcov.html">run-time-utils.c</a></td>
+ <td class="coverFile"><a href="run-pool.c.gcov.html">run-pool.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">26 / 26</td>
+ <td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-mem_region_init.c.gcov.html">run-mem_region_init.c</a></td>
+ <td class="coverFile"><a href="run-pel.c.gcov.html">run-pel.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">80 / 80</td>
+ <td class="coverNumHi">52 / 52</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-timer.c.gcov.html">run-timer.c</a></td>
+ <td class="coverFile"><a href="run-console-log.c.gcov.html">run-console-log.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">27 / 27</td>
+ <td class="coverNumHi">21 / 21</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -154,38 +130,38 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-malloc-speed.c.gcov.html">run-malloc-speed.c</a></td>
+ <td class="coverFile"><a href="run-console-log-buf-overrun.c.gcov.html">run-console-log-buf-overrun.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">28 / 28</td>
+ <td class="coverNumHi">29 / 29</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-mem_region_release_unused_noalloc.c.gcov.html">run-mem_region_release_unused_noalloc.c</a></td>
+ <td class="coverFile"><a href="run-msg.c.gcov.html">run-msg.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=94 height=10 alt="93.9%"><img src="../../snow.png" width=6 height=10 alt="93.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.1%"><img src="../../snow.png" width=2 height=10 alt="98.1%"></td></tr></table>
</td>
- <td class="coverPerHi">93.9&nbsp;%</td>
- <td class="coverNumHi">62 / 66</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">8 / 10</td>
+ <td class="coverPerHi">98.1&nbsp;%</td>
+ <td class="coverNumHi">153 / 156</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-cpufeatures.c.gcov.html">run-cpufeatures.c</a></td>
+ <td class="coverFile"><a href="run-mem_region_next.c.gcov.html">run-mem_region_next.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">91 / 91</td>
+ <td class="coverNumHi">41 / 41</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -202,26 +178,38 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-console-log-buf-overrun.c.gcov.html">run-console-log-buf-overrun.c</a></td>
+ <td class="coverFile"><a href="run-console-log-pr_fmt.c.gcov.html">run-console-log-pr_fmt.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">29 / 29</td>
+ <td class="coverNumHi">21 / 21</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-timebase.c.gcov.html">run-timebase.c</a></td>
+ <td class="coverFile"><a href="run-nvram-format.c.gcov.html">run-nvram-format.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="97.8%"><img src="../../snow.png" width=2 height=10 alt="97.8%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">97.8&nbsp;%</td>
+ <td class="coverNumHi">88 / 90</td>
+ <td class="coverPerMed">80.0&nbsp;%</td>
+ <td class="coverNumMed">4 / 5</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="run-cpufeatures.c.gcov.html">run-cpufeatures.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">20 / 20</td>
+ <td class="coverNumHi">91 / 91</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -238,38 +226,50 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="dummy-cpu.h.gcov.html">dummy-cpu.h</a></td>
+ <td class="coverFile"><a href="stubs.c.gcov.html">stubs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=31 height=10 alt="31.2%"><img src="../../snow.png" width=69 height=10 alt="31.2%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 2</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 1</td>
+ <td class="coverPerLo">31.2&nbsp;%</td>
+ <td class="coverNumLo">5 / 16</td>
+ <td class="coverPerLo">16.7&nbsp;%</td>
+ <td class="coverNumLo">1 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-api-test.c.gcov.html">run-api-test.c</a></td>
+ <td class="coverFile"><a href="run-mem_region_init.c.gcov.html">run-mem_region_init.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">80 / 80</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">9 / 9</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-console-log.c.gcov.html">run-console-log.c</a></td>
+ <td class="coverFile"><a href="run-mem_range_is_reserved.c.gcov.html">run-mem_range_is_reserved.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../amber.png" width=89 height=10 alt="89.5%"><img src="../../snow.png" width=11 height=10 alt="89.5%"></td></tr></table>
+ </td>
+ <td class="coverPerMed">89.5&nbsp;%</td>
+ <td class="coverNumMed">51 / 57</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">9 / 9</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="run-api-test.c.gcov.html">run-api-test.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">21 / 21</td>
+ <td class="coverNumHi">13 / 13</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -286,50 +286,62 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-console-log-pr_fmt.c.gcov.html">run-console-log-pr_fmt.c</a></td>
+ <td class="coverFile"><a href="run-device.c.gcov.html">run-device.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.2%"><img src="../../snow.png" width=2 height=10 alt="98.2%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">98.2&nbsp;%</td>
+ <td class="coverNumHi">278 / 283</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">6 / 6</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="run-malloc-speed.c.gcov.html">run-malloc-speed.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">21 / 21</td>
+ <td class="coverNumHi">28 / 28</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-bitmap.c.gcov.html">run-bitmap.c</a></td>
+ <td class="coverFile"><a href="run-flash-subpartition.c.gcov.html">run-flash-subpartition.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">38 / 38</td>
+ <td class="coverNumHi">14 / 14</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-malloc.c.gcov.html">run-malloc.c</a></td>
+ <td class="coverFile"><a href="run-timer.c.gcov.html">run-timer.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">95 / 95</td>
+ <td class="coverNumHi">27 / 27</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="stubs.c.gcov.html">stubs.c</a></td>
+ <td class="coverFile"><a href="run-mem_region_release_unused_noalloc.c.gcov.html">run-mem_region_release_unused_noalloc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=31 height=10 alt="31.2%"><img src="../../snow.png" width=69 height=10 alt="31.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=94 height=10 alt="93.9%"><img src="../../snow.png" width=6 height=10 alt="93.9%"></td></tr></table>
</td>
- <td class="coverPerLo">31.2&nbsp;%</td>
- <td class="coverNumLo">5 / 16</td>
- <td class="coverPerLo">16.7&nbsp;%</td>
- <td class="coverNumLo">1 / 6</td>
+ <td class="coverPerHi">93.9&nbsp;%</td>
+ <td class="coverNumHi">62 / 66</td>
+ <td class="coverPerMed">80.0&nbsp;%</td>
+ <td class="coverNumMed">8 / 10</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -346,19 +358,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-mem_range_is_reserved.c.gcov.html">run-mem_range_is_reserved.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../amber.png" width=89 height=10 alt="89.5%"><img src="../../snow.png" width=11 height=10 alt="89.5%"></td></tr></table>
- </td>
- <td class="coverPerMed">89.5&nbsp;%</td>
- <td class="coverNumMed">51 / 57</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="run-pool.c.gcov.html">run-pool.c</a></td>
+ <td class="coverFile"><a href="run-timebase.c.gcov.html">run-timebase.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -370,74 +370,74 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-msg.c.gcov.html">run-msg.c</a></td>
+ <td class="coverFile"><a href="run-trace.c.gcov.html">run-trace.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.1%"><img src="../../snow.png" width=2 height=10 alt="98.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.5%"><img src="../../snow.png" width=2 height=10 alt="98.5%"></td></tr></table>
</td>
- <td class="coverPerHi">98.1&nbsp;%</td>
- <td class="coverNumHi">153 / 156</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
+ <td class="coverPerHi">98.5&nbsp;%</td>
+ <td class="coverNumHi">195 / 198</td>
+ <td class="coverPerHi">91.7&nbsp;%</td>
+ <td class="coverNumHi">11 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-mem_region_next.c.gcov.html">run-mem_region_next.c</a></td>
+ <td class="coverFile"><a href="run-malloc.c.gcov.html">run-malloc.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">41 / 41</td>
+ <td class="coverNumHi">95 / 95</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-pel.c.gcov.html">run-pel.c</a></td>
+ <td class="coverFile"><a href="run-time-utils.c.gcov.html">run-time-utils.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">52 / 52</td>
+ <td class="coverNumHi">26 / 26</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-flash-subpartition.c.gcov.html">run-flash-subpartition.c</a></td>
+ <td class="coverFile"><a href="run-mem_region_reservations.c.gcov.html">run-mem_region_reservations.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">14 / 14</td>
+ <td class="coverNumHi">90 / 90</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">10 / 10</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-device.c.gcov.html">run-device.c</a></td>
+ <td class="coverFile"><a href="dummy-cpu.h.gcov.html">dummy-cpu.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.2%"><img src="../../snow.png" width=2 height=10 alt="98.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerHi">98.2&nbsp;%</td>
- <td class="coverNumHi">278 / 283</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 2</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-trace.c.gcov.html">run-trace.c</a></td>
+ <td class="coverFile"><a href="run-bitmap.c.gcov.html">run-bitmap.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.5%"><img src="../../snow.png" width=2 height=10 alt="98.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">98.5&nbsp;%</td>
- <td class="coverNumHi">195 / 198</td>
- <td class="coverPerHi">91.7&nbsp;%</td>
- <td class="coverNumHi">11 / 12</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">38 / 38</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/core/test/index-sort-f.html b/coverage-report/core/test/index-sort-f.html
index 6605af6..0bc161d 100644
--- a/coverage-report/core/test/index-sort-f.html
+++ b/coverage-report/core/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">138</td>
@@ -178,72 +178,72 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-time-utils.c.gcov.html">run-time-utils.c</a></td>
+ <td class="coverFile"><a href="run-pool.c.gcov.html">run-pool.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">26 / 26</td>
+ <td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-timebase.c.gcov.html">run-timebase.c</a></td>
+ <td class="coverFile"><a href="run-api-test.c.gcov.html">run-api-test.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">20 / 20</td>
+ <td class="coverNumHi">13 / 13</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-api-test.c.gcov.html">run-api-test.c</a></td>
+ <td class="coverFile"><a href="run-flash-subpartition.c.gcov.html">run-flash-subpartition.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">14 / 14</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-bitmap.c.gcov.html">run-bitmap.c</a></td>
+ <td class="coverFile"><a href="run-timebase.c.gcov.html">run-timebase.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">38 / 38</td>
+ <td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-pool.c.gcov.html">run-pool.c</a></td>
+ <td class="coverFile"><a href="run-time-utils.c.gcov.html">run-time-utils.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">20 / 20</td>
+ <td class="coverNumHi">26 / 26</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-flash-subpartition.c.gcov.html">run-flash-subpartition.c</a></td>
+ <td class="coverFile"><a href="run-bitmap.c.gcov.html">run-bitmap.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">14 / 14</td>
+ <td class="coverNumHi">38 / 38</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -262,36 +262,36 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-cpufeatures.c.gcov.html">run-cpufeatures.c</a></td>
+ <td class="coverFile"><a href="run-pel.c.gcov.html">run-pel.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">91 / 91</td>
+ <td class="coverNumHi">52 / 52</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-console-log-buf-overrun.c.gcov.html">run-console-log-buf-overrun.c</a></td>
+ <td class="coverFile"><a href="run-console-log.c.gcov.html">run-console-log.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">29 / 29</td>
+ <td class="coverNumHi">21 / 21</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-console-log.c.gcov.html">run-console-log.c</a></td>
+ <td class="coverFile"><a href="run-console-log-buf-overrun.c.gcov.html">run-console-log-buf-overrun.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">21 / 21</td>
+ <td class="coverNumHi">29 / 29</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
@@ -310,30 +310,18 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-pel.c.gcov.html">run-pel.c</a></td>
+ <td class="coverFile"><a href="run-cpufeatures.c.gcov.html">run-cpufeatures.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">52 / 52</td>
+ <td class="coverNumHi">91 / 91</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-malloc-speed.c.gcov.html">run-malloc-speed.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">28 / 28</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="run-mem_region_next.c.gcov.html">run-mem_region_next.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
@@ -358,24 +346,36 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-timer.c.gcov.html">run-timer.c</a></td>
+ <td class="coverFile"><a href="run-malloc-speed.c.gcov.html">run-malloc-speed.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">27 / 27</td>
+ <td class="coverNumHi">28 / 28</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">6 / 6</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="run-msg.c.gcov.html">run-msg.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.1%"><img src="../../snow.png" width=2 height=10 alt="98.1%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">98.1&nbsp;%</td>
+ <td class="coverNumHi">153 / 156</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-malloc.c.gcov.html">run-malloc.c</a></td>
+ <td class="coverFile"><a href="run-timer.c.gcov.html">run-timer.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">95 / 95</td>
+ <td class="coverNumHi">27 / 27</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">-</td>
@@ -394,12 +394,12 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-msg.c.gcov.html">run-msg.c</a></td>
+ <td class="coverFile"><a href="run-malloc.c.gcov.html">run-malloc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.1%"><img src="../../snow.png" width=2 height=10 alt="98.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">98.1&nbsp;%</td>
- <td class="coverNumHi">153 / 156</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">95 / 95</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/core/test/index-sort-l.html b/coverage-report/core/test/index-sort-l.html
index f3a0668..2aa0acb 100644
--- a/coverage-report/core/test/index-sort-l.html
+++ b/coverage-report/core/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">138</td>
@@ -250,7 +250,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-timebase.c.gcov.html">run-timebase.c</a></td>
+ <td class="coverFile"><a href="run-pool.c.gcov.html">run-pool.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -262,7 +262,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-pool.c.gcov.html">run-pool.c</a></td>
+ <td class="coverFile"><a href="run-timebase.c.gcov.html">run-timebase.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
diff --git a/coverage-report/core/test/index.html b/coverage-report/core/test/index.html
index b3b1492..99a7700 100644
--- a/coverage-report/core/test/index.html
+++ b/coverage-report/core/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">138</td>
diff --git a/coverage-report/core/test/run-api-test.c.func-sort-c.html b/coverage-report/core/test/run-api-test.c.func-sort-c.html
index fa8d52e..9cf3e4f 100644
--- a/coverage-report/core/test/run-api-test.c.func-sort-c.html
+++ b/coverage-report/core/test/run-api-test.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-api-test.c.func.html b/coverage-report/core/test/run-api-test.c.func.html
index f74bf1c..1f38ae4 100644
--- a/coverage-report/core/test/run-api-test.c.func.html
+++ b/coverage-report/core/test/run-api-test.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-api-test.c.gcov.html b/coverage-report/core/test/run-api-test.c.gcov.html
index 384d7b9..0e82298 100644
--- a/coverage-report/core/test/run-api-test.c.gcov.html
+++ b/coverage-report/core/test/run-api-test.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-bitmap.c.func-sort-c.html b/coverage-report/core/test/run-bitmap.c.func-sort-c.html
index 9a9f3c0..059efe8 100644
--- a/coverage-report/core/test/run-bitmap.c.func-sort-c.html
+++ b/coverage-report/core/test/run-bitmap.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-bitmap.c.func.html b/coverage-report/core/test/run-bitmap.c.func.html
index e328f8e..75c83d2 100644
--- a/coverage-report/core/test/run-bitmap.c.func.html
+++ b/coverage-report/core/test/run-bitmap.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-bitmap.c.gcov.html b/coverage-report/core/test/run-bitmap.c.gcov.html
index 5460817..7d2f501 100644
--- a/coverage-report/core/test/run-bitmap.c.gcov.html
+++ b/coverage-report/core/test/run-bitmap.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-buddy.c.func-sort-c.html b/coverage-report/core/test/run-buddy.c.func-sort-c.html
index e7a5766..81d320f 100644
--- a/coverage-report/core/test/run-buddy.c.func-sort-c.html
+++ b/coverage-report/core/test/run-buddy.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/test/run-buddy.c.func.html b/coverage-report/core/test/run-buddy.c.func.html
index 794a7f7..0fa4a34 100644
--- a/coverage-report/core/test/run-buddy.c.func.html
+++ b/coverage-report/core/test/run-buddy.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/test/run-buddy.c.gcov.html b/coverage-report/core/test/run-buddy.c.gcov.html
index ae723bf..471cab7 100644
--- a/coverage-report/core/test/run-buddy.c.gcov.html
+++ b/coverage-report/core/test/run-buddy.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/test/run-console-log-buf-overrun.c.func-sort-c.html b/coverage-report/core/test/run-console-log-buf-overrun.c.func-sort-c.html
index a072baa..d3b7da4 100644
--- a/coverage-report/core/test/run-console-log-buf-overrun.c.func-sort-c.html
+++ b/coverage-report/core/test/run-console-log-buf-overrun.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-console-log-buf-overrun.c.func.html b/coverage-report/core/test/run-console-log-buf-overrun.c.func.html
index 8e3b2b7..6e52bfd 100644
--- a/coverage-report/core/test/run-console-log-buf-overrun.c.func.html
+++ b/coverage-report/core/test/run-console-log-buf-overrun.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-console-log-buf-overrun.c.gcov.html b/coverage-report/core/test/run-console-log-buf-overrun.c.gcov.html
index 2d5df65..e2e0c5f 100644
--- a/coverage-report/core/test/run-console-log-buf-overrun.c.gcov.html
+++ b/coverage-report/core/test/run-console-log-buf-overrun.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-console-log-pr_fmt.c.func-sort-c.html b/coverage-report/core/test/run-console-log-pr_fmt.c.func-sort-c.html
index 3258ad6..64b21cf 100644
--- a/coverage-report/core/test/run-console-log-pr_fmt.c.func-sort-c.html
+++ b/coverage-report/core/test/run-console-log-pr_fmt.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-console-log-pr_fmt.c.func.html b/coverage-report/core/test/run-console-log-pr_fmt.c.func.html
index 66eea61..55f4cc8 100644
--- a/coverage-report/core/test/run-console-log-pr_fmt.c.func.html
+++ b/coverage-report/core/test/run-console-log-pr_fmt.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-console-log-pr_fmt.c.gcov.html b/coverage-report/core/test/run-console-log-pr_fmt.c.gcov.html
index 6f883d7..9923b94 100644
--- a/coverage-report/core/test/run-console-log-pr_fmt.c.gcov.html
+++ b/coverage-report/core/test/run-console-log-pr_fmt.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-console-log.c.func-sort-c.html b/coverage-report/core/test/run-console-log.c.func-sort-c.html
index 8b97d1e..531bc54 100644
--- a/coverage-report/core/test/run-console-log.c.func-sort-c.html
+++ b/coverage-report/core/test/run-console-log.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-console-log.c.func.html b/coverage-report/core/test/run-console-log.c.func.html
index 38a35c8..ae4356d 100644
--- a/coverage-report/core/test/run-console-log.c.func.html
+++ b/coverage-report/core/test/run-console-log.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-console-log.c.gcov.html b/coverage-report/core/test/run-console-log.c.gcov.html
index 83c6086..25d9d10 100644
--- a/coverage-report/core/test/run-console-log.c.gcov.html
+++ b/coverage-report/core/test/run-console-log.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-cpufeatures.c.func-sort-c.html b/coverage-report/core/test/run-cpufeatures.c.func-sort-c.html
index 38dde18..3e7fba4 100644
--- a/coverage-report/core/test/run-cpufeatures.c.func-sort-c.html
+++ b/coverage-report/core/test/run-cpufeatures.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-cpufeatures.c.func.html b/coverage-report/core/test/run-cpufeatures.c.func.html
index 9b2727b..c88c89d 100644
--- a/coverage-report/core/test/run-cpufeatures.c.func.html
+++ b/coverage-report/core/test/run-cpufeatures.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-cpufeatures.c.gcov.html b/coverage-report/core/test/run-cpufeatures.c.gcov.html
index f36af40..0e6b486 100644
--- a/coverage-report/core/test/run-cpufeatures.c.gcov.html
+++ b/coverage-report/core/test/run-cpufeatures.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-device.c.func-sort-c.html b/coverage-report/core/test/run-device.c.func-sort-c.html
index 25dfc60..5c0770a 100644
--- a/coverage-report/core/test/run-device.c.func-sort-c.html
+++ b/coverage-report/core/test/run-device.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-device.c.func.html b/coverage-report/core/test/run-device.c.func.html
index e94c0a9..b031eb8 100644
--- a/coverage-report/core/test/run-device.c.func.html
+++ b/coverage-report/core/test/run-device.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-device.c.gcov.html b/coverage-report/core/test/run-device.c.gcov.html
index 9963cc6..56baea6 100644
--- a/coverage-report/core/test/run-device.c.gcov.html
+++ b/coverage-report/core/test/run-device.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-flash-firmware-versions.c.func-sort-c.html b/coverage-report/core/test/run-flash-firmware-versions.c.func-sort-c.html
index 29bf447..95e5499 100644
--- a/coverage-report/core/test/run-flash-firmware-versions.c.func-sort-c.html
+++ b/coverage-report/core/test/run-flash-firmware-versions.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-flash-firmware-versions.c.func.html b/coverage-report/core/test/run-flash-firmware-versions.c.func.html
index c8d50c2..b5d7697 100644
--- a/coverage-report/core/test/run-flash-firmware-versions.c.func.html
+++ b/coverage-report/core/test/run-flash-firmware-versions.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-flash-firmware-versions.c.gcov.html b/coverage-report/core/test/run-flash-firmware-versions.c.gcov.html
index afa0973..001bbe2 100644
--- a/coverage-report/core/test/run-flash-firmware-versions.c.gcov.html
+++ b/coverage-report/core/test/run-flash-firmware-versions.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-flash-subpartition.c.func-sort-c.html b/coverage-report/core/test/run-flash-subpartition.c.func-sort-c.html
index f425b09..16143eb 100644
--- a/coverage-report/core/test/run-flash-subpartition.c.func-sort-c.html
+++ b/coverage-report/core/test/run-flash-subpartition.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-flash-subpartition.c.func.html b/coverage-report/core/test/run-flash-subpartition.c.func.html
index da34630..f2ee892 100644
--- a/coverage-report/core/test/run-flash-subpartition.c.func.html
+++ b/coverage-report/core/test/run-flash-subpartition.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-flash-subpartition.c.gcov.html b/coverage-report/core/test/run-flash-subpartition.c.gcov.html
index da932d0..ef05b48 100644
--- a/coverage-report/core/test/run-flash-subpartition.c.gcov.html
+++ b/coverage-report/core/test/run-flash-subpartition.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-malloc-speed.c.func-sort-c.html b/coverage-report/core/test/run-malloc-speed.c.func-sort-c.html
index a25e635..8d1bb4c 100644
--- a/coverage-report/core/test/run-malloc-speed.c.func-sort-c.html
+++ b/coverage-report/core/test/run-malloc-speed.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-malloc-speed.c.func.html b/coverage-report/core/test/run-malloc-speed.c.func.html
index 92e3393..370e518 100644
--- a/coverage-report/core/test/run-malloc-speed.c.func.html
+++ b/coverage-report/core/test/run-malloc-speed.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-malloc-speed.c.gcov.html b/coverage-report/core/test/run-malloc-speed.c.gcov.html
index bbe03e8..1f2575e 100644
--- a/coverage-report/core/test/run-malloc-speed.c.gcov.html
+++ b/coverage-report/core/test/run-malloc-speed.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-malloc.c.func-sort-c.html b/coverage-report/core/test/run-malloc.c.func-sort-c.html
index 43f2d12..2b0ad79 100644
--- a/coverage-report/core/test/run-malloc.c.func-sort-c.html
+++ b/coverage-report/core/test/run-malloc.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-malloc.c.func.html b/coverage-report/core/test/run-malloc.c.func.html
index cd14cf6..f26deff 100644
--- a/coverage-report/core/test/run-malloc.c.func.html
+++ b/coverage-report/core/test/run-malloc.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-malloc.c.gcov.html b/coverage-report/core/test/run-malloc.c.gcov.html
index f00bf7f..331acb8 100644
--- a/coverage-report/core/test/run-malloc.c.gcov.html
+++ b/coverage-report/core/test/run-malloc.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-mem_range_is_reserved.c.func-sort-c.html b/coverage-report/core/test/run-mem_range_is_reserved.c.func-sort-c.html
index b6dcb06..4bfde08 100644
--- a/coverage-report/core/test/run-mem_range_is_reserved.c.func-sort-c.html
+++ b/coverage-report/core/test/run-mem_range_is_reserved.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_range_is_reserved.c.func.html b/coverage-report/core/test/run-mem_range_is_reserved.c.func.html
index 4840bb0..569055c 100644
--- a/coverage-report/core/test/run-mem_range_is_reserved.c.func.html
+++ b/coverage-report/core/test/run-mem_range_is_reserved.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_range_is_reserved.c.gcov.html b/coverage-report/core/test/run-mem_range_is_reserved.c.gcov.html
index 1e4e62e..b9fc845 100644
--- a/coverage-report/core/test/run-mem_range_is_reserved.c.gcov.html
+++ b/coverage-report/core/test/run-mem_range_is_reserved.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_region.c.func-sort-c.html b/coverage-report/core/test/run-mem_region.c.func-sort-c.html
index 9b46db2..f9c58e8 100644
--- a/coverage-report/core/test/run-mem_region.c.func-sort-c.html
+++ b/coverage-report/core/test/run-mem_region.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
@@ -94,7 +94,7 @@
</tr>
<tr>
<td class="coverFn"><a href="run-mem_region.c.gcov.html#60">lock_held_by_me</a></td>
- <td class="coverFnHi">131334</td>
+ <td class="coverFnHi">131338</td>
</tr>
</table>
<br>
diff --git a/coverage-report/core/test/run-mem_region.c.func.html b/coverage-report/core/test/run-mem_region.c.func.html
index a39a866..7fcb023 100644
--- a/coverage-report/core/test/run-mem_region.c.func.html
+++ b/coverage-report/core/test/run-mem_region.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
@@ -78,7 +78,7 @@
</tr>
<tr>
<td class="coverFn"><a href="run-mem_region.c.gcov.html#60">lock_held_by_me</a></td>
- <td class="coverFnHi">131334</td>
+ <td class="coverFnHi">131338</td>
</tr>
<tr>
<td class="coverFn"><a href="run-mem_region.c.gcov.html#74">main</a></td>
diff --git a/coverage-report/core/test/run-mem_region.c.gcov.html b/coverage-report/core/test/run-mem_region.c.gcov.html
index 56315f9..790a4eb 100644
--- a/coverage-report/core/test/run-mem_region.c.gcov.html
+++ b/coverage-report/core/test/run-mem_region.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
@@ -130,9 +130,9 @@
<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 10 : l-&gt;lock_val--;</span></a>
<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 10 : }</span></a>
<a name="61"><span class="lineNum"> 61 </span> : : </a>
-<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 131334 : bool lock_held_by_me(struct lock *l)</span></a>
+<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 131338 : bool lock_held_by_me(struct lock *l)</span></a>
<a name="63"><span class="lineNum"> 63 </span> : : {</a>
-<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 131334 : return l-&gt;lock_val;</span></a>
+<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 131338 : return l-&gt;lock_val;</span></a>
<a name="65"><span class="lineNum"> 65 </span> : : }</a>
<a name="66"><span class="lineNum"> 66 </span> : : </a>
<a name="67"><span class="lineNum"> 67 </span> : : #define TEST_HEAP_ORDER 16</a>
@@ -181,19 +181,19 @@
<a name="110"><span class="lineNum"> 110 </span> : : /* Allocations of various alignments: use small alloc first. */</a>
<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 1 : ptrs[0] = mem_alloc(&amp;skiboot_heap, 1, 1, &quot;small&quot;);</span></a>
<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 1 : for (i = 0; ; i++) {</span></a>
-<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 18 : p = mem_alloc(&amp;skiboot_heap, 1, 1ULL &lt;&lt; i, &quot;here&quot;);</span></a>
-<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 18 : assert(mem_check(&amp;skiboot_heap));</span></a>
+<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 20 : p = mem_alloc(&amp;skiboot_heap, 1, 1ULL &lt;&lt; i, &quot;here&quot;);</span></a>
+<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 20 : assert(mem_check(&amp;skiboot_heap));</span></a>
<a name="115"><span class="lineNum"> 115 </span> : : /* We will eventually fail... */</a>
-<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 18 : if (!p) {</span></a>
+<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 20 : if (!p) {</span></a>
<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 1 : assert(i &gt;= TEST_HEAP_ORDER);</span></a>
<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 1 : break;</span></a>
<a name="119"><span class="lineNum"> 119 </span> : : }</a>
-<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 17 : assert(p);</span></a>
-<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 17 : assert((long)p % (1ULL &lt;&lt; i) == 0);</span></a>
-<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 17 : assert(p &gt; (void *)test_heap);</span></a>
-<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 17 : assert(p + 1 &lt;= (void *)test_heap + TEST_HEAP_SIZE);</span></a>
-<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 17 : mem_free(&amp;skiboot_heap, p, &quot;freed&quot;);</span></a>
-<a name="125"><span class="lineNum"> 125 </span> :<span class="lineCov"> 17 : assert(mem_check(&amp;skiboot_heap));</span></a>
+<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 19 : assert(p);</span></a>
+<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 19 : assert((long)p % (1ULL &lt;&lt; i) == 0);</span></a>
+<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 19 : assert(p &gt; (void *)test_heap);</span></a>
+<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 19 : assert(p + 1 &lt;= (void *)test_heap + TEST_HEAP_SIZE);</span></a>
+<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 19 : mem_free(&amp;skiboot_heap, p, &quot;freed&quot;);</span></a>
+<a name="125"><span class="lineNum"> 125 </span> :<span class="lineCov"> 19 : assert(mem_check(&amp;skiboot_heap));</span></a>
<a name="126"><span class="lineNum"> 126 </span> : : }</a>
<a name="127"><span class="lineNum"> 127 </span> :<span class="lineCov"> 1 : mem_free(&amp;skiboot_heap, ptrs[0], &quot;small freed&quot;);</span></a>
<a name="128"><span class="lineNum"> 128 </span> :<span class="lineCov"> 1 : assert(heap_empty());</span></a>
diff --git a/coverage-report/core/test/run-mem_region_init.c.func-sort-c.html b/coverage-report/core/test/run-mem_region_init.c.func-sort-c.html
index 4ef1add..64fab55 100644
--- a/coverage-report/core/test/run-mem_region_init.c.func-sort-c.html
+++ b/coverage-report/core/test/run-mem_region_init.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_region_init.c.func.html b/coverage-report/core/test/run-mem_region_init.c.func.html
index ac07f09..b818630 100644
--- a/coverage-report/core/test/run-mem_region_init.c.func.html
+++ b/coverage-report/core/test/run-mem_region_init.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_region_init.c.gcov.html b/coverage-report/core/test/run-mem_region_init.c.gcov.html
index 8721cf0..686f18e 100644
--- a/coverage-report/core/test/run-mem_region_init.c.gcov.html
+++ b/coverage-report/core/test/run-mem_region_init.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_region_next.c.func-sort-c.html b/coverage-report/core/test/run-mem_region_next.c.func-sort-c.html
index 940bf33..28950e3 100644
--- a/coverage-report/core/test/run-mem_region_next.c.func-sort-c.html
+++ b/coverage-report/core/test/run-mem_region_next.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-mem_region_next.c.func.html b/coverage-report/core/test/run-mem_region_next.c.func.html
index 3b29a6d..c9b7046 100644
--- a/coverage-report/core/test/run-mem_region_next.c.func.html
+++ b/coverage-report/core/test/run-mem_region_next.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-mem_region_next.c.gcov.html b/coverage-report/core/test/run-mem_region_next.c.gcov.html
index 0a601cb..27606e1 100644
--- a/coverage-report/core/test/run-mem_region_next.c.gcov.html
+++ b/coverage-report/core/test/run-mem_region_next.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/core/test/run-mem_region_release_unused.c.func-sort-c.html b/coverage-report/core/test/run-mem_region_release_unused.c.func-sort-c.html
index faa72d5..70dce7d 100644
--- a/coverage-report/core/test/run-mem_region_release_unused.c.func-sort-c.html
+++ b/coverage-report/core/test/run-mem_region_release_unused.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_region_release_unused.c.func.html b/coverage-report/core/test/run-mem_region_release_unused.c.func.html
index 271bd6b..bf44a91 100644
--- a/coverage-report/core/test/run-mem_region_release_unused.c.func.html
+++ b/coverage-report/core/test/run-mem_region_release_unused.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_region_release_unused.c.gcov.html b/coverage-report/core/test/run-mem_region_release_unused.c.gcov.html
index 07928bc..e61ad94 100644
--- a/coverage-report/core/test/run-mem_region_release_unused.c.gcov.html
+++ b/coverage-report/core/test/run-mem_region_release_unused.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func-sort-c.html b/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func-sort-c.html
index c5f4755..460bd7a 100644
--- a/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func-sort-c.html
+++ b/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func.html b/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func.html
index 6302056..435d8df 100644
--- a/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func.html
+++ b/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.gcov.html b/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.gcov.html
index 60aeb06..44f210c 100644
--- a/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.gcov.html
+++ b/coverage-report/core/test/run-mem_region_release_unused_noalloc.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/core/test/run-mem_region_reservations.c.func-sort-c.html b/coverage-report/core/test/run-mem_region_reservations.c.func-sort-c.html
index 0099733..5360ad4 100644
--- a/coverage-report/core/test/run-mem_region_reservations.c.func-sort-c.html
+++ b/coverage-report/core/test/run-mem_region_reservations.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/core/test/run-mem_region_reservations.c.func.html b/coverage-report/core/test/run-mem_region_reservations.c.func.html
index dadd6ae..c92aea4 100644
--- a/coverage-report/core/test/run-mem_region_reservations.c.func.html
+++ b/coverage-report/core/test/run-mem_region_reservations.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/core/test/run-mem_region_reservations.c.gcov.html b/coverage-report/core/test/run-mem_region_reservations.c.gcov.html
index bc90eea..78e33b2 100644
--- a/coverage-report/core/test/run-mem_region_reservations.c.gcov.html
+++ b/coverage-report/core/test/run-mem_region_reservations.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/core/test/run-msg.c.func-sort-c.html b/coverage-report/core/test/run-msg.c.func-sort-c.html
index 4675947..d708bce 100644
--- a/coverage-report/core/test/run-msg.c.func-sort-c.html
+++ b/coverage-report/core/test/run-msg.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-msg.c.func.html b/coverage-report/core/test/run-msg.c.func.html
index d94b604..fbd8a04 100644
--- a/coverage-report/core/test/run-msg.c.func.html
+++ b/coverage-report/core/test/run-msg.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-msg.c.gcov.html b/coverage-report/core/test/run-msg.c.gcov.html
index 93e09b7..db01c03 100644
--- a/coverage-report/core/test/run-msg.c.gcov.html
+++ b/coverage-report/core/test/run-msg.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-nvram-format.c.func-sort-c.html b/coverage-report/core/test/run-nvram-format.c.func-sort-c.html
index 9003376..929f8c5 100644
--- a/coverage-report/core/test/run-nvram-format.c.func-sort-c.html
+++ b/coverage-report/core/test/run-nvram-format.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/core/test/run-nvram-format.c.func.html b/coverage-report/core/test/run-nvram-format.c.func.html
index b0f67fd..5dc1fb9 100644
--- a/coverage-report/core/test/run-nvram-format.c.func.html
+++ b/coverage-report/core/test/run-nvram-format.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/core/test/run-nvram-format.c.gcov.html b/coverage-report/core/test/run-nvram-format.c.gcov.html
index 02c2449..eabe9bc 100644
--- a/coverage-report/core/test/run-nvram-format.c.gcov.html
+++ b/coverage-report/core/test/run-nvram-format.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/core/test/run-pci-quirk.c.func-sort-c.html b/coverage-report/core/test/run-pci-quirk.c.func-sort-c.html
index 703eac6..f5cb1e6 100644
--- a/coverage-report/core/test/run-pci-quirk.c.func-sort-c.html
+++ b/coverage-report/core/test/run-pci-quirk.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/test/run-pci-quirk.c.func.html b/coverage-report/core/test/run-pci-quirk.c.func.html
index 9aa378c..29dd5a4 100644
--- a/coverage-report/core/test/run-pci-quirk.c.func.html
+++ b/coverage-report/core/test/run-pci-quirk.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/test/run-pci-quirk.c.gcov.html b/coverage-report/core/test/run-pci-quirk.c.gcov.html
index f84ebc9..cffa67d 100644
--- a/coverage-report/core/test/run-pci-quirk.c.gcov.html
+++ b/coverage-report/core/test/run-pci-quirk.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/test/run-pel.c.func-sort-c.html b/coverage-report/core/test/run-pel.c.func-sort-c.html
index 6054a31..8ad4c42 100644
--- a/coverage-report/core/test/run-pel.c.func-sort-c.html
+++ b/coverage-report/core/test/run-pel.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-pel.c.func.html b/coverage-report/core/test/run-pel.c.func.html
index c53888b..3a20a63 100644
--- a/coverage-report/core/test/run-pel.c.func.html
+++ b/coverage-report/core/test/run-pel.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-pel.c.gcov.html b/coverage-report/core/test/run-pel.c.gcov.html
index d101d43..0a2e72e 100644
--- a/coverage-report/core/test/run-pel.c.gcov.html
+++ b/coverage-report/core/test/run-pel.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/core/test/run-pool.c.func-sort-c.html b/coverage-report/core/test/run-pool.c.func-sort-c.html
index e116ca4..769ba0c 100644
--- a/coverage-report/core/test/run-pool.c.func-sort-c.html
+++ b/coverage-report/core/test/run-pool.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-pool.c.func.html b/coverage-report/core/test/run-pool.c.func.html
index eeca1a2..736ce75 100644
--- a/coverage-report/core/test/run-pool.c.func.html
+++ b/coverage-report/core/test/run-pool.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-pool.c.gcov.html b/coverage-report/core/test/run-pool.c.gcov.html
index 19e66a6..bba2837 100644
--- a/coverage-report/core/test/run-pool.c.gcov.html
+++ b/coverage-report/core/test/run-pool.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-time-utils.c.func-sort-c.html b/coverage-report/core/test/run-time-utils.c.func-sort-c.html
index aa444f6..228f2e2 100644
--- a/coverage-report/core/test/run-time-utils.c.func-sort-c.html
+++ b/coverage-report/core/test/run-time-utils.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-time-utils.c.func.html b/coverage-report/core/test/run-time-utils.c.func.html
index a6ffbbf..8422dc6 100644
--- a/coverage-report/core/test/run-time-utils.c.func.html
+++ b/coverage-report/core/test/run-time-utils.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-time-utils.c.gcov.html b/coverage-report/core/test/run-time-utils.c.gcov.html
index 51f3845..64182ac 100644
--- a/coverage-report/core/test/run-time-utils.c.gcov.html
+++ b/coverage-report/core/test/run-time-utils.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-timebase.c.func-sort-c.html b/coverage-report/core/test/run-timebase.c.func-sort-c.html
index 3b2cfc5..a5e705a 100644
--- a/coverage-report/core/test/run-timebase.c.func-sort-c.html
+++ b/coverage-report/core/test/run-timebase.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-timebase.c.func.html b/coverage-report/core/test/run-timebase.c.func.html
index 946795f..03a321a 100644
--- a/coverage-report/core/test/run-timebase.c.func.html
+++ b/coverage-report/core/test/run-timebase.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-timebase.c.gcov.html b/coverage-report/core/test/run-timebase.c.gcov.html
index cf52ba4..f1b7d5b 100644
--- a/coverage-report/core/test/run-timebase.c.gcov.html
+++ b/coverage-report/core/test/run-timebase.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/run-timer.c.func-sort-c.html b/coverage-report/core/test/run-timer.c.func-sort-c.html
index d550bce..6ab0df2 100644
--- a/coverage-report/core/test/run-timer.c.func-sort-c.html
+++ b/coverage-report/core/test/run-timer.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-timer.c.func.html b/coverage-report/core/test/run-timer.c.func.html
index c08d7ec..1eed87a 100644
--- a/coverage-report/core/test/run-timer.c.func.html
+++ b/coverage-report/core/test/run-timer.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-timer.c.gcov.html b/coverage-report/core/test/run-timer.c.gcov.html
index c63a125..ee03a58 100644
--- a/coverage-report/core/test/run-timer.c.gcov.html
+++ b/coverage-report/core/test/run-timer.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/core/test/run-trace.c.func-sort-c.html b/coverage-report/core/test/run-trace.c.func-sort-c.html
index 52b170c..30b1ee2 100644
--- a/coverage-report/core/test/run-trace.c.func-sort-c.html
+++ b/coverage-report/core/test/run-trace.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">11</td>
@@ -94,27 +94,27 @@
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#150">all_done</a></td>
- <td class="coverFnHi">1827310</td>
+ <td class="coverFnHi">1860078</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#108">lock_caller</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#71">mftb</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#115">unlock</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#25">full_barrier</a></td>
- <td class="coverFnHi">10850500</td>
+ <td class="coverFnHi">10850485</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#122">this_cpu</a></td>
- <td class="coverFnHi">12836200</td>
+ <td class="coverFnHi">12836233</td>
</tr>
</table>
<br>
diff --git a/coverage-report/core/test/run-trace.c.func.html b/coverage-report/core/test/run-trace.c.func.html
index f140f08..1d61cb0 100644
--- a/coverage-report/core/test/run-trace.c.func.html
+++ b/coverage-report/core/test/run-trace.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">11</td>
@@ -70,11 +70,11 @@
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#150">all_done</a></td>
- <td class="coverFnHi">1827310</td>
+ <td class="coverFnHi">1860078</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#25">full_barrier</a></td>
- <td class="coverFnHi">10850500</td>
+ <td class="coverFnHi">10850485</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#76">local_alloc</a></td>
@@ -82,7 +82,7 @@
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#108">lock_caller</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#258">main</a></td>
@@ -90,7 +90,7 @@
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#71">mftb</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#55">next_cpu</a></td>
@@ -106,11 +106,11 @@
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#122">this_cpu</a></td>
- <td class="coverFnHi">12836200</td>
+ <td class="coverFnHi">12836233</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#115">unlock</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="run-trace.c.gcov.html#130">write_trace_entries</a></td>
diff --git a/coverage-report/core/test/run-trace.c.gcov.html b/coverage-report/core/test/run-trace.c.gcov.html
index 767fbf3..c59ef25 100644
--- a/coverage-report/core/test/run-trace.c.gcov.html
+++ b/coverage-report/core/test/run-trace.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">11</td>
@@ -95,10 +95,10 @@
<a name="24"><span class="lineNum"> 24 </span> : : </a>
<a name="25"><span class="lineNum"> 25 </span> : : #if defined(__i386__) || defined(__x86_64__)</a>
<a name="26"><span class="lineNum"> 26 </span> : : /* This is more than a lwsync, but it'll work */</a>
-<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 10850500 : static void full_barrier(void)</span></a>
+<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 10850485 : static void full_barrier(void)</span></a>
<a name="28"><span class="lineNum"> 28 </span> : : {</a>
-<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 10850500 : asm volatile(&quot;mfence&quot; : : : &quot;memory&quot;);</span></a>
-<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 10850500 : }</span></a>
+<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 10850485 : asm volatile(&quot;mfence&quot; : : : &quot;memory&quot;);</span></a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 10850485 : }</span></a>
<a name="31"><span class="lineNum"> 31 </span> : : #define lwsync full_barrier</a>
<a name="32"><span class="lineNum"> 32 </span> : : #elif defined(__powerpc__) || defined(__powerpc64__)</a>
<a name="33"><span class="lineNum"> 33 </span> : : static inline void lwsync(void)</a>
@@ -141,9 +141,9 @@
<a name="70"><span class="lineNum"> 70 </span> : : for (cpu = first_cpu(); cpu; cpu = next_cpu(cpu))</a>
<a name="71"><span class="lineNum"> 71 </span> : : </a>
<a name="72"><span class="lineNum"> 72 </span> : : static unsigned long timestamp;</a>
-<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 6418120 : static unsigned long mftb(void)</span></a>
+<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 6418116 : static unsigned long mftb(void)</span></a>
<a name="74"><span class="lineNum"> 74 </span> : : {</a>
-<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 6418120 : return timestamp;</span></a>
+<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 6418116 : return timestamp;</span></a>
<a name="76"><span class="lineNum"> 76 </span> : : }</a>
<a name="77"><span class="lineNum"> 77 </span> : : </a>
<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 2 : static void *local_alloc(unsigned int chip_id,</span></a>
@@ -178,23 +178,23 @@
<a name="107"><span class="lineNum"> 107 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a>
<a name="108"><span class="lineNum"> 108 </span> : : }</a>
<a name="109"><span class="lineNum"> 109 </span> : : </a>
-<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 6418120 : void lock_caller(struct lock *l, const char *caller)</span></a>
+<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 6418116 : void lock_caller(struct lock *l, const char *caller)</span></a>
<a name="111"><span class="lineNum"> 111 </span> : : {</a>
<a name="112"><span class="lineNum"> 112 </span> : : (void)caller;</a>
-<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 6418120 : assert(!l-&gt;lock_val);</span></a>
-<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 6418120 : l-&gt;lock_val = 1;</span></a>
-<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 6418120 : }</span></a>
+<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 6418116 : assert(!l-&gt;lock_val);</span></a>
+<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 6418116 : l-&gt;lock_val = 1;</span></a>
+<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 6418116 : }</span></a>
<a name="116"><span class="lineNum"> 116 </span> : : </a>
-<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 6418120 : void unlock(struct lock *l)</span></a>
+<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 6418116 : void unlock(struct lock *l)</span></a>
<a name="118"><span class="lineNum"> 118 </span> : : {</a>
-<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 6418120 : assert(l-&gt;lock_val);</span></a>
-<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 6418120 : l-&gt;lock_val = 0;</span></a>
-<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 6418120 : }</span></a>
+<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 6418116 : assert(l-&gt;lock_val);</span></a>
+<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 6418116 : l-&gt;lock_val = 0;</span></a>
+<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 6418116 : }</span></a>
<a name="122"><span class="lineNum"> 122 </span> : : </a>
<a name="123"><span class="lineNum"> 123 </span> : : struct cpu_thread *my_fake_cpu;</a>
-<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 12836200 : static struct cpu_thread *this_cpu(void)</span></a>
+<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 12836233 : static struct cpu_thread *this_cpu(void)</span></a>
<a name="125"><span class="lineNum"> 125 </span> : : {</a>
-<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 12836200 : return my_fake_cpu;</span></a>
+<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 12836233 : return my_fake_cpu;</span></a>
<a name="127"><span class="lineNum"> 127 </span> : : }</a>
<a name="128"><span class="lineNum"> 128 </span> : : </a>
<a name="129"><span class="lineNum"> 129 </span> : : #include &lt;sys/mman.h&gt;</a>
@@ -207,11 +207,11 @@
<a name="136"><span class="lineNum"> 136 </span> : : union trace trace;</a>
<a name="137"><span class="lineNum"> 137 </span> : : </a>
<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 4 : timestamp = id;</span></a>
-<a name="139"><span class="lineNum"> 139 </span> :<span class="lineCov"> 4194310 : for (i = 0; i &lt; PER_CHILD_TRACES; i++) {</span></a>
-<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 4194300 : timestamp = i * CPUS + id;</span></a>
+<a name="139"><span class="lineNum"> 139 </span> :<span class="lineCov"> 4194308 : for (i = 0; i &lt; PER_CHILD_TRACES; i++) {</span></a>
+<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 4194304 : timestamp = i * CPUS + id;</span></a>
<a name="141"><span class="lineNum"> 141 </span> : : assert(sizeof(trace.hdr) % 8 == 0);</a>
<a name="142"><span class="lineNum"> 142 </span> : : /* First child never repeats, second repeats once, etc. */</a>
-<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 4194300 : trace_add(&amp;trace, 3 + ((i / (id + 1)) % 0x40),</span></a>
+<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 4194304 : trace_add(&amp;trace, 3 + ((i / (id + 1)) % 0x40),</span></a>
<a name="144"><span class="lineNum"> 144 </span> : : sizeof(trace.hdr));</a>
<a name="145"><span class="lineNum"> 145 </span> : : }</a>
<a name="146"><span class="lineNum"> 146 </span> : : </a>
@@ -220,13 +220,13 @@
<a name="149"><span class="lineNum"> 149 </span> :<span class="lineCov"> 4 : exit(0);</span></a>
<a name="150"><span class="lineNum"> 150 </span> : : }</a>
<a name="151"><span class="lineNum"> 151 </span> : : </a>
-<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 1827310 : static bool all_done(const bool done[])</span></a>
+<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 1860078 : static bool all_done(const bool done[])</span></a>
<a name="153"><span class="lineNum"> 153 </span> : : {</a>
<a name="154"><span class="lineNum"> 154 </span> : : unsigned int i;</a>
<a name="155"><span class="lineNum"> 155 </span> : : </a>
-<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 1950840 : for (i = 0; i &lt; CPUS; i++)</span></a>
-<a name="157"><span class="lineNum"> 157 </span> :<span class="lineCov"> 1950840 : if (!done[i])</span></a>
-<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 1827310 : return false;</span></a>
+<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 1909711 : for (i = 0; i &lt; CPUS; i++)</span></a>
+<a name="157"><span class="lineNum"> 157 </span> :<span class="lineCov"> 1909710 : if (!done[i])</span></a>
+<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 1860077 : return false;</span></a>
<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 1 : return true;</span></a>
<a name="160"><span class="lineNum"> 160 </span> : : }</a>
<a name="161"><span class="lineNum"> 161 </span> : : </a>
@@ -262,45 +262,45 @@
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
<a name="192"><span class="lineNum"> 192 </span> : : }</a>
<a name="193"><span class="lineNum"> 193 </span> : : </a>
-<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1827310 : while (!all_done(done)) {</span></a>
+<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1860078 : while (!all_done(done)) {</span></a>
<a name="195"><span class="lineNum"> 195 </span> : : union trace t;</a>
<a name="196"><span class="lineNum"> 196 </span> : : </a>
-<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 1833550 : for (i = 0; i &lt; CPUS; i++) {</span></a>
-<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1832000 : if (trace_get(&amp;t, &amp;trace_readers[(i+last) % CPUS]))</span></a>
-<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 1825750 : break;</span></a>
+<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 1864386 : for (i = 0; i &lt; CPUS; i++) {</span></a>
+<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1863316 : if (trace_get(&amp;t, &amp;trace_readers[(i+last) % CPUS]))</span></a>
+<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 1859007 : break;</span></a>
<a name="200"><span class="lineNum"> 200 </span> : : }</a>
<a name="201"><span class="lineNum"> 201 </span> : : </a>
-<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 1827310 : if (i == CPUS) {</span></a>
-<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 1556 : sched_yield();</span></a>
-<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 1584 : continue;</span></a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 1860077 : if (i == CPUS) {</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 1070 : sched_yield();</span></a>
+<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 1105 : continue;</span></a>
<a name="205"><span class="lineNum"> 205 </span> : : }</a>
-<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 1825750 : i = (i + last) % CPUS;</span></a>
-<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 1825750 : last = i;</span></a>
+<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 1859007 : i = (i + last) % CPUS;</span></a>
+<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 1859007 : last = i;</span></a>
<a name="208"><span class="lineNum"> 208 </span> : : </a>
-<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 1825750 : if (t.hdr.type == TRACE_OVERFLOW) {</span></a>
+<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 1859007 : if (t.hdr.type == TRACE_OVERFLOW) {</span></a>
<a name="210"><span class="lineNum"> 210 </span> : : /* Conveniently, each record is 16 bytes here. */</a>
-<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 28 : assert(be64_to_cpu(t.overflow.bytes_missed) % 16 == 0);</span></a>
-<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 28 : overflows[i] += be64_to_cpu(t.overflow.bytes_missed) / 16;</span></a>
-<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 28 : num_overflows[i]++;</span></a>
-<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 28 : continue;</span></a>
+<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 35 : assert(be64_to_cpu(t.overflow.bytes_missed) % 16 == 0);</span></a>
+<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 35 : overflows[i] += be64_to_cpu(t.overflow.bytes_missed) / 16;</span></a>
+<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 35 : num_overflows[i]++;</span></a>
+<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 35 : continue;</span></a>
<a name="215"><span class="lineNum"> 215 </span> : : }</a>
<a name="216"><span class="lineNum"> 216 </span> : : </a>
-<a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 1825720 : assert(be16_to_cpu(t.hdr.cpu) &lt; CPUS);</span></a>
-<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 1825720 : assert(!done[be16_to_cpu(t.hdr.cpu)]);</span></a>
-<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 1825720 : assert(be64_to_cpu(t.hdr.timestamp) % CPUS == be16_to_cpu(t.hdr.cpu));</span></a>
-<a name="220"><span class="lineNum"> 220 </span> :<span class="lineCov"> 1825720 : if (t.hdr.type == TRACE_REPEAT) {</span></a>
-<a name="221"><span class="lineNum"> 221 </span> :<span class="lineCov"> 699882 : assert(t.hdr.len_div_8 * 8 == sizeof(t.repeat));</span></a>
-<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 699882 : assert(be16_to_cpu(t.repeat.num) != 0);</span></a>
-<a name="223"><span class="lineNum"> 223 </span> :<span class="lineCov"> 699882 : assert(be16_to_cpu(t.repeat.num) &lt;= be16_to_cpu(t.hdr.cpu));</span></a>
-<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 699882 : repeats[be16_to_cpu(t.hdr.cpu)] += be16_to_cpu(t.repeat.num);</span></a>
-<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 1125840 : } else if (t.hdr.type == 0x70) {</span></a>
+<a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 1858972 : assert(be16_to_cpu(t.hdr.cpu) &lt; CPUS);</span></a>
+<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 1858972 : assert(!done[be16_to_cpu(t.hdr.cpu)]);</span></a>
+<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 1858972 : assert(be64_to_cpu(t.hdr.timestamp) % CPUS == be16_to_cpu(t.hdr.cpu));</span></a>
+<a name="220"><span class="lineNum"> 220 </span> :<span class="lineCov"> 1858972 : if (t.hdr.type == TRACE_REPEAT) {</span></a>
+<a name="221"><span class="lineNum"> 221 </span> :<span class="lineCov"> 706456 : assert(t.hdr.len_div_8 * 8 == sizeof(t.repeat));</span></a>
+<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 706456 : assert(be16_to_cpu(t.repeat.num) != 0);</span></a>
+<a name="223"><span class="lineNum"> 223 </span> :<span class="lineCov"> 706456 : assert(be16_to_cpu(t.repeat.num) &lt;= be16_to_cpu(t.hdr.cpu));</span></a>
+<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 706456 : repeats[be16_to_cpu(t.hdr.cpu)] += be16_to_cpu(t.repeat.num);</span></a>
+<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 1152516 : } else if (t.hdr.type == 0x70) {</span></a>
<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 4 : cpu = be16_to_cpu(t.hdr.cpu);</span></a>
<a name="227"><span class="lineNum"> 227 </span> :<span class="lineCov"> 4 : assert(cpu &lt; CPUS);</span></a>
<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 4 : done[cpu] = true;</span></a>
<a name="229"><span class="lineNum"> 229 </span> : : } else {</a>
-<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 1125840 : cpu = be16_to_cpu(t.hdr.cpu);</span></a>
-<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 1125840 : assert(cpu &lt; CPUS);</span></a>
-<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 1125840 : counts[cpu]++;</span></a>
+<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 1152512 : cpu = be16_to_cpu(t.hdr.cpu);</span></a>
+<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 1152512 : assert(cpu &lt; CPUS);</span></a>
+<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 1152512 : counts[cpu]++;</span></a>
<a name="233"><span class="lineNum"> 233 </span> : : }</a>
<a name="234"><span class="lineNum"> 234 </span> : : }</a>
<a name="235"><span class="lineNum"> 235 </span> : : </a>
@@ -383,9 +383,9 @@
<a name="312"><span class="lineNum"> 312 </span> : : /* Now put in some weird-length ones, to test overlap.</a>
<a name="313"><span class="lineNum"> 313 </span> : : * Last power of 2, minus 8. */</a>
<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 8 : for (j = 0; (1 &lt;&lt; j) &lt; sizeof(large); j++);</span></a>
-<a name="315"><span class="lineNum"> 315 </span> :<span class="lineCov"> 1046430 : for (i = 0; i &lt; TBUF_SZ; i++) {</span></a>
-<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 1046430 : timestamp = i;</span></a>
-<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 1046430 : trace_add(&amp;large, 100 + (i%2), (1 &lt;&lt; (j-1)));</span></a>
+<a name="315"><span class="lineNum"> 315 </span> :<span class="lineCov"> 1046433 : for (i = 0; i &lt; TBUF_SZ; i++) {</span></a>
+<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 1046432 : timestamp = i;</span></a>
+<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 1046432 : trace_add(&amp;large, 100 + (i%2), (1 &lt;&lt; (j-1)));</span></a>
<a name="318"><span class="lineNum"> 318 </span> : : }</a>
<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 1 : assert(trace_get(&amp;trace, my_trace_reader));</span></a>
<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 1 : assert(trace.hdr.type == TRACE_OVERFLOW);</span></a>
@@ -442,20 +442,20 @@
<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 1 : assert(trace.hdr.len_div_8 == minimal.hdr.len_div_8);</span></a>
<a name="372"><span class="lineNum"> 372 </span> :<span class="lineCov"> 1 : assert(trace.hdr.type == 100);</span></a>
<a name="373"><span class="lineNum"> 373 </span> : : </a>
-<a name="374"><span class="lineNum"> 374 </span> :<span class="lineCov"> 1046430 : for (i = 1; i &lt; TBUF_SZ; i++) {</span></a>
-<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 1046430 : timestamp = i;</span></a>
-<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 1046430 : trace_add(&amp;minimal, 100, sizeof(trace.hdr));</span></a>
-<a name="377"><span class="lineNum"> 377 </span> :<span class="lineCov"> 1046430 : assert(trace_get(&amp;trace, my_trace_reader));</span></a>
-<a name="378"><span class="lineNum"> 378 </span> :<span class="lineCov"> 1046430 : if (i % 65536 == 0) {</span></a>
+<a name="374"><span class="lineNum"> 374 </span> :<span class="lineCov"> 1046432 : for (i = 1; i &lt; TBUF_SZ; i++) {</span></a>
+<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 1046431 : timestamp = i;</span></a>
+<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 1046431 : trace_add(&amp;minimal, 100, sizeof(trace.hdr));</span></a>
+<a name="377"><span class="lineNum"> 377 </span> :<span class="lineCov"> 1046431 : assert(trace_get(&amp;trace, my_trace_reader));</span></a>
+<a name="378"><span class="lineNum"> 378 </span> :<span class="lineCov"> 1046431 : if (i % 65536 == 0) {</span></a>
<a name="379"><span class="lineNum"> 379 </span> :<span class="lineCov"> 15 : assert(trace.hdr.type == 100);</span></a>
<a name="380"><span class="lineNum"> 380 </span> :<span class="lineCov"> 15 : assert(trace.hdr.len_div_8 == minimal.hdr.len_div_8);</span></a>
<a name="381"><span class="lineNum"> 381 </span> : : } else {</a>
-<a name="382"><span class="lineNum"> 382 </span> :<span class="lineCov"> 1046420 : assert(trace.hdr.type == TRACE_REPEAT);</span></a>
-<a name="383"><span class="lineNum"> 383 </span> :<span class="lineCov"> 1046420 : assert(trace.hdr.len_div_8 * 8 == sizeof(trace.repeat));</span></a>
-<a name="384"><span class="lineNum"> 384 </span> :<span class="lineCov"> 1046420 : assert(be16_to_cpu(trace.repeat.num) == 1);</span></a>
+<a name="382"><span class="lineNum"> 382 </span> :<span class="lineCov"> 1046416 : assert(trace.hdr.type == TRACE_REPEAT);</span></a>
+<a name="383"><span class="lineNum"> 383 </span> :<span class="lineCov"> 1046416 : assert(trace.hdr.len_div_8 * 8 == sizeof(trace.repeat));</span></a>
+<a name="384"><span class="lineNum"> 384 </span> :<span class="lineCov"> 1046416 : assert(be16_to_cpu(trace.repeat.num) == 1);</span></a>
<a name="385"><span class="lineNum"> 385 </span> : : }</a>
-<a name="386"><span class="lineNum"> 386 </span> :<span class="lineCov"> 1046430 : assert(be64_to_cpu(trace.repeat.timestamp) == i);</span></a>
-<a name="387"><span class="lineNum"> 387 </span> :<span class="lineCov"> 1046430 : assert(!trace_get(&amp;trace, my_trace_reader));</span></a>
+<a name="386"><span class="lineNum"> 386 </span> :<span class="lineCov"> 1046431 : assert(be64_to_cpu(trace.repeat.timestamp) == i);</span></a>
+<a name="387"><span class="lineNum"> 387 </span> :<span class="lineCov"> 1046431 : assert(!trace_get(&amp;trace, my_trace_reader));</span></a>
<a name="388"><span class="lineNum"> 388 </span> : : }</a>
<a name="389"><span class="lineNum"> 389 </span> : : </a>
<a name="390"><span class="lineNum"> 390 </span> :<span class="lineCov"> 5 : for (i = 0; i &lt; CPUS; i++)</span></a>
diff --git a/coverage-report/core/test/stubs.c.func-sort-c.html b/coverage-report/core/test/stubs.c.func-sort-c.html
index fad2e45..bd06c4e 100644
--- a/coverage-report/core/test/stubs.c.func-sort-c.html
+++ b/coverage-report/core/test/stubs.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/stubs.c.func.html b/coverage-report/core/test/stubs.c.func.html
index c5262b7..486fbce 100644
--- a/coverage-report/core/test/stubs.c.func.html
+++ b/coverage-report/core/test/stubs.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/test/stubs.c.gcov.html b/coverage-report/core/test/stubs.c.gcov.html
index 6264947..b617853 100644
--- a/coverage-report/core/test/stubs.c.gcov.html
+++ b/coverage-report/core/test/stubs.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/core/time-utils.c.func-sort-c.html b/coverage-report/core/time-utils.c.func-sort-c.html
index 1184636..d243c2b 100644
--- a/coverage-report/core/time-utils.c.func-sort-c.html
+++ b/coverage-report/core/time-utils.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/time-utils.c.func.html b/coverage-report/core/time-utils.c.func.html
index 4054a81..4924b10 100644
--- a/coverage-report/core/time-utils.c.func.html
+++ b/coverage-report/core/time-utils.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/time-utils.c.gcov.html b/coverage-report/core/time-utils.c.gcov.html
index 870a7fd..45b9e76 100644
--- a/coverage-report/core/time-utils.c.gcov.html
+++ b/coverage-report/core/time-utils.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/core/timer.c.func-sort-c.html b/coverage-report/core/timer.c.func-sort-c.html
index 6e2233b..e2c8d07 100644
--- a/coverage-report/core/timer.c.func-sort-c.html
+++ b/coverage-report/core/timer.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/timer.c.func.html b/coverage-report/core/timer.c.func.html
index d3ba6de..1437e1b 100644
--- a/coverage-report/core/timer.c.func.html
+++ b/coverage-report/core/timer.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/timer.c.gcov.html b/coverage-report/core/timer.c.gcov.html
index 3a02796..d25fe4e 100644
--- a/coverage-report/core/timer.c.gcov.html
+++ b/coverage-report/core/timer.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/core/trace.c.func-sort-c.html b/coverage-report/core/trace.c.func-sort-c.html
index 2c5f54d..18978b1 100644
--- a/coverage-report/core/trace.c.func-sort-c.html
+++ b/coverage-report/core/trace.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
@@ -90,11 +90,11 @@
</tr>
<tr>
<td class="coverFn"><a href="trace.c.gcov.html#49">handle_repeat</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="trace.c.gcov.html#105">trace_add</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
</table>
<br>
diff --git a/coverage-report/core/trace.c.func.html b/coverage-report/core/trace.c.func.html
index 7bb8232..bbb0134 100644
--- a/coverage-report/core/trace.c.func.html
+++ b/coverage-report/core/trace.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
@@ -70,7 +70,7 @@
</tr>
<tr>
<td class="coverFn"><a href="trace.c.gcov.html#49">handle_repeat</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="trace.c.gcov.html#32">init_boot_tracebuf</a></td>
@@ -82,7 +82,7 @@
</tr>
<tr>
<td class="coverFn"><a href="trace.c.gcov.html#105">trace_add</a></td>
- <td class="coverFnHi">6418120</td>
+ <td class="coverFnHi">6418116</td>
</tr>
<tr>
<td class="coverFn"><a href="trace.c.gcov.html#205">trace_add_desc</a></td>
diff --git a/coverage-report/core/trace.c.gcov.html b/coverage-report/core/trace.c.gcov.html
index d8e2eed..c5b50e1 100644
--- a/coverage-report/core/trace.c.gcov.html
+++ b/coverage-report/core/trace.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
@@ -119,112 +119,112 @@
<a name="48"><span class="lineNum"> 48 </span> : : </a>
<a name="49"><span class="lineNum"> 49 </span> : : /* To avoid bloating each entry, repeats are actually specific entries.</a>
<a name="50"><span class="lineNum"> 50 </span> : : * tb-&gt;last points to the last (non-repeat) entry. */</a>
-<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 6418120 : static bool handle_repeat(struct tracebuf *tb, const union trace *trace)</span></a>
+<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 6418116 : static bool handle_repeat(struct tracebuf *tb, const union trace *trace)</span></a>
<a name="52"><span class="lineNum"> 52 </span> : : {</a>
<a name="53"><span class="lineNum"> 53 </span> : : struct trace_hdr *prev;</a>
<a name="54"><span class="lineNum"> 54 </span> : : struct trace_repeat *rpt;</a>
<a name="55"><span class="lineNum"> 55 </span> : : u32 len;</a>
<a name="56"><span class="lineNum"> 56 </span> : : </a>
-<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 6418120 : prev = (void *)tb-&gt;buf + be64_to_cpu(tb-&gt;last) % be64_to_cpu(tb-&gt;buf_size);</span></a>
+<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 6418116 : prev = (void *)tb-&gt;buf + be64_to_cpu(tb-&gt;last) % be64_to_cpu(tb-&gt;buf_size);</span></a>
<a name="58"><span class="lineNum"> 58 </span> : : </a>
-<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 6418120 : if (prev-&gt;type != trace-&gt;hdr.type</span></a>
-<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 3121740 : || prev-&gt;len_div_8 != trace-&gt;hdr.len_div_8</span></a>
-<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 3121740 : || prev-&gt;cpu != trace-&gt;hdr.cpu)</span></a>
-<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 3296380 : return false;</span></a>
+<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 6418116 : if (prev-&gt;type != trace-&gt;hdr.type</span></a>
+<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 3121739 : || prev-&gt;len_div_8 != trace-&gt;hdr.len_div_8</span></a>
+<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 3121739 : || prev-&gt;cpu != trace-&gt;hdr.cpu)</span></a>
+<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 3296377 : return false;</span></a>
<a name="63"><span class="lineNum"> 63 </span> : : </a>
-<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 3121740 : len = prev-&gt;len_div_8 &lt;&lt; 3;</span></a>
-<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 3121740 : if (memcmp(prev + 1, &amp;trace-&gt;hdr + 1, len - sizeof(*prev)) != 0)</span></a>
+<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 3121739 : len = prev-&gt;len_div_8 &lt;&lt; 3;</span></a>
+<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 3121739 : if (memcmp(prev + 1, &amp;trace-&gt;hdr + 1, len - sizeof(*prev)) != 0)</span></a>
<a name="66"><span class="lineNum"> 66 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="67"><span class="lineNum"> 67 </span> : : </a>
<a name="68"><span class="lineNum"> 68 </span> : : /* If they've consumed prev entry, don't repeat. */</a>
-<a name="69"><span class="lineNum"> 69 </span> :<span class="lineCov"> 3121740 : if (be64_to_cpu(tb-&gt;last) &lt; be64_to_cpu(tb-&gt;start))</span></a>
+<a name="69"><span class="lineNum"> 69 </span> :<span class="lineCov"> 3121739 : if (be64_to_cpu(tb-&gt;last) &lt; be64_to_cpu(tb-&gt;start))</span></a>
<a name="70"><span class="lineNum"> 70 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="71"><span class="lineNum"> 71 </span> : : </a>
<a name="72"><span class="lineNum"> 72 </span> : : /* OK, it's a duplicate. Do we already have repeat? */</a>
-<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 3121740 : if (be64_to_cpu(tb-&gt;last) + len != be64_to_cpu(tb-&gt;end)) {</span></a>
-<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 1985760 : u64 pos = be64_to_cpu(tb-&gt;last) + len;</span></a>
+<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 3121739 : if (be64_to_cpu(tb-&gt;last) + len != be64_to_cpu(tb-&gt;end)) {</span></a>
+<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 1985763 : u64 pos = be64_to_cpu(tb-&gt;last) + len;</span></a>
<a name="75"><span class="lineNum"> 75 </span> : : /* FIXME: Reader is not protected from seeing this! */</a>
-<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 1985760 : rpt = (void *)tb-&gt;buf + pos % be64_to_cpu(tb-&gt;buf_size);</span></a>
-<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 1985760 : assert(pos + rpt-&gt;len_div_8*8 == be64_to_cpu(tb-&gt;end));</span></a>
-<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 1985760 : assert(rpt-&gt;type == TRACE_REPEAT);</span></a>
+<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 1985763 : rpt = (void *)tb-&gt;buf + pos % be64_to_cpu(tb-&gt;buf_size);</span></a>
+<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 1985763 : assert(pos + rpt-&gt;len_div_8*8 == be64_to_cpu(tb-&gt;end));</span></a>
+<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 1985763 : assert(rpt-&gt;type == TRACE_REPEAT);</span></a>
<a name="79"><span class="lineNum"> 79 </span> : : </a>
<a name="80"><span class="lineNum"> 80 </span> : : /* If this repeat entry is full, don't repeat. */</a>
-<a name="81"><span class="lineNum"> 81 </span> :<span class="lineCov"> 1985760 : if (be16_to_cpu(rpt-&gt;num) == 0xFFFF)</span></a>
+<a name="81"><span class="lineNum"> 81 </span> :<span class="lineCov"> 1985763 : if (be16_to_cpu(rpt-&gt;num) == 0xFFFF)</span></a>
<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 16 : return false;</span></a>
<a name="83"><span class="lineNum"> 83 </span> : : </a>
-<a name="84"><span class="lineNum"> 84 </span> :<span class="lineCov"> 1985750 : rpt-&gt;num = cpu_to_be16(be16_to_cpu(rpt-&gt;num) + 1);</span></a>
-<a name="85"><span class="lineNum"> 85 </span> :<span class="lineCov"> 1985750 : rpt-&gt;timestamp = trace-&gt;hdr.timestamp;</span></a>
-<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 1985750 : return true;</span></a>
+<a name="84"><span class="lineNum"> 84 </span> :<span class="lineCov"> 1985747 : rpt-&gt;num = cpu_to_be16(be16_to_cpu(rpt-&gt;num) + 1);</span></a>
+<a name="85"><span class="lineNum"> 85 </span> :<span class="lineCov"> 1985747 : rpt-&gt;timestamp = trace-&gt;hdr.timestamp;</span></a>
+<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 1985747 : return true;</span></a>
<a name="87"><span class="lineNum"> 87 </span> : : }</a>
<a name="88"><span class="lineNum"> 88 </span> : : </a>
<a name="89"><span class="lineNum"> 89 </span> : : /*</a>
<a name="90"><span class="lineNum"> 90 </span> : : * Generate repeat entry: it's the smallest possible entry, so we</a>
<a name="91"><span class="lineNum"> 91 </span> : : * must have eliminated old entries.</a>
<a name="92"><span class="lineNum"> 92 </span> : : */</a>
-<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 1135980 : assert(trace-&gt;hdr.len_div_8 * 8 &gt;= sizeof(*rpt));</span></a>
+<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 1135976 : assert(trace-&gt;hdr.len_div_8 * 8 &gt;= sizeof(*rpt));</span></a>
<a name="94"><span class="lineNum"> 94 </span> : : </a>
-<a name="95"><span class="lineNum"> 95 </span> :<span class="lineCov"> 1135980 : rpt = (void *)tb-&gt;buf + be64_to_cpu(tb-&gt;end) % be64_to_cpu(tb-&gt;buf_size);</span></a>
-<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 1135980 : rpt-&gt;timestamp = trace-&gt;hdr.timestamp;</span></a>
-<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 1135980 : rpt-&gt;type = TRACE_REPEAT;</span></a>
-<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 1135980 : rpt-&gt;len_div_8 = sizeof(*rpt) &gt;&gt; 3;</span></a>
-<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 1135980 : rpt-&gt;cpu = trace-&gt;hdr.cpu;</span></a>
-<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 1135980 : rpt-&gt;prev_len = cpu_to_be16(trace-&gt;hdr.len_div_8 &lt;&lt; 3);</span></a>
-<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 1135980 : rpt-&gt;num = cpu_to_be16(1);</span></a>
-<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 1135980 : lwsync(); /* write barrier: complete repeat record before exposing */</span></a>
-<a name="103"><span class="lineNum"> 103 </span> :<span class="lineCov"> 1135980 : tb-&gt;end = cpu_to_be64(be64_to_cpu(tb-&gt;end) + sizeof(*rpt));</span></a>
-<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 1135980 : return true;</span></a>
+<a name="95"><span class="lineNum"> 95 </span> :<span class="lineCov"> 1135976 : rpt = (void *)tb-&gt;buf + be64_to_cpu(tb-&gt;end) % be64_to_cpu(tb-&gt;buf_size);</span></a>
+<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 1135976 : rpt-&gt;timestamp = trace-&gt;hdr.timestamp;</span></a>
+<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 1135976 : rpt-&gt;type = TRACE_REPEAT;</span></a>
+<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 1135976 : rpt-&gt;len_div_8 = sizeof(*rpt) &gt;&gt; 3;</span></a>
+<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 1135976 : rpt-&gt;cpu = trace-&gt;hdr.cpu;</span></a>
+<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 1135976 : rpt-&gt;prev_len = cpu_to_be16(trace-&gt;hdr.len_div_8 &lt;&lt; 3);</span></a>
+<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 1135976 : rpt-&gt;num = cpu_to_be16(1);</span></a>
+<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 1135976 : lwsync(); /* write barrier: complete repeat record before exposing */</span></a>
+<a name="103"><span class="lineNum"> 103 </span> :<span class="lineCov"> 1135976 : tb-&gt;end = cpu_to_be64(be64_to_cpu(tb-&gt;end) + sizeof(*rpt));</span></a>
+<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 1135976 : return true;</span></a>
<a name="105"><span class="lineNum"> 105 </span> : : }</a>
<a name="106"><span class="lineNum"> 106 </span> : : </a>
-<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 6418120 : void trace_add(union trace *trace, u8 type, u16 len)</span></a>
+<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 6418116 : void trace_add(union trace *trace, u8 type, u16 len)</span></a>
<a name="108"><span class="lineNum"> 108 </span> : : {</a>
-<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 6418120 : struct trace_info *ti = this_cpu()-&gt;trace;</span></a>
+<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 6418116 : struct trace_info *ti = this_cpu()-&gt;trace;</span></a>
<a name="110"><span class="lineNum"> 110 </span> : : unsigned int tsz;</a>
<a name="111"><span class="lineNum"> 111 </span> : : </a>
-<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 6418120 : trace-&gt;hdr.type = type;</span></a>
-<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 6418120 : trace-&gt;hdr.len_div_8 = (len + 7) &gt;&gt; 3;</span></a>
+<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 6418116 : trace-&gt;hdr.type = type;</span></a>
+<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 6418116 : trace-&gt;hdr.len_div_8 = (len + 7) &gt;&gt; 3;</span></a>
<a name="114"><span class="lineNum"> 114 </span> : : </a>
-<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 6418120 : tsz = trace-&gt;hdr.len_div_8 &lt;&lt; 3;</span></a>
+<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 6418116 : tsz = trace-&gt;hdr.len_div_8 &lt;&lt; 3;</span></a>
<a name="116"><span class="lineNum"> 116 </span> : : </a>
<a name="117"><span class="lineNum"> 117 </span> : : #ifdef DEBUG_TRACES</a>
-<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 6418120 : assert(tsz &gt;= sizeof(trace-&gt;hdr));</span></a>
-<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 6418120 : assert(tsz &lt;= sizeof(*trace));</span></a>
-<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 6418120 : assert(trace-&gt;hdr.type != TRACE_REPEAT);</span></a>
-<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 6418120 : assert(trace-&gt;hdr.type != TRACE_OVERFLOW);</span></a>
+<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 6418116 : assert(tsz &gt;= sizeof(trace-&gt;hdr));</span></a>
+<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 6418116 : assert(tsz &lt;= sizeof(*trace));</span></a>
+<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 6418116 : assert(trace-&gt;hdr.type != TRACE_REPEAT);</span></a>
+<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 6418116 : assert(trace-&gt;hdr.type != TRACE_OVERFLOW);</span></a>
<a name="122"><span class="lineNum"> 122 </span> : : #endif</a>
<a name="123"><span class="lineNum"> 123 </span> : : /* Skip traces not enabled in the debug descriptor */</a>
-<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 6418120 : if (trace-&gt;hdr.type &lt; (8 * sizeof(debug_descriptor.trace_mask)) &amp;&amp;</span></a>
-<a name="125"><span class="lineNum"> 125 </span> :<span class="lineCov"> 3997700 : !((1ul &lt;&lt; trace-&gt;hdr.type) &amp; be64_to_cpu(debug_descriptor.trace_mask)))</span></a>
+<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 6418116 : if (trace-&gt;hdr.type &lt; (8 * sizeof(debug_descriptor.trace_mask)) &amp;&amp;</span></a>
+<a name="125"><span class="lineNum"> 125 </span> :<span class="lineCov"> 3997699 : !((1ul &lt;&lt; trace-&gt;hdr.type) &amp; be64_to_cpu(debug_descriptor.trace_mask)))</span></a>
<a name="126"><span class="lineNum"> 126 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="127"><span class="lineNum"> 127 </span> : : </a>
-<a name="128"><span class="lineNum"> 128 </span> :<span class="lineCov"> 6418120 : trace-&gt;hdr.timestamp = cpu_to_be64(mftb());</span></a>
-<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 6418120 : trace-&gt;hdr.cpu = cpu_to_be16(this_cpu()-&gt;server_no);</span></a>
+<a name="128"><span class="lineNum"> 128 </span> :<span class="lineCov"> 6418116 : trace-&gt;hdr.timestamp = cpu_to_be64(mftb());</span></a>
+<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 6418116 : trace-&gt;hdr.cpu = cpu_to_be16(this_cpu()-&gt;server_no);</span></a>
<a name="130"><span class="lineNum"> 130 </span> : : </a>
-<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 6418120 : lock(&amp;ti-&gt;lock);</span></a>
+<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 6418116 : lock(&amp;ti-&gt;lock);</span></a>
<a name="132"><span class="lineNum"> 132 </span> : : </a>
<a name="133"><span class="lineNum"> 133 </span> : : /* Throw away old entries before we overwrite them. */</a>
-<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 10572500 : while ((be64_to_cpu(ti-&gt;tb.start) + be64_to_cpu(ti-&gt;tb.buf_size))</span></a>
-<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 10572500 : &lt; (be64_to_cpu(ti-&gt;tb.end) + tsz)) {</span></a>
+<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 10572499 : while ((be64_to_cpu(ti-&gt;tb.start) + be64_to_cpu(ti-&gt;tb.buf_size))</span></a>
+<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 10572499 : &lt; (be64_to_cpu(ti-&gt;tb.end) + tsz)) {</span></a>
<a name="136"><span class="lineNum"> 136 </span> : : struct trace_hdr *hdr;</a>
<a name="137"><span class="lineNum"> 137 </span> : : </a>
-<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 8308770 : hdr = (void *)ti-&gt;tb.buf +</span></a>
-<a name="139"><span class="lineNum"> 139 </span> :<span class="lineCov"> 4154380 : be64_to_cpu(ti-&gt;tb.start) % be64_to_cpu(ti-&gt;tb.buf_size);</span></a>
-<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 8308770 : ti-&gt;tb.start = cpu_to_be64(be64_to_cpu(ti-&gt;tb.start) +</span></a>
-<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 4154380 : (hdr-&gt;len_div_8 &lt;&lt; 3));</span></a>
+<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 8308766 : hdr = (void *)ti-&gt;tb.buf +</span></a>
+<a name="139"><span class="lineNum"> 139 </span> :<span class="lineCov"> 4154383 : be64_to_cpu(ti-&gt;tb.start) % be64_to_cpu(ti-&gt;tb.buf_size);</span></a>
+<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 8308766 : ti-&gt;tb.start = cpu_to_be64(be64_to_cpu(ti-&gt;tb.start) +</span></a>
+<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 4154383 : (hdr-&gt;len_div_8 &lt;&lt; 3));</span></a>
<a name="142"><span class="lineNum"> 142 </span> : : }</a>
<a name="143"><span class="lineNum"> 143 </span> : : </a>
<a name="144"><span class="lineNum"> 144 </span> : : /* Must update -&gt;start before we rewrite new entries. */</a>
-<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 6418120 : lwsync(); /* write barrier */</span></a>
+<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 6418116 : lwsync(); /* write barrier */</span></a>
<a name="146"><span class="lineNum"> 146 </span> : : </a>
<a name="147"><span class="lineNum"> 147 </span> : : /* Check for duplicates... */</a>
-<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 6418120 : if (!handle_repeat(&amp;ti-&gt;tb, trace)) {</span></a>
+<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 6418116 : if (!handle_repeat(&amp;ti-&gt;tb, trace)) {</span></a>
<a name="149"><span class="lineNum"> 149 </span> : : /* This may go off end, and that's why ti-&gt;tb.buf is oversize */</a>
-<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 3296390 : memcpy(ti-&gt;tb.buf + be64_to_cpu(ti-&gt;tb.end) % be64_to_cpu(ti-&gt;tb.buf_size),</span></a>
+<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 3296393 : memcpy(ti-&gt;tb.buf + be64_to_cpu(ti-&gt;tb.end) % be64_to_cpu(ti-&gt;tb.buf_size),</span></a>
<a name="151"><span class="lineNum"> 151 </span> : : trace, tsz);</a>
-<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 3296390 : ti-&gt;tb.last = ti-&gt;tb.end;</span></a>
-<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 3296390 : lwsync(); /* write barrier: write entry before exposing */</span></a>
-<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 3296390 : ti-&gt;tb.end = cpu_to_be64(be64_to_cpu(ti-&gt;tb.end) + tsz);</span></a>
+<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 3296393 : ti-&gt;tb.last = ti-&gt;tb.end;</span></a>
+<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 3296393 : lwsync(); /* write barrier: write entry before exposing */</span></a>
+<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 3296393 : ti-&gt;tb.end = cpu_to_be64(be64_to_cpu(ti-&gt;tb.end) + tsz);</span></a>
<a name="155"><span class="lineNum"> 155 </span> : : }</a>
-<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 6418120 : unlock(&amp;ti-&gt;lock);</span></a>
+<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 6418116 : unlock(&amp;ti-&gt;lock);</span></a>
<a name="157"><span class="lineNum"> 157 </span> : : }</a>
<a name="158"><span class="lineNum"> 158 </span> : : </a>
<a name="159"><span class="lineNum"> 159 </span> :<span class="lineNoCov"> 0 : void trace_add_dt_props(void)</span></a>
diff --git a/coverage-report/core/vpd.c.func-sort-c.html b/coverage-report/core/vpd.c.func-sort-c.html
index e02bed9..43be61c 100644
--- a/coverage-report/core/vpd.c.func-sort-c.html
+++ b/coverage-report/core/vpd.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/core/vpd.c.func.html b/coverage-report/core/vpd.c.func.html
index 4e8b7e1..c3a20b3 100644
--- a/coverage-report/core/vpd.c.func.html
+++ b/coverage-report/core/vpd.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/core/vpd.c.gcov.html b/coverage-report/core/vpd.c.gcov.html
index fc353e8..0a83f64 100644
--- a/coverage-report/core/vpd.c.gcov.html
+++ b/coverage-report/core/vpd.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/external/ffspart/ccan/endian/endian.h.func-sort-c.html b/coverage-report/external/ffspart/ccan/endian/endian.h.func-sort-c.html
index a04c956..f34c6f6 100644
--- a/coverage-report/external/ffspart/ccan/endian/endian.h.func-sort-c.html
+++ b/coverage-report/external/ffspart/ccan/endian/endian.h.func-sort-c.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">50.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/external/ffspart/ccan/endian/endian.h.func.html b/coverage-report/external/ffspart/ccan/endian/endian.h.func.html
index 3cf5b5b..1419077 100644
--- a/coverage-report/external/ffspart/ccan/endian/endian.h.func.html
+++ b/coverage-report/external/ffspart/ccan/endian/endian.h.func.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">50.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/external/ffspart/ccan/endian/endian.h.gcov.html b/coverage-report/external/ffspart/ccan/endian/endian.h.gcov.html
index 6dbbe8b..c8901ff 100644
--- a/coverage-report/external/ffspart/ccan/endian/endian.h.gcov.html
+++ b/coverage-report/external/ffspart/ccan/endian/endian.h.gcov.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">50.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -410,9 +410,9 @@
<a name="339"><span class="lineNum"> 339 </span> : : * be16_to_cpu - convert a big-endian uint16_t value</a>
<a name="340"><span class="lineNum"> 340 </span> : : * @be_val: big-endian value to convert</a>
<a name="341"><span class="lineNum"> 341 </span> : : */</a>
-<a name="342"><span class="lineNum"> 342 </span> : : static inline uint16_t be16_to_cpu(beint16_t be_val)</a>
+<a name="342"><span class="lineNum"> 342 </span> :<span class="lineNoCov"> 0 : static inline uint16_t be16_to_cpu(beint16_t be_val)</span></a>
<a name="343"><span class="lineNum"> 343 </span> : : {</a>
-<a name="344"><span class="lineNum"> 344 </span> : : return BE16_TO_CPU(be_val);</a>
+<a name="344"><span class="lineNum"> 344 </span> :<span class="lineNoCov"> 0 : return BE16_TO_CPU(be_val);</span></a>
<a name="345"><span class="lineNum"> 345 </span> : : }</a>
<a name="346"><span class="lineNum"> 346 </span> : : </a>
<a name="347"><span class="lineNum"> 347 </span> : : /* Whichever they include first, they get these definitions. */</a>
diff --git a/coverage-report/external/ffspart/ccan/endian/index-sort-b.html b/coverage-report/external/ffspart/ccan/endian/index-sort-b.html
index 3671480..b28f3ad 100644
--- a/coverage-report/external/ffspart/ccan/endian/index-sort-b.html
+++ b/coverage-report/external/ffspart/ccan/endian/index-sort-b.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">50.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=60 height=10 alt="60.0%"><img src="../../../../snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=50 height=10 alt="50.0%"><img src="../../../../snow.png" width=50 height=10 alt="50.0%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">6 / 12</td>
<td class="coverPerLo">50.0&nbsp;%</td>
<td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/ffspart/ccan/endian/index-sort-f.html b/coverage-report/external/ffspart/ccan/endian/index-sort-f.html
index 71d4434..be1becf 100644
--- a/coverage-report/external/ffspart/ccan/endian/index-sort-f.html
+++ b/coverage-report/external/ffspart/ccan/endian/index-sort-f.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">50.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=60 height=10 alt="60.0%"><img src="../../../../snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=50 height=10 alt="50.0%"><img src="../../../../snow.png" width=50 height=10 alt="50.0%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">6 / 12</td>
<td class="coverPerLo">50.0&nbsp;%</td>
<td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/ffspart/ccan/endian/index-sort-l.html b/coverage-report/external/ffspart/ccan/endian/index-sort-l.html
index 9b4ea45..0f159ad 100644
--- a/coverage-report/external/ffspart/ccan/endian/index-sort-l.html
+++ b/coverage-report/external/ffspart/ccan/endian/index-sort-l.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">50.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=60 height=10 alt="60.0%"><img src="../../../../snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=50 height=10 alt="50.0%"><img src="../../../../snow.png" width=50 height=10 alt="50.0%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">6 / 12</td>
<td class="coverPerLo">50.0&nbsp;%</td>
<td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/ffspart/ccan/endian/index.html b/coverage-report/external/ffspart/ccan/endian/index.html
index d75033a..a188bb5 100644
--- a/coverage-report/external/ffspart/ccan/endian/index.html
+++ b/coverage-report/external/ffspart/ccan/endian/index.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">50.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=60 height=10 alt="60.0%"><img src="../../../../snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=50 height=10 alt="50.0%"><img src="../../../../snow.png" width=50 height=10 alt="50.0%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">6 / 12</td>
<td class="coverPerLo">50.0&nbsp;%</td>
<td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/ffspart/common/arch_flash_common.c.func-sort-c.html b/coverage-report/external/ffspart/common/arch_flash_common.c.func-sort-c.html
index f4b37f5..40f9954 100644
--- a/coverage-report/external/ffspart/common/arch_flash_common.c.func-sort-c.html
+++ b/coverage-report/external/ffspart/common/arch_flash_common.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/ffspart/common/arch_flash_common.c.func.html b/coverage-report/external/ffspart/common/arch_flash_common.c.func.html
index d9219b6..7f7fe23 100644
--- a/coverage-report/external/ffspart/common/arch_flash_common.c.func.html
+++ b/coverage-report/external/ffspart/common/arch_flash_common.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/ffspart/common/arch_flash_common.c.gcov.html b/coverage-report/external/ffspart/common/arch_flash_common.c.gcov.html
index 6bb8eb2..ee878fc 100644
--- a/coverage-report/external/ffspart/common/arch_flash_common.c.gcov.html
+++ b/coverage-report/external/ffspart/common/arch_flash_common.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/ffspart/common/arch_flash_unknown.c.func-sort-c.html b/coverage-report/external/ffspart/common/arch_flash_unknown.c.func-sort-c.html
index 604019d..62a781e 100644
--- a/coverage-report/external/ffspart/common/arch_flash_unknown.c.func-sort-c.html
+++ b/coverage-report/external/ffspart/common/arch_flash_unknown.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/ffspart/common/arch_flash_unknown.c.func.html b/coverage-report/external/ffspart/common/arch_flash_unknown.c.func.html
index 0eea928..dbb266a 100644
--- a/coverage-report/external/ffspart/common/arch_flash_unknown.c.func.html
+++ b/coverage-report/external/ffspart/common/arch_flash_unknown.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/ffspart/common/arch_flash_unknown.c.gcov.html b/coverage-report/external/ffspart/common/arch_flash_unknown.c.gcov.html
index fe7c229..afa3123 100644
--- a/coverage-report/external/ffspart/common/arch_flash_unknown.c.gcov.html
+++ b/coverage-report/external/ffspart/common/arch_flash_unknown.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/ffspart/common/index-sort-b.html b/coverage-report/external/ffspart/common/index-sort-b.html
index e2af867..9d473c1 100644
--- a/coverage-report/external/ffspart/common/index-sort-b.html
+++ b/coverage-report/external/ffspart/common/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -82,18 +82,6 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="arch_flash_unknown.c.gcov.html">arch_flash_unknown.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=86 height=10 alt="85.7%"><img src="../../../snow.png" width=14 height=10 alt="85.7%"></td></tr></table>
- </td>
- <td class="coverPerMed">85.7&nbsp;%</td>
- <td class="coverNumMed">12 / 14</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="arch_flash_common.c.gcov.html">arch_flash_common.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
@@ -105,6 +93,18 @@
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
+ <tr>
+ <td class="coverFile"><a href="arch_flash_unknown.c.gcov.html">arch_flash_unknown.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=86 height=10 alt="85.7%"><img src="../../../snow.png" width=14 height=10 alt="85.7%"></td></tr></table>
+ </td>
+ <td class="coverPerMed">85.7&nbsp;%</td>
+ <td class="coverNumMed">12 / 14</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
</table>
</center>
<br>
diff --git a/coverage-report/external/ffspart/common/index-sort-f.html b/coverage-report/external/ffspart/common/index-sort-f.html
index 74959f5..55c255b 100644
--- a/coverage-report/external/ffspart/common/index-sort-f.html
+++ b/coverage-report/external/ffspart/common/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/ffspart/common/index-sort-l.html b/coverage-report/external/ffspart/common/index-sort-l.html
index 4c09a8c..1ee7d0c 100644
--- a/coverage-report/external/ffspart/common/index-sort-l.html
+++ b/coverage-report/external/ffspart/common/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/ffspart/common/index.html b/coverage-report/external/ffspart/common/index.html
index 5aa419e..6f8f6fb 100644
--- a/coverage-report/external/ffspart/common/index.html
+++ b/coverage-report/external/ffspart/common/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/ffspart/ffspart.c.func-sort-c.html b/coverage-report/external/ffspart/ffspart.c.func-sort-c.html
index 1a85283..c2eddd0 100644
--- a/coverage-report/external/ffspart/ffspart.c.func-sort-c.html
+++ b/coverage-report/external/ffspart/ffspart.c.func-sort-c.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td></td>
@@ -84,6 +84,14 @@
<td class="coverFn"><a href="ffspart.c.gcov.html#114">parse_entry</a></td>
<td class="coverFnHi">28</td>
</tr>
+ <tr>
+ <td class="coverFn"><a href="ffspart.c.gcov.html#50">read_u32</a></td>
+ <td class="coverFnHi">56</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="ffspart.c.gcov.html#57">advance_line</a></td>
+ <td class="coverFnHi">168</td>
+ </tr>
</table>
<br>
</center>
diff --git a/coverage-report/external/ffspart/ffspart.c.func.html b/coverage-report/external/ffspart/ffspart.c.func.html
index 8c9f658..be9f91e 100644
--- a/coverage-report/external/ffspart/ffspart.c.func.html
+++ b/coverage-report/external/ffspart/ffspart.c.func.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td></td>
@@ -69,6 +69,10 @@
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="ffspart.c.func-sort-c.html"><img src="../../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
+ <td class="coverFn"><a href="ffspart.c.gcov.html#57">advance_line</a></td>
+ <td class="coverFnHi">168</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="ffspart.c.gcov.html#366">main</a></td>
<td class="coverFnHi">6</td>
</tr>
@@ -84,6 +88,10 @@
<td class="coverFn"><a href="ffspart.c.gcov.html#349">print_help</a></td>
<td class="coverFnLo">0</td>
</tr>
+ <tr>
+ <td class="coverFn"><a href="ffspart.c.gcov.html#50">read_u32</a></td>
+ <td class="coverFnHi">56</td>
+ </tr>
</table>
<br>
</center>
diff --git a/coverage-report/external/ffspart/ffspart.c.gcov.html b/coverage-report/external/ffspart/ffspart.c.gcov.html
index 414fa46..ab494b1 100644
--- a/coverage-report/external/ffspart/ffspart.c.gcov.html
+++ b/coverage-report/external/ffspart/ffspart.c.gcov.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td></td>
@@ -123,16 +123,16 @@
<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 56 : static int read_u32(const char *input, uint32_t *val)</span></a>
<a name="53"><span class="lineNum"> 53 </span> : : {</a>
<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 56 : char *endptr;</span></a>
-<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 112 : *val = strtoul(input, &amp;endptr, 0);</span></a>
+<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 56 : *val = strtoul(input, &amp;endptr, 0);</span></a>
<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 56 : return (*endptr == SEPARATOR) ? 0 : 1;</span></a>
<a name="57"><span class="lineNum"> 57 </span> : : }</a>
<a name="58"><span class="lineNum"> 58 </span> : : </a>
-<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 196 : static const char *advance_line(const char *input)</span></a>
+<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 168 : static const char *advance_line(const char *input)</span></a>
<a name="60"><span class="lineNum"> 60 </span> : : {</a>
-<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 196 : char *pos = strchr(input, SEPARATOR);</span></a>
-<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 196 : if (!pos)</span></a>
+<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 168 : char *pos = strchr(input, SEPARATOR);</span></a>
+<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 168 : if (!pos)</span></a>
<a name="63"><span class="lineNum"> 63 </span> : : return NULL;</a>
-<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 28 : return pos + 1;</span></a>
+<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 168 : return pos + 1;</span></a>
<a name="65"><span class="lineNum"> 65 </span> : : }</a>
<a name="66"><span class="lineNum"> 66 </span> : : </a>
<a name="67"><span class="lineNum"> 67 </span> :<span class="lineNoCov"> 0 : static struct ffs_hdr *parse_toc(const char *line, uint32_t block_size,</span></a>
diff --git a/coverage-report/external/ffspart/index-sort-b.html b/coverage-report/external/ffspart/index-sort-b.html
index f1111d0..52eff7e 100644
--- a/coverage-report/external/ffspart/index-sort-b.html
+++ b/coverage-report/external/ffspart/index-sort-b.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td></td>
@@ -88,8 +88,8 @@
</td>
<td class="coverPerLo">45.8&nbsp;%</td>
<td class="coverNumLo">135 / 295</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">2 / 4</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">4 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/ffspart/index-sort-f.html b/coverage-report/external/ffspart/index-sort-f.html
index d326d20..c206d4e 100644
--- a/coverage-report/external/ffspart/index-sort-f.html
+++ b/coverage-report/external/ffspart/index-sort-f.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td></td>
@@ -88,8 +88,8 @@
</td>
<td class="coverPerLo">45.8&nbsp;%</td>
<td class="coverNumLo">135 / 295</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">2 / 4</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">4 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/ffspart/index-sort-l.html b/coverage-report/external/ffspart/index-sort-l.html
index 42ffc95..dea5089 100644
--- a/coverage-report/external/ffspart/index-sort-l.html
+++ b/coverage-report/external/ffspart/index-sort-l.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td></td>
@@ -88,8 +88,8 @@
</td>
<td class="coverPerLo">45.8&nbsp;%</td>
<td class="coverNumLo">135 / 295</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">2 / 4</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">4 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/ffspart/index.html b/coverage-report/external/ffspart/index.html
index dfb4581..8a00942 100644
--- a/coverage-report/external/ffspart/index.html
+++ b/coverage-report/external/ffspart/index.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td></td>
@@ -88,8 +88,8 @@
</td>
<td class="coverPerLo">45.8&nbsp;%</td>
<td class="coverNumLo">135 / 295</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">2 / 4</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">4 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/blocklevel.c.func-sort-c.html b/coverage-report/external/ffspart/libflash/blocklevel.c.func-sort-c.html
index 1777528..af7f8a9 100644
--- a/coverage-report/external/ffspart/libflash/blocklevel.c.func-sort-c.html
+++ b/coverage-report/external/ffspart/libflash/blocklevel.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">83</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">22.6 %</td>
+ <td class="headerCovTableEntry">98</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">25.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryLo">54.5 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryLo">57.1 %</td>
</tr>
<tr>
<td></td>
@@ -69,6 +69,10 @@
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#355">blocklevel_flashcmp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#319">blocklevel_get_info</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -109,6 +113,14 @@
<td class="coverFnHi">34</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
+ <td class="coverFnHi">34</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
+ <td class="coverFnHi">46</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#68">release</a></td>
<td class="coverFnHi">46</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/blocklevel.c.func.html b/coverage-report/external/ffspart/libflash/blocklevel.c.func.html
index f529c47..bf7d240 100644
--- a/coverage-report/external/ffspart/libflash/blocklevel.c.func.html
+++ b/coverage-report/external/ffspart/libflash/blocklevel.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">83</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">22.6 %</td>
+ <td class="headerCovTableEntry">98</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">25.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryLo">54.5 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryLo">57.1 %</td>
</tr>
<tr>
<td></td>
@@ -77,6 +77,10 @@
<td class="coverFnHi">12</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#355">blocklevel_flashcmp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#319">blocklevel_get_info</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -105,10 +109,18 @@
<td class="coverFnHi">34</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
+ <td class="coverFnHi">34</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#643">insert_bl_prot_range</a></td>
<td class="coverFnHi">20</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
+ <td class="coverFnHi">46</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#68">release</a></td>
<td class="coverFnHi">46</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html b/coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html
index 22037b0..fbd29bd 100644
--- a/coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html
+++ b/coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">83</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">22.6 %</td>
+ <td class="headerCovTableEntry">98</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">25.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryLo">54.5 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryLo">57.1 %</td>
</tr>
<tr>
<td></td>
@@ -93,21 +93,21 @@
<a name="22"><span class="lineNum"> 22 </span> : : * 0 - The region is not ECC protected</a>
<a name="23"><span class="lineNum"> 23 </span> : : * -1 - Partially protected</a>
<a name="24"><span class="lineNum"> 24 </span> : : */</a>
-<a name="25"><span class="lineNum"> 25 </span> : : static int ecc_protected(struct blocklevel_device *bl, uint64_t pos, uint64_t len, uint64_t *start)</a>
+<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 34 : static int ecc_protected(struct blocklevel_device *bl, uint64_t pos, uint64_t len, uint64_t *start)</span></a>
<a name="26"><span class="lineNum"> 26 </span> : : {</a>
-<a name="27"><span class="lineNum"> 27 </span> : : int i;</a>
+<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 34 : int i;</span></a>
<a name="28"><span class="lineNum"> 28 </span> : : </a>
<a name="29"><span class="lineNum"> 29 </span> : : /* Length of 0 is nonsensical so add 1 */</a>
-<a name="30"><span class="lineNum"> 30 </span> : : if (len == 0)</a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 34 : if (len == 0)</span></a>
<a name="31"><span class="lineNum"> 31 </span> : : len = 1;</a>
<a name="32"><span class="lineNum"> 32 </span> : : </a>
-<a name="33"><span class="lineNum"> 33 </span> : : for (i = 0; i &lt; bl-&gt;ecc_prot.n_prot; i++) {</a>
+<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 92 : for (i = 0; i &lt; bl-&gt;ecc_prot.n_prot; i++) {</span></a>
<a name="34"><span class="lineNum"> 34 </span> : : /* Fits entirely within the range */</a>
-<a name="35"><span class="lineNum"> 35 </span> : : if (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</a>
-<a name="36"><span class="lineNum"> 36 </span> : : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt;= pos + len) {</a>
-<a name="37"><span class="lineNum"> 37 </span> : : if (start)</a>
-<a name="38"><span class="lineNum"> 38 </span> : : *start = bl-&gt;ecc_prot.prot[i].start;</a>
-<a name="39"><span class="lineNum"> 39 </span> : : return 1;</a>
+<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 78 : if (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</span></a>
+<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 58 : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt;= pos + len) {</span></a>
+<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 20 : if (start)</span></a>
+<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 20 : *start = bl-&gt;ecc_prot.prot[i].start;</span></a>
+<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 20 : return 1;</span></a>
<a name="40"><span class="lineNum"> 40 </span> : : }</a>
<a name="41"><span class="lineNum"> 41 </span> : : </a>
<a name="42"><span class="lineNum"> 42 </span> : : /*</a>
@@ -115,12 +115,12 @@
<a name="44"><span class="lineNum"> 44 </span> : : * contiguous regions are sanely ECC protected so a partial fit</a>
<a name="45"><span class="lineNum"> 45 </span> : : * is no good.</a>
<a name="46"><span class="lineNum"> 46 </span> : : */</a>
-<a name="47"><span class="lineNum"> 47 </span> : : if ((bl-&gt;ecc_prot.prot[i].start &gt;= pos &amp;&amp; bl-&gt;ecc_prot.prot[i].start &lt; pos + len) ||</a>
-<a name="48"><span class="lineNum"> 48 </span> : : (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</a>
-<a name="49"><span class="lineNum"> 49 </span> : : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt; pos)) {</a>
-<a name="50"><span class="lineNum"> 50 </span> : : if (start)</a>
-<a name="51"><span class="lineNum"> 51 </span> : : *start = bl-&gt;ecc_prot.prot[i].start;</a>
-<a name="52"><span class="lineNum"> 52 </span> : : return -1;</a>
+<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 58 : if ((bl-&gt;ecc_prot.prot[i].start &gt;= pos &amp;&amp; bl-&gt;ecc_prot.prot[i].start &lt; pos + len) ||</span></a>
+<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 38 : (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</span></a>
+<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 38 : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt; pos)) {</span></a>
+<a name="50"><span class="lineNum"> 50 </span> :<span class="lineNoCov"> 0 : if (start)</span></a>
+<a name="51"><span class="lineNum"> 51 </span> :<span class="lineNoCov"> 0 : *start = bl-&gt;ecc_prot.prot[i].start;</span></a>
+<a name="52"><span class="lineNum"> 52 </span> :<span class="lineNoCov"> 0 : return -1;</span></a>
<a name="53"><span class="lineNum"> 53 </span> : : }</a>
<a name="54"><span class="lineNum"> 54 </span> : : }</a>
<a name="55"><span class="lineNum"> 55 </span> : : return 0;</a>
@@ -133,7 +133,7 @@
<a name="62"><span class="lineNum"> 62 </span> : : </a>
<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 46 : static int reacquire(struct blocklevel_device *bl)</span></a>
<a name="64"><span class="lineNum"> 64 </span> : : {</a>
-<a name="65"><span class="lineNum"> 65 </span> :<span class="lineNoCov"> 0 : if (!bl-&gt;keep_alive &amp;&amp; bl-&gt;reacquire)</span></a>
+<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 46 : if (!bl-&gt;keep_alive &amp;&amp; bl-&gt;reacquire)</span></a>
<a name="66"><span class="lineNum"> 66 </span> :<span class="lineNoCov"> 0 : return bl-&gt;reacquire(bl);</span></a>
<a name="67"><span class="lineNum"> 67 </span> : : return 0;</a>
<a name="68"><span class="lineNum"> 68 </span> : : }</a>
@@ -248,7 +248,7 @@
<a name="177"><span class="lineNum"> 177 </span> : : }</a>
<a name="178"><span class="lineNum"> 178 </span> : : </a>
<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 34 : rc = reacquire(bl);</span></a>
-<a name="180"><span class="lineNum"> 180 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 34 : if (rc)</span></a>
<a name="181"><span class="lineNum"> 181 </span> : : return rc;</a>
<a name="182"><span class="lineNum"> 182 </span> : : </a>
<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 34 : rc = bl-&gt;write(bl, pos, buf, len);</span></a>
@@ -379,7 +379,7 @@
<a name="308"><span class="lineNum"> 308 </span> : : }</a>
<a name="309"><span class="lineNum"> 309 </span> : : </a>
<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 12 : rc = reacquire(bl);</span></a>
-<a name="311"><span class="lineNum"> 311 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 12 : if (rc)</span></a>
<a name="312"><span class="lineNum"> 312 </span> : : return rc;</a>
<a name="313"><span class="lineNum"> 313 </span> : : </a>
<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 12 : rc = bl-&gt;erase(bl, pos, len);</span></a>
diff --git a/coverage-report/external/ffspart/libflash/ecc.c.func-sort-c.html b/coverage-report/external/ffspart/libflash/ecc.c.func-sort-c.html
index c2ea594..9d32daf 100644
--- a/coverage-report/external/ffspart/libflash/ecc.c.func-sort-c.html
+++ b/coverage-report/external/ffspart/libflash/ecc.c.func-sort-c.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">15</td>
- <td class="headerCovTableEntry">106</td>
- <td class="headerCovTableEntryLo">14.2 %</td>
+ <td class="headerCovTableEntry">105</td>
+ <td class="headerCovTableEntryLo">14.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
- <td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntryLo">20.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">16.7 %</td>
</tr>
<tr>
<td></td>
@@ -73,6 +73,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="ecc.c.gcov.html#205">memcpy_from_ecc</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/ecc.c.func.html b/coverage-report/external/ffspart/libflash/ecc.c.func.html
index 539d808..b46b01c 100644
--- a/coverage-report/external/ffspart/libflash/ecc.c.func.html
+++ b/coverage-report/external/ffspart/libflash/ecc.c.func.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">15</td>
- <td class="headerCovTableEntry">106</td>
- <td class="headerCovTableEntryLo">14.2 %</td>
+ <td class="headerCovTableEntry">105</td>
+ <td class="headerCovTableEntryLo">14.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
- <td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntryLo">20.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">16.7 %</td>
</tr>
<tr>
<td></td>
@@ -73,6 +73,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="ecc.c.gcov.html#205">memcpy_from_ecc</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/ecc.c.gcov.html b/coverage-report/external/ffspart/libflash/ecc.c.gcov.html
index a1af422..6e61a15 100644
--- a/coverage-report/external/ffspart/libflash/ecc.c.gcov.html
+++ b/coverage-report/external/ffspart/libflash/ecc.c.gcov.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">15</td>
- <td class="headerCovTableEntry">106</td>
- <td class="headerCovTableEntryLo">14.2 %</td>
+ <td class="headerCovTableEntry">105</td>
+ <td class="headerCovTableEntryLo">14.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
- <td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntryLo">20.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryLo">16.7 %</td>
</tr>
<tr>
<td></td>
@@ -256,7 +256,7 @@
<a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : return i &amp; ~(BYTES_PER_ECC - 1);</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : }</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
-<a name="188"><span class="lineNum"> 188 </span> :<span class="lineNoCov"> 0 : static uint64_t whole_ecc_structs(uint64_t i)</span></a>
+<a name="188"><span class="lineNum"> 188 </span> : : static uint64_t whole_ecc_structs(uint64_t i)</a>
<a name="189"><span class="lineNum"> 189 </span> : : {</a>
<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : return whole_ecc_bytes(i) &gt;&gt; 3;</span></a>
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
diff --git a/coverage-report/external/ffspart/libflash/ecc.h.func-sort-c.html b/coverage-report/external/ffspart/libflash/ecc.h.func-sort-c.html
index c9461a5..557bc5f 100644
--- a/coverage-report/external/ffspart/libflash/ecc.h.func-sort-c.html
+++ b/coverage-report/external/ffspart/libflash/ecc.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/ffspart/libflash/ecc.h.func.html b/coverage-report/external/ffspart/libflash/ecc.h.func.html
index fe04427..c8570c2 100644
--- a/coverage-report/external/ffspart/libflash/ecc.h.func.html
+++ b/coverage-report/external/ffspart/libflash/ecc.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/ffspart/libflash/ecc.h.gcov.html b/coverage-report/external/ffspart/libflash/ecc.h.gcov.html
index 4c496ce..a00661b 100644
--- a/coverage-report/external/ffspart/libflash/ecc.h.gcov.html
+++ b/coverage-report/external/ffspart/libflash/ecc.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/ffspart/libflash/file.c.func-sort-c.html b/coverage-report/external/ffspart/libflash/file.c.func-sort-c.html
index cef530a..7c7533b 100644
--- a/coverage-report/external/ffspart/libflash/file.c.func-sort-c.html
+++ b/coverage-report/external/ffspart/libflash/file.c.func-sort-c.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">71</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">43.6 %</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">38.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">46.2 %</td>
</tr>
<tr>
<td></td>
@@ -85,6 +85,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="file.c.gcov.html#177">get_info_name</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="file.c.gcov.html#122">mtd_erase</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/file.c.func.html b/coverage-report/external/ffspart/libflash/file.c.func.html
index 81e0707..52fd631 100644
--- a/coverage-report/external/ffspart/libflash/file.c.func.html
+++ b/coverage-report/external/ffspart/libflash/file.c.func.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">71</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">43.6 %</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">38.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">46.2 %</td>
</tr>
<tr>
<td></td>
@@ -109,6 +109,10 @@
<td class="coverFnHi">58</td>
</tr>
<tr>
+ <td class="coverFn"><a href="file.c.gcov.html#177">get_info_name</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="file.c.gcov.html#122">mtd_erase</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/file.c.gcov.html b/coverage-report/external/ffspart/libflash/file.c.gcov.html
index 1677c85..ab9302b 100644
--- a/coverage-report/external/ffspart/libflash/file.c.gcov.html
+++ b/coverage-report/external/ffspart/libflash/file.c.gcov.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">71</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">43.6 %</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">38.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">50.0 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">46.2 %</td>
</tr>
<tr>
<td></td>
@@ -247,38 +247,38 @@
<a name="176"><span class="lineNum"> 176 </span> : : return 0;</a>
<a name="177"><span class="lineNum"> 177 </span> : : }</a>
<a name="178"><span class="lineNum"> 178 </span> : : </a>
-<a name="179"><span class="lineNum"> 179 </span> : : static int get_info_name(struct file_data *file_data, char **name)</a>
+<a name="179"><span class="lineNum"> 179 </span> :<span class="lineNoCov"> 0 : static int get_info_name(struct file_data *file_data, char **name)</span></a>
<a name="180"><span class="lineNum"> 180 </span> : : {</a>
-<a name="181"><span class="lineNum"> 181 </span> : : char *path, *lpath;</a>
-<a name="182"><span class="lineNum"> 182 </span> : : int len;</a>
-<a name="183"><span class="lineNum"> 183 </span> : : struct stat st;</a>
+<a name="181"><span class="lineNum"> 181 </span> :<span class="lineNoCov"> 0 : char *path, *lpath;</span></a>
+<a name="182"><span class="lineNum"> 182 </span> :<span class="lineNoCov"> 0 : int len;</span></a>
+<a name="183"><span class="lineNum"> 183 </span> :<span class="lineNoCov"> 0 : struct stat st;</span></a>
<a name="184"><span class="lineNum"> 184 </span> : : </a>
-<a name="185"><span class="lineNum"> 185 </span> : : if (asprintf(&amp;path, &quot;/proc/self/fd/%d&quot;, file_data-&gt;fd) == -1)</a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : if (asprintf(&amp;path, &quot;/proc/self/fd/%d&quot;, file_data-&gt;fd) == -1)</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : return FLASH_ERR_MALLOC_FAILED;</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
-<a name="188"><span class="lineNum"> 188 </span> : : if (lstat(path, &amp;st)) {</a>
-<a name="189"><span class="lineNum"> 189 </span> : : free(path);</a>
-<a name="190"><span class="lineNum"> 190 </span> : : return FLASH_ERR_PARM_ERROR;</a>
+<a name="188"><span class="lineNum"> 188 </span> :<span class="lineNoCov"> 0 : if (lstat(path, &amp;st)) {</span></a>
+<a name="189"><span class="lineNum"> 189 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_PARM_ERROR;</span></a>
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
<a name="192"><span class="lineNum"> 192 </span> : : </a>
-<a name="193"><span class="lineNum"> 193 </span> : : lpath = malloc(st.st_size + 1);</a>
-<a name="194"><span class="lineNum"> 194 </span> : : if (!lpath) {</a>
-<a name="195"><span class="lineNum"> 195 </span> : : free(path);</a>
-<a name="196"><span class="lineNum"> 196 </span> : : return FLASH_ERR_MALLOC_FAILED;</a>
+<a name="193"><span class="lineNum"> 193 </span> :<span class="lineNoCov"> 0 : lpath = malloc(st.st_size + 1);</span></a>
+<a name="194"><span class="lineNum"> 194 </span> :<span class="lineNoCov"> 0 : if (!lpath) {</span></a>
+<a name="195"><span class="lineNum"> 195 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="196"><span class="lineNum"> 196 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_MALLOC_FAILED;</span></a>
<a name="197"><span class="lineNum"> 197 </span> : : }</a>
<a name="198"><span class="lineNum"> 198 </span> : : </a>
-<a name="199"><span class="lineNum"> 199 </span> : : len = readlink(path, lpath, st.st_size +1);</a>
-<a name="200"><span class="lineNum"> 200 </span> : : if (len == -1) {</a>
-<a name="201"><span class="lineNum"> 201 </span> : : free(path);</a>
-<a name="202"><span class="lineNum"> 202 </span> : : free(lpath);</a>
-<a name="203"><span class="lineNum"> 203 </span> : : return FLASH_ERR_PARM_ERROR;</a>
+<a name="199"><span class="lineNum"> 199 </span> :<span class="lineNoCov"> 0 : len = readlink(path, lpath, st.st_size +1);</span></a>
+<a name="200"><span class="lineNum"> 200 </span> :<span class="lineNoCov"> 0 : if (len == -1) {</span></a>
+<a name="201"><span class="lineNum"> 201 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : free(lpath);</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_PARM_ERROR;</span></a>
<a name="204"><span class="lineNum"> 204 </span> : : }</a>
-<a name="205"><span class="lineNum"> 205 </span> : : lpath[len] = '\0';</a>
+<a name="205"><span class="lineNum"> 205 </span> :<span class="lineNoCov"> 0 : lpath[len] = '\0';</span></a>
<a name="206"><span class="lineNum"> 206 </span> : : </a>
-<a name="207"><span class="lineNum"> 207 </span> : : *name = lpath;</a>
+<a name="207"><span class="lineNum"> 207 </span> :<span class="lineNoCov"> 0 : *name = lpath;</span></a>
<a name="208"><span class="lineNum"> 208 </span> : : </a>
-<a name="209"><span class="lineNum"> 209 </span> : : free(path);</a>
-<a name="210"><span class="lineNum"> 210 </span> : : return 0;</a>
+<a name="209"><span class="lineNum"> 209 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="210"><span class="lineNum"> 210 </span> :<span class="lineNoCov"> 0 : return 0;</span></a>
<a name="211"><span class="lineNum"> 211 </span> : : }</a>
<a name="212"><span class="lineNum"> 212 </span> : : </a>
<a name="213"><span class="lineNum"> 213 </span> : : </a>
diff --git a/coverage-report/external/ffspart/libflash/index-sort-b.html b/coverage-report/external/ffspart/libflash/index-sort-b.html
index fc09ee4..d8e324f 100644
--- a/coverage-report/external/ffspart/libflash/index-sort-b.html
+++ b/coverage-report/external/ffspart/libflash/index-sort-b.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">371</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">25.7 %</td>
+ <td class="headerCovTableEntry">384</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">25.1 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">26</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">36.1 %</td>
+ <td class="headerCovTableEntry">30</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">35.3 %</td>
</tr>
<tr>
<td></td>
@@ -82,74 +82,74 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
+ <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=14 height=10 alt="14.3%"><img src="../../../snow.png" width=86 height=10 alt="14.3%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverPerLo">14.3&nbsp;%</td>
+ <td class="coverNumLo">15 / 105</td>
+ <td class="coverPerLo">16.7&nbsp;%</td>
+ <td class="coverNumLo">1 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
+ <td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=14 height=10 alt="14.2%"><img src="../../../snow.png" width=86 height=10 alt="14.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerLo">14.2&nbsp;%</td>
- <td class="coverNumLo">15 / 106</td>
- <td class="coverPerLo">20.0&nbsp;%</td>
- <td class="coverNumLo">1 / 5</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 419</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.h.gcov.html">ecc.h</a></td>
+ <td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=45 height=10 alt="44.7%"><img src="../../../snow.png" width=55 height=10 alt="44.7%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
+ <td class="coverPerLo">44.7&nbsp;%</td>
+ <td class="coverNumLo">192 / 430</td>
+ <td class="coverPerLo">53.6&nbsp;%</td>
+ <td class="coverNumLo">15 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
+ <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=23 height=10 alt="22.6%"><img src="../../../snow.png" width=77 height=10 alt="22.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=39 height=10 alt="38.6%"><img src="../../../snow.png" width=61 height=10 alt="38.6%"></td></tr></table>
</td>
- <td class="coverPerLo">22.6&nbsp;%</td>
- <td class="coverNumLo">83 / 367</td>
- <td class="coverPerLo">54.5&nbsp;%</td>
- <td class="coverNumLo">6 / 11</td>
+ <td class="coverPerLo">38.6&nbsp;%</td>
+ <td class="coverNumLo">71 / 184</td>
+ <td class="coverPerLo">46.2&nbsp;%</td>
+ <td class="coverNumLo">6 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
+ <td class="coverFile"><a href="ecc.h.gcov.html">ecc.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=44 height=10 alt="43.6%"><img src="../../../snow.png" width=56 height=10 alt="43.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">43.6&nbsp;%</td>
- <td class="coverNumLo">71 / 163</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">6 / 12</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">8 / 8</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
+ <td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=47 height=10 alt="47.3%"><img src="../../../snow.png" width=53 height=10 alt="47.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=26 height=10 alt="25.7%"><img src="../../../snow.png" width=74 height=10 alt="25.7%"></td></tr></table>
</td>
- <td class="coverPerLo">47.3&nbsp;%</td>
- <td class="coverNumLo">194 / 410</td>
- <td class="coverPerLo">54.2&nbsp;%</td>
- <td class="coverNumLo">13 / 24</td>
+ <td class="coverPerLo">25.7&nbsp;%</td>
+ <td class="coverNumLo">98 / 382</td>
+ <td class="coverPerLo">57.1&nbsp;%</td>
+ <td class="coverNumLo">8 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/index-sort-f.html b/coverage-report/external/ffspart/libflash/index-sort-f.html
index be48976..3cdf158 100644
--- a/coverage-report/external/ffspart/libflash/index-sort-f.html
+++ b/coverage-report/external/ffspart/libflash/index-sort-f.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">371</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">25.7 %</td>
+ <td class="headerCovTableEntry">384</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">25.1 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">26</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">36.1 %</td>
+ <td class="headerCovTableEntry">30</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">35.3 %</td>
</tr>
<tr>
<td></td>
@@ -87,57 +87,57 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=14 height=10 alt="14.2%"><img src="../../../snow.png" width=86 height=10 alt="14.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=14 height=10 alt="14.3%"><img src="../../../snow.png" width=86 height=10 alt="14.3%"></td></tr></table>
</td>
- <td class="coverPerLo">14.2&nbsp;%</td>
- <td class="coverNumLo">15 / 106</td>
- <td class="coverPerLo">20.0&nbsp;%</td>
- <td class="coverNumLo">1 / 5</td>
+ <td class="coverPerLo">14.3&nbsp;%</td>
+ <td class="coverNumLo">15 / 105</td>
+ <td class="coverPerLo">16.7&nbsp;%</td>
+ <td class="coverNumLo">1 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=44 height=10 alt="43.6%"><img src="../../../snow.png" width=56 height=10 alt="43.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=39 height=10 alt="38.6%"><img src="../../../snow.png" width=61 height=10 alt="38.6%"></td></tr></table>
</td>
- <td class="coverPerLo">43.6&nbsp;%</td>
- <td class="coverNumLo">71 / 163</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">6 / 12</td>
+ <td class="coverPerLo">38.6&nbsp;%</td>
+ <td class="coverNumLo">71 / 184</td>
+ <td class="coverPerLo">46.2&nbsp;%</td>
+ <td class="coverNumLo">6 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=47 height=10 alt="47.3%"><img src="../../../snow.png" width=53 height=10 alt="47.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=45 height=10 alt="44.7%"><img src="../../../snow.png" width=55 height=10 alt="44.7%"></td></tr></table>
</td>
- <td class="coverPerLo">47.3&nbsp;%</td>
- <td class="coverNumLo">194 / 410</td>
- <td class="coverPerLo">54.2&nbsp;%</td>
- <td class="coverNumLo">13 / 24</td>
+ <td class="coverPerLo">44.7&nbsp;%</td>
+ <td class="coverNumLo">192 / 430</td>
+ <td class="coverPerLo">53.6&nbsp;%</td>
+ <td class="coverNumLo">15 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=23 height=10 alt="22.6%"><img src="../../../snow.png" width=77 height=10 alt="22.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=26 height=10 alt="25.7%"><img src="../../../snow.png" width=74 height=10 alt="25.7%"></td></tr></table>
</td>
- <td class="coverPerLo">22.6&nbsp;%</td>
- <td class="coverNumLo">83 / 367</td>
- <td class="coverPerLo">54.5&nbsp;%</td>
- <td class="coverNumLo">6 / 11</td>
+ <td class="coverPerLo">25.7&nbsp;%</td>
+ <td class="coverNumLo">98 / 382</td>
+ <td class="coverPerLo">57.1&nbsp;%</td>
+ <td class="coverNumLo">8 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/index-sort-l.html b/coverage-report/external/ffspart/libflash/index-sort-l.html
index 1fca050..089b7f9 100644
--- a/coverage-report/external/ffspart/libflash/index-sort-l.html
+++ b/coverage-report/external/ffspart/libflash/index-sort-l.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">371</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">25.7 %</td>
+ <td class="headerCovTableEntry">384</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">25.1 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">26</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">36.1 %</td>
+ <td class="headerCovTableEntry">30</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">35.3 %</td>
</tr>
<tr>
<td></td>
@@ -87,57 +87,57 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=14 height=10 alt="14.2%"><img src="../../../snow.png" width=86 height=10 alt="14.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=14 height=10 alt="14.3%"><img src="../../../snow.png" width=86 height=10 alt="14.3%"></td></tr></table>
</td>
- <td class="coverPerLo">14.2&nbsp;%</td>
- <td class="coverNumLo">15 / 106</td>
- <td class="coverPerLo">20.0&nbsp;%</td>
- <td class="coverNumLo">1 / 5</td>
+ <td class="coverPerLo">14.3&nbsp;%</td>
+ <td class="coverNumLo">15 / 105</td>
+ <td class="coverPerLo">16.7&nbsp;%</td>
+ <td class="coverNumLo">1 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=23 height=10 alt="22.6%"><img src="../../../snow.png" width=77 height=10 alt="22.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=26 height=10 alt="25.7%"><img src="../../../snow.png" width=74 height=10 alt="25.7%"></td></tr></table>
</td>
- <td class="coverPerLo">22.6&nbsp;%</td>
- <td class="coverNumLo">83 / 367</td>
- <td class="coverPerLo">54.5&nbsp;%</td>
- <td class="coverNumLo">6 / 11</td>
+ <td class="coverPerLo">25.7&nbsp;%</td>
+ <td class="coverNumLo">98 / 382</td>
+ <td class="coverPerLo">57.1&nbsp;%</td>
+ <td class="coverNumLo">8 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=44 height=10 alt="43.6%"><img src="../../../snow.png" width=56 height=10 alt="43.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=39 height=10 alt="38.6%"><img src="../../../snow.png" width=61 height=10 alt="38.6%"></td></tr></table>
</td>
- <td class="coverPerLo">43.6&nbsp;%</td>
- <td class="coverNumLo">71 / 163</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">6 / 12</td>
+ <td class="coverPerLo">38.6&nbsp;%</td>
+ <td class="coverNumLo">71 / 184</td>
+ <td class="coverPerLo">46.2&nbsp;%</td>
+ <td class="coverNumLo">6 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=47 height=10 alt="47.3%"><img src="../../../snow.png" width=53 height=10 alt="47.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=45 height=10 alt="44.7%"><img src="../../../snow.png" width=55 height=10 alt="44.7%"></td></tr></table>
</td>
- <td class="coverPerLo">47.3&nbsp;%</td>
- <td class="coverNumLo">194 / 410</td>
- <td class="coverPerLo">54.2&nbsp;%</td>
- <td class="coverNumLo">13 / 24</td>
+ <td class="coverPerLo">44.7&nbsp;%</td>
+ <td class="coverNumLo">192 / 430</td>
+ <td class="coverPerLo">53.6&nbsp;%</td>
+ <td class="coverNumLo">15 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/index.html b/coverage-report/external/ffspart/libflash/index.html
index f3427bd..9fbca3b 100644
--- a/coverage-report/external/ffspart/libflash/index.html
+++ b/coverage-report/external/ffspart/libflash/index.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">371</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">25.7 %</td>
+ <td class="headerCovTableEntry">384</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">25.1 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">26</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">36.1 %</td>
+ <td class="headerCovTableEntry">30</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">35.3 %</td>
</tr>
<tr>
<td></td>
@@ -84,24 +84,24 @@
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=23 height=10 alt="22.6%"><img src="../../../snow.png" width=77 height=10 alt="22.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=26 height=10 alt="25.7%"><img src="../../../snow.png" width=74 height=10 alt="25.7%"></td></tr></table>
</td>
- <td class="coverPerLo">22.6&nbsp;%</td>
- <td class="coverNumLo">83 / 367</td>
- <td class="coverPerLo">54.5&nbsp;%</td>
- <td class="coverNumLo">6 / 11</td>
+ <td class="coverPerLo">25.7&nbsp;%</td>
+ <td class="coverNumLo">98 / 382</td>
+ <td class="coverPerLo">57.1&nbsp;%</td>
+ <td class="coverNumLo">8 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=14 height=10 alt="14.2%"><img src="../../../snow.png" width=86 height=10 alt="14.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=14 height=10 alt="14.3%"><img src="../../../snow.png" width=86 height=10 alt="14.3%"></td></tr></table>
</td>
- <td class="coverPerLo">14.2&nbsp;%</td>
- <td class="coverNumLo">15 / 106</td>
- <td class="coverPerLo">20.0&nbsp;%</td>
- <td class="coverNumLo">1 / 5</td>
+ <td class="coverPerLo">14.3&nbsp;%</td>
+ <td class="coverNumLo">15 / 105</td>
+ <td class="coverPerLo">16.7&nbsp;%</td>
+ <td class="coverNumLo">1 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -120,24 +120,24 @@
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=44 height=10 alt="43.6%"><img src="../../../snow.png" width=56 height=10 alt="43.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=39 height=10 alt="38.6%"><img src="../../../snow.png" width=61 height=10 alt="38.6%"></td></tr></table>
</td>
- <td class="coverPerLo">43.6&nbsp;%</td>
- <td class="coverNumLo">71 / 163</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">6 / 12</td>
+ <td class="coverPerLo">38.6&nbsp;%</td>
+ <td class="coverNumLo">71 / 184</td>
+ <td class="coverPerLo">46.2&nbsp;%</td>
+ <td class="coverNumLo">6 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=47 height=10 alt="47.3%"><img src="../../../snow.png" width=53 height=10 alt="47.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=45 height=10 alt="44.7%"><img src="../../../snow.png" width=55 height=10 alt="44.7%"></td></tr></table>
</td>
- <td class="coverPerLo">47.3&nbsp;%</td>
- <td class="coverNumLo">194 / 410</td>
- <td class="coverPerLo">54.2&nbsp;%</td>
- <td class="coverNumLo">13 / 24</td>
+ <td class="coverPerLo">44.7&nbsp;%</td>
+ <td class="coverNumLo">192 / 430</td>
+ <td class="coverPerLo">53.6&nbsp;%</td>
+ <td class="coverNumLo">15 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -147,9 +147,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/libffs.c.func-sort-c.html b/coverage-report/external/ffspart/libflash/libffs.c.func-sort-c.html
index 4a8b224..e54c52c 100644
--- a/coverage-report/external/ffspart/libflash/libffs.c.func-sort-c.html
+++ b/coverage-report/external/ffspart/libflash/libffs.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">194</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">47.3 %</td>
+ <td class="headerCovTableEntry">192</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">44.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">13</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">54.2 %</td>
+ <td class="headerCovTableEntry">15</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">53.6 %</td>
</tr>
<tr>
<td></td>
@@ -81,10 +81,18 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#139">ffs_entry_to_cpu</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#719">ffs_entry_user_get</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#92">ffs_entry_user_to_cpu</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#160">ffs_entry_user_to_string</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -125,11 +133,11 @@
<td class="coverFnHi">6</td>
</tr>
<tr>
- <td class="coverFn"><a href="libffs.c.gcov.html#547">ffs_entry_add</a></td>
- <td class="coverFnHi">28</td>
+ <td class="coverFn"><a href="libffs.c.gcov.html#51">ffs_num_entries</a></td>
+ <td class="coverFnHi">6</td>
</tr>
<tr>
- <td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
+ <td class="coverFn"><a href="libffs.c.gcov.html#547">ffs_entry_add</a></td>
<td class="coverFnHi">28</td>
</tr>
<tr>
@@ -153,6 +161,10 @@
<td class="coverFnHi">34</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#81">ffs_entry_user_to_flash</a></td>
+ <td class="coverFnHi">34</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#430">__hdr_free</a></td>
<td class="coverFnHi">60</td>
</tr>
@@ -161,6 +173,10 @@
<td class="coverFnHi">60</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
+ <td class="coverFnHi">62</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#288">has_ecc</a></td>
<td class="coverFnHi">84</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/libffs.c.func.html b/coverage-report/external/ffspart/libflash/libffs.c.func.html
index 9e1b7c9..ffc4a4c 100644
--- a/coverage-report/external/ffspart/libflash/libffs.c.func.html
+++ b/coverage-report/external/ffspart/libflash/libffs.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">194</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">47.3 %</td>
+ <td class="headerCovTableEntry">192</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">44.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">13</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">54.2 %</td>
+ <td class="headerCovTableEntry">15</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">53.6 %</td>
</tr>
<tr>
<td></td>
@@ -94,13 +94,17 @@
</tr>
<tr>
<td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
- <td class="coverFnHi">28</td>
+ <td class="coverFnHi">62</td>
</tr>
<tr>
<td class="coverFn"><a href="libffs.c.gcov.html#750">ffs_entry_set_act_size</a></td>
<td class="coverFnHi">1</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#139">ffs_entry_to_cpu</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#103">ffs_entry_to_flash</a></td>
<td class="coverFnHi">34</td>
</tr>
@@ -113,6 +117,14 @@
<td class="coverFnHi">28</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#92">ffs_entry_user_to_cpu</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#81">ffs_entry_user_to_flash</a></td>
+ <td class="coverFnHi">34</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#160">ffs_entry_user_to_string</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -145,6 +157,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#51">ffs_num_entries</a></td>
+ <td class="coverFnHi">6</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#477">ffs_part_info</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/libffs.c.gcov.html b/coverage-report/external/ffspart/libflash/libffs.c.gcov.html
index ad7e7f2..5e39c45 100644
--- a/coverage-report/external/ffspart/libflash/libffs.c.gcov.html
+++ b/coverage-report/external/ffspart/libflash/libffs.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">194</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">47.3 %</td>
+ <td class="headerCovTableEntry">192</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">44.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">13</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">54.2 %</td>
+ <td class="headerCovTableEntry">15</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">53.6 %</td>
</tr>
<tr>
<td></td>
@@ -96,11 +96,11 @@
<a name="25"><span class="lineNum"> 25 </span> : : struct blocklevel_device *bl;</a>
<a name="26"><span class="lineNum"> 26 </span> : : };</a>
<a name="27"><span class="lineNum"> 27 </span> : : </a>
-<a name="28"><span class="lineNum"> 28 </span> : : static uint32_t ffs_checksum(void* data, size_t size)</a>
+<a name="28"><span class="lineNum"> 28 </span> :<span class="lineNoCov"> 0 : static uint32_t ffs_checksum(void* data, size_t size)</span></a>
<a name="29"><span class="lineNum"> 29 </span> : : {</a>
-<a name="30"><span class="lineNum"> 30 </span> : : uint32_t i, csum = 0;</a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineNoCov"> 0 : uint32_t i, csum = 0;</span></a>
<a name="31"><span class="lineNum"> 31 </span> : : </a>
-<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 2360 : for (i = csum = 0; i &lt; (size/4); i++)</span></a>
+<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 1200 : for (i = csum = 0; i &lt; (size/4); i++)</span></a>
<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 1160 : csum ^= ((uint32_t *)data)[i];</span></a>
<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 40 : return csum;</span></a>
<a name="35"><span class="lineNum"> 35 </span> : : }</a>
@@ -108,17 +108,17 @@
<a name="37"><span class="lineNum"> 37 </span> : : /* Helper functions for typesafety and size safety */</a>
<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 6 : static uint32_t ffs_hdr_checksum(struct __ffs_hdr *hdr)</span></a>
<a name="39"><span class="lineNum"> 39 </span> : : {</a>
-<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 78 : return ffs_checksum(hdr, sizeof(struct __ffs_hdr));</span></a>
+<a name="40"><span class="lineNum"> 40 </span> : : return ffs_checksum(hdr, sizeof(struct __ffs_hdr));</a>
<a name="41"><span class="lineNum"> 41 </span> : : }</a>
<a name="42"><span class="lineNum"> 42 </span> : : </a>
<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 34 : static uint32_t ffs_entry_checksum(struct __ffs_entry *ent)</span></a>
<a name="44"><span class="lineNum"> 44 </span> : : {</a>
-<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 1122 : return ffs_checksum(ent, sizeof(struct __ffs_entry));</span></a>
+<a name="45"><span class="lineNum"> 45 </span> :<span class="lineNoCov"> 0 : return ffs_checksum(ent, sizeof(struct __ffs_entry));</span></a>
<a name="46"><span class="lineNum"> 46 </span> : : }</a>
<a name="47"><span class="lineNum"> 47 </span> : : </a>
-<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 18 : static size_t ffs_hdr_raw_size(int num_entries)</span></a>
+<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 6 : static size_t ffs_hdr_raw_size(int num_entries)</span></a>
<a name="49"><span class="lineNum"> 49 </span> : : {</a>
-<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 18 : return sizeof(struct __ffs_hdr) + num_entries * sizeof(struct __ffs_entry);</span></a>
+<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 6 : return sizeof(struct __ffs_hdr) + num_entries * sizeof(struct __ffs_entry);</span></a>
<a name="51"><span class="lineNum"> 51 </span> : : }</a>
<a name="52"><span class="lineNum"> 52 </span> : : </a>
<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 6 : static int ffs_num_entries(struct ffs_hdr *hdr)</span></a>
@@ -162,15 +162,15 @@
<a name="91"><span class="lineNum"> 91 </span> :<span class="lineCov"> 34 : return 0;</span></a>
<a name="92"><span class="lineNum"> 92 </span> : : }</a>
<a name="93"><span class="lineNum"> 93 </span> : : </a>
-<a name="94"><span class="lineNum"> 94 </span> : : static int ffs_entry_user_to_cpu(struct ffs_hdr *hdr __unused,</a>
+<a name="94"><span class="lineNum"> 94 </span> :<span class="lineNoCov"> 0 : static int ffs_entry_user_to_cpu(struct ffs_hdr *hdr __unused,</span></a>
<a name="95"><span class="lineNum"> 95 </span> : : struct ffs_entry_user *dst, struct __ffs_entry_user *src)</a>
<a name="96"><span class="lineNum"> 96 </span> : : {</a>
-<a name="97"><span class="lineNum"> 97 </span> : : memset(dst, 0, sizeof(struct ffs_entry_user));</a>
-<a name="98"><span class="lineNum"> 98 </span> : : dst-&gt;datainteg = be16_to_cpu(src-&gt;datainteg);</a>
-<a name="99"><span class="lineNum"> 99 </span> : : dst-&gt;vercheck = src-&gt;vercheck;</a>
-<a name="100"><span class="lineNum"> 100 </span> : : dst-&gt;miscflags = src-&gt;miscflags;</a>
+<a name="97"><span class="lineNum"> 97 </span> :<span class="lineNoCov"> 0 : memset(dst, 0, sizeof(struct ffs_entry_user));</span></a>
+<a name="98"><span class="lineNum"> 98 </span> :<span class="lineNoCov"> 0 : dst-&gt;datainteg = be16_to_cpu(src-&gt;datainteg);</span></a>
+<a name="99"><span class="lineNum"> 99 </span> :<span class="lineNoCov"> 0 : dst-&gt;vercheck = src-&gt;vercheck;</span></a>
+<a name="100"><span class="lineNum"> 100 </span> :<span class="lineNoCov"> 0 : dst-&gt;miscflags = src-&gt;miscflags;</span></a>
<a name="101"><span class="lineNum"> 101 </span> : : </a>
-<a name="102"><span class="lineNum"> 102 </span> : : return 0;</a>
+<a name="102"><span class="lineNum"> 102 </span> :<span class="lineNoCov"> 0 : return 0;</span></a>
<a name="103"><span class="lineNum"> 103 </span> : : }</a>
<a name="104"><span class="lineNum"> 104 </span> : : </a>
<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 34 : static int ffs_entry_to_flash(struct ffs_hdr *hdr,</span></a>
@@ -209,25 +209,25 @@
<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 34 : return rc;</span></a>
<a name="139"><span class="lineNum"> 139 </span> : : }</a>
<a name="140"><span class="lineNum"> 140 </span> : : </a>
-<a name="141"><span class="lineNum"> 141 </span> : : static int ffs_entry_to_cpu(struct ffs_hdr *hdr,</a>
+<a name="141"><span class="lineNum"> 141 </span> :<span class="lineNoCov"> 0 : static int ffs_entry_to_cpu(struct ffs_hdr *hdr,</span></a>
<a name="142"><span class="lineNum"> 142 </span> : : struct ffs_entry *dst, struct __ffs_entry *src)</a>
<a name="143"><span class="lineNum"> 143 </span> : : {</a>
-<a name="144"><span class="lineNum"> 144 </span> : : int rc;</a>
+<a name="144"><span class="lineNum"> 144 </span> :<span class="lineNoCov"> 0 : int rc;</span></a>
<a name="145"><span class="lineNum"> 145 </span> : : </a>
-<a name="146"><span class="lineNum"> 146 </span> : : if (ffs_entry_checksum(src) != 0)</a>
+<a name="146"><span class="lineNum"> 146 </span> :<span class="lineNoCov"> 0 : if (ffs_entry_checksum(src) != 0)</span></a>
<a name="147"><span class="lineNum"> 147 </span> : : return FFS_ERR_BAD_CKSUM;</a>
<a name="148"><span class="lineNum"> 148 </span> : : </a>
-<a name="149"><span class="lineNum"> 149 </span> : : memcpy(dst-&gt;name, src-&gt;name, sizeof(dst-&gt;name));</a>
-<a name="150"><span class="lineNum"> 150 </span> : : dst-&gt;name[FFS_PART_NAME_MAX] = '\0';</a>
-<a name="151"><span class="lineNum"> 151 </span> : : dst-&gt;base = be32_to_cpu(src-&gt;base) * hdr-&gt;block_size;</a>
-<a name="152"><span class="lineNum"> 152 </span> : : dst-&gt;size = be32_to_cpu(src-&gt;size) * hdr-&gt;block_size;</a>
-<a name="153"><span class="lineNum"> 153 </span> : : dst-&gt;actual = be32_to_cpu(src-&gt;actual);</a>
-<a name="154"><span class="lineNum"> 154 </span> : : dst-&gt;pid = be32_to_cpu(src-&gt;pid);</a>
-<a name="155"><span class="lineNum"> 155 </span> : : dst-&gt;type = be32_to_cpu(src-&gt;type); /* TODO: Check that it is valid? */</a>
-<a name="156"><span class="lineNum"> 156 </span> : : dst-&gt;flags = be32_to_cpu(src-&gt;flags);</a>
-<a name="157"><span class="lineNum"> 157 </span> : : rc = ffs_entry_user_to_cpu(hdr, &amp;dst-&gt;user, &amp;src-&gt;user);</a>
+<a name="149"><span class="lineNum"> 149 </span> :<span class="lineNoCov"> 0 : memcpy(dst-&gt;name, src-&gt;name, sizeof(dst-&gt;name));</span></a>
+<a name="150"><span class="lineNum"> 150 </span> :<span class="lineNoCov"> 0 : dst-&gt;name[FFS_PART_NAME_MAX] = '\0';</span></a>
+<a name="151"><span class="lineNum"> 151 </span> :<span class="lineNoCov"> 0 : dst-&gt;base = be32_to_cpu(src-&gt;base) * hdr-&gt;block_size;</span></a>
+<a name="152"><span class="lineNum"> 152 </span> :<span class="lineNoCov"> 0 : dst-&gt;size = be32_to_cpu(src-&gt;size) * hdr-&gt;block_size;</span></a>
+<a name="153"><span class="lineNum"> 153 </span> :<span class="lineNoCov"> 0 : dst-&gt;actual = be32_to_cpu(src-&gt;actual);</span></a>
+<a name="154"><span class="lineNum"> 154 </span> :<span class="lineNoCov"> 0 : dst-&gt;pid = be32_to_cpu(src-&gt;pid);</span></a>
+<a name="155"><span class="lineNum"> 155 </span> :<span class="lineNoCov"> 0 : dst-&gt;type = be32_to_cpu(src-&gt;type); /* TODO: Check that it is valid? */</span></a>
+<a name="156"><span class="lineNum"> 156 </span> :<span class="lineNoCov"> 0 : dst-&gt;flags = be32_to_cpu(src-&gt;flags);</span></a>
+<a name="157"><span class="lineNum"> 157 </span> :<span class="lineNoCov"> 0 : rc = ffs_entry_user_to_cpu(hdr, &amp;dst-&gt;user, &amp;src-&gt;user);</span></a>
<a name="158"><span class="lineNum"> 158 </span> : : </a>
-<a name="159"><span class="lineNum"> 159 </span> : : return rc;</a>
+<a name="159"><span class="lineNum"> 159 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="160"><span class="lineNum"> 160 </span> : : }</a>
<a name="161"><span class="lineNum"> 161 </span> : : </a>
<a name="162"><span class="lineNum"> 162 </span> :<span class="lineNoCov"> 0 : char *ffs_entry_user_to_string(struct ffs_entry_user *user)</span></a>
@@ -346,7 +346,7 @@
<a name="275"><span class="lineNum"> 275 </span> : : </a>
<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 62 : struct ffs_entry *ffs_entry_put(struct ffs_entry *ent)</span></a>
<a name="277"><span class="lineNum"> 277 </span> : : {</a>
-<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 28 : if (!ent)</span></a>
+<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 62 : if (!ent)</span></a>
<a name="279"><span class="lineNum"> 279 </span> : : return NULL;</a>
<a name="280"><span class="lineNum"> 280 </span> : : </a>
<a name="281"><span class="lineNum"> 281 </span> :<span class="lineCov"> 62 : ent-&gt;ref--;</span></a>
@@ -508,7 +508,7 @@
<a name="437"><span class="lineNum"> 437 </span> : : return;</a>
<a name="438"><span class="lineNum"> 438 </span> : : </a>
<a name="439"><span class="lineNum"> 439 </span> :<span class="lineCov"> 40 : for (i = 0; i &lt; hdr-&gt;count; i++)</span></a>
-<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 68 : ffs_entry_put(hdr-&gt;entries[i]);</span></a>
+<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 34 : ffs_entry_put(hdr-&gt;entries[i]);</span></a>
<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 6 : free(hdr-&gt;entries);</span></a>
<a name="442"><span class="lineNum"> 442 </span> : : }</a>
<a name="443"><span class="lineNum"> 443 </span> : : </a>
diff --git a/coverage-report/external/ffspart/libflash/libflash.c.func-sort-c.html b/coverage-report/external/ffspart/libflash/libflash.c.func-sort-c.html
index e9be5d6..536c33f 100644
--- a/coverage-report/external/ffspart/libflash/libflash.c.func-sort-c.html
+++ b/coverage-report/external/ffspart/libflash/libflash.c.func-sort-c.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -73,6 +73,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#183">fl_get_best_erase</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#55">fl_micron_status</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#50">fl_read_stat</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -81,6 +89,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#293">fl_wpage</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#87">fl_wren</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -133,6 +145,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#440">flash_smart_comp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#465">flash_smart_write</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/libflash.c.func.html b/coverage-report/external/ffspart/libflash/libflash.c.func.html
index 29364c3..818abb6 100644
--- a/coverage-report/external/ffspart/libflash/libflash.c.func.html
+++ b/coverage-report/external/ffspart/libflash/libflash.c.func.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -73,6 +73,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#183">fl_get_best_erase</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#55">fl_micron_status</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#50">fl_read_stat</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -81,6 +89,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#293">fl_wpage</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#87">fl_wren</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -133,6 +145,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#440">flash_smart_comp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#465">flash_smart_write</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/ffspart/libflash/libflash.c.gcov.html b/coverage-report/external/ffspart/libflash/libflash.c.gcov.html
index 2d6246b..3a82129 100644
--- a/coverage-report/external/ffspart/libflash/libflash.c.gcov.html
+++ b/coverage-report/external/ffspart/libflash/libflash.c.gcov.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -253,36 +253,36 @@
<a name="182"><span class="lineNum"> 182 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="183"><span class="lineNum"> 183 </span> : : }</a>
<a name="184"><span class="lineNum"> 184 </span> : : </a>
-<a name="185"><span class="lineNum"> 185 </span> : : static void fl_get_best_erase(struct flash_chip *c, uint32_t dst, uint32_t size,</a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : static void fl_get_best_erase(struct flash_chip *c, uint32_t dst, uint32_t size,</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : uint32_t *chunk, uint8_t *cmd)</a>
<a name="187"><span class="lineNum"> 187 </span> : : {</a>
<a name="188"><span class="lineNum"> 188 </span> : : /* Smaller than 32k, use 4k */</a>
-<a name="189"><span class="lineNum"> 189 </span> : : if ((dst &amp; 0x7fff) || (size &lt; 0x8000)) {</a>
-<a name="190"><span class="lineNum"> 190 </span> : : *chunk = 0x1000;</a>
-<a name="191"><span class="lineNum"> 191 </span> : : *cmd = CMD_SE;</a>
-<a name="192"><span class="lineNum"> 192 </span> : : return;</a>
+<a name="189"><span class="lineNum"> 189 </span> :<span class="lineNoCov"> 0 : if ((dst &amp; 0x7fff) || (size &lt; 0x8000)) {</span></a>
+<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : *chunk = 0x1000;</span></a>
+<a name="191"><span class="lineNum"> 191 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_SE;</span></a>
+<a name="192"><span class="lineNum"> 192 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="193"><span class="lineNum"> 193 </span> : : }</a>
<a name="194"><span class="lineNum"> 194 </span> : : /* Smaller than 64k and 32k is supported, use it */</a>
-<a name="195"><span class="lineNum"> 195 </span> : : if ((c-&gt;info.flags &amp; FL_ERASE_32K) &amp;&amp;</a>
-<a name="196"><span class="lineNum"> 196 </span> : : ((dst &amp; 0xffff) || (size &lt; 0x10000))) {</a>
-<a name="197"><span class="lineNum"> 197 </span> : : *chunk = 0x8000;</a>
-<a name="198"><span class="lineNum"> 198 </span> : : *cmd = CMD_BE32K;</a>
-<a name="199"><span class="lineNum"> 199 </span> : : return;</a>
+<a name="195"><span class="lineNum"> 195 </span> :<span class="lineNoCov"> 0 : if ((c-&gt;info.flags &amp; FL_ERASE_32K) &amp;&amp;</span></a>
+<a name="196"><span class="lineNum"> 196 </span> :<span class="lineNoCov"> 0 : ((dst &amp; 0xffff) || (size &lt; 0x10000))) {</span></a>
+<a name="197"><span class="lineNum"> 197 </span> :<span class="lineNoCov"> 0 : *chunk = 0x8000;</span></a>
+<a name="198"><span class="lineNum"> 198 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE32K;</span></a>
+<a name="199"><span class="lineNum"> 199 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="200"><span class="lineNum"> 200 </span> : : }</a>
<a name="201"><span class="lineNum"> 201 </span> : : /* If 64K is not supported, use whatever smaller size is */</a>
-<a name="202"><span class="lineNum"> 202 </span> : : if (!(c-&gt;info.flags &amp; FL_ERASE_64K)) {</a>
-<a name="203"><span class="lineNum"> 203 </span> : : if (c-&gt;info.flags &amp; FL_ERASE_32K) {</a>
-<a name="204"><span class="lineNum"> 204 </span> : : *chunk = 0x8000;</a>
-<a name="205"><span class="lineNum"> 205 </span> : : *cmd = CMD_BE32K;</a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : if (!(c-&gt;info.flags &amp; FL_ERASE_64K)) {</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : if (c-&gt;info.flags &amp; FL_ERASE_32K) {</span></a>
+<a name="204"><span class="lineNum"> 204 </span> :<span class="lineNoCov"> 0 : *chunk = 0x8000;</span></a>
+<a name="205"><span class="lineNum"> 205 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE32K;</span></a>
<a name="206"><span class="lineNum"> 206 </span> : : } else {</a>
-<a name="207"><span class="lineNum"> 207 </span> : : *chunk = 0x1000;</a>
-<a name="208"><span class="lineNum"> 208 </span> : : *cmd = CMD_SE;</a>
+<a name="207"><span class="lineNum"> 207 </span> :<span class="lineNoCov"> 0 : *chunk = 0x1000;</span></a>
+<a name="208"><span class="lineNum"> 208 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_SE;</span></a>
<a name="209"><span class="lineNum"> 209 </span> : : }</a>
-<a name="210"><span class="lineNum"> 210 </span> : : return;</a>
+<a name="210"><span class="lineNum"> 210 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="211"><span class="lineNum"> 211 </span> : : }</a>
<a name="212"><span class="lineNum"> 212 </span> : : /* Allright, let's go for 64K */</a>
-<a name="213"><span class="lineNum"> 213 </span> : : *chunk = 0x10000;</a>
-<a name="214"><span class="lineNum"> 214 </span> : : *cmd = CMD_BE;</a>
+<a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : *chunk = 0x10000;</span></a>
+<a name="214"><span class="lineNum"> 214 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE;</span></a>
<a name="215"><span class="lineNum"> 215 </span> : : }</a>
<a name="216"><span class="lineNum"> 216 </span> : : </a>
<a name="217"><span class="lineNum"> 217 </span> :<span class="lineNoCov"> 0 : static int flash_erase(struct blocklevel_device *bl, uint64_t dst, uint64_t size)</span></a>
@@ -363,24 +363,24 @@
<a name="292"><span class="lineNum"> 292 </span> :<span class="lineNoCov"> 0 : return fl_sync_wait_idle(ct);</span></a>
<a name="293"><span class="lineNum"> 293 </span> : : }</a>
<a name="294"><span class="lineNum"> 294 </span> : : </a>
-<a name="295"><span class="lineNum"> 295 </span> : : static int fl_wpage(struct flash_chip *c, uint32_t dst, const void *src,</a>
+<a name="295"><span class="lineNum"> 295 </span> :<span class="lineNoCov"> 0 : static int fl_wpage(struct flash_chip *c, uint32_t dst, const void *src,</span></a>
<a name="296"><span class="lineNum"> 296 </span> : : uint32_t size)</a>
<a name="297"><span class="lineNum"> 297 </span> : : {</a>
-<a name="298"><span class="lineNum"> 298 </span> : : struct spi_flash_ctrl *ct = c-&gt;ctrl;</a>
-<a name="299"><span class="lineNum"> 299 </span> : : int rc;</a>
+<a name="298"><span class="lineNum"> 298 </span> :<span class="lineNoCov"> 0 : struct spi_flash_ctrl *ct = c-&gt;ctrl;</span></a>
+<a name="299"><span class="lineNum"> 299 </span> :<span class="lineNoCov"> 0 : int rc;</span></a>
<a name="300"><span class="lineNum"> 300 </span> : : </a>
-<a name="301"><span class="lineNum"> 301 </span> : : if (size &lt; 1 || size &gt; 0x100)</a>
+<a name="301"><span class="lineNum"> 301 </span> :<span class="lineNoCov"> 0 : if (size &lt; 1 || size &gt; 0x100)</span></a>
<a name="302"><span class="lineNum"> 302 </span> : : return FLASH_ERR_BAD_PAGE_SIZE;</a>
<a name="303"><span class="lineNum"> 303 </span> : : </a>
-<a name="304"><span class="lineNum"> 304 </span> : : rc = fl_wren(ct);</a>
-<a name="305"><span class="lineNum"> 305 </span> : : if (rc) return rc;</a>
+<a name="304"><span class="lineNum"> 304 </span> :<span class="lineNoCov"> 0 : rc = fl_wren(ct);</span></a>
+<a name="305"><span class="lineNum"> 305 </span> :<span class="lineNoCov"> 0 : if (rc) return rc;</span></a>
<a name="306"><span class="lineNum"> 306 </span> : : </a>
-<a name="307"><span class="lineNum"> 307 </span> : : rc = ct-&gt;cmd_wr(ct, CMD_PP, true, dst, src, size);</a>
-<a name="308"><span class="lineNum"> 308 </span> : : if (rc)</a>
+<a name="307"><span class="lineNum"> 307 </span> :<span class="lineNoCov"> 0 : rc = ct-&gt;cmd_wr(ct, CMD_PP, true, dst, src, size);</span></a>
+<a name="308"><span class="lineNum"> 308 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
<a name="309"><span class="lineNum"> 309 </span> : : return rc;</a>
<a name="310"><span class="lineNum"> 310 </span> : : </a>
<a name="311"><span class="lineNum"> 311 </span> : : /* Wait for write complete */</a>
-<a name="312"><span class="lineNum"> 312 </span> : : return fl_sync_wait_idle(ct);</a>
+<a name="312"><span class="lineNum"> 312 </span> :<span class="lineNoCov"> 0 : return fl_sync_wait_idle(ct);</span></a>
<a name="313"><span class="lineNum"> 313 </span> : : }</a>
<a name="314"><span class="lineNum"> 314 </span> : : </a>
<a name="315"><span class="lineNum"> 315 </span> :<span class="lineNoCov"> 0 : static int flash_write(struct blocklevel_device *bl, uint32_t dst, const void *src,</span></a>
diff --git a/coverage-report/external/gard/ccan/endian/endian.h.func-sort-c.html b/coverage-report/external/gard/ccan/endian/endian.h.func-sort-c.html
index e718531..5e55f09 100644
--- a/coverage-report/external/gard/ccan/endian/endian.h.func-sort-c.html
+++ b/coverage-report/external/gard/ccan/endian/endian.h.func-sort-c.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">40.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">33.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/gard/ccan/endian/endian.h.func.html b/coverage-report/external/gard/ccan/endian/endian.h.func.html
index 80ebe8e..020b555 100644
--- a/coverage-report/external/gard/ccan/endian/endian.h.func.html
+++ b/coverage-report/external/gard/ccan/endian/endian.h.func.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">40.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">33.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/gard/ccan/endian/endian.h.gcov.html b/coverage-report/external/gard/ccan/endian/endian.h.gcov.html
index 5302b62..915736d 100644
--- a/coverage-report/external/gard/ccan/endian/endian.h.gcov.html
+++ b/coverage-report/external/gard/ccan/endian/endian.h.gcov.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">40.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">33.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -410,9 +410,9 @@
<a name="339"><span class="lineNum"> 339 </span> : : * be16_to_cpu - convert a big-endian uint16_t value</a>
<a name="340"><span class="lineNum"> 340 </span> : : * @be_val: big-endian value to convert</a>
<a name="341"><span class="lineNum"> 341 </span> : : */</a>
-<a name="342"><span class="lineNum"> 342 </span> : : static inline uint16_t be16_to_cpu(beint16_t be_val)</a>
+<a name="342"><span class="lineNum"> 342 </span> :<span class="lineNoCov"> 0 : static inline uint16_t be16_to_cpu(beint16_t be_val)</span></a>
<a name="343"><span class="lineNum"> 343 </span> : : {</a>
-<a name="344"><span class="lineNum"> 344 </span> : : return BE16_TO_CPU(be_val);</a>
+<a name="344"><span class="lineNum"> 344 </span> :<span class="lineNoCov"> 0 : return BE16_TO_CPU(be_val);</span></a>
<a name="345"><span class="lineNum"> 345 </span> : : }</a>
<a name="346"><span class="lineNum"> 346 </span> : : </a>
<a name="347"><span class="lineNum"> 347 </span> : : /* Whichever they include first, they get these definitions. */</a>
diff --git a/coverage-report/external/gard/ccan/endian/index-sort-b.html b/coverage-report/external/gard/ccan/endian/index-sort-b.html
index 8300e19..f5bdef6 100644
--- a/coverage-report/external/gard/ccan/endian/index-sort-b.html
+++ b/coverage-report/external/gard/ccan/endian/index-sort-b.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">40.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">33.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=40 height=10 alt="40.0%"><img src="../../../../snow.png" width=60 height=10 alt="40.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=33 height=10 alt="33.3%"><img src="../../../../snow.png" width=67 height=10 alt="33.3%"></td></tr></table>
</td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">4 / 10</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">4 / 12</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/gard/ccan/endian/index-sort-f.html b/coverage-report/external/gard/ccan/endian/index-sort-f.html
index fcbfb42..d6c4985 100644
--- a/coverage-report/external/gard/ccan/endian/index-sort-f.html
+++ b/coverage-report/external/gard/ccan/endian/index-sort-f.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">40.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">33.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=40 height=10 alt="40.0%"><img src="../../../../snow.png" width=60 height=10 alt="40.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=33 height=10 alt="33.3%"><img src="../../../../snow.png" width=67 height=10 alt="33.3%"></td></tr></table>
</td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">4 / 10</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">4 / 12</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/gard/ccan/endian/index-sort-l.html b/coverage-report/external/gard/ccan/endian/index-sort-l.html
index 6c8e75c..bcd8c96 100644
--- a/coverage-report/external/gard/ccan/endian/index-sort-l.html
+++ b/coverage-report/external/gard/ccan/endian/index-sort-l.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">40.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">33.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=40 height=10 alt="40.0%"><img src="../../../../snow.png" width=60 height=10 alt="40.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=33 height=10 alt="33.3%"><img src="../../../../snow.png" width=67 height=10 alt="33.3%"></td></tr></table>
</td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">4 / 10</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">4 / 12</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/gard/ccan/endian/index.html b/coverage-report/external/gard/ccan/endian/index.html
index 9bfe6ba..22f7b69 100644
--- a/coverage-report/external/gard/ccan/endian/index.html
+++ b/coverage-report/external/gard/ccan/endian/index.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">40.0 %</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">33.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=40 height=10 alt="40.0%"><img src="../../../../snow.png" width=60 height=10 alt="40.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=33 height=10 alt="33.3%"><img src="../../../../snow.png" width=67 height=10 alt="33.3%"></td></tr></table>
</td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">4 / 10</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">4 / 12</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/gard/ccan/list/index-sort-b.html b/coverage-report/external/gard/ccan/list/index-sort-b.html
index 0dc9b9c..0a627f2 100644
--- a/coverage-report/external/gard/ccan/list/index-sort-b.html
+++ b/coverage-report/external/gard/ccan/list/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/ccan/list/index-sort-f.html b/coverage-report/external/gard/ccan/list/index-sort-f.html
index 37b77a0..4f1c97e 100644
--- a/coverage-report/external/gard/ccan/list/index-sort-f.html
+++ b/coverage-report/external/gard/ccan/list/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/ccan/list/index-sort-l.html b/coverage-report/external/gard/ccan/list/index-sort-l.html
index 78d304f..a515ec8 100644
--- a/coverage-report/external/gard/ccan/list/index-sort-l.html
+++ b/coverage-report/external/gard/ccan/list/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/ccan/list/index.html b/coverage-report/external/gard/ccan/list/index.html
index 549d618..deee7f1 100644
--- a/coverage-report/external/gard/ccan/list/index.html
+++ b/coverage-report/external/gard/ccan/list/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/ccan/list/list.c.func-sort-c.html b/coverage-report/external/gard/ccan/list/list.c.func-sort-c.html
index 3cb56e2..8b2e68c 100644
--- a/coverage-report/external/gard/ccan/list/list.c.func-sort-c.html
+++ b/coverage-report/external/gard/ccan/list/list.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/ccan/list/list.c.func.html b/coverage-report/external/gard/ccan/list/list.c.func.html
index 74522d5..8e149d1 100644
--- a/coverage-report/external/gard/ccan/list/list.c.func.html
+++ b/coverage-report/external/gard/ccan/list/list.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/ccan/list/list.c.gcov.html b/coverage-report/external/gard/ccan/list/list.c.gcov.html
index 39dc249..d09f15e 100644
--- a/coverage-report/external/gard/ccan/list/list.c.gcov.html
+++ b/coverage-report/external/gard/ccan/list/list.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/common/arch_flash_common.c.func-sort-c.html b/coverage-report/external/gard/common/arch_flash_common.c.func-sort-c.html
index e9d758e..40edc8f 100644
--- a/coverage-report/external/gard/common/arch_flash_common.c.func-sort-c.html
+++ b/coverage-report/external/gard/common/arch_flash_common.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/external/gard/common/arch_flash_common.c.func.html b/coverage-report/external/gard/common/arch_flash_common.c.func.html
index e5768ad..a9578c6 100644
--- a/coverage-report/external/gard/common/arch_flash_common.c.func.html
+++ b/coverage-report/external/gard/common/arch_flash_common.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/external/gard/common/arch_flash_common.c.gcov.html b/coverage-report/external/gard/common/arch_flash_common.c.gcov.html
index 760cc87..2b5eeef 100644
--- a/coverage-report/external/gard/common/arch_flash_common.c.gcov.html
+++ b/coverage-report/external/gard/common/arch_flash_common.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/external/gard/common/arch_flash_unknown.c.func-sort-c.html b/coverage-report/external/gard/common/arch_flash_unknown.c.func-sort-c.html
index 732daa3..8e6145c 100644
--- a/coverage-report/external/gard/common/arch_flash_unknown.c.func-sort-c.html
+++ b/coverage-report/external/gard/common/arch_flash_unknown.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/external/gard/common/arch_flash_unknown.c.func.html b/coverage-report/external/gard/common/arch_flash_unknown.c.func.html
index e84997e..5faf24a 100644
--- a/coverage-report/external/gard/common/arch_flash_unknown.c.func.html
+++ b/coverage-report/external/gard/common/arch_flash_unknown.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/external/gard/common/arch_flash_unknown.c.gcov.html b/coverage-report/external/gard/common/arch_flash_unknown.c.gcov.html
index a0b65b1..2899135 100644
--- a/coverage-report/external/gard/common/arch_flash_unknown.c.gcov.html
+++ b/coverage-report/external/gard/common/arch_flash_unknown.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/external/gard/common/index-sort-b.html b/coverage-report/external/gard/common/index-sort-b.html
index 6220876..10f771d 100644
--- a/coverage-report/external/gard/common/index-sort-b.html
+++ b/coverage-report/external/gard/common/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -82,18 +82,6 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="arch_flash_common.c.gcov.html">arch_flash_common.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=22 height=10 alt="22.2%"><img src="../../../snow.png" width=78 height=10 alt="22.2%"></td></tr></table>
- </td>
- <td class="coverPerLo">22.2&nbsp;%</td>
- <td class="coverNumLo">4 / 18</td>
- <td class="coverPerLo">25.0&nbsp;%</td>
- <td class="coverNumLo">1 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="arch_flash_unknown.c.gcov.html">arch_flash_unknown.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=57 height=10 alt="57.1%"><img src="../../../snow.png" width=43 height=10 alt="57.1%"></td></tr></table>
@@ -105,6 +93,18 @@
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
+ <tr>
+ <td class="coverFile"><a href="arch_flash_common.c.gcov.html">arch_flash_common.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=22 height=10 alt="22.2%"><img src="../../../snow.png" width=78 height=10 alt="22.2%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">22.2&nbsp;%</td>
+ <td class="coverNumLo">4 / 18</td>
+ <td class="coverPerLo">25.0&nbsp;%</td>
+ <td class="coverNumLo">1 / 4</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
</table>
</center>
<br>
diff --git a/coverage-report/external/gard/common/index-sort-f.html b/coverage-report/external/gard/common/index-sort-f.html
index 1b00f19..6bc2b36 100644
--- a/coverage-report/external/gard/common/index-sort-f.html
+++ b/coverage-report/external/gard/common/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/gard/common/index-sort-l.html b/coverage-report/external/gard/common/index-sort-l.html
index aa0f9f8..81771ad 100644
--- a/coverage-report/external/gard/common/index-sort-l.html
+++ b/coverage-report/external/gard/common/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/gard/common/index.html b/coverage-report/external/gard/common/index.html
index ef4c3c7..85da4db 100644
--- a/coverage-report/external/gard/common/index.html
+++ b/coverage-report/external/gard/common/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/gard/gard.c.func-sort-c.html b/coverage-report/external/gard/gard.c.func-sort-c.html
index 065deeb..a853b78 100644
--- a/coverage-report/external/gard/gard.c.func-sort-c.html
+++ b/coverage-report/external/gard/gard.c.func-sort-c.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">21</td>
- <td class="headerCovTableEntry">22</td>
- <td class="headerCovTableEntryHi">95.5 %</td>
+ <td class="headerCovTableEntry">23</td>
+ <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntryHi">95.8 %</td>
</tr>
<tr>
<td></td>
@@ -81,6 +81,10 @@
<td class="coverFnHi">4</td>
</tr>
<tr>
+ <td class="coverFn"><a href="gard.c.gcov.html#227">path_type_to_str</a></td>
+ <td class="coverFnHi">4</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="gard.c.gcov.html#593">reset_partition</a></td>
<td class="coverFnHi">4</td>
</tr>
@@ -156,6 +160,10 @@
<td class="coverFn"><a href="gard.c.gcov.html#381">__gard_next</a></td>
<td class="coverFnHi">104</td>
</tr>
+ <tr>
+ <td class="coverFn"><a href="gard.c.gcov.html#178">target_type_to_str</a></td>
+ <td class="coverFnHi">194</td>
+ </tr>
</table>
<br>
</center>
diff --git a/coverage-report/external/gard/gard.c.func.html b/coverage-report/external/gard/gard.c.func.html
index c80a2c5..ef4bd60 100644
--- a/coverage-report/external/gard/gard.c.func.html
+++ b/coverage-report/external/gard/gard.c.func.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">21</td>
- <td class="headerCovTableEntry">22</td>
- <td class="headerCovTableEntryHi">95.5 %</td>
+ <td class="headerCovTableEntry">23</td>
+ <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntryHi">95.8 %</td>
</tr>
<tr>
<td></td>
@@ -137,6 +137,10 @@
<td class="coverFnHi">18</td>
</tr>
<tr>
+ <td class="coverFn"><a href="gard.c.gcov.html#227">path_type_to_str</a></td>
+ <td class="coverFnHi">4</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="gard.c.gcov.html#593">reset_partition</a></td>
<td class="coverFnHi">4</td>
</tr>
@@ -153,6 +157,10 @@
<td class="coverFnHi">72</td>
</tr>
<tr>
+ <td class="coverFn"><a href="gard.c.gcov.html#178">target_type_to_str</a></td>
+ <td class="coverFnHi">194</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="gard.c.gcov.html#770">usage</a></td>
<td class="coverFnHi">2</td>
</tr>
diff --git a/coverage-report/external/gard/gard.c.gcov.html b/coverage-report/external/gard/gard.c.gcov.html
index f3162f6..4365039 100644
--- a/coverage-report/external/gard/gard.c.gcov.html
+++ b/coverage-report/external/gard/gard.c.gcov.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">21</td>
- <td class="headerCovTableEntry">22</td>
- <td class="headerCovTableEntryHi">95.5 %</td>
+ <td class="headerCovTableEntry">23</td>
+ <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntryHi">95.8 %</td>
</tr>
<tr>
<td></td>
@@ -579,7 +579,7 @@
<a name="508"><span class="lineNum"> 508 </span> :<span class="lineCov"> 8 : printf(&quot;Error Type: %s (0x%02x)\n&quot;,</span></a>
<a name="509"><span class="lineNum"> 509 </span> : : deconfig_reason_str(gard-&gt;error_type),</a>
<a name="510"><span class="lineNum"> 510 </span> :<span class="lineCov"> 4 : gard-&gt;error_type);</span></a>
-<a name="511"><span class="lineNum"> 511 </span> :<span class="lineCov"> 8 : printf(&quot;Path Type: %s\n&quot;, path_type_to_str(gard-&gt;target_id.type_size &gt;&gt; PATH_TYPE_SHIFT));</span></a>
+<a name="511"><span class="lineNum"> 511 </span> :<span class="lineCov"> 4 : printf(&quot;Path Type: %s\n&quot;, path_type_to_str(gard-&gt;target_id.type_size &gt;&gt; PATH_TYPE_SHIFT));</span></a>
<a name="512"><span class="lineNum"> 512 </span> :<span class="lineCov"> 4 : count = gard-&gt;target_id.type_size &amp; PATH_ELEMENTS_MASK;</span></a>
<a name="513"><span class="lineNum"> 513 </span> :<span class="lineCov"> 20 : for (i = 0; i &lt; count &amp;&amp; i &lt; MAX_PATH_ELEMENTS; i++)</span></a>
<a name="514"><span class="lineNum"> 514 </span> :<span class="lineCov"> 16 : printf(&quot;%*c%s, Instance #%d\n&quot;, i + 1, '&gt;', target_type_to_str(gard-&gt;target_id.path_elements[i].target_type),</span></a>
diff --git a/coverage-report/external/gard/index-sort-b.html b/coverage-report/external/gard/index-sort-b.html
index 9971402..5827f4d 100644
--- a/coverage-report/external/gard/index-sort-b.html
+++ b/coverage-report/external/gard/index-sort-b.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">21</td>
- <td class="headerCovTableEntry">22</td>
- <td class="headerCovTableEntryHi">95.5 %</td>
+ <td class="headerCovTableEntry">23</td>
+ <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntryHi">95.8 %</td>
</tr>
<tr>
<td></td>
@@ -88,8 +88,8 @@
</td>
<td class="coverPerLo">70.9&nbsp;%</td>
<td class="coverNumLo">329 / 464</td>
- <td class="coverPerHi">95.5&nbsp;%</td>
- <td class="coverNumHi">21 / 22</td>
+ <td class="coverPerHi">95.8&nbsp;%</td>
+ <td class="coverNumHi">23 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/gard/index-sort-f.html b/coverage-report/external/gard/index-sort-f.html
index 1e570c3..16188bb 100644
--- a/coverage-report/external/gard/index-sort-f.html
+++ b/coverage-report/external/gard/index-sort-f.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">21</td>
- <td class="headerCovTableEntry">22</td>
- <td class="headerCovTableEntryHi">95.5 %</td>
+ <td class="headerCovTableEntry">23</td>
+ <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntryHi">95.8 %</td>
</tr>
<tr>
<td></td>
@@ -88,8 +88,8 @@
</td>
<td class="coverPerLo">70.9&nbsp;%</td>
<td class="coverNumLo">329 / 464</td>
- <td class="coverPerHi">95.5&nbsp;%</td>
- <td class="coverNumHi">21 / 22</td>
+ <td class="coverPerHi">95.8&nbsp;%</td>
+ <td class="coverNumHi">23 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/gard/index-sort-l.html b/coverage-report/external/gard/index-sort-l.html
index 744e64e..5c2fd19 100644
--- a/coverage-report/external/gard/index-sort-l.html
+++ b/coverage-report/external/gard/index-sort-l.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">21</td>
- <td class="headerCovTableEntry">22</td>
- <td class="headerCovTableEntryHi">95.5 %</td>
+ <td class="headerCovTableEntry">23</td>
+ <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntryHi">95.8 %</td>
</tr>
<tr>
<td></td>
@@ -88,8 +88,8 @@
</td>
<td class="coverPerLo">70.9&nbsp;%</td>
<td class="coverNumLo">329 / 464</td>
- <td class="coverPerHi">95.5&nbsp;%</td>
- <td class="coverNumHi">21 / 22</td>
+ <td class="coverPerHi">95.8&nbsp;%</td>
+ <td class="coverNumHi">23 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/gard/index.html b/coverage-report/external/gard/index.html
index 95b0019..0d7a299 100644
--- a/coverage-report/external/gard/index.html
+++ b/coverage-report/external/gard/index.html
@@ -37,12 +37,12 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">21</td>
- <td class="headerCovTableEntry">22</td>
- <td class="headerCovTableEntryHi">95.5 %</td>
+ <td class="headerCovTableEntry">23</td>
+ <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntryHi">95.8 %</td>
</tr>
<tr>
<td></td>
@@ -88,8 +88,8 @@
</td>
<td class="coverPerLo">70.9&nbsp;%</td>
<td class="coverNumLo">329 / 464</td>
- <td class="coverPerHi">95.5&nbsp;%</td>
- <td class="coverNumHi">21 / 22</td>
+ <td class="coverPerHi">95.8&nbsp;%</td>
+ <td class="coverNumHi">23 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/blocklevel.c.func-sort-c.html b/coverage-report/external/gard/libflash/blocklevel.c.func-sort-c.html
index 9d20309..bfe3697 100644
--- a/coverage-report/external/gard/libflash/blocklevel.c.func-sort-c.html
+++ b/coverage-report/external/gard/libflash/blocklevel.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">141</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">38.4 %</td>
+ <td class="headerCovTableEntry">155</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">40.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryHi">92.9 %</td>
</tr>
<tr>
<td></td>
@@ -69,6 +69,10 @@
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#355">blocklevel_flashcmp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#285">blocklevel_erase</a></td>
<td class="coverFnHi">2</td>
</tr>
@@ -109,6 +113,14 @@
<td class="coverFnHi">89</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
+ <td class="coverFnHi">101</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
+ <td class="coverFnHi">126</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#68">release</a></td>
<td class="coverFnHi">126</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/blocklevel.c.func.html b/coverage-report/external/gard/libflash/blocklevel.c.func.html
index 2667515..a67ad1e 100644
--- a/coverage-report/external/gard/libflash/blocklevel.c.func.html
+++ b/coverage-report/external/gard/libflash/blocklevel.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">141</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">38.4 %</td>
+ <td class="headerCovTableEntry">155</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">40.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryHi">92.9 %</td>
</tr>
<tr>
<td></td>
@@ -77,6 +77,10 @@
<td class="coverFnHi">2</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#355">blocklevel_flashcmp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#319">blocklevel_get_info</a></td>
<td class="coverFnHi">23</td>
</tr>
@@ -105,10 +109,18 @@
<td class="coverFnHi">12</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
+ <td class="coverFnHi">101</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#643">insert_bl_prot_range</a></td>
<td class="coverFnHi">23</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
+ <td class="coverFnHi">126</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#68">release</a></td>
<td class="coverFnHi">126</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/blocklevel.c.gcov.html b/coverage-report/external/gard/libflash/blocklevel.c.gcov.html
index 6039d67..85bb5de 100644
--- a/coverage-report/external/gard/libflash/blocklevel.c.gcov.html
+++ b/coverage-report/external/gard/libflash/blocklevel.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">141</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">38.4 %</td>
+ <td class="headerCovTableEntry">155</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">40.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryHi">92.9 %</td>
</tr>
<tr>
<td></td>
@@ -93,21 +93,21 @@
<a name="22"><span class="lineNum"> 22 </span> : : * 0 - The region is not ECC protected</a>
<a name="23"><span class="lineNum"> 23 </span> : : * -1 - Partially protected</a>
<a name="24"><span class="lineNum"> 24 </span> : : */</a>
-<a name="25"><span class="lineNum"> 25 </span> : : static int ecc_protected(struct blocklevel_device *bl, uint64_t pos, uint64_t len, uint64_t *start)</a>
+<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 101 : static int ecc_protected(struct blocklevel_device *bl, uint64_t pos, uint64_t len, uint64_t *start)</span></a>
<a name="26"><span class="lineNum"> 26 </span> : : {</a>
-<a name="27"><span class="lineNum"> 27 </span> : : int i;</a>
+<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 101 : int i;</span></a>
<a name="28"><span class="lineNum"> 28 </span> : : </a>
<a name="29"><span class="lineNum"> 29 </span> : : /* Length of 0 is nonsensical so add 1 */</a>
-<a name="30"><span class="lineNum"> 30 </span> : : if (len == 0)</a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 101 : if (len == 0)</span></a>
<a name="31"><span class="lineNum"> 31 </span> : : len = 1;</a>
<a name="32"><span class="lineNum"> 32 </span> : : </a>
-<a name="33"><span class="lineNum"> 33 </span> : : for (i = 0; i &lt; bl-&gt;ecc_prot.n_prot; i++) {</a>
+<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 101 : for (i = 0; i &lt; bl-&gt;ecc_prot.n_prot; i++) {</span></a>
<a name="34"><span class="lineNum"> 34 </span> : : /* Fits entirely within the range */</a>
-<a name="35"><span class="lineNum"> 35 </span> : : if (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</a>
-<a name="36"><span class="lineNum"> 36 </span> : : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt;= pos + len) {</a>
-<a name="37"><span class="lineNum"> 37 </span> : : if (start)</a>
-<a name="38"><span class="lineNum"> 38 </span> : : *start = bl-&gt;ecc_prot.prot[i].start;</a>
-<a name="39"><span class="lineNum"> 39 </span> : : return 1;</a>
+<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 101 : if (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</span></a>
+<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 101 : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt;= pos + len) {</span></a>
+<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 101 : if (start)</span></a>
+<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 101 : *start = bl-&gt;ecc_prot.prot[i].start;</span></a>
+<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 101 : return 1;</span></a>
<a name="40"><span class="lineNum"> 40 </span> : : }</a>
<a name="41"><span class="lineNum"> 41 </span> : : </a>
<a name="42"><span class="lineNum"> 42 </span> : : /*</a>
@@ -115,12 +115,12 @@
<a name="44"><span class="lineNum"> 44 </span> : : * contiguous regions are sanely ECC protected so a partial fit</a>
<a name="45"><span class="lineNum"> 45 </span> : : * is no good.</a>
<a name="46"><span class="lineNum"> 46 </span> : : */</a>
-<a name="47"><span class="lineNum"> 47 </span> : : if ((bl-&gt;ecc_prot.prot[i].start &gt;= pos &amp;&amp; bl-&gt;ecc_prot.prot[i].start &lt; pos + len) ||</a>
-<a name="48"><span class="lineNum"> 48 </span> : : (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</a>
-<a name="49"><span class="lineNum"> 49 </span> : : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt; pos)) {</a>
-<a name="50"><span class="lineNum"> 50 </span> : : if (start)</a>
-<a name="51"><span class="lineNum"> 51 </span> : : *start = bl-&gt;ecc_prot.prot[i].start;</a>
-<a name="52"><span class="lineNum"> 52 </span> : : return -1;</a>
+<a name="47"><span class="lineNum"> 47 </span> :<span class="lineNoCov"> 0 : if ((bl-&gt;ecc_prot.prot[i].start &gt;= pos &amp;&amp; bl-&gt;ecc_prot.prot[i].start &lt; pos + len) ||</span></a>
+<a name="48"><span class="lineNum"> 48 </span> :<span class="lineNoCov"> 0 : (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</span></a>
+<a name="49"><span class="lineNum"> 49 </span> :<span class="lineNoCov"> 0 : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt; pos)) {</span></a>
+<a name="50"><span class="lineNum"> 50 </span> :<span class="lineNoCov"> 0 : if (start)</span></a>
+<a name="51"><span class="lineNum"> 51 </span> :<span class="lineNoCov"> 0 : *start = bl-&gt;ecc_prot.prot[i].start;</span></a>
+<a name="52"><span class="lineNum"> 52 </span> :<span class="lineNoCov"> 0 : return -1;</span></a>
<a name="53"><span class="lineNum"> 53 </span> : : }</a>
<a name="54"><span class="lineNum"> 54 </span> : : }</a>
<a name="55"><span class="lineNum"> 55 </span> : : return 0;</a>
@@ -133,7 +133,7 @@
<a name="62"><span class="lineNum"> 62 </span> : : </a>
<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 126 : static int reacquire(struct blocklevel_device *bl)</span></a>
<a name="64"><span class="lineNum"> 64 </span> : : {</a>
-<a name="65"><span class="lineNum"> 65 </span> :<span class="lineNoCov"> 0 : if (!bl-&gt;keep_alive &amp;&amp; bl-&gt;reacquire)</span></a>
+<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 126 : if (!bl-&gt;keep_alive &amp;&amp; bl-&gt;reacquire)</span></a>
<a name="66"><span class="lineNum"> 66 </span> :<span class="lineNoCov"> 0 : return bl-&gt;reacquire(bl);</span></a>
<a name="67"><span class="lineNum"> 67 </span> : : return 0;</a>
<a name="68"><span class="lineNum"> 68 </span> : : }</a>
@@ -161,7 +161,7 @@
<a name="90"><span class="lineNum"> 90 </span> : : }</a>
<a name="91"><span class="lineNum"> 91 </span> : : </a>
<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 89 : rc = reacquire(bl);</span></a>
-<a name="93"><span class="lineNum"> 93 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 89 : if (rc)</span></a>
<a name="94"><span class="lineNum"> 94 </span> : : return rc;</a>
<a name="95"><span class="lineNum"> 95 </span> : : </a>
<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 89 : rc = bl-&gt;read(bl, pos, buf, len);</span></a>
@@ -248,7 +248,7 @@
<a name="177"><span class="lineNum"> 177 </span> : : }</a>
<a name="178"><span class="lineNum"> 178 </span> : : </a>
<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 12 : rc = reacquire(bl);</span></a>
-<a name="180"><span class="lineNum"> 180 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 12 : if (rc)</span></a>
<a name="181"><span class="lineNum"> 181 </span> : : return rc;</a>
<a name="182"><span class="lineNum"> 182 </span> : : </a>
<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 12 : rc = bl-&gt;write(bl, pos, buf, len);</span></a>
@@ -379,7 +379,7 @@
<a name="308"><span class="lineNum"> 308 </span> : : }</a>
<a name="309"><span class="lineNum"> 309 </span> : : </a>
<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 2 : rc = reacquire(bl);</span></a>
-<a name="311"><span class="lineNum"> 311 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 2 : if (rc)</span></a>
<a name="312"><span class="lineNum"> 312 </span> : : return rc;</a>
<a name="313"><span class="lineNum"> 313 </span> : : </a>
<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 2 : rc = bl-&gt;erase(bl, pos, len);</span></a>
@@ -400,7 +400,7 @@
<a name="329"><span class="lineNum"> 329 </span> : : }</a>
<a name="330"><span class="lineNum"> 330 </span> : : </a>
<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 23 : rc = reacquire(bl);</span></a>
-<a name="332"><span class="lineNum"> 332 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 23 : if (rc)</span></a>
<a name="333"><span class="lineNum"> 333 </span> : : return rc;</a>
<a name="334"><span class="lineNum"> 334 </span> : : </a>
<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 23 : rc = bl-&gt;get_info(bl, name, total_size, erase_granule);</span></a>
diff --git a/coverage-report/external/gard/libflash/ecc.c.func-sort-c.html b/coverage-report/external/gard/libflash/ecc.c.func-sort-c.html
index 85c8d27..f28bda0 100644
--- a/coverage-report/external/gard/libflash/ecc.c.func-sort-c.html
+++ b/coverage-report/external/gard/libflash/ecc.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">54</td>
- <td class="headerCovTableEntry">106</td>
- <td class="headerCovTableEntryLo">50.9 %</td>
+ <td class="headerCovTableEntry">53</td>
+ <td class="headerCovTableEntry">105</td>
+ <td class="headerCovTableEntryLo">50.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntryMed">80.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryMed">83.3 %</td>
</tr>
<tr>
<td></td>
@@ -88,6 +88,10 @@
<td class="coverFn"><a href="ecc.c.gcov.html#143">eccbyte</a></td>
<td class="coverFnHi">450</td>
</tr>
+ <tr>
+ <td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
+ <td class="coverFnHi">450</td>
+ </tr>
</table>
<br>
</center>
diff --git a/coverage-report/external/gard/libflash/ecc.c.func.html b/coverage-report/external/gard/libflash/ecc.c.func.html
index 439fb7c..34db158 100644
--- a/coverage-report/external/gard/libflash/ecc.c.func.html
+++ b/coverage-report/external/gard/libflash/ecc.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">54</td>
- <td class="headerCovTableEntry">106</td>
- <td class="headerCovTableEntryLo">50.9 %</td>
+ <td class="headerCovTableEntry">53</td>
+ <td class="headerCovTableEntry">105</td>
+ <td class="headerCovTableEntryLo">50.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntryMed">80.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryMed">83.3 %</td>
</tr>
<tr>
<td></td>
@@ -73,6 +73,10 @@
<td class="coverFnHi">450</td>
</tr>
<tr>
+ <td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
+ <td class="coverFnHi">450</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="ecc.c.gcov.html#205">memcpy_from_ecc</a></td>
<td class="coverFnHi">89</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/ecc.c.gcov.html b/coverage-report/external/gard/libflash/ecc.c.gcov.html
index e123249..4b5c4f4 100644
--- a/coverage-report/external/gard/libflash/ecc.c.gcov.html
+++ b/coverage-report/external/gard/libflash/ecc.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">54</td>
- <td class="headerCovTableEntry">106</td>
- <td class="headerCovTableEntryLo">50.9 %</td>
+ <td class="headerCovTableEntry">53</td>
+ <td class="headerCovTableEntry">105</td>
+ <td class="headerCovTableEntryLo">50.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntryMed">80.0 %</td>
+ <td class="headerCovTableEntry">6</td>
+ <td class="headerCovTableEntryMed">83.3 %</td>
</tr>
<tr>
<td></td>
@@ -201,7 +201,7 @@
<a name="130"><span class="lineNum"> 130 </span> : : */</a>
<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 450 : static enum eccbitfields eccverify(uint64_t data, uint8_t ecc)</span></a>
<a name="132"><span class="lineNum"> 132 </span> : : {</a>
-<a name="133"><span class="lineNum"> 133 </span> :<span class="lineCov"> 900 : return syndromematrix[eccgenerate(data) ^ ecc];</span></a>
+<a name="133"><span class="lineNum"> 133 </span> :<span class="lineCov"> 450 : return syndromematrix[eccgenerate(data) ^ ecc];</span></a>
<a name="134"><span class="lineNum"> 134 </span> : : }</a>
<a name="135"><span class="lineNum"> 135 </span> : : </a>
<a name="136"><span class="lineNum"> 136 </span> : : /* IBM bit ordering */</a>
@@ -251,12 +251,12 @@
<a name="180"><span class="lineNum"> 180 </span> :<span class="lineNoCov"> 0 : return (struct ecc64 *)(((char *)p) + i);</span></a>
<a name="181"><span class="lineNum"> 181 </span> : : }</a>
<a name="182"><span class="lineNum"> 182 </span> : : </a>
-<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 178 : static uint64_t whole_ecc_bytes(uint64_t i)</span></a>
+<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 89 : static uint64_t whole_ecc_bytes(uint64_t i)</span></a>
<a name="184"><span class="lineNum"> 184 </span> : : {</a>
-<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 178 : return i &amp; ~(BYTES_PER_ECC - 1);</span></a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 89 : return i &amp; ~(BYTES_PER_ECC - 1);</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : }</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
-<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 89 : static uint64_t whole_ecc_structs(uint64_t i)</span></a>
+<a name="188"><span class="lineNum"> 188 </span> : : static uint64_t whole_ecc_structs(uint64_t i)</a>
<a name="189"><span class="lineNum"> 189 </span> : : {</a>
<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 89 : return whole_ecc_bytes(i) &gt;&gt; 3;</span></a>
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
diff --git a/coverage-report/external/gard/libflash/ecc.h.func-sort-c.html b/coverage-report/external/gard/libflash/ecc.h.func-sort-c.html
index 169329e..c811815 100644
--- a/coverage-report/external/gard/libflash/ecc.h.func-sort-c.html
+++ b/coverage-report/external/gard/libflash/ecc.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/libflash/ecc.h.func.html b/coverage-report/external/gard/libflash/ecc.h.func.html
index 08d8f6e..a8e8899 100644
--- a/coverage-report/external/gard/libflash/ecc.h.func.html
+++ b/coverage-report/external/gard/libflash/ecc.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/libflash/ecc.h.gcov.html b/coverage-report/external/gard/libflash/ecc.h.gcov.html
index e1ae76c..6d27356 100644
--- a/coverage-report/external/gard/libflash/ecc.h.gcov.html
+++ b/coverage-report/external/gard/libflash/ecc.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/gard/libflash/file.c.func-sort-c.html b/coverage-report/external/gard/libflash/file.c.func-sort-c.html
index eb0a56c..3cbdd0b 100644
--- a/coverage-report/external/gard/libflash/file.c.func-sort-c.html
+++ b/coverage-report/external/gard/libflash/file.c.func-sort-c.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">90</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">55.2 %</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">48.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">61.5 %</td>
</tr>
<tr>
<td></td>
@@ -77,6 +77,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="file.c.gcov.html#177">get_info_name</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="file.c.gcov.html#122">mtd_erase</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/file.c.func.html b/coverage-report/external/gard/libflash/file.c.func.html
index 8128c0b..ca8c15e 100644
--- a/coverage-report/external/gard/libflash/file.c.func.html
+++ b/coverage-report/external/gard/libflash/file.c.func.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">90</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">55.2 %</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">48.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">61.5 %</td>
</tr>
<tr>
<td></td>
@@ -109,6 +109,10 @@
<td class="coverFnHi">22</td>
</tr>
<tr>
+ <td class="coverFn"><a href="file.c.gcov.html#177">get_info_name</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="file.c.gcov.html#122">mtd_erase</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/file.c.gcov.html b/coverage-report/external/gard/libflash/file.c.gcov.html
index cb94339..660068c 100644
--- a/coverage-report/external/gard/libflash/file.c.gcov.html
+++ b/coverage-report/external/gard/libflash/file.c.gcov.html
@@ -32,17 +32,17 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">90</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">55.2 %</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">48.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">61.5 %</td>
</tr>
<tr>
<td></td>
@@ -247,38 +247,38 @@
<a name="176"><span class="lineNum"> 176 </span> : : return 0;</a>
<a name="177"><span class="lineNum"> 177 </span> : : }</a>
<a name="178"><span class="lineNum"> 178 </span> : : </a>
-<a name="179"><span class="lineNum"> 179 </span> : : static int get_info_name(struct file_data *file_data, char **name)</a>
+<a name="179"><span class="lineNum"> 179 </span> :<span class="lineNoCov"> 0 : static int get_info_name(struct file_data *file_data, char **name)</span></a>
<a name="180"><span class="lineNum"> 180 </span> : : {</a>
-<a name="181"><span class="lineNum"> 181 </span> : : char *path, *lpath;</a>
-<a name="182"><span class="lineNum"> 182 </span> : : int len;</a>
-<a name="183"><span class="lineNum"> 183 </span> : : struct stat st;</a>
+<a name="181"><span class="lineNum"> 181 </span> :<span class="lineNoCov"> 0 : char *path, *lpath;</span></a>
+<a name="182"><span class="lineNum"> 182 </span> :<span class="lineNoCov"> 0 : int len;</span></a>
+<a name="183"><span class="lineNum"> 183 </span> :<span class="lineNoCov"> 0 : struct stat st;</span></a>
<a name="184"><span class="lineNum"> 184 </span> : : </a>
-<a name="185"><span class="lineNum"> 185 </span> : : if (asprintf(&amp;path, &quot;/proc/self/fd/%d&quot;, file_data-&gt;fd) == -1)</a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : if (asprintf(&amp;path, &quot;/proc/self/fd/%d&quot;, file_data-&gt;fd) == -1)</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : return FLASH_ERR_MALLOC_FAILED;</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
-<a name="188"><span class="lineNum"> 188 </span> : : if (lstat(path, &amp;st)) {</a>
-<a name="189"><span class="lineNum"> 189 </span> : : free(path);</a>
-<a name="190"><span class="lineNum"> 190 </span> : : return FLASH_ERR_PARM_ERROR;</a>
+<a name="188"><span class="lineNum"> 188 </span> :<span class="lineNoCov"> 0 : if (lstat(path, &amp;st)) {</span></a>
+<a name="189"><span class="lineNum"> 189 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_PARM_ERROR;</span></a>
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
<a name="192"><span class="lineNum"> 192 </span> : : </a>
-<a name="193"><span class="lineNum"> 193 </span> : : lpath = malloc(st.st_size + 1);</a>
-<a name="194"><span class="lineNum"> 194 </span> : : if (!lpath) {</a>
-<a name="195"><span class="lineNum"> 195 </span> : : free(path);</a>
-<a name="196"><span class="lineNum"> 196 </span> : : return FLASH_ERR_MALLOC_FAILED;</a>
+<a name="193"><span class="lineNum"> 193 </span> :<span class="lineNoCov"> 0 : lpath = malloc(st.st_size + 1);</span></a>
+<a name="194"><span class="lineNum"> 194 </span> :<span class="lineNoCov"> 0 : if (!lpath) {</span></a>
+<a name="195"><span class="lineNum"> 195 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="196"><span class="lineNum"> 196 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_MALLOC_FAILED;</span></a>
<a name="197"><span class="lineNum"> 197 </span> : : }</a>
<a name="198"><span class="lineNum"> 198 </span> : : </a>
-<a name="199"><span class="lineNum"> 199 </span> : : len = readlink(path, lpath, st.st_size +1);</a>
-<a name="200"><span class="lineNum"> 200 </span> : : if (len == -1) {</a>
-<a name="201"><span class="lineNum"> 201 </span> : : free(path);</a>
-<a name="202"><span class="lineNum"> 202 </span> : : free(lpath);</a>
-<a name="203"><span class="lineNum"> 203 </span> : : return FLASH_ERR_PARM_ERROR;</a>
+<a name="199"><span class="lineNum"> 199 </span> :<span class="lineNoCov"> 0 : len = readlink(path, lpath, st.st_size +1);</span></a>
+<a name="200"><span class="lineNum"> 200 </span> :<span class="lineNoCov"> 0 : if (len == -1) {</span></a>
+<a name="201"><span class="lineNum"> 201 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : free(lpath);</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_PARM_ERROR;</span></a>
<a name="204"><span class="lineNum"> 204 </span> : : }</a>
-<a name="205"><span class="lineNum"> 205 </span> : : lpath[len] = '\0';</a>
+<a name="205"><span class="lineNum"> 205 </span> :<span class="lineNoCov"> 0 : lpath[len] = '\0';</span></a>
<a name="206"><span class="lineNum"> 206 </span> : : </a>
-<a name="207"><span class="lineNum"> 207 </span> : : *name = lpath;</a>
+<a name="207"><span class="lineNum"> 207 </span> :<span class="lineNoCov"> 0 : *name = lpath;</span></a>
<a name="208"><span class="lineNum"> 208 </span> : : </a>
-<a name="209"><span class="lineNum"> 209 </span> : : free(path);</a>
-<a name="210"><span class="lineNum"> 210 </span> : : return 0;</a>
+<a name="209"><span class="lineNum"> 209 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="210"><span class="lineNum"> 210 </span> :<span class="lineNoCov"> 0 : return 0;</span></a>
<a name="211"><span class="lineNum"> 211 </span> : : }</a>
<a name="212"><span class="lineNum"> 212 </span> : : </a>
<a name="213"><span class="lineNum"> 213 </span> : : </a>
diff --git a/coverage-report/external/gard/libflash/index-sort-b.html b/coverage-report/external/gard/libflash/index-sort-b.html
index 9737bfa..536c61f 100644
--- a/coverage-report/external/gard/libflash/index-sort-b.html
+++ b/coverage-report/external/gard/libflash/index-sort-b.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">291</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">20.1 %</td>
+ <td class="headerCovTableEntry">304</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">19.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">23</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">31.9 %</td>
+ <td class="headerCovTableEntry">26</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">30.6 %</td>
</tr>
<tr>
<td></td>
@@ -82,74 +82,74 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
+ <td class="coverFile"><a href="ecc.h.gcov.html">ecc.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=55 height=10 alt="55.2%"><img src="../../../snow.png" width=45 height=10 alt="55.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=75 height=10 alt="75.0%"><img src="../../../snow.png" width=25 height=10 alt="75.0%"></td></tr></table>
</td>
- <td class="coverPerLo">55.2&nbsp;%</td>
- <td class="coverNumLo">90 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">6 / 8</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
- </td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 410</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=38 height=10 alt="38.4%"><img src="../../../snow.png" width=62 height=10 alt="38.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=41 height=10 alt="40.6%"><img src="../../../snow.png" width=59 height=10 alt="40.6%"></td></tr></table>
</td>
- <td class="coverPerLo">38.4&nbsp;%</td>
- <td class="coverNumLo">141 / 367</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">11 / 11</td>
+ <td class="coverPerLo">40.6&nbsp;%</td>
+ <td class="coverNumLo">155 / 382</td>
+ <td class="coverPerHi">92.9&nbsp;%</td>
+ <td class="coverNumHi">13 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.h.gcov.html">ecc.h</a></td>
+ <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=75 height=10 alt="75.0%"><img src="../../../snow.png" width=25 height=10 alt="75.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=49 height=10 alt="48.9%"><img src="../../../snow.png" width=51 height=10 alt="48.9%"></td></tr></table>
</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">6 / 8</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
+ <td class="coverPerLo">48.9&nbsp;%</td>
+ <td class="coverNumLo">90 / 184</td>
+ <td class="coverPerLo">61.5&nbsp;%</td>
+ <td class="coverNumLo">8 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
+ <td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=51 height=10 alt="50.9%"><img src="../../../snow.png" width=49 height=10 alt="50.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerLo">50.9&nbsp;%</td>
- <td class="coverNumLo">54 / 106</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">4 / 5</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 419</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
+ <td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 430</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 28</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=50 height=10 alt="50.5%"><img src="../../../snow.png" width=50 height=10 alt="50.5%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">50.5&nbsp;%</td>
+ <td class="coverNumLo">53 / 105</td>
+ <td class="coverPerMed">83.3&nbsp;%</td>
+ <td class="coverNumMed">5 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/index-sort-f.html b/coverage-report/external/gard/libflash/index-sort-f.html
index bc3ff10..694b16e 100644
--- a/coverage-report/external/gard/libflash/index-sort-f.html
+++ b/coverage-report/external/gard/libflash/index-sort-f.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">291</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">20.1 %</td>
+ <td class="headerCovTableEntry">304</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">19.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">23</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">31.9 %</td>
+ <td class="headerCovTableEntry">26</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">30.6 %</td>
</tr>
<tr>
<td></td>
@@ -87,9 +87,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -99,57 +99,57 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 410</td>
+ <td class="coverNumLo">0 / 430</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 24</td>
+ <td class="coverNumLo">0 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=55 height=10 alt="55.2%"><img src="../../../snow.png" width=45 height=10 alt="55.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=49 height=10 alt="48.9%"><img src="../../../snow.png" width=51 height=10 alt="48.9%"></td></tr></table>
</td>
- <td class="coverPerLo">55.2&nbsp;%</td>
- <td class="coverNumLo">90 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">48.9&nbsp;%</td>
+ <td class="coverNumLo">90 / 184</td>
+ <td class="coverPerLo">61.5&nbsp;%</td>
+ <td class="coverNumLo">8 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=51 height=10 alt="50.9%"><img src="../../../snow.png" width=49 height=10 alt="50.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=50 height=10 alt="50.5%"><img src="../../../snow.png" width=50 height=10 alt="50.5%"></td></tr></table>
</td>
- <td class="coverPerLo">50.9&nbsp;%</td>
- <td class="coverNumLo">54 / 106</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">4 / 5</td>
+ <td class="coverPerLo">50.5&nbsp;%</td>
+ <td class="coverNumLo">53 / 105</td>
+ <td class="coverPerMed">83.3&nbsp;%</td>
+ <td class="coverNumMed">5 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.h.gcov.html">ecc.h</a></td>
+ <td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=75 height=10 alt="75.0%"><img src="../../../snow.png" width=25 height=10 alt="75.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=41 height=10 alt="40.6%"><img src="../../../snow.png" width=59 height=10 alt="40.6%"></td></tr></table>
</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">6 / 8</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
+ <td class="coverPerLo">40.6&nbsp;%</td>
+ <td class="coverNumLo">155 / 382</td>
+ <td class="coverPerHi">92.9&nbsp;%</td>
+ <td class="coverNumHi">13 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
+ <td class="coverFile"><a href="ecc.h.gcov.html">ecc.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=38 height=10 alt="38.4%"><img src="../../../snow.png" width=62 height=10 alt="38.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=75 height=10 alt="75.0%"><img src="../../../snow.png" width=25 height=10 alt="75.0%"></td></tr></table>
</td>
- <td class="coverPerLo">38.4&nbsp;%</td>
- <td class="coverNumLo">141 / 367</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">11 / 11</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">6 / 8</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/index-sort-l.html b/coverage-report/external/gard/libflash/index-sort-l.html
index 83276a7..f19d61b 100644
--- a/coverage-report/external/gard/libflash/index-sort-l.html
+++ b/coverage-report/external/gard/libflash/index-sort-l.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">291</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">20.1 %</td>
+ <td class="headerCovTableEntry">304</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">19.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">23</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">31.9 %</td>
+ <td class="headerCovTableEntry">26</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">30.6 %</td>
</tr>
<tr>
<td></td>
@@ -87,9 +87,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -99,45 +99,45 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 410</td>
+ <td class="coverNumLo">0 / 430</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 24</td>
+ <td class="coverNumLo">0 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=38 height=10 alt="38.4%"><img src="../../../snow.png" width=62 height=10 alt="38.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=41 height=10 alt="40.6%"><img src="../../../snow.png" width=59 height=10 alt="40.6%"></td></tr></table>
</td>
- <td class="coverPerLo">38.4&nbsp;%</td>
- <td class="coverNumLo">141 / 367</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">11 / 11</td>
+ <td class="coverPerLo">40.6&nbsp;%</td>
+ <td class="coverNumLo">155 / 382</td>
+ <td class="coverPerHi">92.9&nbsp;%</td>
+ <td class="coverNumHi">13 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
+ <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=51 height=10 alt="50.9%"><img src="../../../snow.png" width=49 height=10 alt="50.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=49 height=10 alt="48.9%"><img src="../../../snow.png" width=51 height=10 alt="48.9%"></td></tr></table>
</td>
- <td class="coverPerLo">50.9&nbsp;%</td>
- <td class="coverNumLo">54 / 106</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">4 / 5</td>
+ <td class="coverPerLo">48.9&nbsp;%</td>
+ <td class="coverNumLo">90 / 184</td>
+ <td class="coverPerLo">61.5&nbsp;%</td>
+ <td class="coverNumLo">8 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
+ <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=55 height=10 alt="55.2%"><img src="../../../snow.png" width=45 height=10 alt="55.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=50 height=10 alt="50.5%"><img src="../../../snow.png" width=50 height=10 alt="50.5%"></td></tr></table>
</td>
- <td class="coverPerLo">55.2&nbsp;%</td>
- <td class="coverNumLo">90 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">50.5&nbsp;%</td>
+ <td class="coverNumLo">53 / 105</td>
+ <td class="coverPerMed">83.3&nbsp;%</td>
+ <td class="coverNumMed">5 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/index.html b/coverage-report/external/gard/libflash/index.html
index dfda757..7fd970d 100644
--- a/coverage-report/external/gard/libflash/index.html
+++ b/coverage-report/external/gard/libflash/index.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">291</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">20.1 %</td>
+ <td class="headerCovTableEntry">304</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">19.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">23</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">31.9 %</td>
+ <td class="headerCovTableEntry">26</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">30.6 %</td>
</tr>
<tr>
<td></td>
@@ -84,24 +84,24 @@
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=38 height=10 alt="38.4%"><img src="../../../snow.png" width=62 height=10 alt="38.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=41 height=10 alt="40.6%"><img src="../../../snow.png" width=59 height=10 alt="40.6%"></td></tr></table>
</td>
- <td class="coverPerLo">38.4&nbsp;%</td>
- <td class="coverNumLo">141 / 367</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">11 / 11</td>
+ <td class="coverPerLo">40.6&nbsp;%</td>
+ <td class="coverNumLo">155 / 382</td>
+ <td class="coverPerHi">92.9&nbsp;%</td>
+ <td class="coverNumHi">13 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=51 height=10 alt="50.9%"><img src="../../../snow.png" width=49 height=10 alt="50.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=50 height=10 alt="50.5%"><img src="../../../snow.png" width=50 height=10 alt="50.5%"></td></tr></table>
</td>
- <td class="coverPerLo">50.9&nbsp;%</td>
- <td class="coverNumLo">54 / 106</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">4 / 5</td>
+ <td class="coverPerLo">50.5&nbsp;%</td>
+ <td class="coverNumLo">53 / 105</td>
+ <td class="coverPerMed">83.3&nbsp;%</td>
+ <td class="coverNumMed">5 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -120,12 +120,12 @@
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=55 height=10 alt="55.2%"><img src="../../../snow.png" width=45 height=10 alt="55.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=49 height=10 alt="48.9%"><img src="../../../snow.png" width=51 height=10 alt="48.9%"></td></tr></table>
</td>
- <td class="coverPerLo">55.2&nbsp;%</td>
- <td class="coverNumLo">90 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">48.9&nbsp;%</td>
+ <td class="coverNumLo">90 / 184</td>
+ <td class="coverPerLo">61.5&nbsp;%</td>
+ <td class="coverNumLo">8 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -135,9 +135,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 410</td>
+ <td class="coverNumLo">0 / 430</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 24</td>
+ <td class="coverNumLo">0 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -147,9 +147,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/libffs.c.func-sort-c.html b/coverage-report/external/gard/libflash/libffs.c.func-sort-c.html
index 4f6c0f3..32b0fe0 100644
--- a/coverage-report/external/gard/libflash/libffs.c.func-sort-c.html
+++ b/coverage-report/external/gard/libflash/libffs.c.func-sort-c.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">410</td>
+ <td class="headerCovTableEntry">430</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntry">28</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -101,6 +101,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#139">ffs_entry_to_cpu</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#103">ffs_entry_to_flash</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -113,6 +117,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#92">ffs_entry_user_to_cpu</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#81">ffs_entry_user_to_flash</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#160">ffs_entry_user_to_string</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -145,6 +157,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#51">ffs_num_entries</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#477">ffs_part_info</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/libffs.c.func.html b/coverage-report/external/gard/libflash/libffs.c.func.html
index 25e6559..e1603e1 100644
--- a/coverage-report/external/gard/libflash/libffs.c.func.html
+++ b/coverage-report/external/gard/libflash/libffs.c.func.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">410</td>
+ <td class="headerCovTableEntry">430</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntry">28</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -101,6 +101,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#139">ffs_entry_to_cpu</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#103">ffs_entry_to_flash</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -113,6 +117,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#92">ffs_entry_user_to_cpu</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#81">ffs_entry_user_to_flash</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#160">ffs_entry_user_to_string</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -145,6 +157,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#51">ffs_num_entries</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#477">ffs_part_info</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/libffs.c.gcov.html b/coverage-report/external/gard/libflash/libffs.c.gcov.html
index 9754d55..88493e6 100644
--- a/coverage-report/external/gard/libflash/libffs.c.gcov.html
+++ b/coverage-report/external/gard/libflash/libffs.c.gcov.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">410</td>
+ <td class="headerCovTableEntry">430</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">24</td>
+ <td class="headerCovTableEntry">28</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -96,9 +96,9 @@
<a name="25"><span class="lineNum"> 25 </span> : : struct blocklevel_device *bl;</a>
<a name="26"><span class="lineNum"> 26 </span> : : };</a>
<a name="27"><span class="lineNum"> 27 </span> : : </a>
-<a name="28"><span class="lineNum"> 28 </span> : : static uint32_t ffs_checksum(void* data, size_t size)</a>
+<a name="28"><span class="lineNum"> 28 </span> :<span class="lineNoCov"> 0 : static uint32_t ffs_checksum(void* data, size_t size)</span></a>
<a name="29"><span class="lineNum"> 29 </span> : : {</a>
-<a name="30"><span class="lineNum"> 30 </span> : : uint32_t i, csum = 0;</a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineNoCov"> 0 : uint32_t i, csum = 0;</span></a>
<a name="31"><span class="lineNum"> 31 </span> : : </a>
<a name="32"><span class="lineNum"> 32 </span> :<span class="lineNoCov"> 0 : for (i = csum = 0; i &lt; (size/4); i++)</span></a>
<a name="33"><span class="lineNum"> 33 </span> :<span class="lineNoCov"> 0 : csum ^= ((uint32_t *)data)[i];</span></a>
@@ -108,7 +108,7 @@
<a name="37"><span class="lineNum"> 37 </span> : : /* Helper functions for typesafety and size safety */</a>
<a name="38"><span class="lineNum"> 38 </span> :<span class="lineNoCov"> 0 : static uint32_t ffs_hdr_checksum(struct __ffs_hdr *hdr)</span></a>
<a name="39"><span class="lineNum"> 39 </span> : : {</a>
-<a name="40"><span class="lineNum"> 40 </span> :<span class="lineNoCov"> 0 : return ffs_checksum(hdr, sizeof(struct __ffs_hdr));</span></a>
+<a name="40"><span class="lineNum"> 40 </span> : : return ffs_checksum(hdr, sizeof(struct __ffs_hdr));</a>
<a name="41"><span class="lineNum"> 41 </span> : : }</a>
<a name="42"><span class="lineNum"> 42 </span> : : </a>
<a name="43"><span class="lineNum"> 43 </span> :<span class="lineNoCov"> 0 : static uint32_t ffs_entry_checksum(struct __ffs_entry *ent)</span></a>
@@ -162,15 +162,15 @@
<a name="91"><span class="lineNum"> 91 </span> :<span class="lineNoCov"> 0 : return 0;</span></a>
<a name="92"><span class="lineNum"> 92 </span> : : }</a>
<a name="93"><span class="lineNum"> 93 </span> : : </a>
-<a name="94"><span class="lineNum"> 94 </span> : : static int ffs_entry_user_to_cpu(struct ffs_hdr *hdr __unused,</a>
+<a name="94"><span class="lineNum"> 94 </span> :<span class="lineNoCov"> 0 : static int ffs_entry_user_to_cpu(struct ffs_hdr *hdr __unused,</span></a>
<a name="95"><span class="lineNum"> 95 </span> : : struct ffs_entry_user *dst, struct __ffs_entry_user *src)</a>
<a name="96"><span class="lineNum"> 96 </span> : : {</a>
-<a name="97"><span class="lineNum"> 97 </span> : : memset(dst, 0, sizeof(struct ffs_entry_user));</a>
-<a name="98"><span class="lineNum"> 98 </span> : : dst-&gt;datainteg = be16_to_cpu(src-&gt;datainteg);</a>
-<a name="99"><span class="lineNum"> 99 </span> : : dst-&gt;vercheck = src-&gt;vercheck;</a>
-<a name="100"><span class="lineNum"> 100 </span> : : dst-&gt;miscflags = src-&gt;miscflags;</a>
+<a name="97"><span class="lineNum"> 97 </span> :<span class="lineNoCov"> 0 : memset(dst, 0, sizeof(struct ffs_entry_user));</span></a>
+<a name="98"><span class="lineNum"> 98 </span> :<span class="lineNoCov"> 0 : dst-&gt;datainteg = be16_to_cpu(src-&gt;datainteg);</span></a>
+<a name="99"><span class="lineNum"> 99 </span> :<span class="lineNoCov"> 0 : dst-&gt;vercheck = src-&gt;vercheck;</span></a>
+<a name="100"><span class="lineNum"> 100 </span> :<span class="lineNoCov"> 0 : dst-&gt;miscflags = src-&gt;miscflags;</span></a>
<a name="101"><span class="lineNum"> 101 </span> : : </a>
-<a name="102"><span class="lineNum"> 102 </span> : : return 0;</a>
+<a name="102"><span class="lineNum"> 102 </span> :<span class="lineNoCov"> 0 : return 0;</span></a>
<a name="103"><span class="lineNum"> 103 </span> : : }</a>
<a name="104"><span class="lineNum"> 104 </span> : : </a>
<a name="105"><span class="lineNum"> 105 </span> :<span class="lineNoCov"> 0 : static int ffs_entry_to_flash(struct ffs_hdr *hdr,</span></a>
@@ -209,25 +209,25 @@
<a name="138"><span class="lineNum"> 138 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="139"><span class="lineNum"> 139 </span> : : }</a>
<a name="140"><span class="lineNum"> 140 </span> : : </a>
-<a name="141"><span class="lineNum"> 141 </span> : : static int ffs_entry_to_cpu(struct ffs_hdr *hdr,</a>
+<a name="141"><span class="lineNum"> 141 </span> :<span class="lineNoCov"> 0 : static int ffs_entry_to_cpu(struct ffs_hdr *hdr,</span></a>
<a name="142"><span class="lineNum"> 142 </span> : : struct ffs_entry *dst, struct __ffs_entry *src)</a>
<a name="143"><span class="lineNum"> 143 </span> : : {</a>
-<a name="144"><span class="lineNum"> 144 </span> : : int rc;</a>
+<a name="144"><span class="lineNum"> 144 </span> :<span class="lineNoCov"> 0 : int rc;</span></a>
<a name="145"><span class="lineNum"> 145 </span> : : </a>
-<a name="146"><span class="lineNum"> 146 </span> : : if (ffs_entry_checksum(src) != 0)</a>
+<a name="146"><span class="lineNum"> 146 </span> :<span class="lineNoCov"> 0 : if (ffs_entry_checksum(src) != 0)</span></a>
<a name="147"><span class="lineNum"> 147 </span> : : return FFS_ERR_BAD_CKSUM;</a>
<a name="148"><span class="lineNum"> 148 </span> : : </a>
-<a name="149"><span class="lineNum"> 149 </span> : : memcpy(dst-&gt;name, src-&gt;name, sizeof(dst-&gt;name));</a>
-<a name="150"><span class="lineNum"> 150 </span> : : dst-&gt;name[FFS_PART_NAME_MAX] = '\0';</a>
-<a name="151"><span class="lineNum"> 151 </span> : : dst-&gt;base = be32_to_cpu(src-&gt;base) * hdr-&gt;block_size;</a>
-<a name="152"><span class="lineNum"> 152 </span> : : dst-&gt;size = be32_to_cpu(src-&gt;size) * hdr-&gt;block_size;</a>
-<a name="153"><span class="lineNum"> 153 </span> : : dst-&gt;actual = be32_to_cpu(src-&gt;actual);</a>
-<a name="154"><span class="lineNum"> 154 </span> : : dst-&gt;pid = be32_to_cpu(src-&gt;pid);</a>
-<a name="155"><span class="lineNum"> 155 </span> : : dst-&gt;type = be32_to_cpu(src-&gt;type); /* TODO: Check that it is valid? */</a>
-<a name="156"><span class="lineNum"> 156 </span> : : dst-&gt;flags = be32_to_cpu(src-&gt;flags);</a>
-<a name="157"><span class="lineNum"> 157 </span> : : rc = ffs_entry_user_to_cpu(hdr, &amp;dst-&gt;user, &amp;src-&gt;user);</a>
+<a name="149"><span class="lineNum"> 149 </span> :<span class="lineNoCov"> 0 : memcpy(dst-&gt;name, src-&gt;name, sizeof(dst-&gt;name));</span></a>
+<a name="150"><span class="lineNum"> 150 </span> :<span class="lineNoCov"> 0 : dst-&gt;name[FFS_PART_NAME_MAX] = '\0';</span></a>
+<a name="151"><span class="lineNum"> 151 </span> :<span class="lineNoCov"> 0 : dst-&gt;base = be32_to_cpu(src-&gt;base) * hdr-&gt;block_size;</span></a>
+<a name="152"><span class="lineNum"> 152 </span> :<span class="lineNoCov"> 0 : dst-&gt;size = be32_to_cpu(src-&gt;size) * hdr-&gt;block_size;</span></a>
+<a name="153"><span class="lineNum"> 153 </span> :<span class="lineNoCov"> 0 : dst-&gt;actual = be32_to_cpu(src-&gt;actual);</span></a>
+<a name="154"><span class="lineNum"> 154 </span> :<span class="lineNoCov"> 0 : dst-&gt;pid = be32_to_cpu(src-&gt;pid);</span></a>
+<a name="155"><span class="lineNum"> 155 </span> :<span class="lineNoCov"> 0 : dst-&gt;type = be32_to_cpu(src-&gt;type); /* TODO: Check that it is valid? */</span></a>
+<a name="156"><span class="lineNum"> 156 </span> :<span class="lineNoCov"> 0 : dst-&gt;flags = be32_to_cpu(src-&gt;flags);</span></a>
+<a name="157"><span class="lineNum"> 157 </span> :<span class="lineNoCov"> 0 : rc = ffs_entry_user_to_cpu(hdr, &amp;dst-&gt;user, &amp;src-&gt;user);</span></a>
<a name="158"><span class="lineNum"> 158 </span> : : </a>
-<a name="159"><span class="lineNum"> 159 </span> : : return rc;</a>
+<a name="159"><span class="lineNum"> 159 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="160"><span class="lineNum"> 160 </span> : : }</a>
<a name="161"><span class="lineNum"> 161 </span> : : </a>
<a name="162"><span class="lineNum"> 162 </span> :<span class="lineNoCov"> 0 : char *ffs_entry_user_to_string(struct ffs_entry_user *user)</span></a>
diff --git a/coverage-report/external/gard/libflash/libflash.c.func-sort-c.html b/coverage-report/external/gard/libflash/libflash.c.func-sort-c.html
index f7f48ad..7b5eeb7 100644
--- a/coverage-report/external/gard/libflash/libflash.c.func-sort-c.html
+++ b/coverage-report/external/gard/libflash/libflash.c.func-sort-c.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -73,6 +73,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#183">fl_get_best_erase</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#55">fl_micron_status</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#50">fl_read_stat</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -81,6 +89,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#293">fl_wpage</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#87">fl_wren</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -133,6 +145,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#440">flash_smart_comp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#465">flash_smart_write</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/libflash.c.func.html b/coverage-report/external/gard/libflash/libflash.c.func.html
index 1475c18..574a1ed 100644
--- a/coverage-report/external/gard/libflash/libflash.c.func.html
+++ b/coverage-report/external/gard/libflash/libflash.c.func.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -73,6 +73,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#183">fl_get_best_erase</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#55">fl_micron_status</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#50">fl_read_stat</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -81,6 +89,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#293">fl_wpage</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#87">fl_wren</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -133,6 +145,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#440">flash_smart_comp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#465">flash_smart_write</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/gard/libflash/libflash.c.gcov.html b/coverage-report/external/gard/libflash/libflash.c.gcov.html
index 4706461..87e7034 100644
--- a/coverage-report/external/gard/libflash/libflash.c.gcov.html
+++ b/coverage-report/external/gard/libflash/libflash.c.gcov.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -253,36 +253,36 @@
<a name="182"><span class="lineNum"> 182 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="183"><span class="lineNum"> 183 </span> : : }</a>
<a name="184"><span class="lineNum"> 184 </span> : : </a>
-<a name="185"><span class="lineNum"> 185 </span> : : static void fl_get_best_erase(struct flash_chip *c, uint32_t dst, uint32_t size,</a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : static void fl_get_best_erase(struct flash_chip *c, uint32_t dst, uint32_t size,</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : uint32_t *chunk, uint8_t *cmd)</a>
<a name="187"><span class="lineNum"> 187 </span> : : {</a>
<a name="188"><span class="lineNum"> 188 </span> : : /* Smaller than 32k, use 4k */</a>
-<a name="189"><span class="lineNum"> 189 </span> : : if ((dst &amp; 0x7fff) || (size &lt; 0x8000)) {</a>
-<a name="190"><span class="lineNum"> 190 </span> : : *chunk = 0x1000;</a>
-<a name="191"><span class="lineNum"> 191 </span> : : *cmd = CMD_SE;</a>
-<a name="192"><span class="lineNum"> 192 </span> : : return;</a>
+<a name="189"><span class="lineNum"> 189 </span> :<span class="lineNoCov"> 0 : if ((dst &amp; 0x7fff) || (size &lt; 0x8000)) {</span></a>
+<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : *chunk = 0x1000;</span></a>
+<a name="191"><span class="lineNum"> 191 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_SE;</span></a>
+<a name="192"><span class="lineNum"> 192 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="193"><span class="lineNum"> 193 </span> : : }</a>
<a name="194"><span class="lineNum"> 194 </span> : : /* Smaller than 64k and 32k is supported, use it */</a>
-<a name="195"><span class="lineNum"> 195 </span> : : if ((c-&gt;info.flags &amp; FL_ERASE_32K) &amp;&amp;</a>
-<a name="196"><span class="lineNum"> 196 </span> : : ((dst &amp; 0xffff) || (size &lt; 0x10000))) {</a>
-<a name="197"><span class="lineNum"> 197 </span> : : *chunk = 0x8000;</a>
-<a name="198"><span class="lineNum"> 198 </span> : : *cmd = CMD_BE32K;</a>
-<a name="199"><span class="lineNum"> 199 </span> : : return;</a>
+<a name="195"><span class="lineNum"> 195 </span> :<span class="lineNoCov"> 0 : if ((c-&gt;info.flags &amp; FL_ERASE_32K) &amp;&amp;</span></a>
+<a name="196"><span class="lineNum"> 196 </span> :<span class="lineNoCov"> 0 : ((dst &amp; 0xffff) || (size &lt; 0x10000))) {</span></a>
+<a name="197"><span class="lineNum"> 197 </span> :<span class="lineNoCov"> 0 : *chunk = 0x8000;</span></a>
+<a name="198"><span class="lineNum"> 198 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE32K;</span></a>
+<a name="199"><span class="lineNum"> 199 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="200"><span class="lineNum"> 200 </span> : : }</a>
<a name="201"><span class="lineNum"> 201 </span> : : /* If 64K is not supported, use whatever smaller size is */</a>
-<a name="202"><span class="lineNum"> 202 </span> : : if (!(c-&gt;info.flags &amp; FL_ERASE_64K)) {</a>
-<a name="203"><span class="lineNum"> 203 </span> : : if (c-&gt;info.flags &amp; FL_ERASE_32K) {</a>
-<a name="204"><span class="lineNum"> 204 </span> : : *chunk = 0x8000;</a>
-<a name="205"><span class="lineNum"> 205 </span> : : *cmd = CMD_BE32K;</a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : if (!(c-&gt;info.flags &amp; FL_ERASE_64K)) {</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : if (c-&gt;info.flags &amp; FL_ERASE_32K) {</span></a>
+<a name="204"><span class="lineNum"> 204 </span> :<span class="lineNoCov"> 0 : *chunk = 0x8000;</span></a>
+<a name="205"><span class="lineNum"> 205 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE32K;</span></a>
<a name="206"><span class="lineNum"> 206 </span> : : } else {</a>
-<a name="207"><span class="lineNum"> 207 </span> : : *chunk = 0x1000;</a>
-<a name="208"><span class="lineNum"> 208 </span> : : *cmd = CMD_SE;</a>
+<a name="207"><span class="lineNum"> 207 </span> :<span class="lineNoCov"> 0 : *chunk = 0x1000;</span></a>
+<a name="208"><span class="lineNum"> 208 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_SE;</span></a>
<a name="209"><span class="lineNum"> 209 </span> : : }</a>
-<a name="210"><span class="lineNum"> 210 </span> : : return;</a>
+<a name="210"><span class="lineNum"> 210 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="211"><span class="lineNum"> 211 </span> : : }</a>
<a name="212"><span class="lineNum"> 212 </span> : : /* Allright, let's go for 64K */</a>
-<a name="213"><span class="lineNum"> 213 </span> : : *chunk = 0x10000;</a>
-<a name="214"><span class="lineNum"> 214 </span> : : *cmd = CMD_BE;</a>
+<a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : *chunk = 0x10000;</span></a>
+<a name="214"><span class="lineNum"> 214 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE;</span></a>
<a name="215"><span class="lineNum"> 215 </span> : : }</a>
<a name="216"><span class="lineNum"> 216 </span> : : </a>
<a name="217"><span class="lineNum"> 217 </span> :<span class="lineNoCov"> 0 : static int flash_erase(struct blocklevel_device *bl, uint64_t dst, uint64_t size)</span></a>
@@ -363,24 +363,24 @@
<a name="292"><span class="lineNum"> 292 </span> :<span class="lineNoCov"> 0 : return fl_sync_wait_idle(ct);</span></a>
<a name="293"><span class="lineNum"> 293 </span> : : }</a>
<a name="294"><span class="lineNum"> 294 </span> : : </a>
-<a name="295"><span class="lineNum"> 295 </span> : : static int fl_wpage(struct flash_chip *c, uint32_t dst, const void *src,</a>
+<a name="295"><span class="lineNum"> 295 </span> :<span class="lineNoCov"> 0 : static int fl_wpage(struct flash_chip *c, uint32_t dst, const void *src,</span></a>
<a name="296"><span class="lineNum"> 296 </span> : : uint32_t size)</a>
<a name="297"><span class="lineNum"> 297 </span> : : {</a>
-<a name="298"><span class="lineNum"> 298 </span> : : struct spi_flash_ctrl *ct = c-&gt;ctrl;</a>
-<a name="299"><span class="lineNum"> 299 </span> : : int rc;</a>
+<a name="298"><span class="lineNum"> 298 </span> :<span class="lineNoCov"> 0 : struct spi_flash_ctrl *ct = c-&gt;ctrl;</span></a>
+<a name="299"><span class="lineNum"> 299 </span> :<span class="lineNoCov"> 0 : int rc;</span></a>
<a name="300"><span class="lineNum"> 300 </span> : : </a>
-<a name="301"><span class="lineNum"> 301 </span> : : if (size &lt; 1 || size &gt; 0x100)</a>
+<a name="301"><span class="lineNum"> 301 </span> :<span class="lineNoCov"> 0 : if (size &lt; 1 || size &gt; 0x100)</span></a>
<a name="302"><span class="lineNum"> 302 </span> : : return FLASH_ERR_BAD_PAGE_SIZE;</a>
<a name="303"><span class="lineNum"> 303 </span> : : </a>
-<a name="304"><span class="lineNum"> 304 </span> : : rc = fl_wren(ct);</a>
-<a name="305"><span class="lineNum"> 305 </span> : : if (rc) return rc;</a>
+<a name="304"><span class="lineNum"> 304 </span> :<span class="lineNoCov"> 0 : rc = fl_wren(ct);</span></a>
+<a name="305"><span class="lineNum"> 305 </span> :<span class="lineNoCov"> 0 : if (rc) return rc;</span></a>
<a name="306"><span class="lineNum"> 306 </span> : : </a>
-<a name="307"><span class="lineNum"> 307 </span> : : rc = ct-&gt;cmd_wr(ct, CMD_PP, true, dst, src, size);</a>
-<a name="308"><span class="lineNum"> 308 </span> : : if (rc)</a>
+<a name="307"><span class="lineNum"> 307 </span> :<span class="lineNoCov"> 0 : rc = ct-&gt;cmd_wr(ct, CMD_PP, true, dst, src, size);</span></a>
+<a name="308"><span class="lineNum"> 308 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
<a name="309"><span class="lineNum"> 309 </span> : : return rc;</a>
<a name="310"><span class="lineNum"> 310 </span> : : </a>
<a name="311"><span class="lineNum"> 311 </span> : : /* Wait for write complete */</a>
-<a name="312"><span class="lineNum"> 312 </span> : : return fl_sync_wait_idle(ct);</a>
+<a name="312"><span class="lineNum"> 312 </span> :<span class="lineNoCov"> 0 : return fl_sync_wait_idle(ct);</span></a>
<a name="313"><span class="lineNum"> 313 </span> : : }</a>
<a name="314"><span class="lineNum"> 314 </span> : : </a>
<a name="315"><span class="lineNum"> 315 </span> :<span class="lineNoCov"> 0 : static int flash_write(struct blocklevel_device *bl, uint32_t dst, const void *src,</span></a>
diff --git a/coverage-report/external/pflash/ccan/endian/endian.h.func-sort-c.html b/coverage-report/external/pflash/ccan/endian/endian.h.func-sort-c.html
index 1d834d3..dc60faa 100644
--- a/coverage-report/external/pflash/ccan/endian/endian.h.func-sort-c.html
+++ b/coverage-report/external/pflash/ccan/endian/endian.h.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/ccan/endian/endian.h.func.html b/coverage-report/external/pflash/ccan/endian/endian.h.func.html
index ba1725d..337308b 100644
--- a/coverage-report/external/pflash/ccan/endian/endian.h.func.html
+++ b/coverage-report/external/pflash/ccan/endian/endian.h.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/ccan/endian/endian.h.gcov.html b/coverage-report/external/pflash/ccan/endian/endian.h.gcov.html
index 5eaa076..5fe892c 100644
--- a/coverage-report/external/pflash/ccan/endian/endian.h.gcov.html
+++ b/coverage-report/external/pflash/ccan/endian/endian.h.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -401,18 +401,18 @@
<a name="330"><span class="lineNum"> 330 </span> : : * be32_to_cpu - convert a big-endian uint32_t value</a>
<a name="331"><span class="lineNum"> 331 </span> : : * @be_val: big-endian value to convert</a>
<a name="332"><span class="lineNum"> 332 </span> : : */</a>
-<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 45 : static inline uint32_t be32_to_cpu(beint32_t be_val)</span></a>
+<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 104 : static inline uint32_t be32_to_cpu(beint32_t be_val)</span></a>
<a name="334"><span class="lineNum"> 334 </span> : : {</a>
-<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 18 : return BE32_TO_CPU(be_val);</span></a>
+<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 77 : return BE32_TO_CPU(be_val);</span></a>
<a name="336"><span class="lineNum"> 336 </span> : : }</a>
<a name="337"><span class="lineNum"> 337 </span> : : </a>
<a name="338"><span class="lineNum"> 338 </span> : : /**</a>
<a name="339"><span class="lineNum"> 339 </span> : : * be16_to_cpu - convert a big-endian uint16_t value</a>
<a name="340"><span class="lineNum"> 340 </span> : : * @be_val: big-endian value to convert</a>
<a name="341"><span class="lineNum"> 341 </span> : : */</a>
-<a name="342"><span class="lineNum"> 342 </span> : : static inline uint16_t be16_to_cpu(beint16_t be_val)</a>
+<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 59 : static inline uint16_t be16_to_cpu(beint16_t be_val)</span></a>
<a name="343"><span class="lineNum"> 343 </span> : : {</a>
-<a name="344"><span class="lineNum"> 344 </span> : : return BE16_TO_CPU(be_val);</a>
+<a name="344"><span class="lineNum"> 344 </span> :<span class="lineCov"> 59 : return BE16_TO_CPU(be_val);</span></a>
<a name="345"><span class="lineNum"> 345 </span> : : }</a>
<a name="346"><span class="lineNum"> 346 </span> : : </a>
<a name="347"><span class="lineNum"> 347 </span> : : /* Whichever they include first, they get these definitions. */</a>
diff --git a/coverage-report/external/pflash/ccan/endian/index-sort-b.html b/coverage-report/external/pflash/ccan/endian/index-sort-b.html
index 87f9676..309ab51 100644
--- a/coverage-report/external/pflash/ccan/endian/index-sort-b.html
+++ b/coverage-report/external/pflash/ccan/endian/index-sort-b.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=60 height=10 alt="60.0%"><img src="../../../../snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=67 height=10 alt="66.7%"><img src="../../../../snow.png" width=33 height=10 alt="66.7%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">8 / 12</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/pflash/ccan/endian/index-sort-f.html b/coverage-report/external/pflash/ccan/endian/index-sort-f.html
index 3201339..4fe1746 100644
--- a/coverage-report/external/pflash/ccan/endian/index-sort-f.html
+++ b/coverage-report/external/pflash/ccan/endian/index-sort-f.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=60 height=10 alt="60.0%"><img src="../../../../snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=67 height=10 alt="66.7%"><img src="../../../../snow.png" width=33 height=10 alt="66.7%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">8 / 12</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/pflash/ccan/endian/index-sort-l.html b/coverage-report/external/pflash/ccan/endian/index-sort-l.html
index 8f2fa72..9b013e5 100644
--- a/coverage-report/external/pflash/ccan/endian/index-sort-l.html
+++ b/coverage-report/external/pflash/ccan/endian/index-sort-l.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=60 height=10 alt="60.0%"><img src="../../../../snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=67 height=10 alt="66.7%"><img src="../../../../snow.png" width=33 height=10 alt="66.7%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">8 / 12</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/pflash/ccan/endian/index.html b/coverage-report/external/pflash/ccan/endian/index.html
index 6a7eb72..d4a8a8a 100644
--- a/coverage-report/external/pflash/ccan/endian/index.html
+++ b/coverage-report/external/pflash/ccan/endian/index.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">6</td>
- <td class="headerCovTableEntry">10</td>
- <td class="headerCovTableEntryLo">60.0 %</td>
+ <td class="headerCovTableEntry">8</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntryLo">66.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="endian.h.gcov.html">endian.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=60 height=10 alt="60.0%"><img src="../../../../snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=67 height=10 alt="66.7%"><img src="../../../../snow.png" width=33 height=10 alt="66.7%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">8 / 12</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/external/pflash/ccan/list/index-sort-b.html b/coverage-report/external/pflash/ccan/list/index-sort-b.html
index 2df7374..1dec4f5 100644
--- a/coverage-report/external/pflash/ccan/list/index-sort-b.html
+++ b/coverage-report/external/pflash/ccan/list/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/ccan/list/index-sort-f.html b/coverage-report/external/pflash/ccan/list/index-sort-f.html
index aa3c091..f4fcf96 100644
--- a/coverage-report/external/pflash/ccan/list/index-sort-f.html
+++ b/coverage-report/external/pflash/ccan/list/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/ccan/list/index-sort-l.html b/coverage-report/external/pflash/ccan/list/index-sort-l.html
index 59c3a50..0709dd1 100644
--- a/coverage-report/external/pflash/ccan/list/index-sort-l.html
+++ b/coverage-report/external/pflash/ccan/list/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/ccan/list/index.html b/coverage-report/external/pflash/ccan/list/index.html
index 3133ff3..5821a65 100644
--- a/coverage-report/external/pflash/ccan/list/index.html
+++ b/coverage-report/external/pflash/ccan/list/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/ccan/list/list.c.func-sort-c.html b/coverage-report/external/pflash/ccan/list/list.c.func-sort-c.html
index 637be4c..1e5cef8 100644
--- a/coverage-report/external/pflash/ccan/list/list.c.func-sort-c.html
+++ b/coverage-report/external/pflash/ccan/list/list.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/ccan/list/list.c.func.html b/coverage-report/external/pflash/ccan/list/list.c.func.html
index 8c63411..21a1467 100644
--- a/coverage-report/external/pflash/ccan/list/list.c.func.html
+++ b/coverage-report/external/pflash/ccan/list/list.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/ccan/list/list.c.gcov.html b/coverage-report/external/pflash/ccan/list/list.c.gcov.html
index 28612f6..60ffdd1 100644
--- a/coverage-report/external/pflash/ccan/list/list.c.gcov.html
+++ b/coverage-report/external/pflash/ccan/list/list.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/common/arch_flash_common.c.func-sort-c.html b/coverage-report/external/pflash/common/arch_flash_common.c.func-sort-c.html
index 7070eba..2cd220c 100644
--- a/coverage-report/external/pflash/common/arch_flash_common.c.func-sort-c.html
+++ b/coverage-report/external/pflash/common/arch_flash_common.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/common/arch_flash_common.c.func.html b/coverage-report/external/pflash/common/arch_flash_common.c.func.html
index a794f0f..13a5085 100644
--- a/coverage-report/external/pflash/common/arch_flash_common.c.func.html
+++ b/coverage-report/external/pflash/common/arch_flash_common.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/common/arch_flash_common.c.gcov.html b/coverage-report/external/pflash/common/arch_flash_common.c.gcov.html
index d844368..e868898 100644
--- a/coverage-report/external/pflash/common/arch_flash_common.c.gcov.html
+++ b/coverage-report/external/pflash/common/arch_flash_common.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/common/arch_flash_unknown.c.func-sort-c.html b/coverage-report/external/pflash/common/arch_flash_unknown.c.func-sort-c.html
index 3281f33..48a4981 100644
--- a/coverage-report/external/pflash/common/arch_flash_unknown.c.func-sort-c.html
+++ b/coverage-report/external/pflash/common/arch_flash_unknown.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/pflash/common/arch_flash_unknown.c.func.html b/coverage-report/external/pflash/common/arch_flash_unknown.c.func.html
index c9a77e8..4bc5e77 100644
--- a/coverage-report/external/pflash/common/arch_flash_unknown.c.func.html
+++ b/coverage-report/external/pflash/common/arch_flash_unknown.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/pflash/common/arch_flash_unknown.c.gcov.html b/coverage-report/external/pflash/common/arch_flash_unknown.c.gcov.html
index 915685e..7264756 100644
--- a/coverage-report/external/pflash/common/arch_flash_unknown.c.gcov.html
+++ b/coverage-report/external/pflash/common/arch_flash_unknown.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/pflash/common/index-sort-b.html b/coverage-report/external/pflash/common/index-sort-b.html
index 7068b0b..eb52108 100644
--- a/coverage-report/external/pflash/common/index-sort-b.html
+++ b/coverage-report/external/pflash/common/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -82,18 +82,6 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="arch_flash_unknown.c.gcov.html">arch_flash_unknown.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=86 height=10 alt="85.7%"><img src="../../../snow.png" width=14 height=10 alt="85.7%"></td></tr></table>
- </td>
- <td class="coverPerMed">85.7&nbsp;%</td>
- <td class="coverNumMed">12 / 14</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="arch_flash_common.c.gcov.html">arch_flash_common.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
@@ -105,6 +93,18 @@
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
+ <tr>
+ <td class="coverFile"><a href="arch_flash_unknown.c.gcov.html">arch_flash_unknown.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=86 height=10 alt="85.7%"><img src="../../../snow.png" width=14 height=10 alt="85.7%"></td></tr></table>
+ </td>
+ <td class="coverPerMed">85.7&nbsp;%</td>
+ <td class="coverNumMed">12 / 14</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
</table>
</center>
<br>
diff --git a/coverage-report/external/pflash/common/index-sort-f.html b/coverage-report/external/pflash/common/index-sort-f.html
index 541347b..cecaaca 100644
--- a/coverage-report/external/pflash/common/index-sort-f.html
+++ b/coverage-report/external/pflash/common/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/pflash/common/index-sort-l.html b/coverage-report/external/pflash/common/index-sort-l.html
index 6c3117a..a614bed 100644
--- a/coverage-report/external/pflash/common/index-sort-l.html
+++ b/coverage-report/external/pflash/common/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/pflash/common/index.html b/coverage-report/external/pflash/common/index.html
index c2ef318..175d048 100644
--- a/coverage-report/external/pflash/common/index.html
+++ b/coverage-report/external/pflash/common/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/pflash/index-sort-b.html b/coverage-report/external/pflash/index-sort-b.html
index c458cbe..c567ef6 100644
--- a/coverage-report/external/pflash/index-sort-b.html
+++ b/coverage-report/external/pflash/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">15</td>
@@ -82,18 +82,6 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="progress.c.gcov.html">progress.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../amber.png" width=78 height=10 alt="78.3%"><img src="../../snow.png" width=22 height=10 alt="78.3%"></td></tr></table>
- </td>
- <td class="coverPerMed">78.3&nbsp;%</td>
- <td class="coverNumMed">36 / 46</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="pflash.c.gcov.html">pflash.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=59 height=10 alt="59.2%"><img src="../../snow.png" width=41 height=10 alt="59.2%"></td></tr></table>
@@ -105,6 +93,18 @@
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
+ <tr>
+ <td class="coverFile"><a href="progress.c.gcov.html">progress.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../amber.png" width=78 height=10 alt="78.3%"><img src="../../snow.png" width=22 height=10 alt="78.3%"></td></tr></table>
+ </td>
+ <td class="coverPerMed">78.3&nbsp;%</td>
+ <td class="coverNumMed">36 / 46</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">3 / 3</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
</table>
</center>
<br>
diff --git a/coverage-report/external/pflash/index-sort-f.html b/coverage-report/external/pflash/index-sort-f.html
index fd0f653..ea5e99c 100644
--- a/coverage-report/external/pflash/index-sort-f.html
+++ b/coverage-report/external/pflash/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">15</td>
diff --git a/coverage-report/external/pflash/index-sort-l.html b/coverage-report/external/pflash/index-sort-l.html
index 80736c1..14f0fda 100644
--- a/coverage-report/external/pflash/index-sort-l.html
+++ b/coverage-report/external/pflash/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">15</td>
diff --git a/coverage-report/external/pflash/index.html b/coverage-report/external/pflash/index.html
index 294ef9a..a332178 100644
--- a/coverage-report/external/pflash/index.html
+++ b/coverage-report/external/pflash/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">15</td>
diff --git a/coverage-report/external/pflash/libflash/blocklevel.c.func-sort-c.html b/coverage-report/external/pflash/libflash/blocklevel.c.func-sort-c.html
index d64e8d3..8afdb50 100644
--- a/coverage-report/external/pflash/libflash/blocklevel.c.func-sort-c.html
+++ b/coverage-report/external/pflash/libflash/blocklevel.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">84</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">22.9 %</td>
+ <td class="headerCovTableEntry">93</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">24.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryMed">81.8 %</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryMed">78.6 %</td>
</tr>
<tr>
<td></td>
@@ -73,6 +73,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#355">blocklevel_flashcmp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#643">insert_bl_prot_range</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -101,6 +105,10 @@
<td class="coverFnHi">20</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
+ <td class="coverFnHi">21</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#374">blocklevel_smart_erase</a></td>
<td class="coverFnHi">768</td>
</tr>
@@ -109,6 +117,10 @@
<td class="coverFnHi">3328</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
+ <td class="coverFnHi">3369</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#68">release</a></td>
<td class="coverFnHi">3369</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/blocklevel.c.func.html b/coverage-report/external/pflash/libflash/blocklevel.c.func.html
index 29ca239..d1e85af 100644
--- a/coverage-report/external/pflash/libflash/blocklevel.c.func.html
+++ b/coverage-report/external/pflash/libflash/blocklevel.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">84</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">22.9 %</td>
+ <td class="headerCovTableEntry">93</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">24.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryMed">81.8 %</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryMed">78.6 %</td>
</tr>
<tr>
<td></td>
@@ -77,6 +77,10 @@
<td class="coverFnHi">3328</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#355">blocklevel_flashcmp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#319">blocklevel_get_info</a></td>
<td class="coverFnHi">20</td>
</tr>
@@ -105,10 +109,18 @@
<td class="coverFnHi">3</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
+ <td class="coverFnHi">21</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#643">insert_bl_prot_range</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
+ <td class="coverFnHi">3369</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#68">release</a></td>
<td class="coverFnHi">3369</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/blocklevel.c.gcov.html b/coverage-report/external/pflash/libflash/blocklevel.c.gcov.html
index 6e8cdf8..be1aefb 100644
--- a/coverage-report/external/pflash/libflash/blocklevel.c.gcov.html
+++ b/coverage-report/external/pflash/libflash/blocklevel.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">84</td>
- <td class="headerCovTableEntry">367</td>
- <td class="headerCovTableEntryLo">22.9 %</td>
+ <td class="headerCovTableEntry">93</td>
+ <td class="headerCovTableEntry">382</td>
+ <td class="headerCovTableEntryLo">24.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntry">11</td>
- <td class="headerCovTableEntryMed">81.8 %</td>
+ <td class="headerCovTableEntry">14</td>
+ <td class="headerCovTableEntryMed">78.6 %</td>
</tr>
<tr>
<td></td>
@@ -93,21 +93,21 @@
<a name="22"><span class="lineNum"> 22 </span> : : * 0 - The region is not ECC protected</a>
<a name="23"><span class="lineNum"> 23 </span> : : * -1 - Partially protected</a>
<a name="24"><span class="lineNum"> 24 </span> : : */</a>
-<a name="25"><span class="lineNum"> 25 </span> : : static int ecc_protected(struct blocklevel_device *bl, uint64_t pos, uint64_t len, uint64_t *start)</a>
+<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 21 : static int ecc_protected(struct blocklevel_device *bl, uint64_t pos, uint64_t len, uint64_t *start)</span></a>
<a name="26"><span class="lineNum"> 26 </span> : : {</a>
-<a name="27"><span class="lineNum"> 27 </span> : : int i;</a>
+<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 21 : int i;</span></a>
<a name="28"><span class="lineNum"> 28 </span> : : </a>
<a name="29"><span class="lineNum"> 29 </span> : : /* Length of 0 is nonsensical so add 1 */</a>
-<a name="30"><span class="lineNum"> 30 </span> : : if (len == 0)</a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 21 : if (len == 0)</span></a>
<a name="31"><span class="lineNum"> 31 </span> : : len = 1;</a>
<a name="32"><span class="lineNum"> 32 </span> : : </a>
-<a name="33"><span class="lineNum"> 33 </span> : : for (i = 0; i &lt; bl-&gt;ecc_prot.n_prot; i++) {</a>
+<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 21 : for (i = 0; i &lt; bl-&gt;ecc_prot.n_prot; i++) {</span></a>
<a name="34"><span class="lineNum"> 34 </span> : : /* Fits entirely within the range */</a>
-<a name="35"><span class="lineNum"> 35 </span> : : if (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</a>
-<a name="36"><span class="lineNum"> 36 </span> : : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt;= pos + len) {</a>
-<a name="37"><span class="lineNum"> 37 </span> : : if (start)</a>
-<a name="38"><span class="lineNum"> 38 </span> : : *start = bl-&gt;ecc_prot.prot[i].start;</a>
-<a name="39"><span class="lineNum"> 39 </span> : : return 1;</a>
+<a name="35"><span class="lineNum"> 35 </span> :<span class="lineNoCov"> 0 : if (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</span></a>
+<a name="36"><span class="lineNum"> 36 </span> :<span class="lineNoCov"> 0 : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt;= pos + len) {</span></a>
+<a name="37"><span class="lineNum"> 37 </span> :<span class="lineNoCov"> 0 : if (start)</span></a>
+<a name="38"><span class="lineNum"> 38 </span> :<span class="lineNoCov"> 0 : *start = bl-&gt;ecc_prot.prot[i].start;</span></a>
+<a name="39"><span class="lineNum"> 39 </span> :<span class="lineNoCov"> 0 : return 1;</span></a>
<a name="40"><span class="lineNum"> 40 </span> : : }</a>
<a name="41"><span class="lineNum"> 41 </span> : : </a>
<a name="42"><span class="lineNum"> 42 </span> : : /*</a>
@@ -115,12 +115,12 @@
<a name="44"><span class="lineNum"> 44 </span> : : * contiguous regions are sanely ECC protected so a partial fit</a>
<a name="45"><span class="lineNum"> 45 </span> : : * is no good.</a>
<a name="46"><span class="lineNum"> 46 </span> : : */</a>
-<a name="47"><span class="lineNum"> 47 </span> : : if ((bl-&gt;ecc_prot.prot[i].start &gt;= pos &amp;&amp; bl-&gt;ecc_prot.prot[i].start &lt; pos + len) ||</a>
-<a name="48"><span class="lineNum"> 48 </span> : : (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</a>
-<a name="49"><span class="lineNum"> 49 </span> : : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt; pos)) {</a>
-<a name="50"><span class="lineNum"> 50 </span> : : if (start)</a>
-<a name="51"><span class="lineNum"> 51 </span> : : *start = bl-&gt;ecc_prot.prot[i].start;</a>
-<a name="52"><span class="lineNum"> 52 </span> : : return -1;</a>
+<a name="47"><span class="lineNum"> 47 </span> :<span class="lineNoCov"> 0 : if ((bl-&gt;ecc_prot.prot[i].start &gt;= pos &amp;&amp; bl-&gt;ecc_prot.prot[i].start &lt; pos + len) ||</span></a>
+<a name="48"><span class="lineNum"> 48 </span> :<span class="lineNoCov"> 0 : (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</span></a>
+<a name="49"><span class="lineNum"> 49 </span> :<span class="lineNoCov"> 0 : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt; pos)) {</span></a>
+<a name="50"><span class="lineNum"> 50 </span> :<span class="lineNoCov"> 0 : if (start)</span></a>
+<a name="51"><span class="lineNum"> 51 </span> :<span class="lineNoCov"> 0 : *start = bl-&gt;ecc_prot.prot[i].start;</span></a>
+<a name="52"><span class="lineNum"> 52 </span> :<span class="lineNoCov"> 0 : return -1;</span></a>
<a name="53"><span class="lineNum"> 53 </span> : : }</a>
<a name="54"><span class="lineNum"> 54 </span> : : }</a>
<a name="55"><span class="lineNum"> 55 </span> : : return 0;</a>
@@ -133,7 +133,7 @@
<a name="62"><span class="lineNum"> 62 </span> : : </a>
<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 3369 : static int reacquire(struct blocklevel_device *bl)</span></a>
<a name="64"><span class="lineNum"> 64 </span> : : {</a>
-<a name="65"><span class="lineNum"> 65 </span> :<span class="lineNoCov"> 0 : if (!bl-&gt;keep_alive &amp;&amp; bl-&gt;reacquire)</span></a>
+<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 3369 : if (!bl-&gt;keep_alive &amp;&amp; bl-&gt;reacquire)</span></a>
<a name="66"><span class="lineNum"> 66 </span> :<span class="lineNoCov"> 0 : return bl-&gt;reacquire(bl);</span></a>
<a name="67"><span class="lineNum"> 67 </span> : : return 0;</a>
<a name="68"><span class="lineNum"> 68 </span> : : }</a>
@@ -161,7 +161,7 @@
<a name="90"><span class="lineNum"> 90 </span> : : }</a>
<a name="91"><span class="lineNum"> 91 </span> : : </a>
<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 18 : rc = reacquire(bl);</span></a>
-<a name="93"><span class="lineNum"> 93 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 18 : if (rc)</span></a>
<a name="94"><span class="lineNum"> 94 </span> : : return rc;</a>
<a name="95"><span class="lineNum"> 95 </span> : : </a>
<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 18 : rc = bl-&gt;read(bl, pos, buf, len);</span></a>
@@ -248,7 +248,7 @@
<a name="177"><span class="lineNum"> 177 </span> : : }</a>
<a name="178"><span class="lineNum"> 178 </span> : : </a>
<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 3 : rc = reacquire(bl);</span></a>
-<a name="180"><span class="lineNum"> 180 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 3 : if (rc)</span></a>
<a name="181"><span class="lineNum"> 181 </span> : : return rc;</a>
<a name="182"><span class="lineNum"> 182 </span> : : </a>
<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 3 : rc = bl-&gt;write(bl, pos, buf, len);</span></a>
@@ -379,7 +379,7 @@
<a name="308"><span class="lineNum"> 308 </span> : : }</a>
<a name="309"><span class="lineNum"> 309 </span> : : </a>
<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 3328 : rc = reacquire(bl);</span></a>
-<a name="311"><span class="lineNum"> 311 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 3328 : if (rc)</span></a>
<a name="312"><span class="lineNum"> 312 </span> : : return rc;</a>
<a name="313"><span class="lineNum"> 313 </span> : : </a>
<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 3328 : rc = bl-&gt;erase(bl, pos, len);</span></a>
@@ -400,7 +400,7 @@
<a name="329"><span class="lineNum"> 329 </span> : : }</a>
<a name="330"><span class="lineNum"> 330 </span> : : </a>
<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 20 : rc = reacquire(bl);</span></a>
-<a name="332"><span class="lineNum"> 332 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
+<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 20 : if (rc)</span></a>
<a name="333"><span class="lineNum"> 333 </span> : : return rc;</a>
<a name="334"><span class="lineNum"> 334 </span> : : </a>
<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 20 : rc = bl-&gt;get_info(bl, name, total_size, erase_granule);</span></a>
diff --git a/coverage-report/external/pflash/libflash/ecc.c.func-sort-c.html b/coverage-report/external/pflash/libflash/ecc.c.func-sort-c.html
index 1fcdb7d..bcd59b0 100644
--- a/coverage-report/external/pflash/libflash/ecc.c.func-sort-c.html
+++ b/coverage-report/external/pflash/libflash/ecc.c.func-sort-c.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">106</td>
+ <td class="headerCovTableEntry">105</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">5</td>
+ <td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -73,6 +73,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="ecc.c.gcov.html#205">memcpy_from_ecc</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/ecc.c.func.html b/coverage-report/external/pflash/libflash/ecc.c.func.html
index e6c4148..ee2a205 100644
--- a/coverage-report/external/pflash/libflash/ecc.c.func.html
+++ b/coverage-report/external/pflash/libflash/ecc.c.func.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">106</td>
+ <td class="headerCovTableEntry">105</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">5</td>
+ <td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -73,6 +73,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="ecc.c.gcov.html#205">memcpy_from_ecc</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/ecc.c.gcov.html b/coverage-report/external/pflash/libflash/ecc.c.gcov.html
index 780c5af..3ba721f 100644
--- a/coverage-report/external/pflash/libflash/ecc.c.gcov.html
+++ b/coverage-report/external/pflash/libflash/ecc.c.gcov.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">106</td>
+ <td class="headerCovTableEntry">105</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">5</td>
+ <td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -256,7 +256,7 @@
<a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : return i &amp; ~(BYTES_PER_ECC - 1);</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : }</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
-<a name="188"><span class="lineNum"> 188 </span> :<span class="lineNoCov"> 0 : static uint64_t whole_ecc_structs(uint64_t i)</span></a>
+<a name="188"><span class="lineNum"> 188 </span> : : static uint64_t whole_ecc_structs(uint64_t i)</a>
<a name="189"><span class="lineNum"> 189 </span> : : {</a>
<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : return whole_ecc_bytes(i) &gt;&gt; 3;</span></a>
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
diff --git a/coverage-report/external/pflash/libflash/ecc.h.func-sort-c.html b/coverage-report/external/pflash/libflash/ecc.h.func-sort-c.html
index 242ec8e..45d15d9 100644
--- a/coverage-report/external/pflash/libflash/ecc.h.func-sort-c.html
+++ b/coverage-report/external/pflash/libflash/ecc.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/libflash/ecc.h.func.html b/coverage-report/external/pflash/libflash/ecc.h.func.html
index f94d9e1..18360ef 100644
--- a/coverage-report/external/pflash/libflash/ecc.h.func.html
+++ b/coverage-report/external/pflash/libflash/ecc.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/libflash/ecc.h.gcov.html b/coverage-report/external/pflash/libflash/ecc.h.gcov.html
index 6620b7d..791698c 100644
--- a/coverage-report/external/pflash/libflash/ecc.h.gcov.html
+++ b/coverage-report/external/pflash/libflash/ecc.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/external/pflash/libflash/file.c.func-sort-c.html b/coverage-report/external/pflash/libflash/file.c.func-sort-c.html
index 54a7162..03eea82 100644
--- a/coverage-report/external/pflash/libflash/file.c.func-sort-c.html
+++ b/coverage-report/external/pflash/libflash/file.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">94</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">57.7 %</td>
+ <td class="headerCovTableEntry">108</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">58.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">9</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">69.2 %</td>
</tr>
<tr>
<td></td>
@@ -101,6 +101,10 @@
<td class="coverFnHi">11</td>
</tr>
<tr>
+ <td class="coverFn"><a href="file.c.gcov.html#177">get_info_name</a></td>
+ <td class="coverFnHi">11</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="file.c.gcov.html#50">file_read</a></td>
<td class="coverFnHi">18</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/file.c.func.html b/coverage-report/external/pflash/libflash/file.c.func.html
index ef24229..bb30e00 100644
--- a/coverage-report/external/pflash/libflash/file.c.func.html
+++ b/coverage-report/external/pflash/libflash/file.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">94</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">57.7 %</td>
+ <td class="headerCovTableEntry">108</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">58.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">9</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">69.2 %</td>
</tr>
<tr>
<td></td>
@@ -109,6 +109,10 @@
<td class="coverFnHi">3331</td>
</tr>
<tr>
+ <td class="coverFn"><a href="file.c.gcov.html#177">get_info_name</a></td>
+ <td class="coverFnHi">11</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="file.c.gcov.html#122">mtd_erase</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/file.c.gcov.html b/coverage-report/external/pflash/libflash/file.c.gcov.html
index 56191d7..f060283 100644
--- a/coverage-report/external/pflash/libflash/file.c.gcov.html
+++ b/coverage-report/external/pflash/libflash/file.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">94</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">57.7 %</td>
+ <td class="headerCovTableEntry">108</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">58.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">9</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">69.2 %</td>
</tr>
<tr>
<td></td>
@@ -247,38 +247,38 @@
<a name="176"><span class="lineNum"> 176 </span> : : return 0;</a>
<a name="177"><span class="lineNum"> 177 </span> : : }</a>
<a name="178"><span class="lineNum"> 178 </span> : : </a>
-<a name="179"><span class="lineNum"> 179 </span> : : static int get_info_name(struct file_data *file_data, char **name)</a>
+<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 11 : static int get_info_name(struct file_data *file_data, char **name)</span></a>
<a name="180"><span class="lineNum"> 180 </span> : : {</a>
-<a name="181"><span class="lineNum"> 181 </span> : : char *path, *lpath;</a>
-<a name="182"><span class="lineNum"> 182 </span> : : int len;</a>
-<a name="183"><span class="lineNum"> 183 </span> : : struct stat st;</a>
+<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 11 : char *path, *lpath;</span></a>
+<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 11 : int len;</span></a>
+<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 11 : struct stat st;</span></a>
<a name="184"><span class="lineNum"> 184 </span> : : </a>
-<a name="185"><span class="lineNum"> 185 </span> : : if (asprintf(&amp;path, &quot;/proc/self/fd/%d&quot;, file_data-&gt;fd) == -1)</a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 11 : if (asprintf(&amp;path, &quot;/proc/self/fd/%d&quot;, file_data-&gt;fd) == -1)</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : return FLASH_ERR_MALLOC_FAILED;</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
-<a name="188"><span class="lineNum"> 188 </span> : : if (lstat(path, &amp;st)) {</a>
-<a name="189"><span class="lineNum"> 189 </span> : : free(path);</a>
-<a name="190"><span class="lineNum"> 190 </span> : : return FLASH_ERR_PARM_ERROR;</a>
+<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 11 : if (lstat(path, &amp;st)) {</span></a>
+<a name="189"><span class="lineNum"> 189 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_PARM_ERROR;</span></a>
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
<a name="192"><span class="lineNum"> 192 </span> : : </a>
-<a name="193"><span class="lineNum"> 193 </span> : : lpath = malloc(st.st_size + 1);</a>
-<a name="194"><span class="lineNum"> 194 </span> : : if (!lpath) {</a>
-<a name="195"><span class="lineNum"> 195 </span> : : free(path);</a>
-<a name="196"><span class="lineNum"> 196 </span> : : return FLASH_ERR_MALLOC_FAILED;</a>
+<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 11 : lpath = malloc(st.st_size + 1);</span></a>
+<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 11 : if (!lpath) {</span></a>
+<a name="195"><span class="lineNum"> 195 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="196"><span class="lineNum"> 196 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_MALLOC_FAILED;</span></a>
<a name="197"><span class="lineNum"> 197 </span> : : }</a>
<a name="198"><span class="lineNum"> 198 </span> : : </a>
-<a name="199"><span class="lineNum"> 199 </span> : : len = readlink(path, lpath, st.st_size +1);</a>
-<a name="200"><span class="lineNum"> 200 </span> : : if (len == -1) {</a>
-<a name="201"><span class="lineNum"> 201 </span> : : free(path);</a>
-<a name="202"><span class="lineNum"> 202 </span> : : free(lpath);</a>
-<a name="203"><span class="lineNum"> 203 </span> : : return FLASH_ERR_PARM_ERROR;</a>
+<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 11 : len = readlink(path, lpath, st.st_size +1);</span></a>
+<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 11 : if (len == -1) {</span></a>
+<a name="201"><span class="lineNum"> 201 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : free(lpath);</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_PARM_ERROR;</span></a>
<a name="204"><span class="lineNum"> 204 </span> : : }</a>
-<a name="205"><span class="lineNum"> 205 </span> : : lpath[len] = '\0';</a>
+<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 11 : lpath[len] = '\0';</span></a>
<a name="206"><span class="lineNum"> 206 </span> : : </a>
-<a name="207"><span class="lineNum"> 207 </span> : : *name = lpath;</a>
+<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 11 : *name = lpath;</span></a>
<a name="208"><span class="lineNum"> 208 </span> : : </a>
-<a name="209"><span class="lineNum"> 209 </span> : : free(path);</a>
-<a name="210"><span class="lineNum"> 210 </span> : : return 0;</a>
+<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 11 : free(path);</span></a>
+<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 11 : return 0;</span></a>
<a name="211"><span class="lineNum"> 211 </span> : : }</a>
<a name="212"><span class="lineNum"> 212 </span> : : </a>
<a name="213"><span class="lineNum"> 213 </span> : : </a>
diff --git a/coverage-report/external/pflash/libflash/index-sort-b.html b/coverage-report/external/pflash/libflash/index-sort-b.html
index 4f68d50..9c3eed4 100644
--- a/coverage-report/external/pflash/libflash/index-sort-b.html
+++ b/coverage-report/external/pflash/libflash/index-sort-b.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">365</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">25.3 %</td>
+ <td class="headerCovTableEntry">409</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">26.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">31</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">43.1 %</td>
+ <td class="headerCovTableEntry">37</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">43.5 %</td>
</tr>
<tr>
<td></td>
@@ -82,14 +82,14 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
+ <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=59 height=10 alt="58.7%"><img src="../../../snow.png" width=41 height=10 alt="58.7%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 106</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 5</td>
+ <td class="coverPerLo">58.7&nbsp;%</td>
+ <td class="coverNumLo">108 / 184</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -108,36 +108,36 @@
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=23 height=10 alt="22.9%"><img src="../../../snow.png" width=77 height=10 alt="22.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=24 height=10 alt="24.3%"><img src="../../../snow.png" width=76 height=10 alt="24.3%"></td></tr></table>
</td>
- <td class="coverPerLo">22.9&nbsp;%</td>
- <td class="coverNumLo">84 / 367</td>
- <td class="coverPerMed">81.8&nbsp;%</td>
- <td class="coverNumMed">9 / 11</td>
+ <td class="coverPerLo">24.3&nbsp;%</td>
+ <td class="coverNumLo">93 / 382</td>
+ <td class="coverPerMed">78.6&nbsp;%</td>
+ <td class="coverNumMed">11 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
+ <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=46 height=10 alt="45.6%"><img src="../../../snow.png" width=54 height=10 alt="45.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerLo">45.6&nbsp;%</td>
- <td class="coverNumLo">187 / 410</td>
- <td class="coverPerLo">58.3&nbsp;%</td>
- <td class="coverNumLo">14 / 24</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 105</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
+ <td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=58 height=10 alt="57.7%"><img src="../../../snow.png" width=42 height=10 alt="57.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=48 height=10 alt="48.4%"><img src="../../../snow.png" width=52 height=10 alt="48.4%"></td></tr></table>
</td>
- <td class="coverPerLo">57.7&nbsp;%</td>
- <td class="coverNumLo">94 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">48.4&nbsp;%</td>
+ <td class="coverNumLo">208 / 430</td>
+ <td class="coverPerLo">60.7&nbsp;%</td>
+ <td class="coverNumLo">17 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -147,9 +147,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/index-sort-f.html b/coverage-report/external/pflash/libflash/index-sort-f.html
index 6ab362f..f0eaee6 100644
--- a/coverage-report/external/pflash/libflash/index-sort-f.html
+++ b/coverage-report/external/pflash/libflash/index-sort-f.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">365</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">25.3 %</td>
+ <td class="headerCovTableEntry">409</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">26.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">31</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">43.1 %</td>
+ <td class="headerCovTableEntry">37</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">43.5 %</td>
</tr>
<tr>
<td></td>
@@ -87,9 +87,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 106</td>
+ <td class="coverNumLo">0 / 105</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 5</td>
+ <td class="coverNumLo">0 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -99,45 +99,45 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=46 height=10 alt="45.6%"><img src="../../../snow.png" width=54 height=10 alt="45.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=48 height=10 alt="48.4%"><img src="../../../snow.png" width=52 height=10 alt="48.4%"></td></tr></table>
</td>
- <td class="coverPerLo">45.6&nbsp;%</td>
- <td class="coverNumLo">187 / 410</td>
- <td class="coverPerLo">58.3&nbsp;%</td>
- <td class="coverNumLo">14 / 24</td>
+ <td class="coverPerLo">48.4&nbsp;%</td>
+ <td class="coverNumLo">208 / 430</td>
+ <td class="coverPerLo">60.7&nbsp;%</td>
+ <td class="coverNumLo">17 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=58 height=10 alt="57.7%"><img src="../../../snow.png" width=42 height=10 alt="57.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=59 height=10 alt="58.7%"><img src="../../../snow.png" width=41 height=10 alt="58.7%"></td></tr></table>
</td>
- <td class="coverPerLo">57.7&nbsp;%</td>
- <td class="coverNumLo">94 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">58.7&nbsp;%</td>
+ <td class="coverNumLo">108 / 184</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=23 height=10 alt="22.9%"><img src="../../../snow.png" width=77 height=10 alt="22.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=24 height=10 alt="24.3%"><img src="../../../snow.png" width=76 height=10 alt="24.3%"></td></tr></table>
</td>
- <td class="coverPerLo">22.9&nbsp;%</td>
- <td class="coverNumLo">84 / 367</td>
- <td class="coverPerMed">81.8&nbsp;%</td>
- <td class="coverNumMed">9 / 11</td>
+ <td class="coverPerLo">24.3&nbsp;%</td>
+ <td class="coverNumLo">93 / 382</td>
+ <td class="coverPerMed">78.6&nbsp;%</td>
+ <td class="coverNumMed">11 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/index-sort-l.html b/coverage-report/external/pflash/libflash/index-sort-l.html
index d00eb0c..1ba4ead 100644
--- a/coverage-report/external/pflash/libflash/index-sort-l.html
+++ b/coverage-report/external/pflash/libflash/index-sort-l.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">365</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">25.3 %</td>
+ <td class="headerCovTableEntry">409</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">26.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">31</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">43.1 %</td>
+ <td class="headerCovTableEntry">37</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">43.5 %</td>
</tr>
<tr>
<td></td>
@@ -99,9 +99,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 106</td>
+ <td class="coverNumLo">0 / 105</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 5</td>
+ <td class="coverNumLo">0 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -111,45 +111,45 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=23 height=10 alt="22.9%"><img src="../../../snow.png" width=77 height=10 alt="22.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=24 height=10 alt="24.3%"><img src="../../../snow.png" width=76 height=10 alt="24.3%"></td></tr></table>
</td>
- <td class="coverPerLo">22.9&nbsp;%</td>
- <td class="coverNumLo">84 / 367</td>
- <td class="coverPerMed">81.8&nbsp;%</td>
- <td class="coverNumMed">9 / 11</td>
+ <td class="coverPerLo">24.3&nbsp;%</td>
+ <td class="coverNumLo">93 / 382</td>
+ <td class="coverPerMed">78.6&nbsp;%</td>
+ <td class="coverNumMed">11 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=46 height=10 alt="45.6%"><img src="../../../snow.png" width=54 height=10 alt="45.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=48 height=10 alt="48.4%"><img src="../../../snow.png" width=52 height=10 alt="48.4%"></td></tr></table>
</td>
- <td class="coverPerLo">45.6&nbsp;%</td>
- <td class="coverNumLo">187 / 410</td>
- <td class="coverPerLo">58.3&nbsp;%</td>
- <td class="coverNumLo">14 / 24</td>
+ <td class="coverPerLo">48.4&nbsp;%</td>
+ <td class="coverNumLo">208 / 430</td>
+ <td class="coverPerLo">60.7&nbsp;%</td>
+ <td class="coverNumLo">17 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=58 height=10 alt="57.7%"><img src="../../../snow.png" width=42 height=10 alt="57.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=59 height=10 alt="58.7%"><img src="../../../snow.png" width=41 height=10 alt="58.7%"></td></tr></table>
</td>
- <td class="coverPerLo">57.7&nbsp;%</td>
- <td class="coverNumLo">94 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">58.7&nbsp;%</td>
+ <td class="coverNumLo">108 / 184</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/index.html b/coverage-report/external/pflash/libflash/index.html
index 272d1dd..318bc90 100644
--- a/coverage-report/external/pflash/libflash/index.html
+++ b/coverage-report/external/pflash/libflash/index.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">365</td>
- <td class="headerCovTableEntry">1445</td>
- <td class="headerCovTableEntryLo">25.3 %</td>
+ <td class="headerCovTableEntry">409</td>
+ <td class="headerCovTableEntry">1528</td>
+ <td class="headerCovTableEntryLo">26.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">31</td>
- <td class="headerCovTableEntry">72</td>
- <td class="headerCovTableEntryLo">43.1 %</td>
+ <td class="headerCovTableEntry">37</td>
+ <td class="headerCovTableEntry">85</td>
+ <td class="headerCovTableEntryLo">43.5 %</td>
</tr>
<tr>
<td></td>
@@ -84,12 +84,12 @@
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=23 height=10 alt="22.9%"><img src="../../../snow.png" width=77 height=10 alt="22.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=24 height=10 alt="24.3%"><img src="../../../snow.png" width=76 height=10 alt="24.3%"></td></tr></table>
</td>
- <td class="coverPerLo">22.9&nbsp;%</td>
- <td class="coverNumLo">84 / 367</td>
- <td class="coverPerMed">81.8&nbsp;%</td>
- <td class="coverNumMed">9 / 11</td>
+ <td class="coverPerLo">24.3&nbsp;%</td>
+ <td class="coverNumLo">93 / 382</td>
+ <td class="coverPerMed">78.6&nbsp;%</td>
+ <td class="coverNumMed">11 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -99,9 +99,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 106</td>
+ <td class="coverNumLo">0 / 105</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 5</td>
+ <td class="coverNumLo">0 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -120,24 +120,24 @@
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=58 height=10 alt="57.7%"><img src="../../../snow.png" width=42 height=10 alt="57.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=59 height=10 alt="58.7%"><img src="../../../snow.png" width=41 height=10 alt="58.7%"></td></tr></table>
</td>
- <td class="coverPerLo">57.7&nbsp;%</td>
- <td class="coverNumLo">94 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">58.7&nbsp;%</td>
+ <td class="coverNumLo">108 / 184</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=46 height=10 alt="45.6%"><img src="../../../snow.png" width=54 height=10 alt="45.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=48 height=10 alt="48.4%"><img src="../../../snow.png" width=52 height=10 alt="48.4%"></td></tr></table>
</td>
- <td class="coverPerLo">45.6&nbsp;%</td>
- <td class="coverNumLo">187 / 410</td>
- <td class="coverPerLo">58.3&nbsp;%</td>
- <td class="coverNumLo">14 / 24</td>
+ <td class="coverPerLo">48.4&nbsp;%</td>
+ <td class="coverNumLo">208 / 430</td>
+ <td class="coverPerLo">60.7&nbsp;%</td>
+ <td class="coverNumLo">17 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -147,9 +147,9 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 391</td>
+ <td class="coverNumLo">0 / 419</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 20</td>
+ <td class="coverNumLo">0 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/libffs.c.func-sort-c.html b/coverage-report/external/pflash/libflash/libffs.c.func-sort-c.html
index 099e155..f84c107 100644
--- a/coverage-report/external/pflash/libflash/libffs.c.func-sort-c.html
+++ b/coverage-report/external/pflash/libflash/libffs.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">187</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">45.6 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">48.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">14</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">58.3 %</td>
+ <td class="headerCovTableEntry">17</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">60.7 %</td>
</tr>
<tr>
<td></td>
@@ -105,6 +105,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#51">ffs_num_entries</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#204">ffs_string_to_entry_user</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -113,6 +117,10 @@
<td class="coverFnHi">1</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#81">ffs_entry_user_to_flash</a></td>
+ <td class="coverFnHi">1</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#458">ffs_lookup_part</a></td>
<td class="coverFnHi">2</td>
</tr>
@@ -149,10 +157,6 @@
<td class="coverFnHi">10</td>
</tr>
<tr>
- <td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
- <td class="coverFnHi">13</td>
- </tr>
- <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#266">ffs_entry_get</a></td>
<td class="coverFnHi">16</td>
</tr>
@@ -164,6 +168,18 @@
<td class="coverFn"><a href="libffs.c.gcov.html#254">has_flag</a></td>
<td class="coverFnHi">36</td>
</tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#139">ffs_entry_to_cpu</a></td>
+ <td class="coverFnHi">59</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#92">ffs_entry_user_to_cpu</a></td>
+ <td class="coverFnHi">59</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
+ <td class="coverFnHi">72</td>
+ </tr>
</table>
<br>
</center>
diff --git a/coverage-report/external/pflash/libflash/libffs.c.func.html b/coverage-report/external/pflash/libflash/libffs.c.func.html
index 74839df..ca77ef8 100644
--- a/coverage-report/external/pflash/libflash/libffs.c.func.html
+++ b/coverage-report/external/pflash/libflash/libffs.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">187</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">45.6 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">48.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">14</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">58.3 %</td>
+ <td class="headerCovTableEntry">17</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">60.7 %</td>
</tr>
<tr>
<td></td>
@@ -94,13 +94,17 @@
</tr>
<tr>
<td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
- <td class="coverFnHi">13</td>
+ <td class="coverFnHi">72</td>
</tr>
<tr>
<td class="coverFn"><a href="libffs.c.gcov.html#750">ffs_entry_set_act_size</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#139">ffs_entry_to_cpu</a></td>
+ <td class="coverFnHi">59</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#103">ffs_entry_to_flash</a></td>
<td class="coverFnHi">1</td>
</tr>
@@ -113,6 +117,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#92">ffs_entry_user_to_cpu</a></td>
+ <td class="coverFnHi">59</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#81">ffs_entry_user_to_flash</a></td>
+ <td class="coverFnHi">1</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#160">ffs_entry_user_to_string</a></td>
<td class="coverFnHi">7</td>
</tr>
@@ -145,6 +157,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#51">ffs_num_entries</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#477">ffs_part_info</a></td>
<td class="coverFnHi">22</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/libffs.c.gcov.html b/coverage-report/external/pflash/libflash/libffs.c.gcov.html
index 163448b..72d62f5 100644
--- a/coverage-report/external/pflash/libflash/libffs.c.gcov.html
+++ b/coverage-report/external/pflash/libflash/libffs.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">187</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">45.6 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">48.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">14</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">58.3 %</td>
+ <td class="headerCovTableEntry">17</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">60.7 %</td>
</tr>
<tr>
<td></td>
@@ -96,24 +96,24 @@
<a name="25"><span class="lineNum"> 25 </span> : : struct blocklevel_device *bl;</a>
<a name="26"><span class="lineNum"> 26 </span> : : };</a>
<a name="27"><span class="lineNum"> 27 </span> : : </a>
-<a name="28"><span class="lineNum"> 28 </span> : : static uint32_t ffs_checksum(void* data, size_t size)</a>
+<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 59 : static uint32_t ffs_checksum(void* data, size_t size)</span></a>
<a name="29"><span class="lineNum"> 29 </span> : : {</a>
-<a name="30"><span class="lineNum"> 30 </span> : : uint32_t i, csum = 0;</a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 59 : uint32_t i, csum = 0;</span></a>
<a name="31"><span class="lineNum"> 31 </span> : : </a>
-<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 290 : for (i = csum = 0; i &lt; (size/4); i++)</span></a>
-<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 140 : csum ^= ((uint32_t *)data)[i];</span></a>
-<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 10 : return csum;</span></a>
+<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 2097 : for (i = csum = 0; i &lt; (size/4); i++)</span></a>
+<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 2028 : csum ^= ((uint32_t *)data)[i];</span></a>
+<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 69 : return csum;</span></a>
<a name="35"><span class="lineNum"> 35 </span> : : }</a>
<a name="36"><span class="lineNum"> 36 </span> : : </a>
<a name="37"><span class="lineNum"> 37 </span> : : /* Helper functions for typesafety and size safety */</a>
<a name="38"><span class="lineNum"> 38 </span> :<span class="lineNoCov"> 0 : static uint32_t ffs_hdr_checksum(struct __ffs_hdr *hdr)</span></a>
<a name="39"><span class="lineNum"> 39 </span> : : {</a>
-<a name="40"><span class="lineNum"> 40 </span> :<span class="lineNoCov"> 0 : return ffs_checksum(hdr, sizeof(struct __ffs_hdr));</span></a>
+<a name="40"><span class="lineNum"> 40 </span> : : return ffs_checksum(hdr, sizeof(struct __ffs_hdr));</a>
<a name="41"><span class="lineNum"> 41 </span> : : }</a>
<a name="42"><span class="lineNum"> 42 </span> : : </a>
-<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 1 : static uint32_t ffs_entry_checksum(struct __ffs_entry *ent)</span></a>
+<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 60 : static uint32_t ffs_entry_checksum(struct __ffs_entry *ent)</span></a>
<a name="44"><span class="lineNum"> 44 </span> : : {</a>
-<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 33 : return ffs_checksum(ent, sizeof(struct __ffs_entry));</span></a>
+<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 118 : return ffs_checksum(ent, sizeof(struct __ffs_entry));</span></a>
<a name="46"><span class="lineNum"> 46 </span> : : }</a>
<a name="47"><span class="lineNum"> 47 </span> : : </a>
<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 2 : static size_t ffs_hdr_raw_size(int num_entries)</span></a>
@@ -135,7 +135,7 @@
<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 9 : dst-&gt;version = be32_to_cpu(src-&gt;version);</span></a>
<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 9 : if (dst-&gt;version != FFS_VERSION_1)</span></a>
<a name="66"><span class="lineNum"> 66 </span> : : return FFS_ERR_BAD_VERSION;</a>
-<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 117 : if (ffs_hdr_checksum(src) != 0)</span></a>
+<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 9 : if (ffs_hdr_checksum(src) != 0)</span></a>
<a name="68"><span class="lineNum"> 68 </span> : : return FFS_ERR_BAD_CKSUM;</a>
<a name="69"><span class="lineNum"> 69 </span> :<span class="lineCov"> 9 : if (be32_to_cpu(src-&gt;entry_size) != sizeof(struct __ffs_entry))</span></a>
<a name="70"><span class="lineNum"> 70 </span> : : return FFS_ERR_BAD_SIZE;</a>
@@ -162,15 +162,15 @@
<a name="91"><span class="lineNum"> 91 </span> :<span class="lineCov"> 1 : return 0;</span></a>
<a name="92"><span class="lineNum"> 92 </span> : : }</a>
<a name="93"><span class="lineNum"> 93 </span> : : </a>
-<a name="94"><span class="lineNum"> 94 </span> : : static int ffs_entry_user_to_cpu(struct ffs_hdr *hdr __unused,</a>
+<a name="94"><span class="lineNum"> 94 </span> :<span class="lineCov"> 59 : static int ffs_entry_user_to_cpu(struct ffs_hdr *hdr __unused,</span></a>
<a name="95"><span class="lineNum"> 95 </span> : : struct ffs_entry_user *dst, struct __ffs_entry_user *src)</a>
<a name="96"><span class="lineNum"> 96 </span> : : {</a>
-<a name="97"><span class="lineNum"> 97 </span> : : memset(dst, 0, sizeof(struct ffs_entry_user));</a>
-<a name="98"><span class="lineNum"> 98 </span> : : dst-&gt;datainteg = be16_to_cpu(src-&gt;datainteg);</a>
-<a name="99"><span class="lineNum"> 99 </span> : : dst-&gt;vercheck = src-&gt;vercheck;</a>
-<a name="100"><span class="lineNum"> 100 </span> : : dst-&gt;miscflags = src-&gt;miscflags;</a>
+<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 59 : memset(dst, 0, sizeof(struct ffs_entry_user));</span></a>
+<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 59 : dst-&gt;datainteg = be16_to_cpu(src-&gt;datainteg);</span></a>
+<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 59 : dst-&gt;vercheck = src-&gt;vercheck;</span></a>
+<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 59 : dst-&gt;miscflags = src-&gt;miscflags;</span></a>
<a name="101"><span class="lineNum"> 101 </span> : : </a>
-<a name="102"><span class="lineNum"> 102 </span> : : return 0;</a>
+<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 59 : return 0;</span></a>
<a name="103"><span class="lineNum"> 103 </span> : : }</a>
<a name="104"><span class="lineNum"> 104 </span> : : </a>
<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 1 : static int ffs_entry_to_flash(struct ffs_hdr *hdr,</span></a>
@@ -209,25 +209,25 @@
<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 1 : return rc;</span></a>
<a name="139"><span class="lineNum"> 139 </span> : : }</a>
<a name="140"><span class="lineNum"> 140 </span> : : </a>
-<a name="141"><span class="lineNum"> 141 </span> : : static int ffs_entry_to_cpu(struct ffs_hdr *hdr,</a>
+<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 59 : static int ffs_entry_to_cpu(struct ffs_hdr *hdr,</span></a>
<a name="142"><span class="lineNum"> 142 </span> : : struct ffs_entry *dst, struct __ffs_entry *src)</a>
<a name="143"><span class="lineNum"> 143 </span> : : {</a>
-<a name="144"><span class="lineNum"> 144 </span> : : int rc;</a>
+<a name="144"><span class="lineNum"> 144 </span> :<span class="lineCov"> 59 : int rc;</span></a>
<a name="145"><span class="lineNum"> 145 </span> : : </a>
-<a name="146"><span class="lineNum"> 146 </span> : : if (ffs_entry_checksum(src) != 0)</a>
+<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 118 : if (ffs_entry_checksum(src) != 0)</span></a>
<a name="147"><span class="lineNum"> 147 </span> : : return FFS_ERR_BAD_CKSUM;</a>
<a name="148"><span class="lineNum"> 148 </span> : : </a>
-<a name="149"><span class="lineNum"> 149 </span> : : memcpy(dst-&gt;name, src-&gt;name, sizeof(dst-&gt;name));</a>
-<a name="150"><span class="lineNum"> 150 </span> : : dst-&gt;name[FFS_PART_NAME_MAX] = '\0';</a>
-<a name="151"><span class="lineNum"> 151 </span> : : dst-&gt;base = be32_to_cpu(src-&gt;base) * hdr-&gt;block_size;</a>
-<a name="152"><span class="lineNum"> 152 </span> : : dst-&gt;size = be32_to_cpu(src-&gt;size) * hdr-&gt;block_size;</a>
-<a name="153"><span class="lineNum"> 153 </span> : : dst-&gt;actual = be32_to_cpu(src-&gt;actual);</a>
-<a name="154"><span class="lineNum"> 154 </span> : : dst-&gt;pid = be32_to_cpu(src-&gt;pid);</a>
-<a name="155"><span class="lineNum"> 155 </span> : : dst-&gt;type = be32_to_cpu(src-&gt;type); /* TODO: Check that it is valid? */</a>
-<a name="156"><span class="lineNum"> 156 </span> : : dst-&gt;flags = be32_to_cpu(src-&gt;flags);</a>
-<a name="157"><span class="lineNum"> 157 </span> : : rc = ffs_entry_user_to_cpu(hdr, &amp;dst-&gt;user, &amp;src-&gt;user);</a>
+<a name="149"><span class="lineNum"> 149 </span> :<span class="lineCov"> 59 : memcpy(dst-&gt;name, src-&gt;name, sizeof(dst-&gt;name));</span></a>
+<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 59 : dst-&gt;name[FFS_PART_NAME_MAX] = '\0';</span></a>
+<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 59 : dst-&gt;base = be32_to_cpu(src-&gt;base) * hdr-&gt;block_size;</span></a>
+<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 59 : dst-&gt;size = be32_to_cpu(src-&gt;size) * hdr-&gt;block_size;</span></a>
+<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 59 : dst-&gt;actual = be32_to_cpu(src-&gt;actual);</span></a>
+<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 59 : dst-&gt;pid = be32_to_cpu(src-&gt;pid);</span></a>
+<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 59 : dst-&gt;type = be32_to_cpu(src-&gt;type); /* TODO: Check that it is valid? */</span></a>
+<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 59 : dst-&gt;flags = be32_to_cpu(src-&gt;flags);</span></a>
+<a name="157"><span class="lineNum"> 157 </span> :<span class="lineCov"> 59 : rc = ffs_entry_user_to_cpu(hdr, &amp;dst-&gt;user, &amp;src-&gt;user);</span></a>
<a name="158"><span class="lineNum"> 158 </span> : : </a>
-<a name="159"><span class="lineNum"> 159 </span> : : return rc;</a>
+<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 59 : return rc;</span></a>
<a name="160"><span class="lineNum"> 160 </span> : : }</a>
<a name="161"><span class="lineNum"> 161 </span> : : </a>
<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 7 : char *ffs_entry_user_to_string(struct ffs_entry_user *user)</span></a>
@@ -346,7 +346,7 @@
<a name="275"><span class="lineNum"> 275 </span> : : </a>
<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 72 : struct ffs_entry *ffs_entry_put(struct ffs_entry *ent)</span></a>
<a name="277"><span class="lineNum"> 277 </span> : : {</a>
-<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 13 : if (!ent)</span></a>
+<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 72 : if (!ent)</span></a>
<a name="279"><span class="lineNum"> 279 </span> : : return NULL;</a>
<a name="280"><span class="lineNum"> 280 </span> : : </a>
<a name="281"><span class="lineNum"> 281 </span> :<span class="lineCov"> 72 : ent-&gt;ref--;</span></a>
@@ -508,7 +508,7 @@
<a name="437"><span class="lineNum"> 437 </span> : : return;</a>
<a name="438"><span class="lineNum"> 438 </span> : : </a>
<a name="439"><span class="lineNum"> 439 </span> :<span class="lineCov"> 68 : for (i = 0; i &lt; hdr-&gt;count; i++)</span></a>
-<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 118 : ffs_entry_put(hdr-&gt;entries[i]);</span></a>
+<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 59 : ffs_entry_put(hdr-&gt;entries[i]);</span></a>
<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 9 : free(hdr-&gt;entries);</span></a>
<a name="442"><span class="lineNum"> 442 </span> : : }</a>
<a name="443"><span class="lineNum"> 443 </span> : : </a>
diff --git a/coverage-report/external/pflash/libflash/libflash.c.func-sort-c.html b/coverage-report/external/pflash/libflash/libflash.c.func-sort-c.html
index 9f82dcd..f9aa6b1 100644
--- a/coverage-report/external/pflash/libflash/libflash.c.func-sort-c.html
+++ b/coverage-report/external/pflash/libflash/libflash.c.func-sort-c.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -73,6 +73,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#183">fl_get_best_erase</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#55">fl_micron_status</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#50">fl_read_stat</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -81,6 +89,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#293">fl_wpage</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#87">fl_wren</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -133,6 +145,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#440">flash_smart_comp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#465">flash_smart_write</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/libflash.c.func.html b/coverage-report/external/pflash/libflash/libflash.c.func.html
index d390605..cb09252 100644
--- a/coverage-report/external/pflash/libflash/libflash.c.func.html
+++ b/coverage-report/external/pflash/libflash/libflash.c.func.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -73,6 +73,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#183">fl_get_best_erase</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#55">fl_micron_status</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#50">fl_read_stat</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -81,6 +89,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#293">fl_wpage</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#87">fl_wren</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -133,6 +145,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libflash.c.gcov.html#440">flash_smart_comp</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libflash.c.gcov.html#465">flash_smart_write</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/external/pflash/libflash/libflash.c.gcov.html b/coverage-report/external/pflash/libflash/libflash.c.gcov.html
index 3548f02..40bfe26 100644
--- a/coverage-report/external/pflash/libflash/libflash.c.gcov.html
+++ b/coverage-report/external/pflash/libflash/libflash.c.gcov.html
@@ -32,16 +32,16 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">391</td>
+ <td class="headerCovTableEntry">419</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">20</td>
+ <td class="headerCovTableEntry">24</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
@@ -253,36 +253,36 @@
<a name="182"><span class="lineNum"> 182 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="183"><span class="lineNum"> 183 </span> : : }</a>
<a name="184"><span class="lineNum"> 184 </span> : : </a>
-<a name="185"><span class="lineNum"> 185 </span> : : static void fl_get_best_erase(struct flash_chip *c, uint32_t dst, uint32_t size,</a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : static void fl_get_best_erase(struct flash_chip *c, uint32_t dst, uint32_t size,</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : uint32_t *chunk, uint8_t *cmd)</a>
<a name="187"><span class="lineNum"> 187 </span> : : {</a>
<a name="188"><span class="lineNum"> 188 </span> : : /* Smaller than 32k, use 4k */</a>
-<a name="189"><span class="lineNum"> 189 </span> : : if ((dst &amp; 0x7fff) || (size &lt; 0x8000)) {</a>
-<a name="190"><span class="lineNum"> 190 </span> : : *chunk = 0x1000;</a>
-<a name="191"><span class="lineNum"> 191 </span> : : *cmd = CMD_SE;</a>
-<a name="192"><span class="lineNum"> 192 </span> : : return;</a>
+<a name="189"><span class="lineNum"> 189 </span> :<span class="lineNoCov"> 0 : if ((dst &amp; 0x7fff) || (size &lt; 0x8000)) {</span></a>
+<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : *chunk = 0x1000;</span></a>
+<a name="191"><span class="lineNum"> 191 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_SE;</span></a>
+<a name="192"><span class="lineNum"> 192 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="193"><span class="lineNum"> 193 </span> : : }</a>
<a name="194"><span class="lineNum"> 194 </span> : : /* Smaller than 64k and 32k is supported, use it */</a>
-<a name="195"><span class="lineNum"> 195 </span> : : if ((c-&gt;info.flags &amp; FL_ERASE_32K) &amp;&amp;</a>
-<a name="196"><span class="lineNum"> 196 </span> : : ((dst &amp; 0xffff) || (size &lt; 0x10000))) {</a>
-<a name="197"><span class="lineNum"> 197 </span> : : *chunk = 0x8000;</a>
-<a name="198"><span class="lineNum"> 198 </span> : : *cmd = CMD_BE32K;</a>
-<a name="199"><span class="lineNum"> 199 </span> : : return;</a>
+<a name="195"><span class="lineNum"> 195 </span> :<span class="lineNoCov"> 0 : if ((c-&gt;info.flags &amp; FL_ERASE_32K) &amp;&amp;</span></a>
+<a name="196"><span class="lineNum"> 196 </span> :<span class="lineNoCov"> 0 : ((dst &amp; 0xffff) || (size &lt; 0x10000))) {</span></a>
+<a name="197"><span class="lineNum"> 197 </span> :<span class="lineNoCov"> 0 : *chunk = 0x8000;</span></a>
+<a name="198"><span class="lineNum"> 198 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE32K;</span></a>
+<a name="199"><span class="lineNum"> 199 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="200"><span class="lineNum"> 200 </span> : : }</a>
<a name="201"><span class="lineNum"> 201 </span> : : /* If 64K is not supported, use whatever smaller size is */</a>
-<a name="202"><span class="lineNum"> 202 </span> : : if (!(c-&gt;info.flags &amp; FL_ERASE_64K)) {</a>
-<a name="203"><span class="lineNum"> 203 </span> : : if (c-&gt;info.flags &amp; FL_ERASE_32K) {</a>
-<a name="204"><span class="lineNum"> 204 </span> : : *chunk = 0x8000;</a>
-<a name="205"><span class="lineNum"> 205 </span> : : *cmd = CMD_BE32K;</a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : if (!(c-&gt;info.flags &amp; FL_ERASE_64K)) {</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : if (c-&gt;info.flags &amp; FL_ERASE_32K) {</span></a>
+<a name="204"><span class="lineNum"> 204 </span> :<span class="lineNoCov"> 0 : *chunk = 0x8000;</span></a>
+<a name="205"><span class="lineNum"> 205 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE32K;</span></a>
<a name="206"><span class="lineNum"> 206 </span> : : } else {</a>
-<a name="207"><span class="lineNum"> 207 </span> : : *chunk = 0x1000;</a>
-<a name="208"><span class="lineNum"> 208 </span> : : *cmd = CMD_SE;</a>
+<a name="207"><span class="lineNum"> 207 </span> :<span class="lineNoCov"> 0 : *chunk = 0x1000;</span></a>
+<a name="208"><span class="lineNum"> 208 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_SE;</span></a>
<a name="209"><span class="lineNum"> 209 </span> : : }</a>
-<a name="210"><span class="lineNum"> 210 </span> : : return;</a>
+<a name="210"><span class="lineNum"> 210 </span> :<span class="lineNoCov"> 0 : return;</span></a>
<a name="211"><span class="lineNum"> 211 </span> : : }</a>
<a name="212"><span class="lineNum"> 212 </span> : : /* Allright, let's go for 64K */</a>
-<a name="213"><span class="lineNum"> 213 </span> : : *chunk = 0x10000;</a>
-<a name="214"><span class="lineNum"> 214 </span> : : *cmd = CMD_BE;</a>
+<a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : *chunk = 0x10000;</span></a>
+<a name="214"><span class="lineNum"> 214 </span> :<span class="lineNoCov"> 0 : *cmd = CMD_BE;</span></a>
<a name="215"><span class="lineNum"> 215 </span> : : }</a>
<a name="216"><span class="lineNum"> 216 </span> : : </a>
<a name="217"><span class="lineNum"> 217 </span> :<span class="lineNoCov"> 0 : static int flash_erase(struct blocklevel_device *bl, uint64_t dst, uint64_t size)</span></a>
@@ -363,24 +363,24 @@
<a name="292"><span class="lineNum"> 292 </span> :<span class="lineNoCov"> 0 : return fl_sync_wait_idle(ct);</span></a>
<a name="293"><span class="lineNum"> 293 </span> : : }</a>
<a name="294"><span class="lineNum"> 294 </span> : : </a>
-<a name="295"><span class="lineNum"> 295 </span> : : static int fl_wpage(struct flash_chip *c, uint32_t dst, const void *src,</a>
+<a name="295"><span class="lineNum"> 295 </span> :<span class="lineNoCov"> 0 : static int fl_wpage(struct flash_chip *c, uint32_t dst, const void *src,</span></a>
<a name="296"><span class="lineNum"> 296 </span> : : uint32_t size)</a>
<a name="297"><span class="lineNum"> 297 </span> : : {</a>
-<a name="298"><span class="lineNum"> 298 </span> : : struct spi_flash_ctrl *ct = c-&gt;ctrl;</a>
-<a name="299"><span class="lineNum"> 299 </span> : : int rc;</a>
+<a name="298"><span class="lineNum"> 298 </span> :<span class="lineNoCov"> 0 : struct spi_flash_ctrl *ct = c-&gt;ctrl;</span></a>
+<a name="299"><span class="lineNum"> 299 </span> :<span class="lineNoCov"> 0 : int rc;</span></a>
<a name="300"><span class="lineNum"> 300 </span> : : </a>
-<a name="301"><span class="lineNum"> 301 </span> : : if (size &lt; 1 || size &gt; 0x100)</a>
+<a name="301"><span class="lineNum"> 301 </span> :<span class="lineNoCov"> 0 : if (size &lt; 1 || size &gt; 0x100)</span></a>
<a name="302"><span class="lineNum"> 302 </span> : : return FLASH_ERR_BAD_PAGE_SIZE;</a>
<a name="303"><span class="lineNum"> 303 </span> : : </a>
-<a name="304"><span class="lineNum"> 304 </span> : : rc = fl_wren(ct);</a>
-<a name="305"><span class="lineNum"> 305 </span> : : if (rc) return rc;</a>
+<a name="304"><span class="lineNum"> 304 </span> :<span class="lineNoCov"> 0 : rc = fl_wren(ct);</span></a>
+<a name="305"><span class="lineNum"> 305 </span> :<span class="lineNoCov"> 0 : if (rc) return rc;</span></a>
<a name="306"><span class="lineNum"> 306 </span> : : </a>
-<a name="307"><span class="lineNum"> 307 </span> : : rc = ct-&gt;cmd_wr(ct, CMD_PP, true, dst, src, size);</a>
-<a name="308"><span class="lineNum"> 308 </span> : : if (rc)</a>
+<a name="307"><span class="lineNum"> 307 </span> :<span class="lineNoCov"> 0 : rc = ct-&gt;cmd_wr(ct, CMD_PP, true, dst, src, size);</span></a>
+<a name="308"><span class="lineNum"> 308 </span> :<span class="lineNoCov"> 0 : if (rc)</span></a>
<a name="309"><span class="lineNum"> 309 </span> : : return rc;</a>
<a name="310"><span class="lineNum"> 310 </span> : : </a>
<a name="311"><span class="lineNum"> 311 </span> : : /* Wait for write complete */</a>
-<a name="312"><span class="lineNum"> 312 </span> : : return fl_sync_wait_idle(ct);</a>
+<a name="312"><span class="lineNum"> 312 </span> :<span class="lineNoCov"> 0 : return fl_sync_wait_idle(ct);</span></a>
<a name="313"><span class="lineNum"> 313 </span> : : }</a>
<a name="314"><span class="lineNum"> 314 </span> : : </a>
<a name="315"><span class="lineNum"> 315 </span> :<span class="lineNoCov"> 0 : static int flash_write(struct blocklevel_device *bl, uint32_t dst, const void *src,</span></a>
diff --git a/coverage-report/external/pflash/pflash.c.func-sort-c.html b/coverage-report/external/pflash/pflash.c.func-sort-c.html
index 915bb26..e0065b3 100644
--- a/coverage-report/external/pflash/pflash.c.func-sort-c.html
+++ b/coverage-report/external/pflash/pflash.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/external/pflash/pflash.c.func.html b/coverage-report/external/pflash/pflash.c.func.html
index 86a3786..ddca209 100644
--- a/coverage-report/external/pflash/pflash.c.func.html
+++ b/coverage-report/external/pflash/pflash.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/external/pflash/pflash.c.gcov.html b/coverage-report/external/pflash/pflash.c.gcov.html
index b05a5a1..9e47674 100644
--- a/coverage-report/external/pflash/pflash.c.gcov.html
+++ b/coverage-report/external/pflash/pflash.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/external/pflash/progress.c.func-sort-c.html b/coverage-report/external/pflash/progress.c.func-sort-c.html
index 62a41ad..f3b6922 100644
--- a/coverage-report/external/pflash/progress.c.func-sort-c.html
+++ b/coverage-report/external/pflash/progress.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/external/pflash/progress.c.func.html b/coverage-report/external/pflash/progress.c.func.html
index 9f39a5d..747e653 100644
--- a/coverage-report/external/pflash/progress.c.func.html
+++ b/coverage-report/external/pflash/progress.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/external/pflash/progress.c.gcov.html b/coverage-report/external/pflash/progress.c.gcov.html
index 5bb1328..d2be9ea 100644
--- a/coverage-report/external/pflash/progress.c.gcov.html
+++ b/coverage-report/external/pflash/progress.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/external/trace/index-sort-b.html b/coverage-report/external/trace/index-sort-b.html
index d72d9ce..9c58880 100644
--- a/coverage-report/external/trace/index-sort-b.html
+++ b/coverage-report/external/trace/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/trace/index-sort-f.html b/coverage-report/external/trace/index-sort-f.html
index 07c5ce7..6d01191 100644
--- a/coverage-report/external/trace/index-sort-f.html
+++ b/coverage-report/external/trace/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/trace/index-sort-l.html b/coverage-report/external/trace/index-sort-l.html
index 42d001f..08e0440 100644
--- a/coverage-report/external/trace/index-sort-l.html
+++ b/coverage-report/external/trace/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/trace/index.html b/coverage-report/external/trace/index.html
index 460c197..15da163 100644
--- a/coverage-report/external/trace/index.html
+++ b/coverage-report/external/trace/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/external/trace/trace.c.func-sort-c.html b/coverage-report/external/trace/trace.c.func-sort-c.html
index d16d6d7..a7c9b94 100644
--- a/coverage-report/external/trace/trace.c.func-sort-c.html
+++ b/coverage-report/external/trace/trace.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -69,12 +69,12 @@
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
- <td class="coverFn"><a href="trace.c.gcov.html#19">trace_empty</a></td>
- <td class="coverFnHi">4006630</td>
+ <td class="coverFn"><a href="trace.c.gcov.html#45">trace_get</a></td>
+ <td class="coverFnHi">4037946</td>
</tr>
<tr>
- <td class="coverFn"><a href="trace.c.gcov.html#45">trace_get</a></td>
- <td class="coverFnHi">4006630</td>
+ <td class="coverFn"><a href="trace.c.gcov.html#19">trace_empty</a></td>
+ <td class="coverFnHi">4037950</td>
</tr>
</table>
<br>
diff --git a/coverage-report/external/trace/trace.c.func.html b/coverage-report/external/trace/trace.c.func.html
index 2baed8a..5bfee0f 100644
--- a/coverage-report/external/trace/trace.c.func.html
+++ b/coverage-report/external/trace/trace.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -70,11 +70,11 @@
</tr>
<tr>
<td class="coverFn"><a href="trace.c.gcov.html#19">trace_empty</a></td>
- <td class="coverFnHi">4006630</td>
+ <td class="coverFnHi">4037950</td>
</tr>
<tr>
<td class="coverFn"><a href="trace.c.gcov.html#45">trace_get</a></td>
- <td class="coverFnHi">4006630</td>
+ <td class="coverFnHi">4037946</td>
</tr>
</table>
<br>
diff --git a/coverage-report/external/trace/trace.c.gcov.html b/coverage-report/external/trace/trace.c.gcov.html
index a7d706a..a979296 100644
--- a/coverage-report/external/trace/trace.c.gcov.html
+++ b/coverage-report/external/trace/trace.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
@@ -89,95 +89,95 @@
<a name="18"><span class="lineNum"> 18 </span> : : #define rmb()</a>
<a name="19"><span class="lineNum"> 19 </span> : : #endif</a>
<a name="20"><span class="lineNum"> 20 </span> : : </a>
-<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 4006630 : bool trace_empty(const struct trace_reader *tr)</span></a>
+<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 4037950 : bool trace_empty(const struct trace_reader *tr)</span></a>
<a name="22"><span class="lineNum"> 22 </span> : : {</a>
<a name="23"><span class="lineNum"> 23 </span> : : const struct trace_repeat *rep;</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
-<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 4006630 : if (tr-&gt;rpos == be64_to_cpu(tr-&gt;tb-&gt;end))</span></a>
-<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 6257 : return true;</span></a>
+<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 4037950 : if (tr-&gt;rpos == be64_to_cpu(tr-&gt;tb-&gt;end))</span></a>
+<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 4240 : return true;</span></a>
<a name="27"><span class="lineNum"> 27 </span> : : </a>
<a name="28"><span class="lineNum"> 28 </span> : : /*</a>
<a name="29"><span class="lineNum"> 29 </span> : : * If we have a single element only, and it's a repeat buffer</a>
<a name="30"><span class="lineNum"> 30 </span> : : * we've already seen every repeat for (yet which may be</a>
<a name="31"><span class="lineNum"> 31 </span> : : * incremented in future), we're also empty.</a>
<a name="32"><span class="lineNum"> 32 </span> : : */</a>
-<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 4000380 : rep = (void *)tr-&gt;tb-&gt;buf + tr-&gt;rpos % be64_to_cpu(tr-&gt;tb-&gt;buf_size);</span></a>
-<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 4000380 : if (be64_to_cpu(tr-&gt;tb-&gt;end) != tr-&gt;rpos + sizeof(*rep))</span></a>
-<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 1907510 : return false;</span></a>
+<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 4033710 : rep = (void *)tr-&gt;tb-&gt;buf + tr-&gt;rpos % be64_to_cpu(tr-&gt;tb-&gt;buf_size);</span></a>
+<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 4033710 : if (be64_to_cpu(tr-&gt;tb-&gt;end) != tr-&gt;rpos + sizeof(*rep))</span></a>
+<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 1940770 : return false;</span></a>
<a name="36"><span class="lineNum"> 36 </span> : : </a>
-<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 2092870 : if (rep-&gt;type != TRACE_REPEAT)</span></a>
+<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 2092940 : if (rep-&gt;type != TRACE_REPEAT)</span></a>
<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 8 : return false;</span></a>
<a name="39"><span class="lineNum"> 39 </span> : : </a>
-<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 2092860 : if (be16_to_cpu(rep-&gt;num) != tr-&gt;last_repeat)</span></a>
-<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 1046430 : return false;</span></a>
+<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 2092932 : if (be16_to_cpu(rep-&gt;num) != tr-&gt;last_repeat)</span></a>
+<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 1046422 : return false;</span></a>
<a name="42"><span class="lineNum"> 42 </span> : : </a>
-<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 1046430 : return true;</span></a>
+<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 1046510 : return true;</span></a>
<a name="44"><span class="lineNum"> 44 </span> : : }</a>
<a name="45"><span class="lineNum"> 45 </span> : : </a>
<a name="46"><span class="lineNum"> 46 </span> : : /* You can't read in parallel, so some locking required in caller. */</a>
-<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 4006630 : bool trace_get(union trace *t, struct trace_reader *tr)</span></a>
+<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 4037946 : bool trace_get(union trace *t, struct trace_reader *tr)</span></a>
<a name="48"><span class="lineNum"> 48 </span> : : {</a>
<a name="49"><span class="lineNum"> 49 </span> : : u64 start, rpos;</a>
<a name="50"><span class="lineNum"> 50 </span> : : size_t len;</a>
<a name="51"><span class="lineNum"> 51 </span> : : </a>
-<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 8013260 : len = sizeof(*t) &lt; be32_to_cpu(tr-&gt;tb-&gt;max_size) ? sizeof(*t) :</span></a>
-<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 4006630 : be32_to_cpu(tr-&gt;tb-&gt;max_size);</span></a>
+<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 8075892 : len = sizeof(*t) &lt; be32_to_cpu(tr-&gt;tb-&gt;max_size) ? sizeof(*t) :</span></a>
+<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 4037946 : be32_to_cpu(tr-&gt;tb-&gt;max_size);</span></a>
<a name="54"><span class="lineNum"> 54 </span> : : </a>
-<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 4006630 : if (trace_empty(tr))</span></a>
-<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 1052680 : return false;</span></a>
+<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 4037946 : if (trace_empty(tr))</span></a>
+<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 1050746 : return false;</span></a>
<a name="57"><span class="lineNum"> 57 </span> : : </a>
-<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 2953940 : again:</span></a>
+<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 2987200 : again:</span></a>
<a name="59"><span class="lineNum"> 59 </span> : : /*</a>
<a name="60"><span class="lineNum"> 60 </span> : : * The actual buffer is slightly larger than tbsize, so this</a>
<a name="61"><span class="lineNum"> 61 </span> : : * memcpy is always valid.</a>
<a name="62"><span class="lineNum"> 62 </span> : : */</a>
-<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 3653830 : memcpy(t, tr-&gt;tb-&gt;buf + tr-&gt;rpos % be64_to_cpu(tr-&gt;tb-&gt;buf_size), len);</span></a>
+<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 3693664 : memcpy(t, tr-&gt;tb-&gt;buf + tr-&gt;rpos % be64_to_cpu(tr-&gt;tb-&gt;buf_size), len);</span></a>
<a name="64"><span class="lineNum"> 64 </span> : : </a>
<a name="65"><span class="lineNum"> 65 </span> : : rmb(); /* read barrier, so we read tr-&gt;tb-&gt;start after copying record. */</a>
<a name="66"><span class="lineNum"> 66 </span> : : </a>
-<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 3653830 : start = be64_to_cpu(tr-&gt;tb-&gt;start);</span></a>
-<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 3653830 : rpos = tr-&gt;rpos;</span></a>
+<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 3693664 : start = be64_to_cpu(tr-&gt;tb-&gt;start);</span></a>
+<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 3693664 : rpos = tr-&gt;rpos;</span></a>
<a name="69"><span class="lineNum"> 69 </span> : : </a>
<a name="70"><span class="lineNum"> 70 </span> : : /* Now, was that overwritten? */</a>
-<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 3653830 : if (rpos &lt; start) {</span></a>
+<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 3693664 : if (rpos &lt; start) {</span></a>
<a name="72"><span class="lineNum"> 72 </span> : : /* Create overflow record. */</a>
-<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 30 : t-&gt;overflow.unused64 = 0;</span></a>
-<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 30 : t-&gt;overflow.type = TRACE_OVERFLOW;</span></a>
-<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 30 : t-&gt;overflow.len_div_8 = sizeof(t-&gt;overflow) / 8;</span></a>
-<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 30 : t-&gt;overflow.bytes_missed = cpu_to_be64(start - rpos);</span></a>
-<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 30 : tr-&gt;rpos = start;</span></a>
-<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 30 : return true;</span></a>
+<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 37 : t-&gt;overflow.unused64 = 0;</span></a>
+<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 37 : t-&gt;overflow.type = TRACE_OVERFLOW;</span></a>
+<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 37 : t-&gt;overflow.len_div_8 = sizeof(t-&gt;overflow) / 8;</span></a>
+<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 37 : t-&gt;overflow.bytes_missed = cpu_to_be64(start - rpos);</span></a>
+<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 37 : tr-&gt;rpos = start;</span></a>
+<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 37 : return true;</span></a>
<a name="79"><span class="lineNum"> 79 </span> : : }</a>
<a name="80"><span class="lineNum"> 80 </span> : : </a>
<a name="81"><span class="lineNum"> 81 </span> : : /* Repeat entries need special handling */</a>
-<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 3653800 : if (t-&gt;hdr.type == TRACE_REPEAT) {</span></a>
-<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 2446190 : u32 num = be16_to_cpu(t-&gt;repeat.num);</span></a>
+<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 3693627 : if (t-&gt;hdr.type == TRACE_REPEAT) {</span></a>
+<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 2459339 : u32 num = be16_to_cpu(t-&gt;repeat.num);</span></a>
<a name="84"><span class="lineNum"> 84 </span> : : </a>
<a name="85"><span class="lineNum"> 85 </span> : : /* In case we've read some already... */</a>
-<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 2446190 : t-&gt;repeat.num = cpu_to_be16(num - tr-&gt;last_repeat);</span></a>
+<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 2459339 : t-&gt;repeat.num = cpu_to_be16(num - tr-&gt;last_repeat);</span></a>
<a name="87"><span class="lineNum"> 87 </span> : : </a>
<a name="88"><span class="lineNum"> 88 </span> : : /* Record how many repeats we saw this time. */</a>
-<a name="89"><span class="lineNum"> 89 </span> :<span class="lineCov"> 2446190 : tr-&gt;last_repeat = num;</span></a>
+<a name="89"><span class="lineNum"> 89 </span> :<span class="lineCov"> 2459339 : tr-&gt;last_repeat = num;</span></a>
<a name="90"><span class="lineNum"> 90 </span> : : </a>
<a name="91"><span class="lineNum"> 91 </span> : : /* Don't report an empty repeat buffer. */</a>
-<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 2446190 : if (t-&gt;repeat.num == 0) {</span></a>
+<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 2459339 : if (t-&gt;repeat.num == 0) {</span></a>
<a name="93"><span class="lineNum"> 93 </span> : : /*</a>
<a name="94"><span class="lineNum"> 94 </span> : : * This can't be the last buffer, otherwise</a>
<a name="95"><span class="lineNum"> 95 </span> : : * trace_empty would have returned true.</a>
<a name="96"><span class="lineNum"> 96 </span> : : */</a>
-<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 699888 : assert(be64_to_cpu(tr-&gt;tb-&gt;end) &gt;</span></a>
+<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 706464 : assert(be64_to_cpu(tr-&gt;tb-&gt;end) &gt;</span></a>
<a name="98"><span class="lineNum"> 98 </span> : : rpos + t-&gt;hdr.len_div_8 * 8);</a>
<a name="99"><span class="lineNum"> 99 </span> : : /* Skip to next entry. */</a>
-<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 699888 : tr-&gt;rpos = rpos + t-&gt;hdr.len_div_8 * 8;</span></a>
-<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 699888 : tr-&gt;last_repeat = 0;</span></a>
-<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 699888 : goto again;</span></a>
+<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 706464 : tr-&gt;rpos = rpos + t-&gt;hdr.len_div_8 * 8;</span></a>
+<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 706464 : tr-&gt;last_repeat = 0;</span></a>
+<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 706464 : goto again;</span></a>
<a name="103"><span class="lineNum"> 103 </span> : : }</a>
<a name="104"><span class="lineNum"> 104 </span> : : } else {</a>
-<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 1207610 : tr-&gt;last_repeat = 0;</span></a>
-<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 1207610 : tr-&gt;rpos = rpos + t-&gt;hdr.len_div_8 * 8;</span></a>
+<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 1234288 : tr-&gt;last_repeat = 0;</span></a>
+<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 1234288 : tr-&gt;rpos = rpos + t-&gt;hdr.len_div_8 * 8;</span></a>
<a name="107"><span class="lineNum"> 107 </span> : : }</a>
<a name="108"><span class="lineNum"> 108 </span> : : </a>
-<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 2953920 : return true;</span></a>
+<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 2987163 : return true;</span></a>
<a name="110"><span class="lineNum"> 110 </span> : : }</a>
</pre>
</td>
diff --git a/coverage-report/hdata/cpu-common.c.func-sort-c.html b/coverage-report/hdata/cpu-common.c.func-sort-c.html
index 37c2f68..ac2aa59 100644
--- a/coverage-report/hdata/cpu-common.c.func-sort-c.html
+++ b/coverage-report/hdata/cpu-common.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hdata/cpu-common.c.func.html b/coverage-report/hdata/cpu-common.c.func.html
index c3f08c4..9567d1b 100644
--- a/coverage-report/hdata/cpu-common.c.func.html
+++ b/coverage-report/hdata/cpu-common.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hdata/cpu-common.c.gcov.html b/coverage-report/hdata/cpu-common.c.gcov.html
index 71ab42a..a9da21c 100644
--- a/coverage-report/hdata/cpu-common.c.gcov.html
+++ b/coverage-report/hdata/cpu-common.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hdata/fsp.c.func-sort-c.html b/coverage-report/hdata/fsp.c.func-sort-c.html
index 32ad458..7bd804c 100644
--- a/coverage-report/hdata/fsp.c.func-sort-c.html
+++ b/coverage-report/hdata/fsp.c.func-sort-c.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">90</td>
- <td class="headerCovTableEntry">245</td>
- <td class="headerCovTableEntryLo">36.7 %</td>
+ <td class="headerCovTableEntry">247</td>
+ <td class="headerCovTableEntryLo">36.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hdata/fsp.c.func.html b/coverage-report/hdata/fsp.c.func.html
index 8949a65..644c474 100644
--- a/coverage-report/hdata/fsp.c.func.html
+++ b/coverage-report/hdata/fsp.c.func.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">90</td>
- <td class="headerCovTableEntry">245</td>
- <td class="headerCovTableEntryLo">36.7 %</td>
+ <td class="headerCovTableEntry">247</td>
+ <td class="headerCovTableEntryLo">36.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hdata/fsp.c.gcov.html b/coverage-report/hdata/fsp.c.gcov.html
index 6cd8547..64d9503 100644
--- a/coverage-report/hdata/fsp.c.gcov.html
+++ b/coverage-report/hdata/fsp.c.gcov.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">90</td>
- <td class="headerCovTableEntry">245</td>
- <td class="headerCovTableEntryLo">36.7 %</td>
+ <td class="headerCovTableEntry">247</td>
+ <td class="headerCovTableEntryLo">36.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
@@ -318,7 +318,7 @@
<a name="247"><span class="lineNum"> 247 </span> :<span class="lineNoCov"> 0 : base = be64_to_cpu(iopath-&gt;lpc.uart_base);</span></a>
<a name="248"><span class="lineNum"> 248 </span> : : </a>
<a name="249"><span class="lineNum"> 249 </span> :<span class="lineNoCov"> 0 : serial = add_lpc_io_node(lpc, &quot;serial&quot;, base,</span></a>
-<a name="250"><span class="lineNum"> 250 </span> : : be32_to_cpu(iopath-&gt;lpc.uart_size));</a>
+<a name="250"><span class="lineNum"> 250 </span> :<span class="lineNoCov"> 0 : be32_to_cpu(iopath-&gt;lpc.uart_size));</span></a>
<a name="251"><span class="lineNum"> 251 </span> : : </a>
<a name="252"><span class="lineNum"> 252 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(serial, &quot;compatible&quot;, &quot;ns16550&quot;);</span></a>
<a name="253"><span class="lineNum"> 253 </span> : : </a>
@@ -419,7 +419,7 @@
<a name="348"><span class="lineNum"> 348 </span> : : ipmi_sensors-&gt;data[i].type);</a>
<a name="349"><span class="lineNum"> 349 </span> : : </a>
<a name="350"><span class="lineNum"> 350 </span> :<span class="lineNoCov"> 0 : add_chip_id_to_sensors(sensor_node,</span></a>
-<a name="351"><span class="lineNum"> 351 </span> : : be32_to_cpu(ipmi_sensors-&gt;data[i].slca_index));</a>
+<a name="351"><span class="lineNum"> 351 </span> :<span class="lineNoCov"> 0 : be32_to_cpu(ipmi_sensors-&gt;data[i].slca_index));</span></a>
<a name="352"><span class="lineNum"> 352 </span> : : }</a>
<a name="353"><span class="lineNum"> 353 </span> : : }</a>
<a name="354"><span class="lineNum"> 354 </span> : : </a>
diff --git a/coverage-report/hdata/hdif.c.func-sort-c.html b/coverage-report/hdata/hdif.c.func-sort-c.html
index 566b675..c03c5ed 100644
--- a/coverage-report/hdata/hdif.c.func-sort-c.html
+++ b/coverage-report/hdata/hdif.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hdata/hdif.c.func.html b/coverage-report/hdata/hdif.c.func.html
index bde89e7..fe893f9 100644
--- a/coverage-report/hdata/hdif.c.func.html
+++ b/coverage-report/hdata/hdif.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hdata/hdif.c.gcov.html b/coverage-report/hdata/hdif.c.gcov.html
index c1f34eb..f417632 100644
--- a/coverage-report/hdata/hdif.c.gcov.html
+++ b/coverage-report/hdata/hdif.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hdata/hdif.h.func-sort-c.html b/coverage-report/hdata/hdif.h.func-sort-c.html
index e2666b1..4379735 100644
--- a/coverage-report/hdata/hdif.h.func-sort-c.html
+++ b/coverage-report/hdata/hdif.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/hdif.h.func.html b/coverage-report/hdata/hdif.h.func.html
index 67f7b60..2d4027d 100644
--- a/coverage-report/hdata/hdif.h.func.html
+++ b/coverage-report/hdata/hdif.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/hdif.h.gcov.html b/coverage-report/hdata/hdif.h.gcov.html
index dfacc67..981d1dc 100644
--- a/coverage-report/hdata/hdif.h.gcov.html
+++ b/coverage-report/hdata/hdif.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/hostservices.c.func-sort-c.html b/coverage-report/hdata/hostservices.c.func-sort-c.html
index 1ef17d0..71d15f4 100644
--- a/coverage-report/hdata/hostservices.c.func-sort-c.html
+++ b/coverage-report/hdata/hostservices.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hdata/hostservices.c.func.html b/coverage-report/hdata/hostservices.c.func.html
index f5d3232..4303f94 100644
--- a/coverage-report/hdata/hostservices.c.func.html
+++ b/coverage-report/hdata/hostservices.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hdata/hostservices.c.gcov.html b/coverage-report/hdata/hostservices.c.gcov.html
index 6b6c120..778b4dd 100644
--- a/coverage-report/hdata/hostservices.c.gcov.html
+++ b/coverage-report/hdata/hostservices.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hdata/i2c.c.func-sort-c.html b/coverage-report/hdata/i2c.c.func-sort-c.html
index 5e488b2..8cbe9ce 100644
--- a/coverage-report/hdata/i2c.c.func-sort-c.html
+++ b/coverage-report/hdata/i2c.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/hdata/i2c.c.func.html b/coverage-report/hdata/i2c.c.func.html
index 39eb894..fe5beec 100644
--- a/coverage-report/hdata/i2c.c.func.html
+++ b/coverage-report/hdata/i2c.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/hdata/i2c.c.gcov.html b/coverage-report/hdata/i2c.c.gcov.html
index 7232a7a..66e5357 100644
--- a/coverage-report/hdata/i2c.c.gcov.html
+++ b/coverage-report/hdata/i2c.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/hdata/index-sort-b.html b/coverage-report/hdata/index-sort-b.html
index f95ee1c..057373f 100644
--- a/coverage-report/hdata/index-sort-b.html
+++ b/coverage-report/hdata/index-sort-b.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">1248</td>
- <td class="headerCovTableEntry">2805</td>
+ <td class="headerCovTableEntry">1252</td>
+ <td class="headerCovTableEntry">2814</td>
<td class="headerCovTableEntryLo">44.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">101</td>
@@ -82,134 +82,146 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="spira.h.gcov.html">spira.h</a></td>
+ <td class="coverFile"><a href="tpmrel.c.gcov.html">tpmrel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerLo">36.4&nbsp;%</td>
- <td class="coverNumLo">4 / 11</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 92</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 5</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="vpd-common.c.gcov.html">vpd-common.c</a></td>
+ <td class="coverFile"><a href="spira.c.gcov.html">spira.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=80 height=10 alt="80.0%"><img src="../snow.png" width=20 height=10 alt="80.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=48 height=10 alt="48.5%"><img src="../snow.png" width=52 height=10 alt="48.5%"></td></tr></table>
</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">4 / 5</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">48.5&nbsp;%</td>
+ <td class="coverNumLo">385 / 794</td>
+ <td class="coverPerMed">78.4&nbsp;%</td>
+ <td class="coverNumMed">29 / 37</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="hdif.h.gcov.html">hdif.h</a></td>
+ <td class="coverFile"><a href="hostservices.c.gcov.html">hostservices.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.2%"><img src="../snow.png" width=19 height=10 alt="81.2%"></td></tr></table>
</td>
+ <td class="coverPerMed">81.2&nbsp;%</td>
+ <td class="coverNumMed">26 / 32</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="slca.c.gcov.html">slca.c</a></td>
+ <td class="coverFile"><a href="cpu-common.c.gcov.html">cpu-common.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=64 height=10 alt="64.3%"><img src="../snow.png" width=36 height=10 alt="64.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=66 height=10 alt="66.0%"><img src="../snow.png" width=34 height=10 alt="66.0%"></td></tr></table>
</td>
- <td class="coverPerLo">64.3&nbsp;%</td>
- <td class="coverNumLo">45 / 70</td>
- <td class="coverPerMed">83.3&nbsp;%</td>
- <td class="coverNumMed">5 / 6</td>
+ <td class="coverPerLo">66.0&nbsp;%</td>
+ <td class="coverNumLo">99 / 150</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">6 / 8</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="i2c.c.gcov.html">i2c.c</a></td>
+ <td class="coverFile"><a href="fsp.c.gcov.html">fsp.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 124</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 7</td>
+ <td class="coverPerLo">36.4&nbsp;%</td>
+ <td class="coverNumLo">90 / 247</td>
+ <td class="coverPerLo">54.5&nbsp;%</td>
+ <td class="coverNumLo">6 / 11</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="cpu-common.c.gcov.html">cpu-common.c</a></td>
+ <td class="coverFile"><a href="vpd-common.c.gcov.html">vpd-common.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=66 height=10 alt="66.0%"><img src="../snow.png" width=34 height=10 alt="66.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=80 height=10 alt="80.0%"><img src="../snow.png" width=20 height=10 alt="80.0%"></td></tr></table>
</td>
- <td class="coverPerLo">66.0&nbsp;%</td>
- <td class="coverNumLo">99 / 150</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">6 / 8</td>
+ <td class="coverPerMed">80.0&nbsp;%</td>
+ <td class="coverNumMed">4 / 5</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="spira.c.gcov.html">spira.c</a></td>
+ <td class="coverFile"><a href="spira.h.gcov.html">spira.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=49 height=10 alt="48.5%"><img src="../snow.png" width=51 height=10 alt="48.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
</td>
- <td class="coverPerLo">48.5&nbsp;%</td>
- <td class="coverNumLo">385 / 793</td>
- <td class="coverPerMed">78.4&nbsp;%</td>
- <td class="coverNumMed">29 / 37</td>
+ <td class="coverPerLo">36.4&nbsp;%</td>
+ <td class="coverNumLo">4 / 11</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="hostservices.c.gcov.html">hostservices.c</a></td>
+ <td class="coverFile"><a href="hdif.h.gcov.html">hdif.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.2%"><img src="../snow.png" width=19 height=10 alt="81.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerMed">81.2&nbsp;%</td>
- <td class="coverNumMed">26 / 32</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">4 / 4</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="vpd.c.gcov.html">vpd.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=76 height=10 alt="75.8%"><img src="../snow.png" width=24 height=10 alt="75.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=76 height=10 alt="75.9%"><img src="../snow.png" width=24 height=10 alt="75.9%"></td></tr></table>
</td>
- <td class="coverPerMed">75.8&nbsp;%</td>
- <td class="coverNumMed">207 / 273</td>
+ <td class="coverPerMed">75.9&nbsp;%</td>
+ <td class="coverNumMed">208 / 274</td>
<td class="coverPerMed">89.5&nbsp;%</td>
<td class="coverNumMed">17 / 19</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="tpmrel.c.gcov.html">tpmrel.c</a></td>
+ <td class="coverFile"><a href="slca.c.gcov.html">slca.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=64 height=10 alt="64.3%"><img src="../snow.png" width=36 height=10 alt="64.3%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">64.3&nbsp;%</td>
+ <td class="coverNumLo">45 / 70</td>
+ <td class="coverPerMed">83.3&nbsp;%</td>
+ <td class="coverNumMed">5 / 6</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="i2c.c.gcov.html">i2c.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 92</td>
+ <td class="coverNumLo">0 / 124</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 5</td>
+ <td class="coverNumLo">0 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="iohub.c.gcov.html">iohub.c</a></td>
+ <td class="coverFile"><a href="memory.c.gcov.html">memory.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=26 height=10 alt="25.8%"><img src="../snow.png" width=74 height=10 alt="25.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.3%"><img src="../snow.png" width=64 height=10 alt="36.3%"></td></tr></table>
</td>
- <td class="coverPerLo">25.8&nbsp;%</td>
- <td class="coverNumLo">100 / 388</td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">8 / 20</td>
+ <td class="coverPerLo">36.3&nbsp;%</td>
+ <td class="coverNumLo">153 / 421</td>
+ <td class="coverPerLo">68.4&nbsp;%</td>
+ <td class="coverNumLo">13 / 19</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -226,38 +238,26 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memory.c.gcov.html">memory.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.2%"><img src="../snow.png" width=64 height=10 alt="36.2%"></td></tr></table>
- </td>
- <td class="coverPerLo">36.2&nbsp;%</td>
- <td class="coverNumLo">152 / 420</td>
- <td class="coverPerLo">68.4&nbsp;%</td>
- <td class="coverNumLo">13 / 19</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="pcia.c.gcov.html">pcia.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.0%"><img src="../snow.png" width=19 height=10 alt="81.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.3%"><img src="../snow.png" width=19 height=10 alt="81.3%"></td></tr></table>
</td>
- <td class="coverPerMed">81.0&nbsp;%</td>
- <td class="coverNumMed">85 / 105</td>
+ <td class="coverPerMed">81.3&nbsp;%</td>
+ <td class="coverNumMed">87 / 107</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="fsp.c.gcov.html">fsp.c</a></td>
+ <td class="coverFile"><a href="iohub.c.gcov.html">iohub.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=37 height=10 alt="36.7%"><img src="../snow.png" width=63 height=10 alt="36.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=26 height=10 alt="25.6%"><img src="../snow.png" width=74 height=10 alt="25.6%"></td></tr></table>
</td>
- <td class="coverPerLo">36.7&nbsp;%</td>
- <td class="coverNumLo">90 / 245</td>
- <td class="coverPerLo">54.5&nbsp;%</td>
- <td class="coverNumLo">6 / 11</td>
+ <td class="coverPerLo">25.6&nbsp;%</td>
+ <td class="coverNumLo">100 / 390</td>
+ <td class="coverPerLo">40.0&nbsp;%</td>
+ <td class="coverNumLo">8 / 20</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/hdata/index-sort-f.html b/coverage-report/hdata/index-sort-f.html
index dda2695..37d6b3b 100644
--- a/coverage-report/hdata/index-sort-f.html
+++ b/coverage-report/hdata/index-sort-f.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">1248</td>
- <td class="headerCovTableEntry">2805</td>
+ <td class="headerCovTableEntry">1252</td>
+ <td class="headerCovTableEntry">2814</td>
<td class="headerCovTableEntryLo">44.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">101</td>
@@ -108,10 +108,10 @@
<tr>
<td class="coverFile"><a href="iohub.c.gcov.html">iohub.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=26 height=10 alt="25.8%"><img src="../snow.png" width=74 height=10 alt="25.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=26 height=10 alt="25.6%"><img src="../snow.png" width=74 height=10 alt="25.6%"></td></tr></table>
</td>
- <td class="coverPerLo">25.8&nbsp;%</td>
- <td class="coverNumLo">100 / 388</td>
+ <td class="coverPerLo">25.6&nbsp;%</td>
+ <td class="coverNumLo">100 / 390</td>
<td class="coverPerLo">40.0&nbsp;%</td>
<td class="coverNumLo">8 / 20</td>
<td class="coverPerHi">-</td>
@@ -120,10 +120,10 @@
<tr>
<td class="coverFile"><a href="fsp.c.gcov.html">fsp.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=37 height=10 alt="36.7%"><img src="../snow.png" width=63 height=10 alt="36.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
</td>
- <td class="coverPerLo">36.7&nbsp;%</td>
- <td class="coverNumLo">90 / 245</td>
+ <td class="coverPerLo">36.4&nbsp;%</td>
+ <td class="coverNumLo">90 / 247</td>
<td class="coverPerLo">54.5&nbsp;%</td>
<td class="coverNumLo">6 / 11</td>
<td class="coverPerHi">-</td>
@@ -132,10 +132,10 @@
<tr>
<td class="coverFile"><a href="memory.c.gcov.html">memory.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.2%"><img src="../snow.png" width=64 height=10 alt="36.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.3%"><img src="../snow.png" width=64 height=10 alt="36.3%"></td></tr></table>
</td>
- <td class="coverPerLo">36.2&nbsp;%</td>
- <td class="coverNumLo">152 / 420</td>
+ <td class="coverPerLo">36.3&nbsp;%</td>
+ <td class="coverNumLo">153 / 421</td>
<td class="coverPerLo">68.4&nbsp;%</td>
<td class="coverNumLo">13 / 19</td>
<td class="coverPerHi">-</td>
@@ -156,10 +156,10 @@
<tr>
<td class="coverFile"><a href="spira.c.gcov.html">spira.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=49 height=10 alt="48.5%"><img src="../snow.png" width=51 height=10 alt="48.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=48 height=10 alt="48.5%"><img src="../snow.png" width=52 height=10 alt="48.5%"></td></tr></table>
</td>
<td class="coverPerLo">48.5&nbsp;%</td>
- <td class="coverNumLo">385 / 793</td>
+ <td class="coverNumLo">385 / 794</td>
<td class="coverPerMed">78.4&nbsp;%</td>
<td class="coverNumMed">29 / 37</td>
<td class="coverPerHi">-</td>
@@ -192,34 +192,34 @@
<tr>
<td class="coverFile"><a href="vpd.c.gcov.html">vpd.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=76 height=10 alt="75.8%"><img src="../snow.png" width=24 height=10 alt="75.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=76 height=10 alt="75.9%"><img src="../snow.png" width=24 height=10 alt="75.9%"></td></tr></table>
</td>
- <td class="coverPerMed">75.8&nbsp;%</td>
- <td class="coverNumMed">207 / 273</td>
+ <td class="coverPerMed">75.9&nbsp;%</td>
+ <td class="coverNumMed">208 / 274</td>
<td class="coverPerMed">89.5&nbsp;%</td>
<td class="coverNumMed">17 / 19</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="spira.h.gcov.html">spira.h</a></td>
+ <td class="coverFile"><a href="vpd-common.c.gcov.html">vpd-common.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=80 height=10 alt="80.0%"><img src="../snow.png" width=20 height=10 alt="80.0%"></td></tr></table>
</td>
- <td class="coverPerLo">36.4&nbsp;%</td>
- <td class="coverNumLo">4 / 11</td>
+ <td class="coverPerMed">80.0&nbsp;%</td>
+ <td class="coverNumMed">4 / 5</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="vpd-common.c.gcov.html">vpd-common.c</a></td>
+ <td class="coverFile"><a href="spira.h.gcov.html">spira.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=80 height=10 alt="80.0%"><img src="../snow.png" width=20 height=10 alt="80.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">4 / 5</td>
+ <td class="coverPerLo">36.4&nbsp;%</td>
+ <td class="coverNumLo">4 / 11</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -252,10 +252,10 @@
<tr>
<td class="coverFile"><a href="pcia.c.gcov.html">pcia.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.0%"><img src="../snow.png" width=19 height=10 alt="81.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.3%"><img src="../snow.png" width=19 height=10 alt="81.3%"></td></tr></table>
</td>
- <td class="coverPerMed">81.0&nbsp;%</td>
- <td class="coverNumMed">85 / 105</td>
+ <td class="coverPerMed">81.3&nbsp;%</td>
+ <td class="coverNumMed">87 / 107</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/hdata/index-sort-l.html b/coverage-report/hdata/index-sort-l.html
index e5c0218..044cc21 100644
--- a/coverage-report/hdata/index-sort-l.html
+++ b/coverage-report/hdata/index-sort-l.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">1248</td>
- <td class="headerCovTableEntry">2805</td>
+ <td class="headerCovTableEntry">1252</td>
+ <td class="headerCovTableEntry">2814</td>
<td class="headerCovTableEntryLo">44.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">101</td>
@@ -108,28 +108,16 @@
<tr>
<td class="coverFile"><a href="iohub.c.gcov.html">iohub.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=26 height=10 alt="25.8%"><img src="../snow.png" width=74 height=10 alt="25.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=26 height=10 alt="25.6%"><img src="../snow.png" width=74 height=10 alt="25.6%"></td></tr></table>
</td>
- <td class="coverPerLo">25.8&nbsp;%</td>
- <td class="coverNumLo">100 / 388</td>
+ <td class="coverPerLo">25.6&nbsp;%</td>
+ <td class="coverNumLo">100 / 390</td>
<td class="coverPerLo">40.0&nbsp;%</td>
<td class="coverNumLo">8 / 20</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memory.c.gcov.html">memory.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.2%"><img src="../snow.png" width=64 height=10 alt="36.2%"></td></tr></table>
- </td>
- <td class="coverPerLo">36.2&nbsp;%</td>
- <td class="coverNumLo">152 / 420</td>
- <td class="coverPerLo">68.4&nbsp;%</td>
- <td class="coverNumLo">13 / 19</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="spira.h.gcov.html">spira.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
@@ -142,12 +130,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
+ <td class="coverFile"><a href="memory.c.gcov.html">memory.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.3%"><img src="../snow.png" width=64 height=10 alt="36.3%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">36.3&nbsp;%</td>
+ <td class="coverNumLo">153 / 421</td>
+ <td class="coverPerLo">68.4&nbsp;%</td>
+ <td class="coverNumLo">13 / 19</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
<td class="coverFile"><a href="fsp.c.gcov.html">fsp.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=37 height=10 alt="36.7%"><img src="../snow.png" width=63 height=10 alt="36.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
</td>
- <td class="coverPerLo">36.7&nbsp;%</td>
- <td class="coverNumLo">90 / 245</td>
+ <td class="coverPerLo">36.4&nbsp;%</td>
+ <td class="coverNumLo">90 / 247</td>
<td class="coverPerLo">54.5&nbsp;%</td>
<td class="coverNumLo">6 / 11</td>
<td class="coverPerHi">-</td>
@@ -156,10 +156,10 @@
<tr>
<td class="coverFile"><a href="spira.c.gcov.html">spira.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=49 height=10 alt="48.5%"><img src="../snow.png" width=51 height=10 alt="48.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=48 height=10 alt="48.5%"><img src="../snow.png" width=52 height=10 alt="48.5%"></td></tr></table>
</td>
<td class="coverPerLo">48.5&nbsp;%</td>
- <td class="coverNumLo">385 / 793</td>
+ <td class="coverNumLo">385 / 794</td>
<td class="coverPerMed">78.4&nbsp;%</td>
<td class="coverNumMed">29 / 37</td>
<td class="coverPerHi">-</td>
@@ -204,10 +204,10 @@
<tr>
<td class="coverFile"><a href="vpd.c.gcov.html">vpd.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=76 height=10 alt="75.8%"><img src="../snow.png" width=24 height=10 alt="75.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=76 height=10 alt="75.9%"><img src="../snow.png" width=24 height=10 alt="75.9%"></td></tr></table>
</td>
- <td class="coverPerMed">75.8&nbsp;%</td>
- <td class="coverNumMed">207 / 273</td>
+ <td class="coverPerMed">75.9&nbsp;%</td>
+ <td class="coverNumMed">208 / 274</td>
<td class="coverPerMed">89.5&nbsp;%</td>
<td class="coverNumMed">17 / 19</td>
<td class="coverPerHi">-</td>
@@ -226,26 +226,26 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="pcia.c.gcov.html">pcia.c</a></td>
+ <td class="coverFile"><a href="hostservices.c.gcov.html">hostservices.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.0%"><img src="../snow.png" width=19 height=10 alt="81.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.2%"><img src="../snow.png" width=19 height=10 alt="81.2%"></td></tr></table>
</td>
- <td class="coverPerMed">81.0&nbsp;%</td>
- <td class="coverNumMed">85 / 105</td>
+ <td class="coverPerMed">81.2&nbsp;%</td>
+ <td class="coverNumMed">26 / 32</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="hostservices.c.gcov.html">hostservices.c</a></td>
+ <td class="coverFile"><a href="pcia.c.gcov.html">pcia.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.2%"><img src="../snow.png" width=19 height=10 alt="81.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.3%"><img src="../snow.png" width=19 height=10 alt="81.3%"></td></tr></table>
</td>
- <td class="coverPerMed">81.2&nbsp;%</td>
- <td class="coverNumMed">26 / 32</td>
+ <td class="coverPerMed">81.3&nbsp;%</td>
+ <td class="coverNumMed">87 / 107</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/hdata/index.html b/coverage-report/hdata/index.html
index 44d5ad0..c464acb 100644
--- a/coverage-report/hdata/index.html
+++ b/coverage-report/hdata/index.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">1248</td>
- <td class="headerCovTableEntry">2805</td>
+ <td class="headerCovTableEntry">1252</td>
+ <td class="headerCovTableEntry">2814</td>
<td class="headerCovTableEntryLo">44.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">101</td>
@@ -96,10 +96,10 @@
<tr>
<td class="coverFile"><a href="fsp.c.gcov.html">fsp.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=37 height=10 alt="36.7%"><img src="../snow.png" width=63 height=10 alt="36.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.4%"><img src="../snow.png" width=64 height=10 alt="36.4%"></td></tr></table>
</td>
- <td class="coverPerLo">36.7&nbsp;%</td>
- <td class="coverNumLo">90 / 245</td>
+ <td class="coverPerLo">36.4&nbsp;%</td>
+ <td class="coverNumLo">90 / 247</td>
<td class="coverPerLo">54.5&nbsp;%</td>
<td class="coverNumLo">6 / 11</td>
<td class="coverPerHi">-</td>
@@ -156,10 +156,10 @@
<tr>
<td class="coverFile"><a href="iohub.c.gcov.html">iohub.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=26 height=10 alt="25.8%"><img src="../snow.png" width=74 height=10 alt="25.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=26 height=10 alt="25.6%"><img src="../snow.png" width=74 height=10 alt="25.6%"></td></tr></table>
</td>
- <td class="coverPerLo">25.8&nbsp;%</td>
- <td class="coverNumLo">100 / 388</td>
+ <td class="coverPerLo">25.6&nbsp;%</td>
+ <td class="coverNumLo">100 / 390</td>
<td class="coverPerLo">40.0&nbsp;%</td>
<td class="coverNumLo">8 / 20</td>
<td class="coverPerHi">-</td>
@@ -168,10 +168,10 @@
<tr>
<td class="coverFile"><a href="memory.c.gcov.html">memory.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.2%"><img src="../snow.png" width=64 height=10 alt="36.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=36 height=10 alt="36.3%"><img src="../snow.png" width=64 height=10 alt="36.3%"></td></tr></table>
</td>
- <td class="coverPerLo">36.2&nbsp;%</td>
- <td class="coverNumLo">152 / 420</td>
+ <td class="coverPerLo">36.3&nbsp;%</td>
+ <td class="coverNumLo">153 / 421</td>
<td class="coverPerLo">68.4&nbsp;%</td>
<td class="coverNumLo">13 / 19</td>
<td class="coverPerHi">-</td>
@@ -180,10 +180,10 @@
<tr>
<td class="coverFile"><a href="pcia.c.gcov.html">pcia.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.0%"><img src="../snow.png" width=19 height=10 alt="81.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=81 height=10 alt="81.3%"><img src="../snow.png" width=19 height=10 alt="81.3%"></td></tr></table>
</td>
- <td class="coverPerMed">81.0&nbsp;%</td>
- <td class="coverNumMed">85 / 105</td>
+ <td class="coverPerMed">81.3&nbsp;%</td>
+ <td class="coverNumMed">87 / 107</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">-</td>
@@ -204,10 +204,10 @@
<tr>
<td class="coverFile"><a href="spira.c.gcov.html">spira.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=49 height=10 alt="48.5%"><img src="../snow.png" width=51 height=10 alt="48.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=48 height=10 alt="48.5%"><img src="../snow.png" width=52 height=10 alt="48.5%"></td></tr></table>
</td>
<td class="coverPerLo">48.5&nbsp;%</td>
- <td class="coverNumLo">385 / 793</td>
+ <td class="coverNumLo">385 / 794</td>
<td class="coverPerMed">78.4&nbsp;%</td>
<td class="coverNumMed">29 / 37</td>
<td class="coverPerHi">-</td>
@@ -252,10 +252,10 @@
<tr>
<td class="coverFile"><a href="vpd.c.gcov.html">vpd.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=76 height=10 alt="75.8%"><img src="../snow.png" width=24 height=10 alt="75.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=76 height=10 alt="75.9%"><img src="../snow.png" width=24 height=10 alt="75.9%"></td></tr></table>
</td>
- <td class="coverPerMed">75.8&nbsp;%</td>
- <td class="coverNumMed">207 / 273</td>
+ <td class="coverPerMed">75.9&nbsp;%</td>
+ <td class="coverNumMed">208 / 274</td>
<td class="coverPerMed">89.5&nbsp;%</td>
<td class="coverNumMed">17 / 19</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/hdata/iohub.c.func-sort-c.html b/coverage-report/hdata/iohub.c.func-sort-c.html
index 247e71b..4b75c83 100644
--- a/coverage-report/hdata/iohub.c.func-sort-c.html
+++ b/coverage-report/hdata/iohub.c.func-sort-c.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">100</td>
- <td class="headerCovTableEntry">388</td>
- <td class="headerCovTableEntryLo">25.8 %</td>
+ <td class="headerCovTableEntry">390</td>
+ <td class="headerCovTableEntryLo">25.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/iohub.c.func.html b/coverage-report/hdata/iohub.c.func.html
index 9763578..39865bd 100644
--- a/coverage-report/hdata/iohub.c.func.html
+++ b/coverage-report/hdata/iohub.c.func.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">100</td>
- <td class="headerCovTableEntry">388</td>
- <td class="headerCovTableEntryLo">25.8 %</td>
+ <td class="headerCovTableEntry">390</td>
+ <td class="headerCovTableEntryLo">25.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/iohub.c.gcov.html b/coverage-report/hdata/iohub.c.gcov.html
index b6c59de..2dfcc08 100644
--- a/coverage-report/hdata/iohub.c.gcov.html
+++ b/coverage-report/hdata/iohub.c.gcov.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">100</td>
- <td class="headerCovTableEntry">388</td>
- <td class="headerCovTableEntryLo">25.8 %</td>
+ <td class="headerCovTableEntry">390</td>
+ <td class="headerCovTableEntryLo">25.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
@@ -521,7 +521,7 @@
<a name="450"><span class="lineNum"> 450 </span> : : </a>
<a name="451"><span class="lineNum"> 451 </span> :<span class="lineNoCov"> 0 : if (details-&gt;presence_det_type == SLOT_PRESENCE_I2C)</span></a>
<a name="452"><span class="lineNum"> 452 </span> :<span class="lineNoCov"> 0 : add_i2c_link(slot, &quot;i2c-presence-detect&quot;,</span></a>
-<a name="453"><span class="lineNum"> 453 </span> : : be32_to_cpu(details-&gt;i2c_cable_card));</a>
+<a name="453"><span class="lineNum"> 453 </span> :<span class="lineNoCov"> 0 : be32_to_cpu(details-&gt;i2c_cable_card));</span></a>
<a name="454"><span class="lineNum"> 454 </span> : : }</a>
<a name="455"><span class="lineNum"> 455 </span> : : </a>
<a name="456"><span class="lineNum"> 456 </span> :<span class="lineNoCov"> 0 : if (slot_caps &amp; SLOT_CAP_HOTPLUG) {</span></a>
@@ -533,7 +533,7 @@
<a name="462"><span class="lineNum"> 462 </span> : : */</a>
<a name="463"><span class="lineNum"> 463 </span> :<span class="lineNoCov"> 0 : if (details-&gt;power_ctrl_type == SLOT_PWR_I2C)</span></a>
<a name="464"><span class="lineNum"> 464 </span> :<span class="lineNoCov"> 0 : add_i2c_link(slot, &quot;i2c-power-ctrl&quot;,</span></a>
-<a name="465"><span class="lineNum"> 465 </span> : : be32_to_cpu(details-&gt;i2c_power_ctl));</a>
+<a name="465"><span class="lineNum"> 465 </span> :<span class="lineNoCov"> 0 : be32_to_cpu(details-&gt;i2c_power_ctl));</span></a>
<a name="466"><span class="lineNum"> 466 </span> : : }</a>
<a name="467"><span class="lineNum"> 467 </span> : : </a>
<a name="468"><span class="lineNum"> 468 </span> : : /*</a>
diff --git a/coverage-report/hdata/memory.c.func-sort-c.html b/coverage-report/hdata/memory.c.func-sort-c.html
index 7400e10..8e212aa 100644
--- a/coverage-report/hdata/memory.c.func-sort-c.html
+++ b/coverage-report/hdata/memory.c.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">152</td>
- <td class="headerCovTableEntry">420</td>
- <td class="headerCovTableEntryLo">36.2 %</td>
+ <td class="headerCovTableEntry">153</td>
+ <td class="headerCovTableEntry">421</td>
+ <td class="headerCovTableEntryLo">36.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/hdata/memory.c.func.html b/coverage-report/hdata/memory.c.func.html
index 42bc94a..bd644cb 100644
--- a/coverage-report/hdata/memory.c.func.html
+++ b/coverage-report/hdata/memory.c.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">152</td>
- <td class="headerCovTableEntry">420</td>
- <td class="headerCovTableEntryLo">36.2 %</td>
+ <td class="headerCovTableEntry">153</td>
+ <td class="headerCovTableEntry">421</td>
+ <td class="headerCovTableEntryLo">36.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/hdata/memory.c.gcov.html b/coverage-report/hdata/memory.c.gcov.html
index 8e39bbe..07a889e 100644
--- a/coverage-report/hdata/memory.c.gcov.html
+++ b/coverage-report/hdata/memory.c.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">152</td>
- <td class="headerCovTableEntry">420</td>
- <td class="headerCovTableEntryLo">36.2 %</td>
+ <td class="headerCovTableEntry">153</td>
+ <td class="headerCovTableEntry">421</td>
+ <td class="headerCovTableEntryLo">36.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
@@ -993,7 +993,7 @@
<a name="922"><span class="lineNum"> 922 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, &quot;MS VPD: MSAC is at %p\n&quot;, msac);</span></a>
<a name="923"><span class="lineNum"> 923 </span> : : </a>
<a name="924"><span class="lineNum"> 924 </span> :<span class="lineCov"> 2 : dt_add_property_u64(dt_root, DT_PRIVATE &quot;maxmem&quot;,</span></a>
-<a name="925"><span class="lineNum"> 925 </span> : : be64_to_cpu(msac-&gt;max_configured_ms_address));</a>
+<a name="925"><span class="lineNum"> 925 </span> :<span class="lineCov"> 2 : be64_to_cpu(msac-&gt;max_configured_ms_address));</span></a>
<a name="926"><span class="lineNum"> 926 </span> : : </a>
<a name="927"><span class="lineNum"> 927 </span> :<span class="lineCov"> 2 : tcms = HDIF_get_idata(ms_vpd, MSVPD_IDATA_TOTAL_CONFIG_MS, &amp;size);</span></a>
<a name="928"><span class="lineNum"> 928 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(tcms) || size &lt; sizeof(*tcms)) {</span></a>
diff --git a/coverage-report/hdata/pcia.c.func-sort-c.html b/coverage-report/hdata/pcia.c.func-sort-c.html
index 2c9be0d..def1e82 100644
--- a/coverage-report/hdata/pcia.c.func-sort-c.html
+++ b/coverage-report/hdata/pcia.c.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">85</td>
- <td class="headerCovTableEntry">105</td>
- <td class="headerCovTableEntryMed">81.0 %</td>
+ <td class="headerCovTableEntry">87</td>
+ <td class="headerCovTableEntry">107</td>
+ <td class="headerCovTableEntryMed">81.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/hdata/pcia.c.func.html b/coverage-report/hdata/pcia.c.func.html
index 26f8b71..c9f7530 100644
--- a/coverage-report/hdata/pcia.c.func.html
+++ b/coverage-report/hdata/pcia.c.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">85</td>
- <td class="headerCovTableEntry">105</td>
- <td class="headerCovTableEntryMed">81.0 %</td>
+ <td class="headerCovTableEntry">87</td>
+ <td class="headerCovTableEntry">107</td>
+ <td class="headerCovTableEntryMed">81.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/hdata/pcia.c.gcov.html b/coverage-report/hdata/pcia.c.gcov.html
index 9ff4010..3ac70c5 100644
--- a/coverage-report/hdata/pcia.c.gcov.html
+++ b/coverage-report/hdata/pcia.c.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">85</td>
- <td class="headerCovTableEntry">105</td>
- <td class="headerCovTableEntryMed">81.0 %</td>
+ <td class="headerCovTableEntry">87</td>
+ <td class="headerCovTableEntry">107</td>
+ <td class="headerCovTableEntryMed">81.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
@@ -205,7 +205,7 @@
<a name="134"><span class="lineNum"> 134 </span> : : }</a>
<a name="135"><span class="lineNum"> 135 </span> : : </a>
<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 26 : cpu = add_core_common(cpus, cache, timebase,</span></a>
-<a name="137"><span class="lineNum"> 137 </span> : : be32_to_cpu(t-&gt;pir), okay);</a>
+<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 26 : be32_to_cpu(t-&gt;pir), okay);</span></a>
<a name="138"><span class="lineNum"> 138 </span> : : </a>
<a name="139"><span class="lineNum"> 139 </span> : : /* Core attributes */</a>
<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 26 : attr = HDIF_get_idata(pcia, SPPCIA_IDATA_CPU_ATTR, &amp;size);</span></a>
@@ -214,7 +214,7 @@
<a name="143"><span class="lineNum"> 143 </span> : : </a>
<a name="144"><span class="lineNum"> 144 </span> : : /* Add cache info */</a>
<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 26 : l2_phandle = add_core_cache_info(cpus, cache,</span></a>
-<a name="146"><span class="lineNum"> 146 </span> : : be32_to_cpu(t-&gt;pir), okay);</a>
+<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 26 : be32_to_cpu(t-&gt;pir), okay);</span></a>
<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, &quot;l2-cache&quot;, l2_phandle);</span></a>
<a name="148"><span class="lineNum"> 148 </span> : : </a>
<a name="149"><span class="lineNum"> 149 </span> :<span class="lineCov"> 26 : if (proc_gen == proc_gen_p8)</span></a>
diff --git a/coverage-report/hdata/slca.c.func-sort-c.html b/coverage-report/hdata/slca.c.func-sort-c.html
index 403d929..e82d2f8 100644
--- a/coverage-report/hdata/slca.c.func-sort-c.html
+++ b/coverage-report/hdata/slca.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/hdata/slca.c.func.html b/coverage-report/hdata/slca.c.func.html
index 9c9a5b0..eedff09 100644
--- a/coverage-report/hdata/slca.c.func.html
+++ b/coverage-report/hdata/slca.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/hdata/slca.c.gcov.html b/coverage-report/hdata/slca.c.gcov.html
index 1f70640..fdccbfd 100644
--- a/coverage-report/hdata/slca.c.gcov.html
+++ b/coverage-report/hdata/slca.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/hdata/spira.c.func-sort-c.html b/coverage-report/hdata/spira.c.func-sort-c.html
index f46c14c..5565628 100644
--- a/coverage-report/hdata/spira.c.func-sort-c.html
+++ b/coverage-report/hdata/spira.c.func-sort-c.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">385</td>
- <td class="headerCovTableEntry">793</td>
+ <td class="headerCovTableEntry">794</td>
<td class="headerCovTableEntryLo">48.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">29</td>
diff --git a/coverage-report/hdata/spira.c.func.html b/coverage-report/hdata/spira.c.func.html
index 860a6f1..b58cee9 100644
--- a/coverage-report/hdata/spira.c.func.html
+++ b/coverage-report/hdata/spira.c.func.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">385</td>
- <td class="headerCovTableEntry">793</td>
+ <td class="headerCovTableEntry">794</td>
<td class="headerCovTableEntryLo">48.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">29</td>
diff --git a/coverage-report/hdata/spira.c.gcov.html b/coverage-report/hdata/spira.c.gcov.html
index a7d05e7..9bc5ea6 100644
--- a/coverage-report/hdata/spira.c.gcov.html
+++ b/coverage-report/hdata/spira.c.gcov.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">385</td>
- <td class="headerCovTableEntry">793</td>
+ <td class="headerCovTableEntry">794</td>
<td class="headerCovTableEntryLo">48.5 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">29</td>
@@ -1392,7 +1392,7 @@
<a name="1321"><span class="lineNum"> 1321 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, &quot;dump-id&quot;,</span></a>
<a name="1322"><span class="lineNum"> 1322 </span> : : be32_to_cpu(ipl_dump-&gt;dump_id));</a>
<a name="1323"><span class="lineNum"> 1323 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64(node, &quot;total-size&quot;,</span></a>
-<a name="1324"><span class="lineNum"> 1324 </span> : : be64_to_cpu(ipl_dump-&gt;act_dump_sz));</a>
+<a name="1324"><span class="lineNum"> 1324 </span> :<span class="lineNoCov"> 0 : be64_to_cpu(ipl_dump-&gt;act_dump_sz));</span></a>
<a name="1325"><span class="lineNum"> 1325 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64(node, &quot;hw-dump-size&quot;,</span></a>
<a name="1326"><span class="lineNum"> 1326 </span> :<span class="lineNoCov"> 0 : be32_to_cpu(ipl_dump-&gt;act_hw_dump_sz));</span></a>
<a name="1327"><span class="lineNum"> 1327 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, &quot;plog-id&quot;,</span></a>
diff --git a/coverage-report/hdata/spira.h.func-sort-c.html b/coverage-report/hdata/spira.h.func-sort-c.html
index 16e09bb..4b2024b 100644
--- a/coverage-report/hdata/spira.h.func-sort-c.html
+++ b/coverage-report/hdata/spira.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/spira.h.func.html b/coverage-report/hdata/spira.h.func.html
index 1f1b3a9..62c1afb 100644
--- a/coverage-report/hdata/spira.h.func.html
+++ b/coverage-report/hdata/spira.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/spira.h.gcov.html b/coverage-report/hdata/spira.h.gcov.html
index fd3749a..0b073f3 100644
--- a/coverage-report/hdata/spira.h.gcov.html
+++ b/coverage-report/hdata/spira.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/test/hdata_to_dt.c.func-sort-c.html b/coverage-report/hdata/test/hdata_to_dt.c.func-sort-c.html
index c3b9382..693fefe 100644
--- a/coverage-report/hdata/test/hdata_to_dt.c.func-sort-c.html
+++ b/coverage-report/hdata/test/hdata_to_dt.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/test/hdata_to_dt.c.func.html b/coverage-report/hdata/test/hdata_to_dt.c.func.html
index c4604f4..bb72d8f 100644
--- a/coverage-report/hdata/test/hdata_to_dt.c.func.html
+++ b/coverage-report/hdata/test/hdata_to_dt.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/test/hdata_to_dt.c.gcov.html b/coverage-report/hdata/test/hdata_to_dt.c.gcov.html
index 219ecdc..69dfbfe 100644
--- a/coverage-report/hdata/test/hdata_to_dt.c.gcov.html
+++ b/coverage-report/hdata/test/hdata_to_dt.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/test/index-sort-b.html b/coverage-report/hdata/test/index-sort-b.html
index 7a14531..423a5fe 100644
--- a/coverage-report/hdata/test/index-sort-b.html
+++ b/coverage-report/hdata/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/test/index-sort-f.html b/coverage-report/hdata/test/index-sort-f.html
index 735d60f..b1d0fa0 100644
--- a/coverage-report/hdata/test/index-sort-f.html
+++ b/coverage-report/hdata/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/test/index-sort-l.html b/coverage-report/hdata/test/index-sort-l.html
index 917dd68..9d9bcce 100644
--- a/coverage-report/hdata/test/index-sort-l.html
+++ b/coverage-report/hdata/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/test/index.html b/coverage-report/hdata/test/index.html
index 295ef3b..361ce76 100644
--- a/coverage-report/hdata/test/index.html
+++ b/coverage-report/hdata/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/hdata/tpmrel.c.func-sort-c.html b/coverage-report/hdata/tpmrel.c.func-sort-c.html
index f0e5a55..4aed694 100644
--- a/coverage-report/hdata/tpmrel.c.func-sort-c.html
+++ b/coverage-report/hdata/tpmrel.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/hdata/tpmrel.c.func.html b/coverage-report/hdata/tpmrel.c.func.html
index 0bf6348..470aa5c 100644
--- a/coverage-report/hdata/tpmrel.c.func.html
+++ b/coverage-report/hdata/tpmrel.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/hdata/tpmrel.c.gcov.html b/coverage-report/hdata/tpmrel.c.gcov.html
index 2654f51..8b7c55c 100644
--- a/coverage-report/hdata/tpmrel.c.gcov.html
+++ b/coverage-report/hdata/tpmrel.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/hdata/vpd-common.c.func-sort-c.html b/coverage-report/hdata/vpd-common.c.func-sort-c.html
index 82a7509..023eee6 100644
--- a/coverage-report/hdata/vpd-common.c.func-sort-c.html
+++ b/coverage-report/hdata/vpd-common.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/vpd-common.c.func.html b/coverage-report/hdata/vpd-common.c.func.html
index 0f8e16d..0243593 100644
--- a/coverage-report/hdata/vpd-common.c.func.html
+++ b/coverage-report/hdata/vpd-common.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/vpd-common.c.gcov.html b/coverage-report/hdata/vpd-common.c.gcov.html
index 87f4c43..d021c9b 100644
--- a/coverage-report/hdata/vpd-common.c.gcov.html
+++ b/coverage-report/hdata/vpd-common.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hdata/vpd.c.func-sort-c.html b/coverage-report/hdata/vpd.c.func-sort-c.html
index 98f3181..c553c41 100644
--- a/coverage-report/hdata/vpd.c.func-sort-c.html
+++ b/coverage-report/hdata/vpd.c.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">207</td>
- <td class="headerCovTableEntry">273</td>
- <td class="headerCovTableEntryMed">75.8 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">274</td>
+ <td class="headerCovTableEntryMed">75.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">17</td>
diff --git a/coverage-report/hdata/vpd.c.func.html b/coverage-report/hdata/vpd.c.func.html
index ba23111..b46a7b1 100644
--- a/coverage-report/hdata/vpd.c.func.html
+++ b/coverage-report/hdata/vpd.c.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">207</td>
- <td class="headerCovTableEntry">273</td>
- <td class="headerCovTableEntryMed">75.8 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">274</td>
+ <td class="headerCovTableEntryMed">75.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">17</td>
diff --git a/coverage-report/hdata/vpd.c.gcov.html b/coverage-report/hdata/vpd.c.gcov.html
index e890858..cfd9fcd 100644
--- a/coverage-report/hdata/vpd.c.gcov.html
+++ b/coverage-report/hdata/vpd.c.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">207</td>
- <td class="headerCovTableEntry">273</td>
- <td class="headerCovTableEntryMed">75.8 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">274</td>
+ <td class="headerCovTableEntryMed">75.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">17</td>
@@ -440,7 +440,7 @@
<a name="369"><span class="lineNum"> 369 </span> :<span class="lineCov"> 24 : cinfo = card_info_lookup((char *)kw);</span></a>
<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 24 : if (cinfo) {</span></a>
<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 16 : dt_add_property_string(node,</span></a>
-<a name="372"><span class="lineNum"> 372 </span> : : &quot;description&quot;, cinfo-&gt;description);</a>
+<a name="372"><span class="lineNum"> 372 </span> :<span class="lineCov"> 16 : &quot;description&quot;, cinfo-&gt;description);</span></a>
<a name="373"><span class="lineNum"> 373 </span> : : } else {</a>
<a name="374"><span class="lineNum"> 374 </span> :<span class="lineCov"> 8 : desc = vpd_find(fruvpd, fruvpd_sz, &quot;VINI&quot;, &quot;DR&quot;, &amp;sz);</span></a>
<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 8 : if (desc) {</span></a>
diff --git a/coverage-report/hw/index-sort-b.html b/coverage-report/hw/index-sort-b.html
index 753a53f..4e95b03 100644
--- a/coverage-report/hw/index-sort-b.html
+++ b/coverage-report/hw/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
@@ -82,18 +82,6 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="phys-map.c.gcov.html">phys-map.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=78 height=10 alt="77.6%"><img src="../snow.png" width=22 height=10 alt="77.6%"></td></tr></table>
- </td>
- <td class="coverPerMed">77.6&nbsp;%</td>
- <td class="coverNumMed">38 / 49</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">3 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="lpc-port80h.c.gcov.html">lpc-port80h.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="98.7%"><img src="../snow.png" width=1 height=10 alt="98.7%"></td></tr></table>
@@ -105,6 +93,18 @@
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
+ <tr>
+ <td class="coverFile"><a href="phys-map.c.gcov.html">phys-map.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=78 height=10 alt="77.6%"><img src="../snow.png" width=22 height=10 alt="77.6%"></td></tr></table>
+ </td>
+ <td class="coverPerMed">77.6&nbsp;%</td>
+ <td class="coverNumMed">38 / 49</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">3 / 4</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
</table>
</center>
<br>
diff --git a/coverage-report/hw/index-sort-f.html b/coverage-report/hw/index-sort-f.html
index 7af38cd..ac89e9d 100644
--- a/coverage-report/hw/index-sort-f.html
+++ b/coverage-report/hw/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hw/index-sort-l.html b/coverage-report/hw/index-sort-l.html
index 1fc9fdd..e1f6f94 100644
--- a/coverage-report/hw/index-sort-l.html
+++ b/coverage-report/hw/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hw/index.html b/coverage-report/hw/index.html
index d454386..4fedc8c 100644
--- a/coverage-report/hw/index.html
+++ b/coverage-report/hw/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hw/ipmi/index-sort-b.html b/coverage-report/hw/ipmi/index-sort-b.html
index aa57bb8..058bd27 100644
--- a/coverage-report/hw/ipmi/index-sort-b.html
+++ b/coverage-report/hw/ipmi/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/ipmi/index-sort-f.html b/coverage-report/hw/ipmi/index-sort-f.html
index 5f96f2a..9220adf 100644
--- a/coverage-report/hw/ipmi/index-sort-f.html
+++ b/coverage-report/hw/ipmi/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/ipmi/index-sort-l.html b/coverage-report/hw/ipmi/index-sort-l.html
index 84ed383..e28441e 100644
--- a/coverage-report/hw/ipmi/index-sort-l.html
+++ b/coverage-report/hw/ipmi/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/ipmi/index.html b/coverage-report/hw/ipmi/index.html
index 32c4343..924cdd4 100644
--- a/coverage-report/hw/ipmi/index.html
+++ b/coverage-report/hw/ipmi/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/ipmi/ipmi-fru.c.func-sort-c.html b/coverage-report/hw/ipmi/ipmi-fru.c.func-sort-c.html
index 6bc9c4d..18abae8 100644
--- a/coverage-report/hw/ipmi/ipmi-fru.c.func-sort-c.html
+++ b/coverage-report/hw/ipmi/ipmi-fru.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/ipmi/ipmi-fru.c.func.html b/coverage-report/hw/ipmi/ipmi-fru.c.func.html
index ceb460a..cdb8e7e 100644
--- a/coverage-report/hw/ipmi/ipmi-fru.c.func.html
+++ b/coverage-report/hw/ipmi/ipmi-fru.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/ipmi/ipmi-fru.c.gcov.html b/coverage-report/hw/ipmi/ipmi-fru.c.gcov.html
index 0fefdd6..37d855a 100644
--- a/coverage-report/hw/ipmi/ipmi-fru.c.gcov.html
+++ b/coverage-report/hw/ipmi/ipmi-fru.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/ipmi/test/index-sort-b.html b/coverage-report/hw/ipmi/test/index-sort-b.html
index 49631c8..8550336 100644
--- a/coverage-report/hw/ipmi/test/index-sort-b.html
+++ b/coverage-report/hw/ipmi/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hw/ipmi/test/index-sort-f.html b/coverage-report/hw/ipmi/test/index-sort-f.html
index eb07674..14a3b7c 100644
--- a/coverage-report/hw/ipmi/test/index-sort-f.html
+++ b/coverage-report/hw/ipmi/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hw/ipmi/test/index-sort-l.html b/coverage-report/hw/ipmi/test/index-sort-l.html
index 3916a2e..3a22e60 100644
--- a/coverage-report/hw/ipmi/test/index-sort-l.html
+++ b/coverage-report/hw/ipmi/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hw/ipmi/test/index.html b/coverage-report/hw/ipmi/test/index.html
index e72edb5..db5ed07 100644
--- a/coverage-report/hw/ipmi/test/index.html
+++ b/coverage-report/hw/ipmi/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hw/ipmi/test/run-fru.c.func-sort-c.html b/coverage-report/hw/ipmi/test/run-fru.c.func-sort-c.html
index 2559020..67d782d 100644
--- a/coverage-report/hw/ipmi/test/run-fru.c.func-sort-c.html
+++ b/coverage-report/hw/ipmi/test/run-fru.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hw/ipmi/test/run-fru.c.func.html b/coverage-report/hw/ipmi/test/run-fru.c.func.html
index 33a1958..b40ccc2 100644
--- a/coverage-report/hw/ipmi/test/run-fru.c.func.html
+++ b/coverage-report/hw/ipmi/test/run-fru.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hw/ipmi/test/run-fru.c.gcov.html b/coverage-report/hw/ipmi/test/run-fru.c.gcov.html
index 13c4368..70c344d 100644
--- a/coverage-report/hw/ipmi/test/run-fru.c.gcov.html
+++ b/coverage-report/hw/ipmi/test/run-fru.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/hw/lpc-port80h.c.func-sort-c.html b/coverage-report/hw/lpc-port80h.c.func-sort-c.html
index 655bdfe..003ccc3 100644
--- a/coverage-report/hw/lpc-port80h.c.func-sort-c.html
+++ b/coverage-report/hw/lpc-port80h.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hw/lpc-port80h.c.func.html b/coverage-report/hw/lpc-port80h.c.func.html
index 96cbeaa..a92a7b8 100644
--- a/coverage-report/hw/lpc-port80h.c.func.html
+++ b/coverage-report/hw/lpc-port80h.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hw/lpc-port80h.c.gcov.html b/coverage-report/hw/lpc-port80h.c.gcov.html
index ac755c3..df20f3a 100644
--- a/coverage-report/hw/lpc-port80h.c.gcov.html
+++ b/coverage-report/hw/lpc-port80h.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hw/phys-map.c.func-sort-c.html b/coverage-report/hw/phys-map.c.func-sort-c.html
index f4e409c..7d861b9 100644
--- a/coverage-report/hw/phys-map.c.func-sort-c.html
+++ b/coverage-report/hw/phys-map.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hw/phys-map.c.func.html b/coverage-report/hw/phys-map.c.func.html
index ad820b8..4079c9c 100644
--- a/coverage-report/hw/phys-map.c.func.html
+++ b/coverage-report/hw/phys-map.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hw/phys-map.c.gcov.html b/coverage-report/hw/phys-map.c.gcov.html
index 49089d4..62f3232 100644
--- a/coverage-report/hw/phys-map.c.gcov.html
+++ b/coverage-report/hw/phys-map.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/hw/test/index-sort-b.html b/coverage-report/hw/test/index-sort-b.html
index 592cba5..bb948fa 100644
--- a/coverage-report/hw/test/index-sort-b.html
+++ b/coverage-report/hw/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
@@ -82,18 +82,6 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run-port80h.c.gcov.html">run-port80h.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">60 / 60</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="phys-map-test.c.gcov.html">phys-map-test.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=61 height=10 alt="60.6%"><img src="../../snow.png" width=39 height=10 alt="60.6%"></td></tr></table>
@@ -105,6 +93,18 @@
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
+ <tr>
+ <td class="coverFile"><a href="run-port80h.c.gcov.html">run-port80h.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">60 / 60</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
</table>
</center>
<br>
diff --git a/coverage-report/hw/test/index-sort-f.html b/coverage-report/hw/test/index-sort-f.html
index 3995271..6e9035e 100644
--- a/coverage-report/hw/test/index-sort-f.html
+++ b/coverage-report/hw/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hw/test/index-sort-l.html b/coverage-report/hw/test/index-sort-l.html
index 86c9b3c..cd7d508 100644
--- a/coverage-report/hw/test/index-sort-l.html
+++ b/coverage-report/hw/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hw/test/index.html b/coverage-report/hw/test/index.html
index 8d1d307..0d904eb 100644
--- a/coverage-report/hw/test/index.html
+++ b/coverage-report/hw/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/hw/test/phys-map-test.c.func-sort-c.html b/coverage-report/hw/test/phys-map-test.c.func-sort-c.html
index b72b3cf..4f5bf45 100644
--- a/coverage-report/hw/test/phys-map-test.c.func-sort-c.html
+++ b/coverage-report/hw/test/phys-map-test.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/test/phys-map-test.c.func.html b/coverage-report/hw/test/phys-map-test.c.func.html
index 66c8250..348e69b 100644
--- a/coverage-report/hw/test/phys-map-test.c.func.html
+++ b/coverage-report/hw/test/phys-map-test.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/test/phys-map-test.c.gcov.html b/coverage-report/hw/test/phys-map-test.c.gcov.html
index de26177..e292a7e 100644
--- a/coverage-report/hw/test/phys-map-test.c.gcov.html
+++ b/coverage-report/hw/test/phys-map-test.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/hw/test/run-port80h.c.func-sort-c.html b/coverage-report/hw/test/run-port80h.c.func-sort-c.html
index 7fb86df..e342126 100644
--- a/coverage-report/hw/test/run-port80h.c.func-sort-c.html
+++ b/coverage-report/hw/test/run-port80h.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/hw/test/run-port80h.c.func.html b/coverage-report/hw/test/run-port80h.c.func.html
index 3adc5e2..562ddec 100644
--- a/coverage-report/hw/test/run-port80h.c.func.html
+++ b/coverage-report/hw/test/run-port80h.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/hw/test/run-port80h.c.gcov.html b/coverage-report/hw/test/run-port80h.c.gcov.html
index f9a9581..0dfb083 100644
--- a/coverage-report/hw/test/run-port80h.c.gcov.html
+++ b/coverage-report/hw/test/run-port80h.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/include/bitmap.h.func-sort-c.html b/coverage-report/include/bitmap.h.func-sort-c.html
index ffc3f58..371a4e8 100644
--- a/coverage-report/include/bitmap.h.func-sort-c.html
+++ b/coverage-report/include/bitmap.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/include/bitmap.h.func.html b/coverage-report/include/bitmap.h.func.html
index 25a538d..7801d4e 100644
--- a/coverage-report/include/bitmap.h.func.html
+++ b/coverage-report/include/bitmap.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/include/bitmap.h.gcov.html b/coverage-report/include/bitmap.h.gcov.html
index 91f4535..6949145 100644
--- a/coverage-report/include/bitmap.h.gcov.html
+++ b/coverage-report/include/bitmap.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/include/chip.h.func-sort-c.html b/coverage-report/include/chip.h.func-sort-c.html
index f73039d..6a1c9d1 100644
--- a/coverage-report/include/chip.h.func-sort-c.html
+++ b/coverage-report/include/chip.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/chip.h.func.html b/coverage-report/include/chip.h.func.html
index 718d0d9..aab672a 100644
--- a/coverage-report/include/chip.h.func.html
+++ b/coverage-report/include/chip.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/chip.h.gcov.html b/coverage-report/include/chip.h.gcov.html
index b7d4e34..91a1186 100644
--- a/coverage-report/include/chip.h.gcov.html
+++ b/coverage-report/include/chip.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/compiler.h.func-sort-c.html b/coverage-report/include/compiler.h.func-sort-c.html
index c733e92..a018228 100644
--- a/coverage-report/include/compiler.h.func-sort-c.html
+++ b/coverage-report/include/compiler.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/include/compiler.h.func.html b/coverage-report/include/compiler.h.func.html
index a191e8d..91c70a1 100644
--- a/coverage-report/include/compiler.h.func.html
+++ b/coverage-report/include/compiler.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/include/compiler.h.gcov.html b/coverage-report/include/compiler.h.gcov.html
index a93aa6e..e4733ff 100644
--- a/coverage-report/include/compiler.h.gcov.html
+++ b/coverage-report/include/compiler.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/include/device.h.func-sort-c.html b/coverage-report/include/device.h.func-sort-c.html
index 63ee97f..c64fbc4 100644
--- a/coverage-report/include/device.h.func-sort-c.html
+++ b/coverage-report/include/device.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/include/device.h.func.html b/coverage-report/include/device.h.func.html
index cfc4732..50e1f40 100644
--- a/coverage-report/include/device.h.func.html
+++ b/coverage-report/include/device.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/include/device.h.gcov.html b/coverage-report/include/device.h.gcov.html
index 0a5742c..1b05cb7 100644
--- a/coverage-report/include/device.h.gcov.html
+++ b/coverage-report/include/device.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/include/index-sort-b.html b/coverage-report/include/index-sort-b.html
index 5d46e71..1e15880 100644
--- a/coverage-report/include/index-sort-b.html
+++ b/coverage-report/include/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
@@ -82,26 +82,14 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="bitmap.h.gcov.html">bitmap.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="opal-internal.h.gcov.html">opal-internal.h</a></td>
+ <td class="coverFile"><a href="compiler.h.gcov.html">compiler.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 3</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -142,77 +130,89 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="time-utils.h.gcov.html">time-utils.h</a></td>
+ <td class="coverFile"><a href="lock.h.gcov.html">lock.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="timebase.h.gcov.html">timebase.h</a></td>
+ <td class="coverFile"><a href="device.h.gcov.html">device.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">18 / 18</td>
+ <td class="coverNumHi">9 / 9</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="pci.h.gcov.html">pci.h</a></td>
+ <td class="coverFile"><a href="bitmap.h.gcov.html">bitmap.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 2</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 1</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">8 / 8</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="lock.h.gcov.html">lock.h</a></td>
+ <td class="coverFile"><a href="opal-internal.h.gcov.html">opal-internal.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">8 / 8</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="device.h.gcov.html">device.h</a></td>
+ <td class="coverFile"><a href="time-utils.h.gcov.html">time-utils.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="compiler.h.gcov.html">compiler.h</a></td>
+ <td class="coverFile"><a href="pci.h.gcov.html">pci.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 3</td>
+ <td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
+ <tr>
+ <td class="coverFile"><a href="timebase.h.gcov.html">timebase.h</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">18 / 18</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">8 / 8</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
</table>
</center>
<br>
diff --git a/coverage-report/include/index-sort-f.html b/coverage-report/include/index-sort-f.html
index 1b28133..192d072 100644
--- a/coverage-report/include/index-sort-f.html
+++ b/coverage-report/include/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
@@ -82,24 +82,24 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="pci.h.gcov.html">pci.h</a></td>
+ <td class="coverFile"><a href="compiler.h.gcov.html">compiler.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 2</td>
+ <td class="coverNumLo">0 / 3</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="compiler.h.gcov.html">compiler.h</a></td>
+ <td class="coverFile"><a href="pci.h.gcov.html">pci.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 3</td>
+ <td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
@@ -118,36 +118,36 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="opal-internal.h.gcov.html">opal-internal.h</a></td>
+ <td class="coverFile"><a href="chip.h.gcov.html">chip.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="chip.h.gcov.html">chip.h</a></td>
+ <td class="coverFile"><a href="lock.h.gcov.html">lock.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="lock.h.gcov.html">lock.h</a></td>
+ <td class="coverFile"><a href="opal-internal.h.gcov.html">opal-internal.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">8 / 8</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/include/index-sort-l.html b/coverage-report/include/index-sort-l.html
index 258ea02..c1e174d 100644
--- a/coverage-report/include/index-sort-l.html
+++ b/coverage-report/include/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
diff --git a/coverage-report/include/index.html b/coverage-report/include/index.html
index 3057c9b..04713c2 100644
--- a/coverage-report/include/index.html
+++ b/coverage-report/include/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
diff --git a/coverage-report/include/lock.h.func-sort-c.html b/coverage-report/include/lock.h.func-sort-c.html
index d003834..7ede51b 100644
--- a/coverage-report/include/lock.h.func-sort-c.html
+++ b/coverage-report/include/lock.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/lock.h.func.html b/coverage-report/include/lock.h.func.html
index 68f87f6..a00a693 100644
--- a/coverage-report/include/lock.h.func.html
+++ b/coverage-report/include/lock.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/lock.h.gcov.html b/coverage-report/include/lock.h.gcov.html
index 31a0a2f..de29e7d 100644
--- a/coverage-report/include/lock.h.gcov.html
+++ b/coverage-report/include/lock.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/opal-internal.h.func-sort-c.html b/coverage-report/include/opal-internal.h.func-sort-c.html
index f46ecc2..97055aa 100644
--- a/coverage-report/include/opal-internal.h.func-sort-c.html
+++ b/coverage-report/include/opal-internal.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/opal-internal.h.func.html b/coverage-report/include/opal-internal.h.func.html
index 5b3e797..a07a919 100644
--- a/coverage-report/include/opal-internal.h.func.html
+++ b/coverage-report/include/opal-internal.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/opal-internal.h.gcov.html b/coverage-report/include/opal-internal.h.gcov.html
index b7aa166..38ef64c 100644
--- a/coverage-report/include/opal-internal.h.gcov.html
+++ b/coverage-report/include/opal-internal.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/pci.h.func-sort-c.html b/coverage-report/include/pci.h.func-sort-c.html
index 3517c66..d105edf 100644
--- a/coverage-report/include/pci.h.func-sort-c.html
+++ b/coverage-report/include/pci.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/include/pci.h.func.html b/coverage-report/include/pci.h.func.html
index 7931e84..8216da4 100644
--- a/coverage-report/include/pci.h.func.html
+++ b/coverage-report/include/pci.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/include/pci.h.gcov.html b/coverage-report/include/pci.h.gcov.html
index 092e677..497057b 100644
--- a/coverage-report/include/pci.h.gcov.html
+++ b/coverage-report/include/pci.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/include/processor.h.func-sort-c.html b/coverage-report/include/processor.h.func-sort-c.html
index f8a13eb..8b13d78 100644
--- a/coverage-report/include/processor.h.func-sort-c.html
+++ b/coverage-report/include/processor.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/processor.h.func.html b/coverage-report/include/processor.h.func.html
index 2f09bc6..43dfe51 100644
--- a/coverage-report/include/processor.h.func.html
+++ b/coverage-report/include/processor.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/processor.h.gcov.html b/coverage-report/include/processor.h.gcov.html
index dc1d2ce..426abb7 100644
--- a/coverage-report/include/processor.h.gcov.html
+++ b/coverage-report/include/processor.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/include/skiboot.h.func-sort-c.html b/coverage-report/include/skiboot.h.func-sort-c.html
index 0411f67..db06f7a 100644
--- a/coverage-report/include/skiboot.h.func-sort-c.html
+++ b/coverage-report/include/skiboot.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/include/skiboot.h.func.html b/coverage-report/include/skiboot.h.func.html
index f2edc64..724c81f 100644
--- a/coverage-report/include/skiboot.h.func.html
+++ b/coverage-report/include/skiboot.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/include/skiboot.h.gcov.html b/coverage-report/include/skiboot.h.gcov.html
index 9fd7600..9c6f442 100644
--- a/coverage-report/include/skiboot.h.gcov.html
+++ b/coverage-report/include/skiboot.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/include/time-utils.h.func-sort-c.html b/coverage-report/include/time-utils.h.func-sort-c.html
index 49f2021..43b6e33 100644
--- a/coverage-report/include/time-utils.h.func-sort-c.html
+++ b/coverage-report/include/time-utils.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/include/time-utils.h.func.html b/coverage-report/include/time-utils.h.func.html
index fc0a1fb..3dede83 100644
--- a/coverage-report/include/time-utils.h.func.html
+++ b/coverage-report/include/time-utils.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/include/time-utils.h.gcov.html b/coverage-report/include/time-utils.h.gcov.html
index deabb52..5a05ee0 100644
--- a/coverage-report/include/time-utils.h.gcov.html
+++ b/coverage-report/include/time-utils.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/include/timebase.h.func-sort-c.html b/coverage-report/include/timebase.h.func-sort-c.html
index 9750ca1..33b7565 100644
--- a/coverage-report/include/timebase.h.func-sort-c.html
+++ b/coverage-report/include/timebase.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/include/timebase.h.func.html b/coverage-report/include/timebase.h.func.html
index ab26bd1..812a5e0 100644
--- a/coverage-report/include/timebase.h.func.html
+++ b/coverage-report/include/timebase.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/include/timebase.h.gcov.html b/coverage-report/include/timebase.h.gcov.html
index 9aff40f..18bdb99 100644
--- a/coverage-report/include/timebase.h.gcov.html
+++ b/coverage-report/include/timebase.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/index-sort-b.html b/coverage-report/index-sort-b.html
index c3ac5a8..009e3bd 100644
--- a/coverage-report/index-sort-b.html
+++ b/coverage-report/index-sort-b.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">14495</td>
- <td class="headerCovTableEntry">23490</td>
- <td class="headerCovTableEntryLo">61.7 %</td>
+ <td class="headerCovTableEntry">14599</td>
+ <td class="headerCovTableEntry">23791</td>
+ <td class="headerCovTableEntryLo">61.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">1152</td>
- <td class="headerCovTableEntry">1546</td>
- <td class="headerCovTableEntryLo">74.5 %</td>
+ <td class="headerCovTableEntry">1173</td>
+ <td class="headerCovTableEntry">1594</td>
+ <td class="headerCovTableEntryLo">73.6 %</td>
</tr>
<tr>
<td></td>
@@ -82,86 +82,74 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="libflash/test/index.html">libflash/test</a></td>
+ <td class="coverFile"><a href="libstb/test/index.html">libstb/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=74 height=10 alt="73.9%"><img src="snow.png" width=26 height=10 alt="73.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">73.9&nbsp;%</td>
- <td class="coverNumLo">1368 / 1851</td>
- <td class="coverPerHi">95.2&nbsp;%</td>
- <td class="coverNumHi">119 / 125</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">9 / 9</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="hw/test/index.html">hw/test</a></td>
+ <td class="coverFile"><a href="hw/ipmi/index.html">hw/ipmi</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=75 height=10 alt="75.0%"><img src="snow.png" width=25 height=10 alt="75.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=65 height=10 alt="64.6%"><img src="snow.png" width=35 height=10 alt="64.6%"></td></tr></table>
</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">123 / 164</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">6 / 8</td>
+ <td class="coverPerLo">64.6&nbsp;%</td>
+ <td class="coverNumLo">64 / 99</td>
+ <td class="coverPerLo">57.1&nbsp;%</td>
+ <td class="coverNumLo">4 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libc/test/index.html">libc/test</a></td>
+ <td class="coverFile"><a href="external/trace/index.html">external/trace</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=98 height=10 alt="98.4%"><img src="snow.png" width=2 height=10 alt="98.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">98.4&nbsp;%</td>
- <td class="coverNumHi">377 / 383</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">31 / 31</td>
+ <td class="coverNumHi">39 / 39</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/ffspart/ccan/endian/index.html">external/ffspart/ccan/endian</a></td>
+ <td class="coverFile"><a href="libstb/secvar/backend/index.html">libstb/secvar/backend</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.0%"><img src="snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=85 height=10 alt="84.8%"><img src="snow.png" width=15 height=10 alt="84.8%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">1 / 2</td>
+ <td class="coverPerMed">84.8&nbsp;%</td>
+ <td class="coverNumMed">456 / 538</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">24 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="core/index.html">core</a></td>
+ <td class="coverFile"><a href="libc/stdlib/index.html">libc/stdlib</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=73 height=10 alt="73.1%"><img src="snow.png" width=27 height=10 alt="73.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="94.8%"><img src="snow.png" width=5 height=10 alt="94.8%"></td></tr></table>
</td>
- <td class="coverPerLo">73.1&nbsp;%</td>
- <td class="coverNumLo">1979 / 2706</td>
- <td class="coverPerMed">81.5&nbsp;%</td>
- <td class="coverNumMed">185 / 227</td>
+ <td class="coverPerHi">94.8&nbsp;%</td>
+ <td class="coverNumHi">73 / 77</td>
+ <td class="coverPerMed">80.0&nbsp;%</td>
+ <td class="coverNumMed">4 / 5</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/list/index.html">ccan/list</a></td>
+ <td class="coverFile"><a href="external/gard/ccan/endian/index.html">external/gard/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="99.1%"><img src="snow.png" width=1 height=10 alt="99.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=33 height=10 alt="33.3%"><img src="snow.png" width=67 height=10 alt="33.3%"></td></tr></table>
</td>
- <td class="coverPerHi">99.1&nbsp;%</td>
- <td class="coverNumHi">114 / 115</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">4 / 12</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">23 / 23</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="libflash/index.html">libflash</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=66 height=10 alt="66.3%"><img src="snow.png" width=34 height=10 alt="66.3%"></td></tr></table>
- </td>
- <td class="coverPerLo">66.3&nbsp;%</td>
- <td class="coverNumLo">1697 / 2559</td>
- <td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">141 / 166</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -178,199 +166,175 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/sys/index.html">/usr/include/x86_64-linux-gnu/sys</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="external/gard/index.html">external/gard</a></td>
+ <td class="coverFile"><a href="libstb/secvar/storage/index.html">libstb/secvar/storage</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=71 height=10 alt="70.9%"><img src="snow.png" width=29 height=10 alt="70.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=45 height=10 alt="44.7%"><img src="snow.png" width=55 height=10 alt="44.7%"></td></tr></table>
</td>
- <td class="coverPerLo">70.9&nbsp;%</td>
- <td class="coverNumLo">329 / 464</td>
- <td class="coverPerHi">95.5&nbsp;%</td>
- <td class="coverNumHi">21 / 22</td>
+ <td class="coverPerLo">44.7&nbsp;%</td>
+ <td class="coverNumLo">196 / 438</td>
+ <td class="coverPerLo">64.3&nbsp;%</td>
+ <td class="coverNumLo">18 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="hdata/test/index.html">hdata/test</a></td>
+ <td class="coverFile"><a href="libflash/test/index.html">libflash/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=62 height=10 alt="62.5%"><img src="snow.png" width=38 height=10 alt="62.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=74 height=10 alt="73.9%"><img src="snow.png" width=26 height=10 alt="73.9%"></td></tr></table>
</td>
- <td class="coverPerLo">62.5&nbsp;%</td>
- <td class="coverNumLo">105 / 168</td>
- <td class="coverPerLo">57.1&nbsp;%</td>
- <td class="coverNumLo">8 / 14</td>
+ <td class="coverPerLo">73.9&nbsp;%</td>
+ <td class="coverNumLo">1368 / 1851</td>
+ <td class="coverPerHi">95.2&nbsp;%</td>
+ <td class="coverNumHi">119 / 125</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/gard/libflash/index.html">external/gard/libflash</a></td>
+ <td class="coverFile"><a href="external/pflash/ccan/list/index.html">external/pflash/ccan/list</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=20 height=10 alt="20.1%"><img src="snow.png" width=80 height=10 alt="20.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerLo">20.1&nbsp;%</td>
- <td class="coverNumLo">291 / 1445</td>
- <td class="coverPerLo">31.9&nbsp;%</td>
- <td class="coverNumLo">23 / 72</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 17</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/short_types/test/index.html">ccan/short_types/test</a></td>
+ <td class="coverFile"><a href="ccan/build_assert/test/index.html">ccan/build_assert/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="hw/ipmi/index.html">hw/ipmi</a></td>
+ <td class="coverFile"><a href="hw/ipmi/test/index.html">hw/ipmi/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=65 height=10 alt="64.6%"><img src="snow.png" width=35 height=10 alt="64.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=71 height=10 alt="71.4%"><img src="snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
</td>
- <td class="coverPerLo">64.6&nbsp;%</td>
- <td class="coverNumLo">64 / 99</td>
- <td class="coverPerLo">57.1&nbsp;%</td>
- <td class="coverNumLo">4 / 7</td>
+ <td class="coverPerLo">71.4&nbsp;%</td>
+ <td class="coverNumLo">25 / 35</td>
+ <td class="coverPerLo">16.7&nbsp;%</td>
+ <td class="coverNumLo">1 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/gard/ccan/endian/index.html">external/gard/ccan/endian</a></td>
+ <td class="coverFile"><a href="ccan/check_type/test/index.html">ccan/check_type/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=40 height=10 alt="40.0%"><img src="snow.png" width=60 height=10 alt="40.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">4 / 10</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">5 / 5</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libstb/secvar/storage/index.html">libstb/secvar/storage</a></td>
+ <td class="coverFile"><a href="libc/ctype/index.html">libc/ctype</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=45 height=10 alt="44.7%"><img src="snow.png" width=55 height=10 alt="44.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">44.7&nbsp;%</td>
- <td class="coverNumLo">196 / 438</td>
- <td class="coverPerLo">64.3&nbsp;%</td>
- <td class="coverNumLo">18 / 28</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">24 / 24</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/ffspart/common/index.html">external/ffspart/common</a></td>
+ <td class="coverFile"><a href="external/ffspart/ccan/endian/index.html">external/ffspart/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=50 height=10 alt="50.0%"><img src="snow.png" width=50 height=10 alt="50.0%"></td></tr></table>
</td>
- <td class="coverPerLo">37.5&nbsp;%</td>
- <td class="coverNumLo">12 / 32</td>
- <td class="coverPerLo">33.3&nbsp;%</td>
- <td class="coverNumLo">2 / 6</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">6 / 12</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/array_size/test/index.html">ccan/array_size/test</a></td>
+ <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/bits/index.html">/usr/include/x86_64-linux-gnu/bits</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="ccan/list/test/index.html">ccan/list/test</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="98.7%"><img src="snow.png" width=1 height=10 alt="98.7%"></td></tr></table>
- </td>
- <td class="coverPerHi">98.7&nbsp;%</td>
- <td class="coverNumHi">514 / 521</td>
+ <td class="coverNumHi">35 / 35</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">14 / 14</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/pflash/libflash/index.html">external/pflash/libflash</a></td>
+ <td class="coverFile"><a href="external/gard/libflash/index.html">external/gard/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=25 height=10 alt="25.3%"><img src="snow.png" width=75 height=10 alt="25.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=20 height=10 alt="19.9%"><img src="snow.png" width=80 height=10 alt="19.9%"></td></tr></table>
</td>
- <td class="coverPerLo">25.3&nbsp;%</td>
- <td class="coverNumLo">365 / 1445</td>
- <td class="coverPerLo">43.1&nbsp;%</td>
- <td class="coverNumLo">31 / 72</td>
+ <td class="coverPerLo">19.9&nbsp;%</td>
+ <td class="coverNumLo">304 / 1528</td>
+ <td class="coverPerLo">30.6&nbsp;%</td>
+ <td class="coverNumLo">26 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/pflash/ccan/endian/index.html">external/pflash/ccan/endian</a></td>
+ <td class="coverFile"><a href="libc/string/index.html">libc/string</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.0%"><img src="snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=71 height=10 alt="71.4%"><img src="snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 2</td>
+ <td class="coverPerLo">71.4&nbsp;%</td>
+ <td class="coverNumLo">120 / 168</td>
+ <td class="coverPerMed">77.8&nbsp;%</td>
+ <td class="coverNumMed">14 / 18</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/trace/index.html">external/trace</a></td>
+ <td class="coverFile"><a href="ccan/endian/test/index.html">ccan/endian/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">39 / 39</td>
+ <td class="coverNumHi">73 / 73</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libc/string/index.html">libc/string</a></td>
+ <td class="coverFile"><a href="external/gard/index.html">external/gard</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=71 height=10 alt="71.4%"><img src="snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=71 height=10 alt="70.9%"><img src="snow.png" width=29 height=10 alt="70.9%"></td></tr></table>
</td>
- <td class="coverPerLo">71.4&nbsp;%</td>
- <td class="coverNumLo">120 / 168</td>
- <td class="coverPerMed">77.8&nbsp;%</td>
- <td class="coverNumMed">14 / 18</td>
+ <td class="coverPerLo">70.9&nbsp;%</td>
+ <td class="coverNumLo">329 / 464</td>
+ <td class="coverPerHi">95.8&nbsp;%</td>
+ <td class="coverNumHi">23 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/container_of/test/index.html">ccan/container_of/test</a></td>
+ <td class="coverFile"><a href="libc/test/index.html">libc/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=98 height=10 alt="98.4%"><img src="snow.png" width=2 height=10 alt="98.4%"></td></tr></table>
</td>
+ <td class="coverPerHi">98.4&nbsp;%</td>
+ <td class="coverNumHi">377 / 383</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">31 / 31</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/gard/common/index.html">external/gard/common</a></td>
+ <td class="coverFile"><a href="external/pflash/common/index.html">external/pflash/common</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
@@ -382,158 +346,146 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/build_assert/test/index.html">ccan/build_assert/test</a></td>
+ <td class="coverFile"><a href="external/ffspart/libflash/index.html">external/ffspart/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=25 height=10 alt="25.1%"><img src="snow.png" width=75 height=10 alt="25.1%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">25.1&nbsp;%</td>
+ <td class="coverNumLo">384 / 1528</td>
+ <td class="coverPerLo">35.3&nbsp;%</td>
+ <td class="coverNumLo">30 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/str/test/index.html">ccan/str/test</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">81 / 81</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="libstb/test/index.html">libstb/test</a></td>
+ <td class="coverFile"><a href="ccan/short_types/test/index.html">ccan/short_types/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="hw/ipmi/test/index.html">hw/ipmi/test</a></td>
+ <td class="coverFile"><a href="external/ffspart/index.html">external/ffspart</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=71 height=10 alt="71.4%"><img src="snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=46 height=10 alt="45.8%"><img src="snow.png" width=54 height=10 alt="45.8%"></td></tr></table>
</td>
- <td class="coverPerLo">71.4&nbsp;%</td>
- <td class="coverNumLo">25 / 35</td>
- <td class="coverPerLo">16.7&nbsp;%</td>
- <td class="coverNumLo">1 / 6</td>
+ <td class="coverPerLo">45.8&nbsp;%</td>
+ <td class="coverNumLo">135 / 295</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">4 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libfdt/index.html">libfdt</a></td>
+ <td class="coverFile"><a href="core/index.html">core</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=34 height=10 alt="33.6%"><img src="snow.png" width=66 height=10 alt="33.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=73 height=10 alt="73.1%"><img src="snow.png" width=27 height=10 alt="73.1%"></td></tr></table>
</td>
- <td class="coverPerLo">33.6&nbsp;%</td>
- <td class="coverNumLo">283 / 843</td>
- <td class="coverPerLo">49.0&nbsp;%</td>
- <td class="coverNumLo">47 / 96</td>
+ <td class="coverPerLo">73.1&nbsp;%</td>
+ <td class="coverNumLo">1979 / 2706</td>
+ <td class="coverPerMed">81.5&nbsp;%</td>
+ <td class="coverNumMed">185 / 227</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/ffspart/index.html">external/ffspart</a></td>
+ <td class="coverFile"><a href="external/gard/ccan/list/index.html">external/gard/ccan/list</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=46 height=10 alt="45.8%"><img src="snow.png" width=54 height=10 alt="45.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerLo">45.8&nbsp;%</td>
- <td class="coverNumLo">135 / 295</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">2 / 4</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 17</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/bits/index.html">/usr/include/x86_64-linux-gnu/bits</a></td>
+ <td class="coverFile"><a href="external/ffspart/common/index.html">external/ffspart/common</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="94.9%"><img src="snow.png" width=5 height=10 alt="94.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
- <td class="coverPerHi">94.9&nbsp;%</td>
- <td class="coverNumHi">37 / 39</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverPerLo">37.5&nbsp;%</td>
+ <td class="coverNumLo">12 / 32</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">2 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libstb/secvar/test/index.html">libstb/secvar/test</a></td>
+ <td class="coverFile"><a href="external/pflash/index.html">external/pflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="99.6%"><img src="snow.png" width=1 height=10 alt="99.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.3%"><img src="snow.png" width=40 height=10 alt="60.3%"></td></tr></table>
</td>
- <td class="coverPerHi">99.6&nbsp;%</td>
- <td class="coverNumHi">687 / 690</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">24 / 24</td>
+ <td class="coverPerLo">60.3&nbsp;%</td>
+ <td class="coverNumLo">486 / 806</td>
+ <td class="coverPerMed">78.9&nbsp;%</td>
+ <td class="coverNumMed">15 / 19</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/ffspart/libflash/index.html">external/ffspart/libflash</a></td>
+ <td class="coverFile"><a href="libflash/index.html">libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=26 height=10 alt="25.7%"><img src="snow.png" width=74 height=10 alt="25.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=67 height=10 alt="66.6%"><img src="snow.png" width=33 height=10 alt="66.6%"></td></tr></table>
</td>
- <td class="coverPerLo">25.7&nbsp;%</td>
- <td class="coverNumLo">371 / 1445</td>
- <td class="coverPerLo">36.1&nbsp;%</td>
- <td class="coverNumLo">26 / 72</td>
+ <td class="coverPerLo">66.6&nbsp;%</td>
+ <td class="coverNumLo">1733 / 2602</td>
+ <td class="coverPerMed">84.8&nbsp;%</td>
+ <td class="coverNumMed">145 / 171</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/pflash/ccan/list/index.html">external/pflash/ccan/list</a></td>
+ <td class="coverFile"><a href="hdata/index.html">hdata</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=44 height=10 alt="44.5%"><img src="snow.png" width=56 height=10 alt="44.5%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 17</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 3</td>
+ <td class="coverPerLo">44.5&nbsp;%</td>
+ <td class="coverNumLo">1252 / 2814</td>
+ <td class="coverPerLo">67.3&nbsp;%</td>
+ <td class="coverNumLo">101 / 150</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/gard/ccan/list/index.html">external/gard/ccan/list</a></td>
+ <td class="coverFile"><a href="external/pflash/ccan/endian/index.html">external/pflash/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=67 height=10 alt="66.7%"><img src="snow.png" width=33 height=10 alt="66.7%"></td></tr></table>
</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">8 / 12</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 17</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 3</td>
+ <td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/str/index.html">ccan/str</a></td>
+ <td class="coverFile"><a href="ccan/container_of/test/index.html">ccan/container_of/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">10 / 10</td>
+ <td class="coverNumHi">13 / 13</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libstb/crypto/pkcs7/index.html">libstb/crypto/pkcs7</a></td>
+ <td class="coverFile"><a href="external/pflash/libflash/index.html">external/pflash/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=75 height=10 alt="75.3%"><img src="snow.png" width=25 height=10 alt="75.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=27 height=10 alt="26.8%"><img src="snow.png" width=73 height=10 alt="26.8%"></td></tr></table>
</td>
- <td class="coverPerMed">75.3&nbsp;%</td>
- <td class="coverNumMed">168 / 223</td>
- <td class="coverPerHi">92.9&nbsp;%</td>
- <td class="coverNumHi">13 / 14</td>
+ <td class="coverPerLo">26.8&nbsp;%</td>
+ <td class="coverNumLo">409 / 1528</td>
+ <td class="coverPerLo">43.5&nbsp;%</td>
+ <td class="coverNumLo">37 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -550,50 +502,62 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/heap/index.html">ccan/heap</a></td>
+ <td class="coverFile"><a href="core/test/index.html">core/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="95.3%"><img src="snow.png" width=5 height=10 alt="95.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=97 height=10 alt="97.1%"><img src="snow.png" width=3 height=10 alt="97.1%"></td></tr></table>
</td>
- <td class="coverPerHi">95.3&nbsp;%</td>
- <td class="coverNumHi">61 / 64</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
+ <td class="coverPerHi">97.1&nbsp;%</td>
+ <td class="coverNumHi">1846 / 1901</td>
+ <td class="coverPerMed">89.0&nbsp;%</td>
+ <td class="coverNumMed">138 / 155</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="include/index.html">include</a></td>
+ <td class="coverFile"><a href="hw/test/index.html">hw/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=83 height=10 alt="82.9%"><img src="snow.png" width=17 height=10 alt="82.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=75 height=10 alt="75.0%"><img src="snow.png" width=25 height=10 alt="75.0%"></td></tr></table>
</td>
- <td class="coverPerMed">82.9&nbsp;%</td>
- <td class="coverNumMed">63 / 76</td>
- <td class="coverPerMed">88.9&nbsp;%</td>
- <td class="coverNumMed">24 / 27</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">123 / 164</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">6 / 8</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/check_type/test/index.html">ccan/check_type/test</a></td>
+ <td class="coverFile"><a href="ccan/array_size/test/index.html">ccan/array_size/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libc/ctype/index.html">libc/ctype</a></td>
+ <td class="coverFile"><a href="libc/index.html">libc</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">24 / 24</td>
+ <td class="coverNumHi">66 / 66</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">5 / 5</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="ccan/str/index.html">ccan/str</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">10 / 10</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -610,98 +574,134 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libc/stdio/index.html">libc/stdio</a></td>
+ <td class="coverFile"><a href="ccan/heap/index.html">ccan/heap</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=98 height=10 alt="97.5%"><img src="snow.png" width=2 height=10 alt="97.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="95.3%"><img src="snow.png" width=5 height=10 alt="95.3%"></td></tr></table>
</td>
- <td class="coverPerHi">97.5&nbsp;%</td>
- <td class="coverNumHi">159 / 163</td>
+ <td class="coverPerHi">95.3&nbsp;%</td>
+ <td class="coverNumHi">61 / 64</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">8 / 8</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/pflash/index.html">external/pflash</a></td>
+ <td class="coverFile"><a href="ccan/list/index.html">ccan/list</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.3%"><img src="snow.png" width=40 height=10 alt="60.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="99.1%"><img src="snow.png" width=1 height=10 alt="99.1%"></td></tr></table>
</td>
- <td class="coverPerLo">60.3&nbsp;%</td>
- <td class="coverNumLo">486 / 806</td>
- <td class="coverPerMed">78.9&nbsp;%</td>
- <td class="coverNumMed">15 / 19</td>
+ <td class="coverPerHi">99.1&nbsp;%</td>
+ <td class="coverNumHi">114 / 115</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">23 / 23</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libstb/secvar/backend/index.html">libstb/secvar/backend</a></td>
+ <td class="coverFile"><a href="ccan/heap/test/index.html">ccan/heap/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=85 height=10 alt="84.7%"><img src="snow.png" width=15 height=10 alt="84.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=76 height=10 alt="76.4%"><img src="snow.png" width=24 height=10 alt="76.4%"></td></tr></table>
</td>
- <td class="coverPerMed">84.7&nbsp;%</td>
- <td class="coverNumMed">455 / 537</td>
+ <td class="coverPerMed">76.4&nbsp;%</td>
+ <td class="coverNumMed">55 / 72</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">24 / 24</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="hdata/index.html">hdata</a></td>
+ <td class="coverFile"><a href="external/gard/common/index.html">external/gard/common</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=44 height=10 alt="44.5%"><img src="snow.png" width=56 height=10 alt="44.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
- <td class="coverPerLo">44.5&nbsp;%</td>
- <td class="coverNumLo">1248 / 2805</td>
- <td class="coverPerLo">67.3&nbsp;%</td>
- <td class="coverNumLo">101 / 150</td>
+ <td class="coverPerLo">37.5&nbsp;%</td>
+ <td class="coverNumLo">12 / 32</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">2 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libc/index.html">libc</a></td>
+ <td class="coverFile"><a href="libstb/secvar/index.html">libstb/secvar</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=89 height=10 alt="89.5%"><img src="snow.png" width=11 height=10 alt="89.5%"></td></tr></table>
</td>
+ <td class="coverPerMed">89.5&nbsp;%</td>
+ <td class="coverNumMed">153 / 171</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">66 / 66</td>
+ <td class="coverNumHi">12 / 12</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="ccan/list/test/index.html">ccan/list/test</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="98.6%"><img src="snow.png" width=1 height=10 alt="98.6%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">98.6&nbsp;%</td>
+ <td class="coverNumHi">511 / 518</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
+ <td class="coverNumHi">14 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/endian/test/index.html">ccan/endian/test</a></td>
+ <td class="coverFile"><a href="libfdt/index.html">libfdt</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=33 height=10 alt="33.4%"><img src="snow.png" width=67 height=10 alt="33.4%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">33.4&nbsp;%</td>
+ <td class="coverNumLo">283 / 847</td>
+ <td class="coverPerLo">49.0&nbsp;%</td>
+ <td class="coverNumLo">47 / 96</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="include/index.html">include</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=83 height=10 alt="82.9%"><img src="snow.png" width=17 height=10 alt="82.9%"></td></tr></table>
+ </td>
+ <td class="coverPerMed">82.9&nbsp;%</td>
+ <td class="coverNumMed">63 / 76</td>
+ <td class="coverPerMed">88.9&nbsp;%</td>
+ <td class="coverNumMed">24 / 27</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="ccan/container_of/index.html">ccan/container_of</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">73 / 73</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/container_of/index.html">ccan/container_of</a></td>
+ <td class="coverFile"><a href="ccan/str/test/index.html">ccan/str/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">81 / 81</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="core/test/index.html">core/test</a></td>
+ <td class="coverFile"><a href="libstb/secvar/test/index.html">libstb/secvar/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=97 height=10 alt="97.1%"><img src="snow.png" width=3 height=10 alt="97.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="99.6%"><img src="snow.png" width=1 height=10 alt="99.6%"></td></tr></table>
</td>
- <td class="coverPerHi">97.1&nbsp;%</td>
- <td class="coverNumHi">1846 / 1901</td>
- <td class="coverPerMed">89.0&nbsp;%</td>
- <td class="coverNumMed">138 / 155</td>
+ <td class="coverPerHi">99.6&nbsp;%</td>
+ <td class="coverNumHi">687 / 690</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">24 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -718,50 +718,38 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libc/stdlib/index.html">libc/stdlib</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="94.8%"><img src="snow.png" width=5 height=10 alt="94.8%"></td></tr></table>
- </td>
- <td class="coverPerHi">94.8&nbsp;%</td>
- <td class="coverNumHi">73 / 77</td>
- <td class="coverPerMed">80.0&nbsp;%</td>
- <td class="coverNumMed">4 / 5</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="ccan/heap/test/index.html">ccan/heap/test</a></td>
+ <td class="coverFile"><a href="libc/stdio/index.html">libc/stdio</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=76 height=10 alt="76.4%"><img src="snow.png" width=24 height=10 alt="76.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=98 height=10 alt="97.5%"><img src="snow.png" width=2 height=10 alt="97.5%"></td></tr></table>
</td>
- <td class="coverPerMed">76.4&nbsp;%</td>
- <td class="coverNumMed">55 / 72</td>
+ <td class="coverPerHi">97.5&nbsp;%</td>
+ <td class="coverNumHi">159 / 163</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
+ <td class="coverNumHi">8 / 8</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/pflash/common/index.html">external/pflash/common</a></td>
+ <td class="coverFile"><a href="hdata/test/index.html">hdata/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=62 height=10 alt="62.5%"><img src="snow.png" width=38 height=10 alt="62.5%"></td></tr></table>
</td>
- <td class="coverPerLo">37.5&nbsp;%</td>
- <td class="coverNumLo">12 / 32</td>
- <td class="coverPerLo">33.3&nbsp;%</td>
- <td class="coverNumLo">2 / 6</td>
+ <td class="coverPerLo">62.5&nbsp;%</td>
+ <td class="coverNumLo">105 / 168</td>
+ <td class="coverPerLo">57.1&nbsp;%</td>
+ <td class="coverNumLo">8 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libstb/secvar/index.html">libstb/secvar</a></td>
+ <td class="coverFile"><a href="libstb/crypto/pkcs7/index.html">libstb/crypto/pkcs7</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=89 height=10 alt="89.5%"><img src="snow.png" width=11 height=10 alt="89.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=75 height=10 alt="75.3%"><img src="snow.png" width=25 height=10 alt="75.3%"></td></tr></table>
</td>
- <td class="coverPerMed">89.5&nbsp;%</td>
- <td class="coverNumMed">153 / 171</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">12 / 12</td>
+ <td class="coverPerMed">75.3&nbsp;%</td>
+ <td class="coverNumMed">168 / 223</td>
+ <td class="coverPerHi">92.9&nbsp;%</td>
+ <td class="coverNumHi">13 / 14</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/index-sort-f.html b/coverage-report/index-sort-f.html
index dbdee97..98d7d27 100644
--- a/coverage-report/index-sort-f.html
+++ b/coverage-report/index-sort-f.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">14495</td>
- <td class="headerCovTableEntry">23490</td>
- <td class="headerCovTableEntryLo">61.7 %</td>
+ <td class="headerCovTableEntry">14599</td>
+ <td class="headerCovTableEntry">23791</td>
+ <td class="headerCovTableEntryLo">61.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">1152</td>
- <td class="headerCovTableEntry">1546</td>
- <td class="headerCovTableEntryLo">74.5 %</td>
+ <td class="headerCovTableEntry">1173</td>
+ <td class="headerCovTableEntry">1594</td>
+ <td class="headerCovTableEntryLo">73.6 %</td>
</tr>
<tr>
<td></td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="external/pflash/ccan/endian/index.html">external/pflash/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.0%"><img src="snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=67 height=10 alt="66.7%"><img src="snow.png" width=33 height=10 alt="66.7%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">8 / 12</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
@@ -144,17 +144,17 @@
<tr>
<td class="coverFile"><a href="external/gard/libflash/index.html">external/gard/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=20 height=10 alt="20.1%"><img src="snow.png" width=80 height=10 alt="20.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=20 height=10 alt="19.9%"><img src="snow.png" width=80 height=10 alt="19.9%"></td></tr></table>
</td>
- <td class="coverPerLo">20.1&nbsp;%</td>
- <td class="coverNumLo">291 / 1445</td>
- <td class="coverPerLo">31.9&nbsp;%</td>
- <td class="coverNumLo">23 / 72</td>
+ <td class="coverPerLo">19.9&nbsp;%</td>
+ <td class="coverNumLo">304 / 1528</td>
+ <td class="coverPerLo">30.6&nbsp;%</td>
+ <td class="coverNumLo">26 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/ffspart/common/index.html">external/ffspart/common</a></td>
+ <td class="coverFile"><a href="external/pflash/common/index.html">external/pflash/common</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
@@ -166,7 +166,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/gard/common/index.html">external/gard/common</a></td>
+ <td class="coverFile"><a href="external/ffspart/common/index.html">external/ffspart/common</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
@@ -178,7 +178,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/pflash/common/index.html">external/pflash/common</a></td>
+ <td class="coverFile"><a href="external/gard/common/index.html">external/gard/common</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
@@ -192,34 +192,34 @@
<tr>
<td class="coverFile"><a href="external/ffspart/libflash/index.html">external/ffspart/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=26 height=10 alt="25.7%"><img src="snow.png" width=74 height=10 alt="25.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=25 height=10 alt="25.1%"><img src="snow.png" width=75 height=10 alt="25.1%"></td></tr></table>
</td>
- <td class="coverPerLo">25.7&nbsp;%</td>
- <td class="coverNumLo">371 / 1445</td>
- <td class="coverPerLo">36.1&nbsp;%</td>
- <td class="coverNumLo">26 / 72</td>
+ <td class="coverPerLo">25.1&nbsp;%</td>
+ <td class="coverNumLo">384 / 1528</td>
+ <td class="coverPerLo">35.3&nbsp;%</td>
+ <td class="coverNumLo">30 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="external/pflash/libflash/index.html">external/pflash/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=25 height=10 alt="25.3%"><img src="snow.png" width=75 height=10 alt="25.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=27 height=10 alt="26.8%"><img src="snow.png" width=73 height=10 alt="26.8%"></td></tr></table>
</td>
- <td class="coverPerLo">25.3&nbsp;%</td>
- <td class="coverNumLo">365 / 1445</td>
- <td class="coverPerLo">43.1&nbsp;%</td>
- <td class="coverNumLo">31 / 72</td>
+ <td class="coverPerLo">26.8&nbsp;%</td>
+ <td class="coverNumLo">409 / 1528</td>
+ <td class="coverPerLo">43.5&nbsp;%</td>
+ <td class="coverNumLo">37 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libfdt/index.html">libfdt</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=34 height=10 alt="33.6%"><img src="snow.png" width=66 height=10 alt="33.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=33 height=10 alt="33.4%"><img src="snow.png" width=67 height=10 alt="33.4%"></td></tr></table>
</td>
- <td class="coverPerLo">33.6&nbsp;%</td>
- <td class="coverNumLo">283 / 843</td>
+ <td class="coverPerLo">33.4&nbsp;%</td>
+ <td class="coverNumLo">283 / 847</td>
<td class="coverPerLo">49.0&nbsp;%</td>
<td class="coverNumLo">47 / 96</td>
<td class="coverPerHi">-</td>
@@ -228,24 +228,12 @@
<tr>
<td class="coverFile"><a href="external/ffspart/ccan/endian/index.html">external/ffspart/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.0%"><img src="snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=50 height=10 alt="50.0%"><img src="snow.png" width=50 height=10 alt="50.0%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
<td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">1 / 2</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="external/ffspart/index.html">external/ffspart</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=46 height=10 alt="45.8%"><img src="snow.png" width=54 height=10 alt="45.8%"></td></tr></table>
- </td>
- <td class="coverPerLo">45.8&nbsp;%</td>
- <td class="coverNumLo">135 / 295</td>
+ <td class="coverNumLo">6 / 12</td>
<td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">2 / 4</td>
+ <td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -298,12 +286,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
+ <td class="coverFile"><a href="external/ffspart/index.html">external/ffspart</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=46 height=10 alt="45.8%"><img src="snow.png" width=54 height=10 alt="45.8%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">45.8&nbsp;%</td>
+ <td class="coverNumLo">135 / 295</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">4 / 6</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
<td class="coverFile"><a href="hdata/index.html">hdata</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=44 height=10 alt="44.5%"><img src="snow.png" width=56 height=10 alt="44.5%"></td></tr></table>
</td>
<td class="coverPerLo">44.5&nbsp;%</td>
- <td class="coverNumLo">1248 / 2805</td>
+ <td class="coverNumLo">1252 / 2814</td>
<td class="coverPerLo">67.3&nbsp;%</td>
<td class="coverNumLo">101 / 150</td>
<td class="coverPerHi">-</td>
@@ -372,12 +372,12 @@
<tr>
<td class="coverFile"><a href="libflash/index.html">libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=66 height=10 alt="66.3%"><img src="snow.png" width=34 height=10 alt="66.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=67 height=10 alt="66.6%"><img src="snow.png" width=33 height=10 alt="66.6%"></td></tr></table>
</td>
- <td class="coverPerLo">66.3&nbsp;%</td>
- <td class="coverNumLo">1697 / 2559</td>
- <td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">141 / 166</td>
+ <td class="coverPerLo">66.6&nbsp;%</td>
+ <td class="coverNumLo">1733 / 2602</td>
+ <td class="coverPerMed">84.8&nbsp;%</td>
+ <td class="coverNumMed">145 / 171</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -448,90 +448,78 @@
</td>
<td class="coverPerLo">70.9&nbsp;%</td>
<td class="coverNumLo">329 / 464</td>
- <td class="coverPerHi">95.5&nbsp;%</td>
- <td class="coverNumHi">21 / 22</td>
+ <td class="coverPerHi">95.8&nbsp;%</td>
+ <td class="coverNumHi">23 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/sys/index.html">/usr/include/x86_64-linux-gnu/sys</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="ccan/array_size/test/index.html">ccan/array_size/test</a></td>
+ <td class="coverFile"><a href="libstb/test/index.html">libstb/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">9 / 9</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/container_of/test/index.html">ccan/container_of/test</a></td>
+ <td class="coverFile"><a href="ccan/build_assert/test/index.html">ccan/build_assert/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/build_assert/test/index.html">ccan/build_assert/test</a></td>
+ <td class="coverFile"><a href="ccan/check_type/test/index.html">ccan/check_type/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libstb/test/index.html">libstb/test</a></td>
+ <td class="coverFile"><a href="ccan/endian/test/index.html">ccan/endian/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">73 / 73</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/check_type/test/index.html">ccan/check_type/test</a></td>
+ <td class="coverFile"><a href="ccan/container_of/test/index.html">ccan/container_of/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
+ <td class="coverNumHi">13 / 13</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/endian/test/index.html">ccan/endian/test</a></td>
+ <td class="coverFile"><a href="ccan/array_size/test/index.html">ccan/array_size/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">73 / 73</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -550,12 +538,12 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/short_types/test/index.html">ccan/short_types/test</a></td>
+ <td class="coverFile"><a href="external/trace/index.html">external/trace</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">39 / 39</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
@@ -564,22 +552,22 @@
<tr>
<td class="coverFile"><a href="external/gard/ccan/endian/index.html">external/gard/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=40 height=10 alt="40.0%"><img src="snow.png" width=60 height=10 alt="40.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=33 height=10 alt="33.3%"><img src="snow.png" width=67 height=10 alt="33.3%"></td></tr></table>
</td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">4 / 10</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">4 / 12</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/trace/index.html">external/trace</a></td>
+ <td class="coverFile"><a href="ccan/short_types/test/index.html">ccan/short_types/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">39 / 39</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
@@ -598,24 +586,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ccan/str/test/index.html">ccan/str/test</a></td>
+ <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/bits/index.html">/usr/include/x86_64-linux-gnu/bits</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">81 / 81</td>
+ <td class="coverNumHi">35 / 35</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/bits/index.html">/usr/include/x86_64-linux-gnu/bits</a></td>
+ <td class="coverFile"><a href="ccan/str/test/index.html">ccan/str/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="94.9%"><img src="snow.png" width=5 height=10 alt="94.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">94.9&nbsp;%</td>
- <td class="coverNumHi">37 / 39</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">81 / 81</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
@@ -708,10 +696,10 @@
<tr>
<td class="coverFile"><a href="ccan/list/test/index.html">ccan/list/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="98.7%"><img src="snow.png" width=1 height=10 alt="98.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="98.6%"><img src="snow.png" width=1 height=10 alt="98.6%"></td></tr></table>
</td>
- <td class="coverPerHi">98.7&nbsp;%</td>
- <td class="coverNumHi">514 / 521</td>
+ <td class="coverPerHi">98.6&nbsp;%</td>
+ <td class="coverNumHi">511 / 518</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">14 / 14</td>
<td class="coverPerHi">-</td>
@@ -730,24 +718,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libstb/secvar/test/index.html">libstb/secvar/test</a></td>
+ <td class="coverFile"><a href="libstb/secvar/backend/index.html">libstb/secvar/backend</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="99.6%"><img src="snow.png" width=1 height=10 alt="99.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=85 height=10 alt="84.8%"><img src="snow.png" width=15 height=10 alt="84.8%"></td></tr></table>
</td>
- <td class="coverPerHi">99.6&nbsp;%</td>
- <td class="coverNumHi">687 / 690</td>
+ <td class="coverPerMed">84.8&nbsp;%</td>
+ <td class="coverNumMed">456 / 538</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">24 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libstb/secvar/backend/index.html">libstb/secvar/backend</a></td>
+ <td class="coverFile"><a href="libstb/secvar/test/index.html">libstb/secvar/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=85 height=10 alt="84.7%"><img src="snow.png" width=15 height=10 alt="84.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="99.6%"><img src="snow.png" width=1 height=10 alt="99.6%"></td></tr></table>
</td>
- <td class="coverPerMed">84.7&nbsp;%</td>
- <td class="coverNumMed">455 / 537</td>
+ <td class="coverPerHi">99.6&nbsp;%</td>
+ <td class="coverNumHi">687 / 690</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">24 / 24</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/index-sort-l.html b/coverage-report/index-sort-l.html
index b2dacc5..1109317 100644
--- a/coverage-report/index-sort-l.html
+++ b/coverage-report/index-sort-l.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">14495</td>
- <td class="headerCovTableEntry">23490</td>
- <td class="headerCovTableEntryLo">61.7 %</td>
+ <td class="headerCovTableEntry">14599</td>
+ <td class="headerCovTableEntry">23791</td>
+ <td class="headerCovTableEntryLo">61.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">1152</td>
- <td class="headerCovTableEntry">1546</td>
- <td class="headerCovTableEntryLo">74.5 %</td>
+ <td class="headerCovTableEntry">1173</td>
+ <td class="headerCovTableEntry">1594</td>
+ <td class="headerCovTableEntryLo">73.6 %</td>
</tr>
<tr>
<td></td>
@@ -120,53 +120,65 @@
<tr>
<td class="coverFile"><a href="external/gard/libflash/index.html">external/gard/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=20 height=10 alt="20.1%"><img src="snow.png" width=80 height=10 alt="20.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=20 height=10 alt="19.9%"><img src="snow.png" width=80 height=10 alt="19.9%"></td></tr></table>
</td>
- <td class="coverPerLo">20.1&nbsp;%</td>
- <td class="coverNumLo">291 / 1445</td>
- <td class="coverPerLo">31.9&nbsp;%</td>
- <td class="coverNumLo">23 / 72</td>
+ <td class="coverPerLo">19.9&nbsp;%</td>
+ <td class="coverNumLo">304 / 1528</td>
+ <td class="coverPerLo">30.6&nbsp;%</td>
+ <td class="coverNumLo">26 / 85</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="external/ffspart/libflash/index.html">external/ffspart/libflash</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=25 height=10 alt="25.1%"><img src="snow.png" width=75 height=10 alt="25.1%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">25.1&nbsp;%</td>
+ <td class="coverNumLo">384 / 1528</td>
+ <td class="coverPerLo">35.3&nbsp;%</td>
+ <td class="coverNumLo">30 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="external/pflash/libflash/index.html">external/pflash/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=25 height=10 alt="25.3%"><img src="snow.png" width=75 height=10 alt="25.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=27 height=10 alt="26.8%"><img src="snow.png" width=73 height=10 alt="26.8%"></td></tr></table>
</td>
- <td class="coverPerLo">25.3&nbsp;%</td>
- <td class="coverNumLo">365 / 1445</td>
- <td class="coverPerLo">43.1&nbsp;%</td>
- <td class="coverNumLo">31 / 72</td>
+ <td class="coverPerLo">26.8&nbsp;%</td>
+ <td class="coverNumLo">409 / 1528</td>
+ <td class="coverPerLo">43.5&nbsp;%</td>
+ <td class="coverNumLo">37 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/ffspart/libflash/index.html">external/ffspart/libflash</a></td>
+ <td class="coverFile"><a href="external/gard/ccan/endian/index.html">external/gard/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=26 height=10 alt="25.7%"><img src="snow.png" width=74 height=10 alt="25.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=33 height=10 alt="33.3%"><img src="snow.png" width=67 height=10 alt="33.3%"></td></tr></table>
</td>
- <td class="coverPerLo">25.7&nbsp;%</td>
- <td class="coverNumLo">371 / 1445</td>
- <td class="coverPerLo">36.1&nbsp;%</td>
- <td class="coverNumLo">26 / 72</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">4 / 12</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libfdt/index.html">libfdt</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=34 height=10 alt="33.6%"><img src="snow.png" width=66 height=10 alt="33.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=33 height=10 alt="33.4%"><img src="snow.png" width=67 height=10 alt="33.4%"></td></tr></table>
</td>
- <td class="coverPerLo">33.6&nbsp;%</td>
- <td class="coverNumLo">283 / 843</td>
+ <td class="coverPerLo">33.4&nbsp;%</td>
+ <td class="coverNumLo">283 / 847</td>
<td class="coverPerLo">49.0&nbsp;%</td>
<td class="coverNumLo">47 / 96</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/ffspart/common/index.html">external/ffspart/common</a></td>
+ <td class="coverFile"><a href="external/pflash/common/index.html">external/pflash/common</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
@@ -178,7 +190,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/gard/common/index.html">external/gard/common</a></td>
+ <td class="coverFile"><a href="external/ffspart/common/index.html">external/ffspart/common</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
@@ -190,7 +202,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/pflash/common/index.html">external/pflash/common</a></td>
+ <td class="coverFile"><a href="external/gard/common/index.html">external/gard/common</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table>
</td>
@@ -202,24 +214,12 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/gard/ccan/endian/index.html">external/gard/ccan/endian</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=40 height=10 alt="40.0%"><img src="snow.png" width=60 height=10 alt="40.0%"></td></tr></table>
- </td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">4 / 10</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="hdata/index.html">hdata</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=44 height=10 alt="44.5%"><img src="snow.png" width=56 height=10 alt="44.5%"></td></tr></table>
</td>
<td class="coverPerLo">44.5&nbsp;%</td>
- <td class="coverNumLo">1248 / 2805</td>
+ <td class="coverNumLo">1252 / 2814</td>
<td class="coverPerLo">67.3&nbsp;%</td>
<td class="coverNumLo">101 / 150</td>
<td class="coverPerHi">-</td>
@@ -244,8 +244,8 @@
</td>
<td class="coverPerLo">45.8&nbsp;%</td>
<td class="coverNumLo">135 / 295</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">2 / 4</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">4 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -264,28 +264,16 @@
<tr>
<td class="coverFile"><a href="external/ffspart/ccan/endian/index.html">external/ffspart/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.0%"><img src="snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=50 height=10 alt="50.0%"><img src="snow.png" width=50 height=10 alt="50.0%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">6 / 12</td>
<td class="coverPerLo">50.0&nbsp;%</td>
<td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="external/pflash/ccan/endian/index.html">external/pflash/ccan/endian</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.0%"><img src="snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
- </td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 2</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="external/pflash/index.html">external/pflash</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.3%"><img src="snow.png" width=40 height=10 alt="60.3%"></td></tr></table>
@@ -322,14 +310,26 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
+ <td class="coverFile"><a href="external/pflash/ccan/endian/index.html">external/pflash/ccan/endian</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=67 height=10 alt="66.7%"><img src="snow.png" width=33 height=10 alt="66.7%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 2</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
<td class="coverFile"><a href="libflash/index.html">libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=66 height=10 alt="66.3%"><img src="snow.png" width=34 height=10 alt="66.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=67 height=10 alt="66.6%"><img src="snow.png" width=33 height=10 alt="66.6%"></td></tr></table>
</td>
- <td class="coverPerLo">66.3&nbsp;%</td>
- <td class="coverNumLo">1697 / 2559</td>
- <td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">141 / 166</td>
+ <td class="coverPerLo">66.6&nbsp;%</td>
+ <td class="coverNumLo">1733 / 2602</td>
+ <td class="coverPerMed">84.8&nbsp;%</td>
+ <td class="coverNumMed">145 / 171</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -340,8 +340,8 @@
</td>
<td class="coverPerLo">70.9&nbsp;%</td>
<td class="coverNumLo">329 / 464</td>
- <td class="coverPerHi">95.5&nbsp;%</td>
- <td class="coverNumHi">21 / 22</td>
+ <td class="coverPerHi">95.8&nbsp;%</td>
+ <td class="coverNumHi">23 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -444,10 +444,10 @@
<tr>
<td class="coverFile"><a href="libstb/secvar/backend/index.html">libstb/secvar/backend</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=85 height=10 alt="84.7%"><img src="snow.png" width=15 height=10 alt="84.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=85 height=10 alt="84.8%"><img src="snow.png" width=15 height=10 alt="84.8%"></td></tr></table>
</td>
- <td class="coverPerMed">84.7&nbsp;%</td>
- <td class="coverNumMed">455 / 537</td>
+ <td class="coverPerMed">84.8&nbsp;%</td>
+ <td class="coverNumMed">456 / 538</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">24 / 24</td>
<td class="coverPerHi">-</td>
@@ -478,18 +478,6 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/bits/index.html">/usr/include/x86_64-linux-gnu/bits</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="94.9%"><img src="snow.png" width=5 height=10 alt="94.9%"></td></tr></table>
- </td>
- <td class="coverPerHi">94.9&nbsp;%</td>
- <td class="coverNumHi">37 / 39</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="libc/stdlib/index.html">libc/stdlib</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="94.8%"><img src="snow.png" width=5 height=10 alt="94.8%"></td></tr></table>
@@ -552,10 +540,10 @@
<tr>
<td class="coverFile"><a href="ccan/list/test/index.html">ccan/list/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="98.7%"><img src="snow.png" width=1 height=10 alt="98.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="98.6%"><img src="snow.png" width=1 height=10 alt="98.6%"></td></tr></table>
</td>
- <td class="coverPerHi">98.7&nbsp;%</td>
- <td class="coverNumHi">514 / 521</td>
+ <td class="coverPerHi">98.6&nbsp;%</td>
+ <td class="coverNumHi">511 / 518</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">14 / 14</td>
<td class="coverPerHi">-</td>
@@ -610,18 +598,6 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/sys/index.html">/usr/include/x86_64-linux-gnu/sys</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
<td class="coverFile"><a href="ccan/short_types/test/index.html">ccan/short_types/test</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
@@ -694,6 +670,18 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
+ <td class="coverFile"><a href="libc/ctype/index.html">libc/ctype</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">24 / 24</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">6 / 6</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
<td class="coverFile"><a href="ccan/endian/index.html">ccan/endian</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
@@ -706,14 +694,14 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libc/ctype/index.html">libc/ctype</a></td>
+ <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/bits/index.html">/usr/include/x86_64-linux-gnu/bits</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">24 / 24</td>
+ <td class="coverNumHi">35 / 35</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/index.html b/coverage-report/index.html
index fb7bb22..850c7da 100644
--- a/coverage-report/index.html
+++ b/coverage-report/index.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">14495</td>
- <td class="headerCovTableEntry">23490</td>
- <td class="headerCovTableEntryLo">61.7 %</td>
+ <td class="headerCovTableEntry">14599</td>
+ <td class="headerCovTableEntry">23791</td>
+ <td class="headerCovTableEntryLo">61.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">1152</td>
- <td class="headerCovTableEntry">1546</td>
- <td class="headerCovTableEntryLo">74.5 %</td>
+ <td class="headerCovTableEntry">1173</td>
+ <td class="headerCovTableEntry">1594</td>
+ <td class="headerCovTableEntryLo">73.6 %</td>
</tr>
<tr>
<td></td>
@@ -84,24 +84,12 @@
<tr>
<td class="coverFile"><a href="usr/include/x86_64-linux-gnu/bits/index.html">/usr/include/x86_64-linux-gnu/bits</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=95 height=10 alt="94.9%"><img src="snow.png" width=5 height=10 alt="94.9%"></td></tr></table>
- </td>
- <td class="coverPerHi">94.9&nbsp;%</td>
- <td class="coverNumHi">37 / 39</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="usr/include/x86_64-linux-gnu/sys/index.html">/usr/include/x86_64-linux-gnu/sys</a></td>
- <td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
+ <td class="coverNumHi">35 / 35</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -228,10 +216,10 @@
<tr>
<td class="coverFile"><a href="ccan/list/test/index.html">ccan/list/test</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="98.7%"><img src="snow.png" width=1 height=10 alt="98.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="emerald.png" width=99 height=10 alt="98.6%"><img src="snow.png" width=1 height=10 alt="98.6%"></td></tr></table>
</td>
- <td class="coverPerHi">98.7&nbsp;%</td>
- <td class="coverNumHi">514 / 521</td>
+ <td class="coverPerHi">98.6&nbsp;%</td>
+ <td class="coverNumHi">511 / 518</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">14 / 14</td>
<td class="coverPerHi">-</td>
@@ -304,18 +292,18 @@
</td>
<td class="coverPerLo">45.8&nbsp;%</td>
<td class="coverNumLo">135 / 295</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">2 / 4</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">4 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="external/ffspart/ccan/endian/index.html">external/ffspart/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.0%"><img src="snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=50 height=10 alt="50.0%"><img src="snow.png" width=50 height=10 alt="50.0%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">6 / 12</td>
<td class="coverPerLo">50.0&nbsp;%</td>
<td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
@@ -336,12 +324,12 @@
<tr>
<td class="coverFile"><a href="external/ffspart/libflash/index.html">external/ffspart/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=26 height=10 alt="25.7%"><img src="snow.png" width=74 height=10 alt="25.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=25 height=10 alt="25.1%"><img src="snow.png" width=75 height=10 alt="25.1%"></td></tr></table>
</td>
- <td class="coverPerLo">25.7&nbsp;%</td>
- <td class="coverNumLo">371 / 1445</td>
- <td class="coverPerLo">36.1&nbsp;%</td>
- <td class="coverNumLo">26 / 72</td>
+ <td class="coverPerLo">25.1&nbsp;%</td>
+ <td class="coverNumLo">384 / 1528</td>
+ <td class="coverPerLo">35.3&nbsp;%</td>
+ <td class="coverNumLo">30 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -352,18 +340,18 @@
</td>
<td class="coverPerLo">70.9&nbsp;%</td>
<td class="coverNumLo">329 / 464</td>
- <td class="coverPerHi">95.5&nbsp;%</td>
- <td class="coverNumHi">21 / 22</td>
+ <td class="coverPerHi">95.8&nbsp;%</td>
+ <td class="coverNumHi">23 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="external/gard/ccan/endian/index.html">external/gard/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=40 height=10 alt="40.0%"><img src="snow.png" width=60 height=10 alt="40.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=33 height=10 alt="33.3%"><img src="snow.png" width=67 height=10 alt="33.3%"></td></tr></table>
</td>
- <td class="coverPerLo">40.0&nbsp;%</td>
- <td class="coverNumLo">4 / 10</td>
+ <td class="coverPerLo">33.3&nbsp;%</td>
+ <td class="coverNumLo">4 / 12</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
@@ -396,12 +384,12 @@
<tr>
<td class="coverFile"><a href="external/gard/libflash/index.html">external/gard/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=20 height=10 alt="20.1%"><img src="snow.png" width=80 height=10 alt="20.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=20 height=10 alt="19.9%"><img src="snow.png" width=80 height=10 alt="19.9%"></td></tr></table>
</td>
- <td class="coverPerLo">20.1&nbsp;%</td>
- <td class="coverNumLo">291 / 1445</td>
- <td class="coverPerLo">31.9&nbsp;%</td>
- <td class="coverNumLo">23 / 72</td>
+ <td class="coverPerLo">19.9&nbsp;%</td>
+ <td class="coverNumLo">304 / 1528</td>
+ <td class="coverPerLo">30.6&nbsp;%</td>
+ <td class="coverNumLo">26 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -420,10 +408,10 @@
<tr>
<td class="coverFile"><a href="external/pflash/ccan/endian/index.html">external/pflash/ccan/endian</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=60 height=10 alt="60.0%"><img src="snow.png" width=40 height=10 alt="60.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=67 height=10 alt="66.7%"><img src="snow.png" width=33 height=10 alt="66.7%"></td></tr></table>
</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">66.7&nbsp;%</td>
+ <td class="coverNumLo">8 / 12</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
@@ -456,12 +444,12 @@
<tr>
<td class="coverFile"><a href="external/pflash/libflash/index.html">external/pflash/libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=25 height=10 alt="25.3%"><img src="snow.png" width=75 height=10 alt="25.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=27 height=10 alt="26.8%"><img src="snow.png" width=73 height=10 alt="26.8%"></td></tr></table>
</td>
- <td class="coverPerLo">25.3&nbsp;%</td>
- <td class="coverNumLo">365 / 1445</td>
- <td class="coverPerLo">43.1&nbsp;%</td>
- <td class="coverNumLo">31 / 72</td>
+ <td class="coverPerLo">26.8&nbsp;%</td>
+ <td class="coverNumLo">409 / 1528</td>
+ <td class="coverPerLo">43.5&nbsp;%</td>
+ <td class="coverNumLo">37 / 85</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -483,7 +471,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=44 height=10 alt="44.5%"><img src="snow.png" width=56 height=10 alt="44.5%"></td></tr></table>
</td>
<td class="coverPerLo">44.5&nbsp;%</td>
- <td class="coverNumLo">1248 / 2805</td>
+ <td class="coverNumLo">1252 / 2814</td>
<td class="coverPerLo">67.3&nbsp;%</td>
<td class="coverNumLo">101 / 150</td>
<td class="coverPerHi">-</td>
@@ -636,10 +624,10 @@
<tr>
<td class="coverFile"><a href="libfdt/index.html">libfdt</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=34 height=10 alt="33.6%"><img src="snow.png" width=66 height=10 alt="33.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=33 height=10 alt="33.4%"><img src="snow.png" width=67 height=10 alt="33.4%"></td></tr></table>
</td>
- <td class="coverPerLo">33.6&nbsp;%</td>
- <td class="coverNumLo">283 / 843</td>
+ <td class="coverPerLo">33.4&nbsp;%</td>
+ <td class="coverNumLo">283 / 847</td>
<td class="coverPerLo">49.0&nbsp;%</td>
<td class="coverNumLo">47 / 96</td>
<td class="coverPerHi">-</td>
@@ -648,12 +636,12 @@
<tr>
<td class="coverFile"><a href="libflash/index.html">libflash</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=66 height=10 alt="66.3%"><img src="snow.png" width=34 height=10 alt="66.3%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=67 height=10 alt="66.6%"><img src="snow.png" width=33 height=10 alt="66.6%"></td></tr></table>
</td>
- <td class="coverPerLo">66.3&nbsp;%</td>
- <td class="coverNumLo">1697 / 2559</td>
- <td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">141 / 166</td>
+ <td class="coverPerLo">66.6&nbsp;%</td>
+ <td class="coverNumLo">1733 / 2602</td>
+ <td class="coverPerMed">84.8&nbsp;%</td>
+ <td class="coverNumMed">145 / 171</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -708,10 +696,10 @@
<tr>
<td class="coverFile"><a href="libstb/secvar/backend/index.html">libstb/secvar/backend</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=85 height=10 alt="84.7%"><img src="snow.png" width=15 height=10 alt="84.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="amber.png" width=85 height=10 alt="84.8%"><img src="snow.png" width=15 height=10 alt="84.8%"></td></tr></table>
</td>
- <td class="coverPerMed">84.7&nbsp;%</td>
- <td class="coverNumMed">455 / 537</td>
+ <td class="coverPerMed">84.8&nbsp;%</td>
+ <td class="coverNumMed">456 / 538</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">24 / 24</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libc/ctype/index-sort-b.html b/coverage-report/libc/ctype/index-sort-b.html
index 8196651..82f7b66 100644
--- a/coverage-report/libc/ctype/index-sort-b.html
+++ b/coverage-report/libc/ctype/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
@@ -82,36 +82,36 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="isxdigit.c.gcov.html">isxdigit.c</a></td>
+ <td class="coverFile"><a href="tolower.c.gcov.html">tolower.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="isprint.c.gcov.html">isprint.c</a></td>
+ <td class="coverFile"><a href="isxdigit.c.gcov.html">isxdigit.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="isspace.c.gcov.html">isspace.c</a></td>
+ <td class="coverFile"><a href="toupper.c.gcov.html">toupper.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -130,24 +130,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="toupper.c.gcov.html">toupper.c</a></td>
+ <td class="coverFile"><a href="isprint.c.gcov.html">isprint.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="tolower.c.gcov.html">tolower.c</a></td>
+ <td class="coverFile"><a href="isspace.c.gcov.html">isspace.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libc/ctype/index-sort-f.html b/coverage-report/libc/ctype/index-sort-f.html
index c64f2a4..4f86228 100644
--- a/coverage-report/libc/ctype/index-sort-f.html
+++ b/coverage-report/libc/ctype/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
@@ -82,36 +82,36 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="isxdigit.c.gcov.html">isxdigit.c</a></td>
+ <td class="coverFile"><a href="tolower.c.gcov.html">tolower.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="isprint.c.gcov.html">isprint.c</a></td>
+ <td class="coverFile"><a href="isxdigit.c.gcov.html">isxdigit.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="isspace.c.gcov.html">isspace.c</a></td>
+ <td class="coverFile"><a href="toupper.c.gcov.html">toupper.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -130,24 +130,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="toupper.c.gcov.html">toupper.c</a></td>
+ <td class="coverFile"><a href="isprint.c.gcov.html">isprint.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="tolower.c.gcov.html">tolower.c</a></td>
+ <td class="coverFile"><a href="isspace.c.gcov.html">isspace.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libc/ctype/index-sort-l.html b/coverage-report/libc/ctype/index-sort-l.html
index 2a68739..e05c2f8 100644
--- a/coverage-report/libc/ctype/index-sort-l.html
+++ b/coverage-report/libc/ctype/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
@@ -82,7 +82,7 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="isprint.c.gcov.html">isprint.c</a></td>
+ <td class="coverFile"><a href="tolower.c.gcov.html">tolower.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -94,7 +94,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="tolower.c.gcov.html">tolower.c</a></td>
+ <td class="coverFile"><a href="isprint.c.gcov.html">isprint.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -130,7 +130,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="isspace.c.gcov.html">isspace.c</a></td>
+ <td class="coverFile"><a href="isdigit.c.gcov.html">isdigit.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -142,7 +142,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="isdigit.c.gcov.html">isdigit.c</a></td>
+ <td class="coverFile"><a href="isspace.c.gcov.html">isspace.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
diff --git a/coverage-report/libc/ctype/index.html b/coverage-report/libc/ctype/index.html
index 65d9f4e..b1b657e 100644
--- a/coverage-report/libc/ctype/index.html
+++ b/coverage-report/libc/ctype/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libc/ctype/isdigit.c.func-sort-c.html b/coverage-report/libc/ctype/isdigit.c.func-sort-c.html
index 0976a63..b128873 100644
--- a/coverage-report/libc/ctype/isdigit.c.func-sort-c.html
+++ b/coverage-report/libc/ctype/isdigit.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isdigit.c.func.html b/coverage-report/libc/ctype/isdigit.c.func.html
index 01a1b27..54805b1 100644
--- a/coverage-report/libc/ctype/isdigit.c.func.html
+++ b/coverage-report/libc/ctype/isdigit.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isdigit.c.gcov.html b/coverage-report/libc/ctype/isdigit.c.gcov.html
index 639df1d..9a5bb63 100644
--- a/coverage-report/libc/ctype/isdigit.c.gcov.html
+++ b/coverage-report/libc/ctype/isdigit.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isprint.c.func-sort-c.html b/coverage-report/libc/ctype/isprint.c.func-sort-c.html
index d23041d..3c7f4d6 100644
--- a/coverage-report/libc/ctype/isprint.c.func-sort-c.html
+++ b/coverage-report/libc/ctype/isprint.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isprint.c.func.html b/coverage-report/libc/ctype/isprint.c.func.html
index e1819be..64e267d 100644
--- a/coverage-report/libc/ctype/isprint.c.func.html
+++ b/coverage-report/libc/ctype/isprint.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isprint.c.gcov.html b/coverage-report/libc/ctype/isprint.c.gcov.html
index d03e6e8..bd26afd 100644
--- a/coverage-report/libc/ctype/isprint.c.gcov.html
+++ b/coverage-report/libc/ctype/isprint.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isspace.c.func-sort-c.html b/coverage-report/libc/ctype/isspace.c.func-sort-c.html
index 382cc98..99d2af0 100644
--- a/coverage-report/libc/ctype/isspace.c.func-sort-c.html
+++ b/coverage-report/libc/ctype/isspace.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isspace.c.func.html b/coverage-report/libc/ctype/isspace.c.func.html
index 3d4be07..c507fb3 100644
--- a/coverage-report/libc/ctype/isspace.c.func.html
+++ b/coverage-report/libc/ctype/isspace.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isspace.c.gcov.html b/coverage-report/libc/ctype/isspace.c.gcov.html
index 583d1cf..0ae1b51 100644
--- a/coverage-report/libc/ctype/isspace.c.gcov.html
+++ b/coverage-report/libc/ctype/isspace.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isxdigit.c.func-sort-c.html b/coverage-report/libc/ctype/isxdigit.c.func-sort-c.html
index 4a5600c..bd3787e 100644
--- a/coverage-report/libc/ctype/isxdigit.c.func-sort-c.html
+++ b/coverage-report/libc/ctype/isxdigit.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isxdigit.c.func.html b/coverage-report/libc/ctype/isxdigit.c.func.html
index 61dc11f..1904fbb 100644
--- a/coverage-report/libc/ctype/isxdigit.c.func.html
+++ b/coverage-report/libc/ctype/isxdigit.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/isxdigit.c.gcov.html b/coverage-report/libc/ctype/isxdigit.c.gcov.html
index 318bc28..9b9bda0 100644
--- a/coverage-report/libc/ctype/isxdigit.c.gcov.html
+++ b/coverage-report/libc/ctype/isxdigit.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/tolower.c.func-sort-c.html b/coverage-report/libc/ctype/tolower.c.func-sort-c.html
index 97b772a..03e2097 100644
--- a/coverage-report/libc/ctype/tolower.c.func-sort-c.html
+++ b/coverage-report/libc/ctype/tolower.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/tolower.c.func.html b/coverage-report/libc/ctype/tolower.c.func.html
index 229a280..12075db 100644
--- a/coverage-report/libc/ctype/tolower.c.func.html
+++ b/coverage-report/libc/ctype/tolower.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/tolower.c.gcov.html b/coverage-report/libc/ctype/tolower.c.gcov.html
index a96976a..7f6a8eb 100644
--- a/coverage-report/libc/ctype/tolower.c.gcov.html
+++ b/coverage-report/libc/ctype/tolower.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/toupper.c.func-sort-c.html b/coverage-report/libc/ctype/toupper.c.func-sort-c.html
index 6b26d9f..5a51d0f 100644
--- a/coverage-report/libc/ctype/toupper.c.func-sort-c.html
+++ b/coverage-report/libc/ctype/toupper.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/toupper.c.func.html b/coverage-report/libc/ctype/toupper.c.func.html
index 19f1b2c..4d54297 100644
--- a/coverage-report/libc/ctype/toupper.c.func.html
+++ b/coverage-report/libc/ctype/toupper.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/ctype/toupper.c.gcov.html b/coverage-report/libc/ctype/toupper.c.gcov.html
index 79c79ae..294d60d 100644
--- a/coverage-report/libc/ctype/toupper.c.gcov.html
+++ b/coverage-report/libc/ctype/toupper.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/index-sort-b.html b/coverage-report/libc/index-sort-b.html
index 829daa4..9d07da1 100644
--- a/coverage-report/libc/index-sort-b.html
+++ b/coverage-report/libc/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libc/index-sort-f.html b/coverage-report/libc/index-sort-f.html
index 91a1c98..64e7b88 100644
--- a/coverage-report/libc/index-sort-f.html
+++ b/coverage-report/libc/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libc/index-sort-l.html b/coverage-report/libc/index-sort-l.html
index 736555d..4b7aab2 100644
--- a/coverage-report/libc/index-sort-l.html
+++ b/coverage-report/libc/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libc/index.html b/coverage-report/libc/index.html
index 14061cc..eff6438 100644
--- a/coverage-report/libc/index.html
+++ b/coverage-report/libc/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libc/stdio/index-sort-b.html b/coverage-report/libc/stdio/index-sort-b.html
index c644b78..4cfc62e 100644
--- a/coverage-report/libc/stdio/index-sort-b.html
+++ b/coverage-report/libc/stdio/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/libc/stdio/index-sort-f.html b/coverage-report/libc/stdio/index-sort-f.html
index 7a69eb7..d827a18 100644
--- a/coverage-report/libc/stdio/index-sort-f.html
+++ b/coverage-report/libc/stdio/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/libc/stdio/index-sort-l.html b/coverage-report/libc/stdio/index-sort-l.html
index 384c51f..681e918 100644
--- a/coverage-report/libc/stdio/index-sort-l.html
+++ b/coverage-report/libc/stdio/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/libc/stdio/index.html b/coverage-report/libc/stdio/index.html
index c79f92d..af88a49 100644
--- a/coverage-report/libc/stdio/index.html
+++ b/coverage-report/libc/stdio/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">8</td>
diff --git a/coverage-report/libc/stdio/snprintf.c.func-sort-c.html b/coverage-report/libc/stdio/snprintf.c.func-sort-c.html
index 609069d..5d1d0f3 100644
--- a/coverage-report/libc/stdio/snprintf.c.func-sort-c.html
+++ b/coverage-report/libc/stdio/snprintf.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdio/snprintf.c.func.html b/coverage-report/libc/stdio/snprintf.c.func.html
index 501b6b6..dcdb106 100644
--- a/coverage-report/libc/stdio/snprintf.c.func.html
+++ b/coverage-report/libc/stdio/snprintf.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdio/snprintf.c.gcov.html b/coverage-report/libc/stdio/snprintf.c.gcov.html
index 4fb1649..a32d752 100644
--- a/coverage-report/libc/stdio/snprintf.c.gcov.html
+++ b/coverage-report/libc/stdio/snprintf.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdio/vsnprintf.c.func-sort-c.html b/coverage-report/libc/stdio/vsnprintf.c.func-sort-c.html
index 768d9aa..c258e60 100644
--- a/coverage-report/libc/stdio/vsnprintf.c.func-sort-c.html
+++ b/coverage-report/libc/stdio/vsnprintf.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/libc/stdio/vsnprintf.c.func.html b/coverage-report/libc/stdio/vsnprintf.c.func.html
index d9a6198..eb67288 100644
--- a/coverage-report/libc/stdio/vsnprintf.c.func.html
+++ b/coverage-report/libc/stdio/vsnprintf.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/libc/stdio/vsnprintf.c.gcov.html b/coverage-report/libc/stdio/vsnprintf.c.gcov.html
index 20c4d4e..7901c8d 100644
--- a/coverage-report/libc/stdio/vsnprintf.c.gcov.html
+++ b/coverage-report/libc/stdio/vsnprintf.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
@@ -343,9 +343,9 @@
<a name="272"><span class="lineNum"> 272 </span> :<span class="lineCov"> 3586 : formstr[i] = *ptr;</span></a>
<a name="273"><span class="lineNum"> 273 </span> :<span class="lineCov"> 3586 : ptr++;</span></a>
<a name="274"><span class="lineNum"> 274 </span> :<span class="lineCov"> 3586 : i++;</span></a>
-<a name="275"><span class="lineNum"> 275 </span> :<span class="lineCov"> 3313 : } while(!(*ptr == 'd' || *ptr == 'i' || *ptr == 'u' || *ptr == 'x' || *ptr == 'X'</span></a>
+<a name="275"><span class="lineNum"> 275 </span> :<span class="lineCov"> 3586 : } while(!(*ptr == 'd' || *ptr == 'i' || *ptr == 'u' || *ptr == 'x' || *ptr == 'X'</span></a>
<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 2915 : || *ptr == 'p' || *ptr == 'c' || *ptr == 's' || *ptr == '%'</span></a>
-<a name="277"><span class="lineNum"> 277 </span> :<span class="lineCov"> 3596 : || *ptr == 'O' || *ptr == 'o' )); </span></a>
+<a name="277"><span class="lineNum"> 277 </span> :<span class="lineCov"> 348 : || *ptr == 'O' || *ptr == 'o' )); </span></a>
<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 3248 : formstr[i++] = *ptr;</span></a>
<a name="279"><span class="lineNum"> 279 </span> :<span class="lineCov"> 3248 : formstr[i] = '\0';</span></a>
<a name="280"><span class="lineNum"> 280 </span> :<span class="lineCov"> 3248 : if(*ptr == '%') {</span></a>
diff --git a/coverage-report/libc/stdlib/atoi.c.func-sort-c.html b/coverage-report/libc/stdlib/atoi.c.func-sort-c.html
index 19bdf34..0d3b830 100644
--- a/coverage-report/libc/stdlib/atoi.c.func-sort-c.html
+++ b/coverage-report/libc/stdlib/atoi.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/atoi.c.func.html b/coverage-report/libc/stdlib/atoi.c.func.html
index 49a16bf..cd40361 100644
--- a/coverage-report/libc/stdlib/atoi.c.func.html
+++ b/coverage-report/libc/stdlib/atoi.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/atoi.c.gcov.html b/coverage-report/libc/stdlib/atoi.c.gcov.html
index 1260f12..b7ee3e4 100644
--- a/coverage-report/libc/stdlib/atoi.c.gcov.html
+++ b/coverage-report/libc/stdlib/atoi.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/atol.c.func-sort-c.html b/coverage-report/libc/stdlib/atol.c.func-sort-c.html
index 64e74fa..d3817aa 100644
--- a/coverage-report/libc/stdlib/atol.c.func-sort-c.html
+++ b/coverage-report/libc/stdlib/atol.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/atol.c.func.html b/coverage-report/libc/stdlib/atol.c.func.html
index bd421f7..7b714ad 100644
--- a/coverage-report/libc/stdlib/atol.c.func.html
+++ b/coverage-report/libc/stdlib/atol.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/atol.c.gcov.html b/coverage-report/libc/stdlib/atol.c.gcov.html
index d290ced..63bfcf9 100644
--- a/coverage-report/libc/stdlib/atol.c.gcov.html
+++ b/coverage-report/libc/stdlib/atol.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/index-sort-b.html b/coverage-report/libc/stdlib/index-sort-b.html
index 3eed7bd..4a1e05e 100644
--- a/coverage-report/libc/stdlib/index-sort-b.html
+++ b/coverage-report/libc/stdlib/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
@@ -82,60 +82,60 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="atol.c.gcov.html">atol.c</a></td>
+ <td class="coverFile"><a href="rand.c.gcov.html">rand.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 3</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="atoi.c.gcov.html">atoi.c</a></td>
+ <td class="coverFile"><a href="strtol.c.gcov.html">strtol.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=97 height=10 alt="97.4%"><img src="../../snow.png" width=3 height=10 alt="97.4%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverPerHi">97.4&nbsp;%</td>
+ <td class="coverNumHi">37 / 38</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="rand.c.gcov.html">rand.c</a></td>
+ <td class="coverFile"><a href="atol.c.gcov.html">atol.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 3</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 1</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strtoul.c.gcov.html">strtoul.c</a></td>
+ <td class="coverFile"><a href="atoi.c.gcov.html">atoi.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">32 / 32</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strtol.c.gcov.html">strtol.c</a></td>
+ <td class="coverFile"><a href="strtoul.c.gcov.html">strtoul.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=97 height=10 alt="97.4%"><img src="../../snow.png" width=3 height=10 alt="97.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">97.4&nbsp;%</td>
- <td class="coverNumHi">37 / 38</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">32 / 32</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libc/stdlib/index-sort-f.html b/coverage-report/libc/stdlib/index-sort-f.html
index b25e16c..064fdce 100644
--- a/coverage-report/libc/stdlib/index-sort-f.html
+++ b/coverage-report/libc/stdlib/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
@@ -94,19 +94,19 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="atol.c.gcov.html">atol.c</a></td>
+ <td class="coverFile"><a href="strtol.c.gcov.html">strtol.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=97 height=10 alt="97.4%"><img src="../../snow.png" width=3 height=10 alt="97.4%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverPerHi">97.4&nbsp;%</td>
+ <td class="coverNumHi">37 / 38</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="atoi.c.gcov.html">atoi.c</a></td>
+ <td class="coverFile"><a href="atol.c.gcov.html">atol.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -118,24 +118,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strtoul.c.gcov.html">strtoul.c</a></td>
+ <td class="coverFile"><a href="atoi.c.gcov.html">atoi.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">32 / 32</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strtol.c.gcov.html">strtol.c</a></td>
+ <td class="coverFile"><a href="strtoul.c.gcov.html">strtoul.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=97 height=10 alt="97.4%"><img src="../../snow.png" width=3 height=10 alt="97.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerHi">97.4&nbsp;%</td>
- <td class="coverNumHi">37 / 38</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">32 / 32</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libc/stdlib/index-sort-l.html b/coverage-report/libc/stdlib/index-sort-l.html
index 315ff94..25f536a 100644
--- a/coverage-report/libc/stdlib/index-sort-l.html
+++ b/coverage-report/libc/stdlib/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libc/stdlib/index.html b/coverage-report/libc/stdlib/index.html
index 5ec5585..0db8c80 100644
--- a/coverage-report/libc/stdlib/index.html
+++ b/coverage-report/libc/stdlib/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libc/stdlib/rand.c.func-sort-c.html b/coverage-report/libc/stdlib/rand.c.func-sort-c.html
index d37b430..7d63d05 100644
--- a/coverage-report/libc/stdlib/rand.c.func-sort-c.html
+++ b/coverage-report/libc/stdlib/rand.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/stdlib/rand.c.func.html b/coverage-report/libc/stdlib/rand.c.func.html
index 6f370aa..950f537 100644
--- a/coverage-report/libc/stdlib/rand.c.func.html
+++ b/coverage-report/libc/stdlib/rand.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/stdlib/rand.c.gcov.html b/coverage-report/libc/stdlib/rand.c.gcov.html
index 57cc84d..a2d27dd 100644
--- a/coverage-report/libc/stdlib/rand.c.gcov.html
+++ b/coverage-report/libc/stdlib/rand.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/stdlib/strtol.c.func-sort-c.html b/coverage-report/libc/stdlib/strtol.c.func-sort-c.html
index 5f1634a..6238bc4 100644
--- a/coverage-report/libc/stdlib/strtol.c.func-sort-c.html
+++ b/coverage-report/libc/stdlib/strtol.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/strtol.c.func.html b/coverage-report/libc/stdlib/strtol.c.func.html
index 1b323a5..fe6b9e9 100644
--- a/coverage-report/libc/stdlib/strtol.c.func.html
+++ b/coverage-report/libc/stdlib/strtol.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/strtol.c.gcov.html b/coverage-report/libc/stdlib/strtol.c.gcov.html
index a7d3823..a4c2f3a 100644
--- a/coverage-report/libc/stdlib/strtol.c.gcov.html
+++ b/coverage-report/libc/stdlib/strtol.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -103,10 +103,10 @@
<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 10 : return 0;</span></a>
<a name="33"><span class="lineNum"> 33 </span> : : }</a>
<a name="34"><span class="lineNum"> 34 </span> : : // ignore white space at beginning of S</a>
-<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 110 : while ((**PTR == ' ')</span></a>
+<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 95 : while ((**PTR == ' ')</span></a>
<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 95 : || (**PTR == '\t')</span></a>
<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 95 : || (**PTR == '\n')</span></a>
-<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 95 : || (**PTR == '\r')</span></a>
+<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 205 : || (**PTR == '\r')</span></a>
<a name="39"><span class="lineNum"> 39 </span> : : )</a>
<a name="40"><span class="lineNum"> 40 </span> : : {</a>
<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 15 : (*PTR)++;</span></a>
diff --git a/coverage-report/libc/stdlib/strtoul.c.func-sort-c.html b/coverage-report/libc/stdlib/strtoul.c.func-sort-c.html
index 420a399..1bd59cd 100644
--- a/coverage-report/libc/stdlib/strtoul.c.func-sort-c.html
+++ b/coverage-report/libc/stdlib/strtoul.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/strtoul.c.func.html b/coverage-report/libc/stdlib/strtoul.c.func.html
index 08e6cd7..72b6bf7 100644
--- a/coverage-report/libc/stdlib/strtoul.c.func.html
+++ b/coverage-report/libc/stdlib/strtoul.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/stdlib/strtoul.c.gcov.html b/coverage-report/libc/stdlib/strtoul.c.gcov.html
index f3049af..6a2363f 100644
--- a/coverage-report/libc/stdlib/strtoul.c.gcov.html
+++ b/coverage-report/libc/stdlib/strtoul.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -102,10 +102,10 @@
<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 10 : return 0;</span></a>
<a name="32"><span class="lineNum"> 32 </span> : : }</a>
<a name="33"><span class="lineNum"> 33 </span> : : // ignore white space at beginning of S</a>
-<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 80 : while ((**PTR == ' ')</span></a>
+<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 70 : while ((**PTR == ' ')</span></a>
<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 70 : || (**PTR == '\t')</span></a>
<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 70 : || (**PTR == '\n')</span></a>
-<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 70 : || (**PTR == '\r')</span></a>
+<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 150 : || (**PTR == '\r')</span></a>
<a name="38"><span class="lineNum"> 38 </span> : : )</a>
<a name="39"><span class="lineNum"> 39 </span> : : {</a>
<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 10 : (*PTR)++;</span></a>
diff --git a/coverage-report/libc/string/index-sort-b.html b/coverage-report/libc/string/index-sort-b.html
index 199331b..e90d94c 100644
--- a/coverage-report/libc/string/index-sort-b.html
+++ b/coverage-report/libc/string/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -82,43 +82,43 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="memcmp.c.gcov.html">memcmp.c</a></td>
+ <td class="coverFile"><a href="memchr.c.gcov.html">memchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">8 / 8</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcmp.c.gcov.html">strcmp.c</a></td>
+ <td class="coverFile"><a href="strncpy.c.gcov.html">strncpy.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
+ <td class="coverNumHi">9 / 9</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcasecmp.c.gcov.html">strcasecmp.c</a></td>
+ <td class="coverFile"><a href="strlen.c.gcov.html">strlen.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=46 height=10 alt="46.2%"><img src="../../snow.png" width=54 height=10 alt="46.2%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">46.2&nbsp;%</td>
+ <td class="coverNumLo">6 / 13</td>
+ <td class="coverPerLo">50.0&nbsp;%</td>
+ <td class="coverNumLo">1 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strrchr.c.gcov.html">strrchr.c</a></td>
+ <td class="coverFile"><a href="memmove.c.gcov.html">memmove.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -130,60 +130,60 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strdup.c.gcov.html">strdup.c</a></td>
+ <td class="coverFile"><a href="strcat.c.gcov.html">strcat.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
+ <td class="coverNumHi">4 / 4</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memmove.c.gcov.html">memmove.c</a></td>
+ <td class="coverFile"><a href="strncmp.c.gcov.html">strncmp.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 9</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcat.c.gcov.html">strcat.c</a></td>
+ <td class="coverFile"><a href="memcpy.c.gcov.html">memcpy.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">13 / 13</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcpy.c.gcov.html">strcpy.c</a></td>
+ <td class="coverFile"><a href="strstr.c.gcov.html">strstr.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 11</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memcpy.c.gcov.html">memcpy.c</a></td>
+ <td class="coverFile"><a href="memcmp.c.gcov.html">memcmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">9 / 9</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -202,31 +202,19 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memset.c.gcov.html">memset.c</a></td>
+ <td class="coverFile"><a href="strdup.c.gcov.html">strdup.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">15 / 15</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="strstr.c.gcov.html">strstr.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
- </td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 11</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memchr.c.gcov.html">memchr.c</a></td>
+ <td class="coverFile"><a href="strrchr.c.gcov.html">strrchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -238,55 +226,55 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strlen.c.gcov.html">strlen.c</a></td>
+ <td class="coverFile"><a href="strcasecmp.c.gcov.html">strcasecmp.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=46 height=10 alt="46.2%"><img src="../../snow.png" width=54 height=10 alt="46.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">46.2&nbsp;%</td>
- <td class="coverNumLo">6 / 13</td>
- <td class="coverPerLo">50.0&nbsp;%</td>
- <td class="coverNumLo">1 / 2</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">7 / 7</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strncmp.c.gcov.html">strncmp.c</a></td>
+ <td class="coverFile"><a href="strtok.c.gcov.html">strtok.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 9</td>
+ <td class="coverNumLo">0 / 21</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strncpy.c.gcov.html">strncpy.c</a></td>
+ <td class="coverFile"><a href="strchr.c.gcov.html">strchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strtok.c.gcov.html">strtok.c</a></td>
+ <td class="coverFile"><a href="memset.c.gcov.html">memset.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 21</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 1</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">15 / 15</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strchr.c.gcov.html">strchr.c</a></td>
+ <td class="coverFile"><a href="strcmp.c.gcov.html">strcmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -297,6 +285,18 @@
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
+ <tr>
+ <td class="coverFile"><a href="strcpy.c.gcov.html">strcpy.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">5 / 5</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
</table>
</center>
<br>
diff --git a/coverage-report/libc/string/index-sort-f.html b/coverage-report/libc/string/index-sort-f.html
index ae49d14..9421f40 100644
--- a/coverage-report/libc/string/index-sort-f.html
+++ b/coverage-report/libc/string/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -82,24 +82,24 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="strstr.c.gcov.html">strstr.c</a></td>
+ <td class="coverFile"><a href="strncmp.c.gcov.html">strncmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 11</td>
+ <td class="coverNumLo">0 / 9</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strncmp.c.gcov.html">strncmp.c</a></td>
+ <td class="coverFile"><a href="strstr.c.gcov.html">strstr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 9</td>
+ <td class="coverNumLo">0 / 11</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
@@ -142,156 +142,156 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memcmp.c.gcov.html">memcmp.c</a></td>
+ <td class="coverFile"><a href="memchr.c.gcov.html">memchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">8 / 8</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcmp.c.gcov.html">strcmp.c</a></td>
+ <td class="coverFile"><a href="strncpy.c.gcov.html">strncpy.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
+ <td class="coverNumHi">9 / 9</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcasecmp.c.gcov.html">strcasecmp.c</a></td>
+ <td class="coverFile"><a href="memmove.c.gcov.html">memmove.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
+ <td class="coverNumHi">8 / 8</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strrchr.c.gcov.html">strrchr.c</a></td>
+ <td class="coverFile"><a href="strcat.c.gcov.html">strcat.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memmove.c.gcov.html">memmove.c</a></td>
+ <td class="coverFile"><a href="memcpy.c.gcov.html">memcpy.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
+ <td class="coverNumHi">13 / 13</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcat.c.gcov.html">strcat.c</a></td>
+ <td class="coverFile"><a href="memcmp.c.gcov.html">memcmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">9 / 9</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcpy.c.gcov.html">strcpy.c</a></td>
+ <td class="coverFile"><a href="strncasecmp.c.gcov.html">strncasecmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
+ <td class="coverNumHi">9 / 9</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memcpy.c.gcov.html">memcpy.c</a></td>
+ <td class="coverFile"><a href="strrchr.c.gcov.html">strrchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">8 / 8</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strncasecmp.c.gcov.html">strncasecmp.c</a></td>
+ <td class="coverFile"><a href="strcasecmp.c.gcov.html">strcasecmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memset.c.gcov.html">memset.c</a></td>
+ <td class="coverFile"><a href="strchr.c.gcov.html">strchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">15 / 15</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memchr.c.gcov.html">memchr.c</a></td>
+ <td class="coverFile"><a href="memset.c.gcov.html">memset.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">8 / 8</td>
+ <td class="coverNumHi">15 / 15</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strncpy.c.gcov.html">strncpy.c</a></td>
+ <td class="coverFile"><a href="strcmp.c.gcov.html">strcmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">9 / 9</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strchr.c.gcov.html">strchr.c</a></td>
+ <td class="coverFile"><a href="strcpy.c.gcov.html">strcpy.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
+ <td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libc/string/index-sort-l.html b/coverage-report/libc/string/index-sort-l.html
index 705e1a0..a92c352 100644
--- a/coverage-report/libc/string/index-sort-l.html
+++ b/coverage-report/libc/string/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -166,7 +166,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcmp.c.gcov.html">strcmp.c</a></td>
+ <td class="coverFile"><a href="strcasecmp.c.gcov.html">strcasecmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -178,7 +178,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strcasecmp.c.gcov.html">strcasecmp.c</a></td>
+ <td class="coverFile"><a href="strchr.c.gcov.html">strchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -190,7 +190,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strchr.c.gcov.html">strchr.c</a></td>
+ <td class="coverFile"><a href="strcmp.c.gcov.html">strcmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -202,7 +202,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strrchr.c.gcov.html">strrchr.c</a></td>
+ <td class="coverFile"><a href="memchr.c.gcov.html">memchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -226,7 +226,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memchr.c.gcov.html">memchr.c</a></td>
+ <td class="coverFile"><a href="strrchr.c.gcov.html">strrchr.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -238,7 +238,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="memcmp.c.gcov.html">memcmp.c</a></td>
+ <td class="coverFile"><a href="strncpy.c.gcov.html">strncpy.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -250,7 +250,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strncasecmp.c.gcov.html">strncasecmp.c</a></td>
+ <td class="coverFile"><a href="memcmp.c.gcov.html">memcmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -262,7 +262,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="strncpy.c.gcov.html">strncpy.c</a></td>
+ <td class="coverFile"><a href="strncasecmp.c.gcov.html">strncasecmp.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
diff --git a/coverage-report/libc/string/index.html b/coverage-report/libc/string/index.html
index 2dc5146..2e1cf81 100644
--- a/coverage-report/libc/string/index.html
+++ b/coverage-report/libc/string/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
diff --git a/coverage-report/libc/string/memchr.c.func-sort-c.html b/coverage-report/libc/string/memchr.c.func-sort-c.html
index 8c0a45f..918b1b5 100644
--- a/coverage-report/libc/string/memchr.c.func-sort-c.html
+++ b/coverage-report/libc/string/memchr.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memchr.c.func.html b/coverage-report/libc/string/memchr.c.func.html
index 8c4760e..a8b43d3 100644
--- a/coverage-report/libc/string/memchr.c.func.html
+++ b/coverage-report/libc/string/memchr.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memchr.c.gcov.html b/coverage-report/libc/string/memchr.c.gcov.html
index e295f27..6b074f8 100644
--- a/coverage-report/libc/string/memchr.c.gcov.html
+++ b/coverage-report/libc/string/memchr.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memcmp.c.func-sort-c.html b/coverage-report/libc/string/memcmp.c.func-sort-c.html
index 1ed8597..acdecbc 100644
--- a/coverage-report/libc/string/memcmp.c.func-sort-c.html
+++ b/coverage-report/libc/string/memcmp.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memcmp.c.func.html b/coverage-report/libc/string/memcmp.c.func.html
index 362c2de..e0cc78f 100644
--- a/coverage-report/libc/string/memcmp.c.func.html
+++ b/coverage-report/libc/string/memcmp.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memcmp.c.gcov.html b/coverage-report/libc/string/memcmp.c.gcov.html
index 96f042a..342ac9a 100644
--- a/coverage-report/libc/string/memcmp.c.gcov.html
+++ b/coverage-report/libc/string/memcmp.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memcpy.c.func-sort-c.html b/coverage-report/libc/string/memcpy.c.func-sort-c.html
index 71b5924..4640bf8 100644
--- a/coverage-report/libc/string/memcpy.c.func-sort-c.html
+++ b/coverage-report/libc/string/memcpy.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memcpy.c.func.html b/coverage-report/libc/string/memcpy.c.func.html
index aa2643f..afdee00 100644
--- a/coverage-report/libc/string/memcpy.c.func.html
+++ b/coverage-report/libc/string/memcpy.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memcpy.c.gcov.html b/coverage-report/libc/string/memcpy.c.gcov.html
index e93656a..2838b04 100644
--- a/coverage-report/libc/string/memcpy.c.gcov.html
+++ b/coverage-report/libc/string/memcpy.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memmove.c.func-sort-c.html b/coverage-report/libc/string/memmove.c.func-sort-c.html
index fa40fe4..6f77273 100644
--- a/coverage-report/libc/string/memmove.c.func-sort-c.html
+++ b/coverage-report/libc/string/memmove.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memmove.c.func.html b/coverage-report/libc/string/memmove.c.func.html
index 2273d49..2ffcbae 100644
--- a/coverage-report/libc/string/memmove.c.func.html
+++ b/coverage-report/libc/string/memmove.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memmove.c.gcov.html b/coverage-report/libc/string/memmove.c.gcov.html
index eef0612..14307cc 100644
--- a/coverage-report/libc/string/memmove.c.gcov.html
+++ b/coverage-report/libc/string/memmove.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memset.c.func-sort-c.html b/coverage-report/libc/string/memset.c.func-sort-c.html
index 67f9549..85e1a9a 100644
--- a/coverage-report/libc/string/memset.c.func-sort-c.html
+++ b/coverage-report/libc/string/memset.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memset.c.func.html b/coverage-report/libc/string/memset.c.func.html
index a824f44..76536f3 100644
--- a/coverage-report/libc/string/memset.c.func.html
+++ b/coverage-report/libc/string/memset.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/memset.c.gcov.html b/coverage-report/libc/string/memset.c.gcov.html
index acc407a..7b1bcd0 100644
--- a/coverage-report/libc/string/memset.c.gcov.html
+++ b/coverage-report/libc/string/memset.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcasecmp.c.func-sort-c.html b/coverage-report/libc/string/strcasecmp.c.func-sort-c.html
index 9ca2a20..660e57e 100644
--- a/coverage-report/libc/string/strcasecmp.c.func-sort-c.html
+++ b/coverage-report/libc/string/strcasecmp.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcasecmp.c.func.html b/coverage-report/libc/string/strcasecmp.c.func.html
index cde088c..b1c721e 100644
--- a/coverage-report/libc/string/strcasecmp.c.func.html
+++ b/coverage-report/libc/string/strcasecmp.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcasecmp.c.gcov.html b/coverage-report/libc/string/strcasecmp.c.gcov.html
index 7749c21..7c3f4c2 100644
--- a/coverage-report/libc/string/strcasecmp.c.gcov.html
+++ b/coverage-report/libc/string/strcasecmp.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcat.c.func-sort-c.html b/coverage-report/libc/string/strcat.c.func-sort-c.html
index 15c1a44..f4d809f 100644
--- a/coverage-report/libc/string/strcat.c.func-sort-c.html
+++ b/coverage-report/libc/string/strcat.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcat.c.func.html b/coverage-report/libc/string/strcat.c.func.html
index 87a3cf2..46f9247 100644
--- a/coverage-report/libc/string/strcat.c.func.html
+++ b/coverage-report/libc/string/strcat.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcat.c.gcov.html b/coverage-report/libc/string/strcat.c.gcov.html
index 621363b..7871f89 100644
--- a/coverage-report/libc/string/strcat.c.gcov.html
+++ b/coverage-report/libc/string/strcat.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strchr.c.func-sort-c.html b/coverage-report/libc/string/strchr.c.func-sort-c.html
index 851dfe6..c69ce8c 100644
--- a/coverage-report/libc/string/strchr.c.func-sort-c.html
+++ b/coverage-report/libc/string/strchr.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strchr.c.func.html b/coverage-report/libc/string/strchr.c.func.html
index 823dae1..80ecc08 100644
--- a/coverage-report/libc/string/strchr.c.func.html
+++ b/coverage-report/libc/string/strchr.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strchr.c.gcov.html b/coverage-report/libc/string/strchr.c.gcov.html
index e169abe..18d2751 100644
--- a/coverage-report/libc/string/strchr.c.gcov.html
+++ b/coverage-report/libc/string/strchr.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcmp.c.func-sort-c.html b/coverage-report/libc/string/strcmp.c.func-sort-c.html
index 3caab3e..93aed30 100644
--- a/coverage-report/libc/string/strcmp.c.func-sort-c.html
+++ b/coverage-report/libc/string/strcmp.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcmp.c.func.html b/coverage-report/libc/string/strcmp.c.func.html
index 4622a75..976f9c8 100644
--- a/coverage-report/libc/string/strcmp.c.func.html
+++ b/coverage-report/libc/string/strcmp.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcmp.c.gcov.html b/coverage-report/libc/string/strcmp.c.gcov.html
index 9c2e854..0b610c5 100644
--- a/coverage-report/libc/string/strcmp.c.gcov.html
+++ b/coverage-report/libc/string/strcmp.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcpy.c.func-sort-c.html b/coverage-report/libc/string/strcpy.c.func-sort-c.html
index 1aa0134..25b8b3d 100644
--- a/coverage-report/libc/string/strcpy.c.func-sort-c.html
+++ b/coverage-report/libc/string/strcpy.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcpy.c.func.html b/coverage-report/libc/string/strcpy.c.func.html
index 9fd581a..d73c90c 100644
--- a/coverage-report/libc/string/strcpy.c.func.html
+++ b/coverage-report/libc/string/strcpy.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strcpy.c.gcov.html b/coverage-report/libc/string/strcpy.c.gcov.html
index 8fb9bf6..35fe66e 100644
--- a/coverage-report/libc/string/strcpy.c.gcov.html
+++ b/coverage-report/libc/string/strcpy.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strdup.c.func-sort-c.html b/coverage-report/libc/string/strdup.c.func-sort-c.html
index 5f836e7..1ab4e48 100644
--- a/coverage-report/libc/string/strdup.c.func-sort-c.html
+++ b/coverage-report/libc/string/strdup.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strdup.c.func.html b/coverage-report/libc/string/strdup.c.func.html
index fbf5eba..b32c88a 100644
--- a/coverage-report/libc/string/strdup.c.func.html
+++ b/coverage-report/libc/string/strdup.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strdup.c.gcov.html b/coverage-report/libc/string/strdup.c.gcov.html
index 5bca519..46319ff 100644
--- a/coverage-report/libc/string/strdup.c.gcov.html
+++ b/coverage-report/libc/string/strdup.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strlen.c.func-sort-c.html b/coverage-report/libc/string/strlen.c.func-sort-c.html
index bc34819..037fdc0 100644
--- a/coverage-report/libc/string/strlen.c.func-sort-c.html
+++ b/coverage-report/libc/string/strlen.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -74,7 +74,7 @@
</tr>
<tr>
<td class="coverFn"><a href="strlen.c.gcov.html#14">strlen</a></td>
- <td class="coverFnHi">65</td>
+ <td class="coverFnHi">320</td>
</tr>
</table>
<br>
diff --git a/coverage-report/libc/string/strlen.c.func.html b/coverage-report/libc/string/strlen.c.func.html
index ab0c7ab..949edca 100644
--- a/coverage-report/libc/string/strlen.c.func.html
+++ b/coverage-report/libc/string/strlen.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -70,7 +70,7 @@
</tr>
<tr>
<td class="coverFn"><a href="strlen.c.gcov.html#14">strlen</a></td>
- <td class="coverFnHi">65</td>
+ <td class="coverFnHi">320</td>
</tr>
<tr>
<td class="coverFn"><a href="strlen.c.gcov.html#27">strnlen</a></td>
diff --git a/coverage-report/libc/string/strlen.c.gcov.html b/coverage-report/libc/string/strlen.c.gcov.html
index 9c3a94e..2dd7fa8 100644
--- a/coverage-report/libc/string/strlen.c.gcov.html
+++ b/coverage-report/libc/string/strlen.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
@@ -84,16 +84,16 @@
<a name="13"><span class="lineNum"> 13 </span> : : #include &lt;stddef.h&gt;</a>
<a name="14"><span class="lineNum"> 14 </span> : : </a>
<a name="15"><span class="lineNum"> 15 </span> : : size_t strlen(const char *s);</a>
-<a name="16"><span class="lineNum"> 16 </span> :<span class="lineCov"> 65 : size_t strlen(const char *s)</span></a>
+<a name="16"><span class="lineNum"> 16 </span> :<span class="lineCov"> 320 : size_t strlen(const char *s)</span></a>
<a name="17"><span class="lineNum"> 17 </span> : : {</a>
-<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 65 : size_t len = 0;</span></a>
+<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 320 : size_t len = 0;</span></a>
<a name="19"><span class="lineNum"> 19 </span> : : </a>
-<a name="20"><span class="lineNum"> 20 </span> :<span class="lineCov"> 825 : while (*s != 0) {</span></a>
-<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 760 : len += 1;</span></a>
-<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 760 : s += 1;</span></a>
+<a name="20"><span class="lineNum"> 20 </span> :<span class="lineCov"> 7155 : while (*s != 0) {</span></a>
+<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 6835 : len += 1;</span></a>
+<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 6835 : s += 1;</span></a>
<a name="23"><span class="lineNum"> 23 </span> : : }</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
-<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 65 : return len;</span></a>
+<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 320 : return len;</span></a>
<a name="26"><span class="lineNum"> 26 </span> : : }</a>
<a name="27"><span class="lineNum"> 27 </span> : : </a>
<a name="28"><span class="lineNum"> 28 </span> : : size_t strnlen(const char *s, size_t n);</a>
diff --git a/coverage-report/libc/string/strncasecmp.c.func-sort-c.html b/coverage-report/libc/string/strncasecmp.c.func-sort-c.html
index 58edb8e..3070366 100644
--- a/coverage-report/libc/string/strncasecmp.c.func-sort-c.html
+++ b/coverage-report/libc/string/strncasecmp.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strncasecmp.c.func.html b/coverage-report/libc/string/strncasecmp.c.func.html
index fa1a081..a15ee83 100644
--- a/coverage-report/libc/string/strncasecmp.c.func.html
+++ b/coverage-report/libc/string/strncasecmp.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strncasecmp.c.gcov.html b/coverage-report/libc/string/strncasecmp.c.gcov.html
index 258d1b1..91cbc1a 100644
--- a/coverage-report/libc/string/strncasecmp.c.gcov.html
+++ b/coverage-report/libc/string/strncasecmp.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strncmp.c.func-sort-c.html b/coverage-report/libc/string/strncmp.c.func-sort-c.html
index 067b224..e36d62b 100644
--- a/coverage-report/libc/string/strncmp.c.func-sort-c.html
+++ b/coverage-report/libc/string/strncmp.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strncmp.c.func.html b/coverage-report/libc/string/strncmp.c.func.html
index 0fa1699..c7c9ed5 100644
--- a/coverage-report/libc/string/strncmp.c.func.html
+++ b/coverage-report/libc/string/strncmp.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strncmp.c.gcov.html b/coverage-report/libc/string/strncmp.c.gcov.html
index 1617ef1..9f49401 100644
--- a/coverage-report/libc/string/strncmp.c.gcov.html
+++ b/coverage-report/libc/string/strncmp.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strncpy.c.func-sort-c.html b/coverage-report/libc/string/strncpy.c.func-sort-c.html
index 1c0a249..93f561c 100644
--- a/coverage-report/libc/string/strncpy.c.func-sort-c.html
+++ b/coverage-report/libc/string/strncpy.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strncpy.c.func.html b/coverage-report/libc/string/strncpy.c.func.html
index 6504e84..8414e02 100644
--- a/coverage-report/libc/string/strncpy.c.func.html
+++ b/coverage-report/libc/string/strncpy.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strncpy.c.gcov.html b/coverage-report/libc/string/strncpy.c.gcov.html
index bbc2ebd..3d03f69 100644
--- a/coverage-report/libc/string/strncpy.c.gcov.html
+++ b/coverage-report/libc/string/strncpy.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strrchr.c.func-sort-c.html b/coverage-report/libc/string/strrchr.c.func-sort-c.html
index 4588b41..4554a0b 100644
--- a/coverage-report/libc/string/strrchr.c.func-sort-c.html
+++ b/coverage-report/libc/string/strrchr.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strrchr.c.func.html b/coverage-report/libc/string/strrchr.c.func.html
index 378c6af..42cbd9d 100644
--- a/coverage-report/libc/string/strrchr.c.func.html
+++ b/coverage-report/libc/string/strrchr.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strrchr.c.gcov.html b/coverage-report/libc/string/strrchr.c.gcov.html
index 1bf0f6c..76f9149 100644
--- a/coverage-report/libc/string/strrchr.c.gcov.html
+++ b/coverage-report/libc/string/strrchr.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/string/strstr.c.func-sort-c.html b/coverage-report/libc/string/strstr.c.func-sort-c.html
index 3122120..109b4dd 100644
--- a/coverage-report/libc/string/strstr.c.func-sort-c.html
+++ b/coverage-report/libc/string/strstr.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strstr.c.func.html b/coverage-report/libc/string/strstr.c.func.html
index 8e77b5b..c583f7b 100644
--- a/coverage-report/libc/string/strstr.c.func.html
+++ b/coverage-report/libc/string/strstr.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strstr.c.gcov.html b/coverage-report/libc/string/strstr.c.gcov.html
index 9d1f497..0a4487f 100644
--- a/coverage-report/libc/string/strstr.c.gcov.html
+++ b/coverage-report/libc/string/strstr.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strtok.c.func-sort-c.html b/coverage-report/libc/string/strtok.c.func-sort-c.html
index 8ee5353..c34dbaf 100644
--- a/coverage-report/libc/string/strtok.c.func-sort-c.html
+++ b/coverage-report/libc/string/strtok.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strtok.c.func.html b/coverage-report/libc/string/strtok.c.func.html
index 1ea3632..2c1bc5a 100644
--- a/coverage-report/libc/string/strtok.c.func.html
+++ b/coverage-report/libc/string/strtok.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/string/strtok.c.gcov.html b/coverage-report/libc/string/strtok.c.gcov.html
index 088b870..d8a7e6f 100644
--- a/coverage-report/libc/string/strtok.c.gcov.html
+++ b/coverage-report/libc/string/strtok.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libc/test/index-sort-b.html b/coverage-report/libc/test/index-sort-b.html
index 881dc6c..96ee70e 100644
--- a/coverage-report/libc/test/index-sort-b.html
+++ b/coverage-report/libc/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">31</td>
@@ -82,50 +82,38 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run-memops.c.gcov.html">run-memops.c</a></td>
+ <td class="coverFile"><a href="run-snprintf.c.gcov.html">run-snprintf.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.0%"><img src="../../snow.png" width=2 height=10 alt="98.0%"></td></tr></table>
</td>
+ <td class="coverPerHi">98.0&nbsp;%</td>
+ <td class="coverNumHi">146 / 149</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">53 / 53</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">10 / 10</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-ctype-test.c.gcov.html">run-ctype-test.c</a></td>
+ <td class="coverFile"><a href="run-stdlib.c.gcov.html">run-stdlib.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">12 / 12</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="run-snprintf.c.gcov.html">run-snprintf.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="98.0%"><img src="../../snow.png" width=2 height=10 alt="98.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">98.0&nbsp;%</td>
- <td class="coverNumHi">146 / 149</td>
+ <td class="coverNumHi">41 / 41</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">10 / 10</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-time.c.gcov.html">run-time.c</a></td>
+ <td class="coverFile"><a href="run-ctype-test.c.gcov.html">run-ctype-test.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">39 / 39</td>
+ <td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -166,12 +154,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-stdlib.c.gcov.html">run-stdlib.c</a></td>
+ <td class="coverFile"><a href="run-time.c.gcov.html">run-time.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">41 / 41</td>
+ <td class="coverNumHi">39 / 39</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="run-memops.c.gcov.html">run-memops.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">53 / 53</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libc/test/index-sort-f.html b/coverage-report/libc/test/index-sort-f.html
index 402f68b..760d746 100644
--- a/coverage-report/libc/test/index-sort-f.html
+++ b/coverage-report/libc/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">31</td>
@@ -82,48 +82,48 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="run-memops.c.gcov.html">run-memops.c</a></td>
+ <td class="coverFile"><a href="run-stdlib.c.gcov.html">run-stdlib.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">53 / 53</td>
+ <td class="coverNumHi">41 / 41</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-time.c.gcov.html">run-time.c</a></td>
+ <td class="coverFile"><a href="run-ctype.c.gcov.html">run-ctype.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">39 / 39</td>
+ <td class="coverNumHi">53 / 53</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-ctype.c.gcov.html">run-ctype.c</a></td>
+ <td class="coverFile"><a href="run-time.c.gcov.html">run-time.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">53 / 53</td>
+ <td class="coverNumHi">39 / 39</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-stdlib.c.gcov.html">run-stdlib.c</a></td>
+ <td class="coverFile"><a href="run-memops.c.gcov.html">run-memops.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">41 / 41</td>
+ <td class="coverNumHi">53 / 53</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libc/test/index-sort-l.html b/coverage-report/libc/test/index-sort-l.html
index 92314d5..70ccef6 100644
--- a/coverage-report/libc/test/index-sort-l.html
+++ b/coverage-report/libc/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">31</td>
@@ -154,7 +154,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-memops.c.gcov.html">run-memops.c</a></td>
+ <td class="coverFile"><a href="run-ctype.c.gcov.html">run-ctype.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
@@ -166,7 +166,7 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="run-ctype.c.gcov.html">run-ctype.c</a></td>
+ <td class="coverFile"><a href="run-memops.c.gcov.html">run-memops.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
diff --git a/coverage-report/libc/test/index.html b/coverage-report/libc/test/index.html
index d9721a6..85f24da 100644
--- a/coverage-report/libc/test/index.html
+++ b/coverage-report/libc/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">31</td>
diff --git a/coverage-report/libc/test/run-ctype-test.c.func-sort-c.html b/coverage-report/libc/test/run-ctype-test.c.func-sort-c.html
index e23f8a0..4114732 100644
--- a/coverage-report/libc/test/run-ctype-test.c.func-sort-c.html
+++ b/coverage-report/libc/test/run-ctype-test.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libc/test/run-ctype-test.c.func.html b/coverage-report/libc/test/run-ctype-test.c.func.html
index 6d2dbf3..96bdf3f 100644
--- a/coverage-report/libc/test/run-ctype-test.c.func.html
+++ b/coverage-report/libc/test/run-ctype-test.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libc/test/run-ctype-test.c.gcov.html b/coverage-report/libc/test/run-ctype-test.c.gcov.html
index 8d49e12..cb32b20 100644
--- a/coverage-report/libc/test/run-ctype-test.c.gcov.html
+++ b/coverage-report/libc/test/run-ctype-test.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libc/test/run-ctype.c.func-sort-c.html b/coverage-report/libc/test/run-ctype.c.func-sort-c.html
index 0e81568..4f1fea8 100644
--- a/coverage-report/libc/test/run-ctype.c.func-sort-c.html
+++ b/coverage-report/libc/test/run-ctype.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-ctype.c.func.html b/coverage-report/libc/test/run-ctype.c.func.html
index 0eb9237..8c2262c 100644
--- a/coverage-report/libc/test/run-ctype.c.func.html
+++ b/coverage-report/libc/test/run-ctype.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-ctype.c.gcov.html b/coverage-report/libc/test/run-ctype.c.gcov.html
index c1c4133..6d35d02 100644
--- a/coverage-report/libc/test/run-ctype.c.gcov.html
+++ b/coverage-report/libc/test/run-ctype.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-memops-test.c.func-sort-c.html b/coverage-report/libc/test/run-memops-test.c.func-sort-c.html
index d51878e..3c900a3 100644
--- a/coverage-report/libc/test/run-memops-test.c.func-sort-c.html
+++ b/coverage-report/libc/test/run-memops-test.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/libc/test/run-memops-test.c.func.html b/coverage-report/libc/test/run-memops-test.c.func.html
index 73b40f7..ab57ec1 100644
--- a/coverage-report/libc/test/run-memops-test.c.func.html
+++ b/coverage-report/libc/test/run-memops-test.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/libc/test/run-memops-test.c.gcov.html b/coverage-report/libc/test/run-memops-test.c.gcov.html
index 89c5f84..7e22b4d 100644
--- a/coverage-report/libc/test/run-memops-test.c.gcov.html
+++ b/coverage-report/libc/test/run-memops-test.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/libc/test/run-memops.c.func-sort-c.html b/coverage-report/libc/test/run-memops.c.func-sort-c.html
index 081e208..05f2cb8 100644
--- a/coverage-report/libc/test/run-memops.c.func-sort-c.html
+++ b/coverage-report/libc/test/run-memops.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-memops.c.func.html b/coverage-report/libc/test/run-memops.c.func.html
index 804b63e..da9995d 100644
--- a/coverage-report/libc/test/run-memops.c.func.html
+++ b/coverage-report/libc/test/run-memops.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-memops.c.gcov.html b/coverage-report/libc/test/run-memops.c.gcov.html
index 740bb39..ad5ed03 100644
--- a/coverage-report/libc/test/run-memops.c.gcov.html
+++ b/coverage-report/libc/test/run-memops.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-snprintf-test.c.func-sort-c.html b/coverage-report/libc/test/run-snprintf-test.c.func-sort-c.html
index f684caf..ae4f8eb 100644
--- a/coverage-report/libc/test/run-snprintf-test.c.func-sort-c.html
+++ b/coverage-report/libc/test/run-snprintf-test.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libc/test/run-snprintf-test.c.func.html b/coverage-report/libc/test/run-snprintf-test.c.func.html
index c500914..1477177 100644
--- a/coverage-report/libc/test/run-snprintf-test.c.func.html
+++ b/coverage-report/libc/test/run-snprintf-test.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libc/test/run-snprintf-test.c.gcov.html b/coverage-report/libc/test/run-snprintf-test.c.gcov.html
index 0b7bd69..de5dbe9 100644
--- a/coverage-report/libc/test/run-snprintf-test.c.gcov.html
+++ b/coverage-report/libc/test/run-snprintf-test.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libc/test/run-snprintf.c.func-sort-c.html b/coverage-report/libc/test/run-snprintf.c.func-sort-c.html
index 262d392..76be91b 100644
--- a/coverage-report/libc/test/run-snprintf.c.func-sort-c.html
+++ b/coverage-report/libc/test/run-snprintf.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/libc/test/run-snprintf.c.func.html b/coverage-report/libc/test/run-snprintf.c.func.html
index fdb39d1..8cd444c 100644
--- a/coverage-report/libc/test/run-snprintf.c.func.html
+++ b/coverage-report/libc/test/run-snprintf.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/libc/test/run-snprintf.c.gcov.html b/coverage-report/libc/test/run-snprintf.c.gcov.html
index e7223dd..7119b32 100644
--- a/coverage-report/libc/test/run-snprintf.c.gcov.html
+++ b/coverage-report/libc/test/run-snprintf.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/libc/test/run-stdlib.c.func-sort-c.html b/coverage-report/libc/test/run-stdlib.c.func-sort-c.html
index b812544..5037c10 100644
--- a/coverage-report/libc/test/run-stdlib.c.func-sort-c.html
+++ b/coverage-report/libc/test/run-stdlib.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-stdlib.c.func.html b/coverage-report/libc/test/run-stdlib.c.func.html
index 4283dbe..5def7ca 100644
--- a/coverage-report/libc/test/run-stdlib.c.func.html
+++ b/coverage-report/libc/test/run-stdlib.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-stdlib.c.gcov.html b/coverage-report/libc/test/run-stdlib.c.gcov.html
index 10a14a2..5b350bb 100644
--- a/coverage-report/libc/test/run-stdlib.c.gcov.html
+++ b/coverage-report/libc/test/run-stdlib.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-time.c.func-sort-c.html b/coverage-report/libc/test/run-time.c.func-sort-c.html
index c9979f9..b5af020 100644
--- a/coverage-report/libc/test/run-time.c.func-sort-c.html
+++ b/coverage-report/libc/test/run-time.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-time.c.func.html b/coverage-report/libc/test/run-time.c.func.html
index 1bb9eae..ebf8099 100644
--- a/coverage-report/libc/test/run-time.c.func.html
+++ b/coverage-report/libc/test/run-time.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/test/run-time.c.gcov.html b/coverage-report/libc/test/run-time.c.gcov.html
index d084b21..98d2e68 100644
--- a/coverage-report/libc/test/run-time.c.gcov.html
+++ b/coverage-report/libc/test/run-time.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libc/time.c.func-sort-c.html b/coverage-report/libc/time.c.func-sort-c.html
index f18731a..60a2f3d 100644
--- a/coverage-report/libc/time.c.func-sort-c.html
+++ b/coverage-report/libc/time.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libc/time.c.func.html b/coverage-report/libc/time.c.func.html
index 2cc9d44..4cf3818 100644
--- a/coverage-report/libc/time.c.func.html
+++ b/coverage-report/libc/time.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libc/time.c.gcov.html b/coverage-report/libc/time.c.gcov.html
index 8bff291..f2aa3c6 100644
--- a/coverage-report/libc/time.c.gcov.html
+++ b/coverage-report/libc/time.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libfdt/fdt.c.func-sort-c.html b/coverage-report/libfdt/fdt.c.func-sort-c.html
index 28f0c1c..0fd9585 100644
--- a/coverage-report/libfdt/fdt.c.func-sort-c.html
+++ b/coverage-report/libfdt/fdt.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/libfdt/fdt.c.func.html b/coverage-report/libfdt/fdt.c.func.html
index 10ce926..1658d04 100644
--- a/coverage-report/libfdt/fdt.c.func.html
+++ b/coverage-report/libfdt/fdt.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/libfdt/fdt.c.gcov.html b/coverage-report/libfdt/fdt.c.gcov.html
index 9937a4c..0afab0a 100644
--- a/coverage-report/libfdt/fdt.c.gcov.html
+++ b/coverage-report/libfdt/fdt.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
@@ -385,7 +385,7 @@
<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 2811 : const char *last = strtab + tabsize - len;</span></a>
<a name="315"><span class="lineNum"> 315 </span> : : const char *p;</a>
<a name="316"><span class="lineNum"> 316 </span> : : </a>
-<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 1245330 : for (p = strtab; p &lt;= last; p++)</span></a>
+<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 1245328 : for (p = strtab; p &lt;= last; p++)</span></a>
<a name="318"><span class="lineNum"> 318 </span> :<span class="lineCov"> 1245130 : if (memcmp(p, s, len) == 0)</span></a>
<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 2613 : return p;</span></a>
<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 198 : return NULL;</span></a>
diff --git a/coverage-report/libfdt/fdt_ro.c.func-sort-c.html b/coverage-report/libfdt/fdt_ro.c.func-sort-c.html
index 20bc467..e7152e2 100644
--- a/coverage-report/libfdt/fdt_ro.c.func-sort-c.html
+++ b/coverage-report/libfdt/fdt_ro.c.func-sort-c.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">29</td>
- <td class="headerCovTableEntry">427</td>
- <td class="headerCovTableEntryLo">6.8 %</td>
+ <td class="headerCovTableEntry">431</td>
+ <td class="headerCovTableEntryLo">6.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libfdt/fdt_ro.c.func.html b/coverage-report/libfdt/fdt_ro.c.func.html
index 61ad413..97d03c2 100644
--- a/coverage-report/libfdt/fdt_ro.c.func.html
+++ b/coverage-report/libfdt/fdt_ro.c.func.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">29</td>
- <td class="headerCovTableEntry">427</td>
- <td class="headerCovTableEntryLo">6.8 %</td>
+ <td class="headerCovTableEntry">431</td>
+ <td class="headerCovTableEntryLo">6.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libfdt/fdt_ro.c.gcov.html b/coverage-report/libfdt/fdt_ro.c.gcov.html
index 073872f..33201cd 100644
--- a/coverage-report/libfdt/fdt_ro.c.gcov.html
+++ b/coverage-report/libfdt/fdt_ro.c.gcov.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">29</td>
- <td class="headerCovTableEntry">427</td>
- <td class="headerCovTableEntryLo">6.8 %</td>
+ <td class="headerCovTableEntry">431</td>
+ <td class="headerCovTableEntryLo">6.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
@@ -470,7 +470,7 @@
<a name="399"><span class="lineNum"> 399 </span> : : int *poffset)</a>
<a name="400"><span class="lineNum"> 400 </span> : : {</a>
<a name="401"><span class="lineNum"> 401 </span> :<span class="lineNoCov"> 0 : for (offset = fdt_first_property_offset(fdt, offset);</span></a>
-<a name="402"><span class="lineNum"> 402 </span> : : (offset &gt;= 0);</a>
+<a name="402"><span class="lineNum"> 402 </span> :<span class="lineNoCov"> 0 : (offset &gt;= 0);</span></a>
<a name="403"><span class="lineNum"> 403 </span> :<span class="lineNoCov"> 0 : (offset = fdt_next_property_offset(fdt, offset))) {</span></a>
<a name="404"><span class="lineNum"> 404 </span> : : const struct fdt_property *prop;</a>
<a name="405"><span class="lineNum"> 405 </span> : : </a>
@@ -738,7 +738,7 @@
<a name="667"><span class="lineNum"> 667 </span> : : * to the next node. Still it's the easiest to implement</a>
<a name="668"><span class="lineNum"> 668 </span> : : * approach; performance can come later. */</a>
<a name="669"><span class="lineNum"> 669 </span> :<span class="lineNoCov"> 0 : for (offset = fdt_next_node(fdt, startoffset, NULL);</span></a>
-<a name="670"><span class="lineNum"> 670 </span> : : offset &gt;= 0;</a>
+<a name="670"><span class="lineNum"> 670 </span> :<span class="lineNoCov"> 0 : offset &gt;= 0;</span></a>
<a name="671"><span class="lineNum"> 671 </span> :<span class="lineNoCov"> 0 : offset = fdt_next_node(fdt, offset, NULL)) {</span></a>
<a name="672"><span class="lineNum"> 672 </span> :<span class="lineNoCov"> 0 : val = fdt_getprop(fdt, offset, propname, &amp;len);</span></a>
<a name="673"><span class="lineNum"> 673 </span> :<span class="lineNoCov"> 0 : if (val &amp;&amp; (len == proplen)</span></a>
@@ -765,7 +765,7 @@
<a name="694"><span class="lineNum"> 694 </span> : : * node. Still it's the easiest to implement approach;</a>
<a name="695"><span class="lineNum"> 695 </span> : : * performance can come later. */</a>
<a name="696"><span class="lineNum"> 696 </span> :<span class="lineNoCov"> 0 : for (offset = fdt_next_node(fdt, -1, NULL);</span></a>
-<a name="697"><span class="lineNum"> 697 </span> : : offset &gt;= 0;</a>
+<a name="697"><span class="lineNum"> 697 </span> :<span class="lineNoCov"> 0 : offset &gt;= 0;</span></a>
<a name="698"><span class="lineNum"> 698 </span> :<span class="lineNoCov"> 0 : offset = fdt_next_node(fdt, offset, NULL)) {</span></a>
<a name="699"><span class="lineNum"> 699 </span> :<span class="lineNoCov"> 0 : if (fdt_get_phandle(fdt, offset) == phandle)</span></a>
<a name="700"><span class="lineNum"> 700 </span> :<span class="lineNoCov"> 0 : return offset;</span></a>
@@ -917,7 +917,7 @@
<a name="846"><span class="lineNum"> 846 </span> : : * making our way to the next node. Still it's the easiest to</a>
<a name="847"><span class="lineNum"> 847 </span> : : * implement approach; performance can come later. */</a>
<a name="848"><span class="lineNum"> 848 </span> :<span class="lineNoCov"> 0 : for (offset = fdt_next_node(fdt, startoffset, NULL);</span></a>
-<a name="849"><span class="lineNum"> 849 </span> : : offset &gt;= 0;</a>
+<a name="849"><span class="lineNum"> 849 </span> :<span class="lineNoCov"> 0 : offset &gt;= 0;</span></a>
<a name="850"><span class="lineNum"> 850 </span> :<span class="lineNoCov"> 0 : offset = fdt_next_node(fdt, offset, NULL)) {</span></a>
<a name="851"><span class="lineNum"> 851 </span> :<span class="lineNoCov"> 0 : err = fdt_node_check_compatible(fdt, offset, compatible);</span></a>
<a name="852"><span class="lineNum"> 852 </span> :<span class="lineNoCov"> 0 : if ((err &lt; 0) &amp;&amp; (err != -FDT_ERR_NOTFOUND))</span></a>
diff --git a/coverage-report/libfdt/fdt_strerror.c.func-sort-c.html b/coverage-report/libfdt/fdt_strerror.c.func-sort-c.html
index 4f82e36..919f46b 100644
--- a/coverage-report/libfdt/fdt_strerror.c.func-sort-c.html
+++ b/coverage-report/libfdt/fdt_strerror.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libfdt/fdt_strerror.c.func.html b/coverage-report/libfdt/fdt_strerror.c.func.html
index e84f5b5..3601d20 100644
--- a/coverage-report/libfdt/fdt_strerror.c.func.html
+++ b/coverage-report/libfdt/fdt_strerror.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libfdt/fdt_strerror.c.gcov.html b/coverage-report/libfdt/fdt_strerror.c.gcov.html
index 1bb317b..892f517 100644
--- a/coverage-report/libfdt/fdt_strerror.c.gcov.html
+++ b/coverage-report/libfdt/fdt_strerror.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/libfdt/fdt_sw.c.func-sort-c.html b/coverage-report/libfdt/fdt_sw.c.func-sort-c.html
index 35d561f..e259019 100644
--- a/coverage-report/libfdt/fdt_sw.c.func-sort-c.html
+++ b/coverage-report/libfdt/fdt_sw.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">15</td>
diff --git a/coverage-report/libfdt/fdt_sw.c.func.html b/coverage-report/libfdt/fdt_sw.c.func.html
index 68e7ccc..b0740c6 100644
--- a/coverage-report/libfdt/fdt_sw.c.func.html
+++ b/coverage-report/libfdt/fdt_sw.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">15</td>
diff --git a/coverage-report/libfdt/fdt_sw.c.gcov.html b/coverage-report/libfdt/fdt_sw.c.gcov.html
index f575500..0922c62 100644
--- a/coverage-report/libfdt/fdt_sw.c.gcov.html
+++ b/coverage-report/libfdt/fdt_sw.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">15</td>
diff --git a/coverage-report/libfdt/index-sort-b.html b/coverage-report/libfdt/index-sort-b.html
index 99fe89b..4d5ec57 100644
--- a/coverage-report/libfdt/index-sort-b.html
+++ b/coverage-report/libfdt/index-sort-b.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">283</td>
- <td class="headerCovTableEntry">843</td>
- <td class="headerCovTableEntryLo">33.6 %</td>
+ <td class="headerCovTableEntry">847</td>
+ <td class="headerCovTableEntryLo">33.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">47</td>
@@ -82,14 +82,14 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="fdt_strerror.c.gcov.html">fdt_strerror.c</a></td>
+ <td class="coverFile"><a href="fdt_ro.c.gcov.html">fdt_ro.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=7 height=10 alt="6.7%"><img src="../snow.png" width=93 height=10 alt="6.7%"></td></tr></table>
</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 10</td>
- <td class="coverPerLo">0.0&nbsp;%</td>
- <td class="coverNumLo">0 / 1</td>
+ <td class="coverPerLo">6.7&nbsp;%</td>
+ <td class="coverNumLo">29 / 431</td>
+ <td class="coverPerLo">7.5&nbsp;%</td>
+ <td class="coverNumLo">3 / 40</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -106,6 +106,18 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
+ <td class="coverFile"><a href="fdt_sw.c.gcov.html">fdt_sw.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=71 height=10 alt="70.8%"><img src="../snow.png" width=29 height=10 alt="70.8%"></td></tr></table>
+ </td>
+ <td class="coverPerLo">70.8&nbsp;%</td>
+ <td class="coverNumLo">126 / 178</td>
+ <td class="coverPerMed">83.3&nbsp;%</td>
+ <td class="coverNumMed">15 / 18</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
<td class="coverFile"><a href="fdt.c.gcov.html">fdt.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=51 height=10 alt="50.5%"><img src="../snow.png" width=49 height=10 alt="50.5%"></td></tr></table>
@@ -142,26 +154,14 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="fdt_sw.c.gcov.html">fdt_sw.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=71 height=10 alt="70.8%"><img src="../snow.png" width=29 height=10 alt="70.8%"></td></tr></table>
- </td>
- <td class="coverPerLo">70.8&nbsp;%</td>
- <td class="coverNumLo">126 / 178</td>
- <td class="coverPerMed">83.3&nbsp;%</td>
- <td class="coverNumMed">15 / 18</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="fdt_ro.c.gcov.html">fdt_ro.c</a></td>
+ <td class="coverFile"><a href="fdt_strerror.c.gcov.html">fdt_strerror.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=7 height=10 alt="6.8%"><img src="../snow.png" width=93 height=10 alt="6.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
- <td class="coverPerLo">6.8&nbsp;%</td>
- <td class="coverNumLo">29 / 427</td>
- <td class="coverPerLo">7.5&nbsp;%</td>
- <td class="coverNumLo">3 / 40</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 10</td>
+ <td class="coverPerLo">0.0&nbsp;%</td>
+ <td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/libfdt/index-sort-f.html b/coverage-report/libfdt/index-sort-f.html
index c5e12a8..2b8cb4b 100644
--- a/coverage-report/libfdt/index-sort-f.html
+++ b/coverage-report/libfdt/index-sort-f.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">283</td>
- <td class="headerCovTableEntry">843</td>
- <td class="headerCovTableEntryLo">33.6 %</td>
+ <td class="headerCovTableEntry">847</td>
+ <td class="headerCovTableEntryLo">33.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">47</td>
@@ -96,10 +96,10 @@
<tr>
<td class="coverFile"><a href="fdt_ro.c.gcov.html">fdt_ro.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=7 height=10 alt="6.8%"><img src="../snow.png" width=93 height=10 alt="6.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=7 height=10 alt="6.7%"><img src="../snow.png" width=93 height=10 alt="6.7%"></td></tr></table>
</td>
- <td class="coverPerLo">6.8&nbsp;%</td>
- <td class="coverNumLo">29 / 427</td>
+ <td class="coverPerLo">6.7&nbsp;%</td>
+ <td class="coverNumLo">29 / 431</td>
<td class="coverPerLo">7.5&nbsp;%</td>
<td class="coverNumLo">3 / 40</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libfdt/index-sort-l.html b/coverage-report/libfdt/index-sort-l.html
index 137199d..59e9cb5 100644
--- a/coverage-report/libfdt/index-sort-l.html
+++ b/coverage-report/libfdt/index-sort-l.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">283</td>
- <td class="headerCovTableEntry">843</td>
- <td class="headerCovTableEntryLo">33.6 %</td>
+ <td class="headerCovTableEntry">847</td>
+ <td class="headerCovTableEntryLo">33.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">47</td>
@@ -96,10 +96,10 @@
<tr>
<td class="coverFile"><a href="fdt_ro.c.gcov.html">fdt_ro.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=7 height=10 alt="6.8%"><img src="../snow.png" width=93 height=10 alt="6.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=7 height=10 alt="6.7%"><img src="../snow.png" width=93 height=10 alt="6.7%"></td></tr></table>
</td>
- <td class="coverPerLo">6.8&nbsp;%</td>
- <td class="coverNumLo">29 / 427</td>
+ <td class="coverPerLo">6.7&nbsp;%</td>
+ <td class="coverNumLo">29 / 431</td>
<td class="coverPerLo">7.5&nbsp;%</td>
<td class="coverNumLo">3 / 40</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libfdt/index.html b/coverage-report/libfdt/index.html
index daeb904..57a21e2 100644
--- a/coverage-report/libfdt/index.html
+++ b/coverage-report/libfdt/index.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">283</td>
- <td class="headerCovTableEntry">843</td>
- <td class="headerCovTableEntryLo">33.6 %</td>
+ <td class="headerCovTableEntry">847</td>
+ <td class="headerCovTableEntryLo">33.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">47</td>
@@ -96,10 +96,10 @@
<tr>
<td class="coverFile"><a href="fdt_ro.c.gcov.html">fdt_ro.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=7 height=10 alt="6.8%"><img src="../snow.png" width=93 height=10 alt="6.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=7 height=10 alt="6.7%"><img src="../snow.png" width=93 height=10 alt="6.7%"></td></tr></table>
</td>
- <td class="coverPerLo">6.8&nbsp;%</td>
- <td class="coverNumLo">29 / 427</td>
+ <td class="coverPerLo">6.7&nbsp;%</td>
+ <td class="coverNumLo">29 / 431</td>
<td class="coverPerLo">7.5&nbsp;%</td>
<td class="coverNumLo">3 / 40</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libfdt/libfdt.h.func-sort-c.html b/coverage-report/libfdt/libfdt.h.func-sort-c.html
index c3f3d90..b8c0f99 100644
--- a/coverage-report/libfdt/libfdt.h.func-sort-c.html
+++ b/coverage-report/libfdt/libfdt.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/libfdt/libfdt.h.func.html b/coverage-report/libfdt/libfdt.h.func.html
index 8b45e5b..8937b42 100644
--- a/coverage-report/libfdt/libfdt.h.func.html
+++ b/coverage-report/libfdt/libfdt.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/libfdt/libfdt.h.gcov.html b/coverage-report/libfdt/libfdt.h.gcov.html
index bd06b36..75531fc 100644
--- a/coverage-report/libfdt/libfdt.h.gcov.html
+++ b/coverage-report/libfdt/libfdt.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/libfdt/libfdt_env.h.func-sort-c.html b/coverage-report/libfdt/libfdt_env.h.func-sort-c.html
index 16dc646..bbb6ee6 100644
--- a/coverage-report/libfdt/libfdt_env.h.func-sort-c.html
+++ b/coverage-report/libfdt/libfdt_env.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libfdt/libfdt_env.h.func.html b/coverage-report/libfdt/libfdt_env.h.func.html
index 5db161b..4c2dc7f 100644
--- a/coverage-report/libfdt/libfdt_env.h.func.html
+++ b/coverage-report/libfdt/libfdt_env.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libfdt/libfdt_env.h.gcov.html b/coverage-report/libfdt/libfdt_env.h.gcov.html
index 09a57ad..c759174 100644
--- a/coverage-report/libfdt/libfdt_env.h.gcov.html
+++ b/coverage-report/libfdt/libfdt_env.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libfdt/libfdt_internal.h.func-sort-c.html b/coverage-report/libfdt/libfdt_internal.h.func-sort-c.html
index f190370..2f0e26a 100644
--- a/coverage-report/libfdt/libfdt_internal.h.func-sort-c.html
+++ b/coverage-report/libfdt/libfdt_internal.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libfdt/libfdt_internal.h.func.html b/coverage-report/libfdt/libfdt_internal.h.func.html
index b8f40c0..3b198db 100644
--- a/coverage-report/libfdt/libfdt_internal.h.func.html
+++ b/coverage-report/libfdt/libfdt_internal.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libfdt/libfdt_internal.h.gcov.html b/coverage-report/libfdt/libfdt_internal.h.gcov.html
index 1a13745..b123798 100644
--- a/coverage-report/libfdt/libfdt_internal.h.gcov.html
+++ b/coverage-report/libfdt/libfdt_internal.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libflash/blocklevel.c.func-sort-c.html b/coverage-report/libflash/blocklevel.c.func-sort-c.html
index 3a4cfdc..0465169 100644
--- a/coverage-report/libflash/blocklevel.c.func-sort-c.html
+++ b/coverage-report/libflash/blocklevel.c.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">240</td>
- <td class="headerCovTableEntry">406</td>
- <td class="headerCovTableEntryLo">59.1 %</td>
+ <td class="headerCovTableEntry">241</td>
+ <td class="headerCovTableEntry">407</td>
+ <td class="headerCovTableEntryLo">59.2 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -101,14 +101,6 @@
<td class="coverFnHi">47</td>
</tr>
<tr>
- <td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
- <td class="coverFnHi">418</td>
- </tr>
- <tr>
- <td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
- <td class="coverFnHi">427</td>
- </tr>
- <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#101">blocklevel_read</a></td>
<td class="coverFnHi">488</td>
</tr>
@@ -117,6 +109,10 @@
<td class="coverFnHi">492</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
+ <td class="coverFnHi">540</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#374">blocklevel_smart_erase</a></td>
<td class="coverFnHi">778</td>
</tr>
@@ -125,6 +121,10 @@
<td class="coverFnHi">3340</td>
</tr>
<tr>
+ <td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
+ <td class="coverFnHi">3922</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#68">release</a></td>
<td class="coverFnHi">3922</td>
</tr>
diff --git a/coverage-report/libflash/blocklevel.c.func.html b/coverage-report/libflash/blocklevel.c.func.html
index a3d8898..c39fe86 100644
--- a/coverage-report/libflash/blocklevel.c.func.html
+++ b/coverage-report/libflash/blocklevel.c.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">240</td>
- <td class="headerCovTableEntry">406</td>
- <td class="headerCovTableEntryLo">59.1 %</td>
+ <td class="headerCovTableEntry">241</td>
+ <td class="headerCovTableEntry">407</td>
+ <td class="headerCovTableEntryLo">59.2 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -110,7 +110,7 @@
</tr>
<tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#23">ecc_protected</a></td>
- <td class="coverFnHi">418</td>
+ <td class="coverFnHi">540</td>
</tr>
<tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#643">insert_bl_prot_range</a></td>
@@ -118,7 +118,7 @@
</tr>
<tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#61">reacquire</a></td>
- <td class="coverFnHi">427</td>
+ <td class="coverFnHi">3922</td>
</tr>
<tr>
<td class="coverFn"><a href="blocklevel.c.gcov.html#68">release</a></td>
diff --git a/coverage-report/libflash/blocklevel.c.gcov.html b/coverage-report/libflash/blocklevel.c.gcov.html
index 83291e0..76fab28 100644
--- a/coverage-report/libflash/blocklevel.c.gcov.html
+++ b/coverage-report/libflash/blocklevel.c.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">240</td>
- <td class="headerCovTableEntry">406</td>
- <td class="headerCovTableEntryLo">59.1 %</td>
+ <td class="headerCovTableEntry">241</td>
+ <td class="headerCovTableEntry">407</td>
+ <td class="headerCovTableEntryLo">59.2 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">14</td>
@@ -93,21 +93,21 @@
<a name="22"><span class="lineNum"> 22 </span> : : * 0 - The region is not ECC protected</a>
<a name="23"><span class="lineNum"> 23 </span> : : * -1 - Partially protected</a>
<a name="24"><span class="lineNum"> 24 </span> : : */</a>
-<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 418 : static int ecc_protected(struct blocklevel_device *bl, uint64_t pos, uint64_t len, uint64_t *start)</span></a>
+<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 540 : static int ecc_protected(struct blocklevel_device *bl, uint64_t pos, uint64_t len, uint64_t *start)</span></a>
<a name="26"><span class="lineNum"> 26 </span> : : {</a>
-<a name="27"><span class="lineNum"> 27 </span> : : int i;</a>
+<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 122 : int i;</span></a>
<a name="28"><span class="lineNum"> 28 </span> : : </a>
<a name="29"><span class="lineNum"> 29 </span> : : /* Length of 0 is nonsensical so add 1 */</a>
-<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 418 : if (len == 0)</span></a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 540 : if (len == 0)</span></a>
<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 2 : len = 1;</span></a>
<a name="32"><span class="lineNum"> 32 </span> : : </a>
-<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 432 : for (i = 0; i &lt; bl-&gt;ecc_prot.n_prot; i++) {</span></a>
+<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 554 : for (i = 0; i &lt; bl-&gt;ecc_prot.n_prot; i++) {</span></a>
<a name="34"><span class="lineNum"> 34 </span> : : /* Fits entirely within the range */</a>
-<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 38 : if (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</span></a>
-<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 37 : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt;= pos + len) {</span></a>
-<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 22 : if (start)</span></a>
-<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 15 : *start = bl-&gt;ecc_prot.prot[i].start;</span></a>
-<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 22 : return 1;</span></a>
+<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 139 : if (bl-&gt;ecc_prot.prot[i].start &lt;= pos &amp;&amp;</span></a>
+<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 138 : bl-&gt;ecc_prot.prot[i].start + bl-&gt;ecc_prot.prot[i].len &gt;= pos + len) {</span></a>
+<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 123 : if (start)</span></a>
+<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 116 : *start = bl-&gt;ecc_prot.prot[i].start;</span></a>
+<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 123 : return 1;</span></a>
<a name="40"><span class="lineNum"> 40 </span> : : }</a>
<a name="41"><span class="lineNum"> 41 </span> : : </a>
<a name="42"><span class="lineNum"> 42 </span> : : /*</a>
@@ -133,7 +133,7 @@
<a name="62"><span class="lineNum"> 62 </span> : : </a>
<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 3922 : static int reacquire(struct blocklevel_device *bl)</span></a>
<a name="64"><span class="lineNum"> 64 </span> : : {</a>
-<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 427 : if (!bl-&gt;keep_alive &amp;&amp; bl-&gt;reacquire)</span></a>
+<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 3922 : if (!bl-&gt;keep_alive &amp;&amp; bl-&gt;reacquire)</span></a>
<a name="66"><span class="lineNum"> 66 </span> :<span class="lineNoCov"> 0 : return bl-&gt;reacquire(bl);</span></a>
<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 427 : return 0;</span></a>
<a name="68"><span class="lineNum"> 68 </span> : : }</a>
@@ -161,7 +161,7 @@
<a name="90"><span class="lineNum"> 90 </span> : : }</a>
<a name="91"><span class="lineNum"> 91 </span> : : </a>
<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 492 : rc = reacquire(bl);</span></a>
-<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 385 : if (rc)</span></a>
+<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 492 : if (rc)</span></a>
<a name="94"><span class="lineNum"> 94 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="95"><span class="lineNum"> 95 </span> : : </a>
<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 492 : rc = bl-&gt;read(bl, pos, buf, len);</span></a>
@@ -248,7 +248,7 @@
<a name="177"><span class="lineNum"> 177 </span> : : }</a>
<a name="178"><span class="lineNum"> 178 </span> : : </a>
<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 41 : rc = reacquire(bl);</span></a>
-<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 26 : if (rc)</span></a>
+<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 41 : if (rc)</span></a>
<a name="181"><span class="lineNum"> 181 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="182"><span class="lineNum"> 182 </span> : : </a>
<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 41 : rc = bl-&gt;write(bl, pos, buf, len);</span></a>
@@ -379,7 +379,7 @@
<a name="308"><span class="lineNum"> 308 </span> : : }</a>
<a name="309"><span class="lineNum"> 309 </span> : : </a>
<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 3336 : rc = reacquire(bl);</span></a>
-<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 6 : if (rc)</span></a>
+<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 3336 : if (rc)</span></a>
<a name="312"><span class="lineNum"> 312 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="313"><span class="lineNum"> 313 </span> : : </a>
<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 3336 : rc = bl-&gt;erase(bl, pos, len);</span></a>
@@ -400,7 +400,7 @@
<a name="329"><span class="lineNum"> 329 </span> : : }</a>
<a name="330"><span class="lineNum"> 330 </span> : : </a>
<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 47 : rc = reacquire(bl);</span></a>
-<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 4 : if (rc)</span></a>
+<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 47 : if (rc)</span></a>
<a name="333"><span class="lineNum"> 333 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="334"><span class="lineNum"> 334 </span> : : </a>
<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 47 : rc = bl-&gt;get_info(bl, name, total_size, erase_granule);</span></a>
diff --git a/coverage-report/libflash/ecc.c.func-sort-c.html b/coverage-report/libflash/ecc.c.func-sort-c.html
index 3aa4afa..ead1283 100644
--- a/coverage-report/libflash/ecc.c.func-sort-c.html
+++ b/coverage-report/libflash/ecc.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
@@ -109,14 +109,14 @@
<td class="coverFnHi">163</td>
</tr>
<tr>
- <td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
- <td class="coverFnHi">478</td>
- </tr>
- <tr>
<td class="coverFn"><a href="ecc.c.gcov.html#143">eccbyte</a></td>
<td class="coverFnHi">864</td>
</tr>
<tr>
+ <td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
+ <td class="coverFnHi">928</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="ecc.c.gcov.html#106">eccgenerate</a></td>
<td class="coverFnHi">16647</td>
</tr>
diff --git a/coverage-report/libflash/ecc.c.func.html b/coverage-report/libflash/ecc.c.func.html
index 325ae2e..9632bed 100644
--- a/coverage-report/libflash/ecc.c.func.html
+++ b/coverage-report/libflash/ecc.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
@@ -82,7 +82,7 @@
</tr>
<tr>
<td class="coverFn"><a href="ecc.c.gcov.html#129">eccverify</a></td>
- <td class="coverFnHi">478</td>
+ <td class="coverFnHi">928</td>
</tr>
<tr>
<td class="coverFn"><a href="ecc.c.gcov.html#166">inc_beint64_by</a></td>
diff --git a/coverage-report/libflash/ecc.c.gcov.html b/coverage-report/libflash/ecc.c.gcov.html
index fbc931b..bda1668 100644
--- a/coverage-report/libflash/ecc.c.gcov.html
+++ b/coverage-report/libflash/ecc.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
@@ -201,7 +201,7 @@
<a name="130"><span class="lineNum"> 130 </span> : : */</a>
<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 928 : static enum eccbitfields eccverify(uint64_t data, uint8_t ecc)</span></a>
<a name="132"><span class="lineNum"> 132 </span> : : {</a>
-<a name="133"><span class="lineNum"> 133 </span> :<span class="lineCov"> 1378 : return syndromematrix[eccgenerate(data) ^ ecc];</span></a>
+<a name="133"><span class="lineNum"> 133 </span> :<span class="lineCov"> 928 : return syndromematrix[eccgenerate(data) ^ ecc];</span></a>
<a name="134"><span class="lineNum"> 134 </span> : : }</a>
<a name="135"><span class="lineNum"> 135 </span> : : </a>
<a name="136"><span class="lineNum"> 136 </span> : : /* IBM bit ordering */</a>
@@ -251,12 +251,12 @@
<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 10 : return (struct ecc64 *)(((char *)p) + i);</span></a>
<a name="181"><span class="lineNum"> 181 </span> : : }</a>
<a name="182"><span class="lineNum"> 182 </span> : : </a>
-<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 214 : static uint64_t whole_ecc_bytes(uint64_t i)</span></a>
+<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 125 : static uint64_t whole_ecc_bytes(uint64_t i)</span></a>
<a name="184"><span class="lineNum"> 184 </span> : : {</a>
-<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 214 : return i &amp; ~(BYTES_PER_ECC - 1);</span></a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 125 : return i &amp; ~(BYTES_PER_ECC - 1);</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : }</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
-<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 107 : static uint64_t whole_ecc_structs(uint64_t i)</span></a>
+<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 18 : static uint64_t whole_ecc_structs(uint64_t i)</span></a>
<a name="189"><span class="lineNum"> 189 </span> : : {</a>
<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 107 : return whole_ecc_bytes(i) &gt;&gt; 3;</span></a>
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
diff --git a/coverage-report/libflash/ecc.h.func-sort-c.html b/coverage-report/libflash/ecc.h.func-sort-c.html
index 946e60f..efc4f03 100644
--- a/coverage-report/libflash/ecc.h.func-sort-c.html
+++ b/coverage-report/libflash/ecc.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libflash/ecc.h.func.html b/coverage-report/libflash/ecc.h.func.html
index f19dac6..4c32273 100644
--- a/coverage-report/libflash/ecc.h.func.html
+++ b/coverage-report/libflash/ecc.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libflash/ecc.h.gcov.html b/coverage-report/libflash/ecc.h.gcov.html
index fe6da4d..17d5b86 100644
--- a/coverage-report/libflash/ecc.h.gcov.html
+++ b/coverage-report/libflash/ecc.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libflash/file.c.func-sort-c.html b/coverage-report/libflash/file.c.func-sort-c.html
index 73ff55a..cae5411 100644
--- a/coverage-report/libflash/file.c.func-sort-c.html
+++ b/coverage-report/libflash/file.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">94</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">57.7 %</td>
+ <td class="headerCovTableEntry">108</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">58.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">9</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">69.2 %</td>
</tr>
<tr>
<td></td>
@@ -85,6 +85,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="file.c.gcov.html#177">get_info_name</a></td>
+ <td class="coverFnHi">11</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="file.c.gcov.html#364">file_exit</a></td>
<td class="coverFnHi">34</td>
</tr>
diff --git a/coverage-report/libflash/file.c.func.html b/coverage-report/libflash/file.c.func.html
index 4f240ef..bb99ee3 100644
--- a/coverage-report/libflash/file.c.func.html
+++ b/coverage-report/libflash/file.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">94</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">57.7 %</td>
+ <td class="headerCovTableEntry">108</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">58.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">9</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">69.2 %</td>
</tr>
<tr>
<td></td>
@@ -109,6 +109,10 @@
<td class="coverFnHi">3353</td>
</tr>
<tr>
+ <td class="coverFn"><a href="file.c.gcov.html#177">get_info_name</a></td>
+ <td class="coverFnHi">11</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="file.c.gcov.html#122">mtd_erase</a></td>
<td class="coverFnLo">0</td>
</tr>
diff --git a/coverage-report/libflash/file.c.gcov.html b/coverage-report/libflash/file.c.gcov.html
index 7bfb919..5c36c00 100644
--- a/coverage-report/libflash/file.c.gcov.html
+++ b/coverage-report/libflash/file.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">94</td>
- <td class="headerCovTableEntry">163</td>
- <td class="headerCovTableEntryLo">57.7 %</td>
+ <td class="headerCovTableEntry">108</td>
+ <td class="headerCovTableEntry">184</td>
+ <td class="headerCovTableEntryLo">58.7 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">8</td>
- <td class="headerCovTableEntry">12</td>
- <td class="headerCovTableEntryLo">66.7 %</td>
+ <td class="headerCovTableEntry">9</td>
+ <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntryLo">69.2 %</td>
</tr>
<tr>
<td></td>
@@ -247,38 +247,38 @@
<a name="176"><span class="lineNum"> 176 </span> : : return 0;</a>
<a name="177"><span class="lineNum"> 177 </span> : : }</a>
<a name="178"><span class="lineNum"> 178 </span> : : </a>
-<a name="179"><span class="lineNum"> 179 </span> : : static int get_info_name(struct file_data *file_data, char **name)</a>
+<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 11 : static int get_info_name(struct file_data *file_data, char **name)</span></a>
<a name="180"><span class="lineNum"> 180 </span> : : {</a>
-<a name="181"><span class="lineNum"> 181 </span> : : char *path, *lpath;</a>
-<a name="182"><span class="lineNum"> 182 </span> : : int len;</a>
-<a name="183"><span class="lineNum"> 183 </span> : : struct stat st;</a>
+<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 11 : char *path, *lpath;</span></a>
+<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 11 : int len;</span></a>
+<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 11 : struct stat st;</span></a>
<a name="184"><span class="lineNum"> 184 </span> : : </a>
-<a name="185"><span class="lineNum"> 185 </span> : : if (asprintf(&amp;path, &quot;/proc/self/fd/%d&quot;, file_data-&gt;fd) == -1)</a>
+<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 11 : if (asprintf(&amp;path, &quot;/proc/self/fd/%d&quot;, file_data-&gt;fd) == -1)</span></a>
<a name="186"><span class="lineNum"> 186 </span> : : return FLASH_ERR_MALLOC_FAILED;</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
-<a name="188"><span class="lineNum"> 188 </span> : : if (lstat(path, &amp;st)) {</a>
-<a name="189"><span class="lineNum"> 189 </span> : : free(path);</a>
-<a name="190"><span class="lineNum"> 190 </span> : : return FLASH_ERR_PARM_ERROR;</a>
+<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 11 : if (lstat(path, &amp;st)) {</span></a>
+<a name="189"><span class="lineNum"> 189 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="190"><span class="lineNum"> 190 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_PARM_ERROR;</span></a>
<a name="191"><span class="lineNum"> 191 </span> : : }</a>
<a name="192"><span class="lineNum"> 192 </span> : : </a>
-<a name="193"><span class="lineNum"> 193 </span> : : lpath = malloc(st.st_size + 1);</a>
-<a name="194"><span class="lineNum"> 194 </span> : : if (!lpath) {</a>
-<a name="195"><span class="lineNum"> 195 </span> : : free(path);</a>
-<a name="196"><span class="lineNum"> 196 </span> : : return FLASH_ERR_MALLOC_FAILED;</a>
+<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 11 : lpath = malloc(st.st_size + 1);</span></a>
+<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 11 : if (!lpath) {</span></a>
+<a name="195"><span class="lineNum"> 195 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="196"><span class="lineNum"> 196 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_MALLOC_FAILED;</span></a>
<a name="197"><span class="lineNum"> 197 </span> : : }</a>
<a name="198"><span class="lineNum"> 198 </span> : : </a>
-<a name="199"><span class="lineNum"> 199 </span> : : len = readlink(path, lpath, st.st_size +1);</a>
-<a name="200"><span class="lineNum"> 200 </span> : : if (len == -1) {</a>
-<a name="201"><span class="lineNum"> 201 </span> : : free(path);</a>
-<a name="202"><span class="lineNum"> 202 </span> : : free(lpath);</a>
-<a name="203"><span class="lineNum"> 203 </span> : : return FLASH_ERR_PARM_ERROR;</a>
+<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 11 : len = readlink(path, lpath, st.st_size +1);</span></a>
+<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 11 : if (len == -1) {</span></a>
+<a name="201"><span class="lineNum"> 201 </span> :<span class="lineNoCov"> 0 : free(path);</span></a>
+<a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : free(lpath);</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_PARM_ERROR;</span></a>
<a name="204"><span class="lineNum"> 204 </span> : : }</a>
-<a name="205"><span class="lineNum"> 205 </span> : : lpath[len] = '\0';</a>
+<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 11 : lpath[len] = '\0';</span></a>
<a name="206"><span class="lineNum"> 206 </span> : : </a>
-<a name="207"><span class="lineNum"> 207 </span> : : *name = lpath;</a>
+<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 11 : *name = lpath;</span></a>
<a name="208"><span class="lineNum"> 208 </span> : : </a>
-<a name="209"><span class="lineNum"> 209 </span> : : free(path);</a>
-<a name="210"><span class="lineNum"> 210 </span> : : return 0;</a>
+<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 11 : free(path);</span></a>
+<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 11 : return 0;</span></a>
<a name="211"><span class="lineNum"> 211 </span> : : }</a>
<a name="212"><span class="lineNum"> 212 </span> : : </a>
<a name="213"><span class="lineNum"> 213 </span> : : </a>
diff --git a/coverage-report/libflash/index-sort-b.html b/coverage-report/libflash/index-sort-b.html
index e92c7fc..f7bb03d 100644
--- a/coverage-report/libflash/index-sort-b.html
+++ b/coverage-report/libflash/index-sort-b.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">1697</td>
- <td class="headerCovTableEntry">2559</td>
- <td class="headerCovTableEntryLo">66.3 %</td>
+ <td class="headerCovTableEntry">1733</td>
+ <td class="headerCovTableEntry">2602</td>
+ <td class="headerCovTableEntryLo">66.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">141</td>
- <td class="headerCovTableEntry">166</td>
- <td class="headerCovTableEntryMed">84.9 %</td>
+ <td class="headerCovTableEntry">145</td>
+ <td class="headerCovTableEntry">171</td>
+ <td class="headerCovTableEntryMed">84.8 %</td>
</tr>
<tr>
<td></td>
@@ -82,50 +82,38 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=46 height=10 alt="45.6%"><img src="../snow.png" width=54 height=10 alt="45.6%"></td></tr></table>
- </td>
- <td class="coverPerLo">45.6&nbsp;%</td>
- <td class="coverNumLo">187 / 410</td>
- <td class="coverPerLo">58.3&nbsp;%</td>
- <td class="coverNumLo">14 / 24</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
+ <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=58 height=10 alt="57.7%"><img src="../snow.png" width=42 height=10 alt="57.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=90 height=10 alt="89.7%"><img src="../snow.png" width=10 height=10 alt="89.7%"></td></tr></table>
</td>
- <td class="coverPerLo">57.7&nbsp;%</td>
- <td class="coverNumLo">94 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerMed">89.7&nbsp;%</td>
+ <td class="coverNumMed">105 / 117</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">13 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
+ <td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="59.1%"><img src="../snow.png" width=41 height=10 alt="59.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=48 height=10 alt="48.4%"><img src="../snow.png" width=52 height=10 alt="48.4%"></td></tr></table>
</td>
- <td class="coverPerLo">59.1&nbsp;%</td>
- <td class="coverNumLo">240 / 406</td>
- <td class="coverPerHi">93.3&nbsp;%</td>
- <td class="coverNumHi">14 / 15</td>
+ <td class="coverPerLo">48.4&nbsp;%</td>
+ <td class="coverNumLo">208 / 430</td>
+ <td class="coverPerLo">60.7&nbsp;%</td>
+ <td class="coverNumLo">17 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.h.gcov.html">ecc.h</a></td>
+ <td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=75 height=10 alt="75.0%"><img src="../snow.png" width=25 height=10 alt="75.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=52 height=10 alt="51.9%"><img src="../snow.png" width=48 height=10 alt="51.9%"></td></tr></table>
</td>
+ <td class="coverPerLo">51.9&nbsp;%</td>
+ <td class="coverNumLo">240 / 462</td>
<td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">6 / 8</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">3 / 4</td>
+ <td class="coverNumMed">18 / 24</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -142,38 +130,50 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ecc.c.gcov.html">ecc.c</a></td>
+ <td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=90 height=10 alt="89.7%"><img src="../snow.png" width=10 height=10 alt="89.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="58.7%"><img src="../snow.png" width=41 height=10 alt="58.7%"></td></tr></table>
</td>
- <td class="coverPerMed">89.7&nbsp;%</td>
- <td class="coverNumMed">105 / 117</td>
+ <td class="coverPerLo">58.7&nbsp;%</td>
+ <td class="coverNumLo">108 / 184</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="ipmi-hiomap.c.gcov.html">ipmi-hiomap.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=92 height=10 alt="91.9%"><img src="../snow.png" width=8 height=10 alt="91.9%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">91.9&nbsp;%</td>
+ <td class="coverNumHi">453 / 493</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">26 / 26</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
+ <td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=52 height=10 alt="52.1%"><img src="../snow.png" width=48 height=10 alt="52.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="59.2%"><img src="../snow.png" width=41 height=10 alt="59.2%"></td></tr></table>
</td>
- <td class="coverPerLo">52.1&nbsp;%</td>
- <td class="coverNumLo">240 / 461</td>
- <td class="coverPerMed">75.0&nbsp;%</td>
- <td class="coverNumMed">18 / 24</td>
+ <td class="coverPerLo">59.2&nbsp;%</td>
+ <td class="coverNumLo">241 / 407</td>
+ <td class="coverPerHi">93.3&nbsp;%</td>
+ <td class="coverNumHi">14 / 15</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="ipmi-hiomap.c.gcov.html">ipmi-hiomap.c</a></td>
+ <td class="coverFile"><a href="ecc.h.gcov.html">ecc.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=92 height=10 alt="91.9%"><img src="../snow.png" width=8 height=10 alt="91.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=75 height=10 alt="75.0%"><img src="../snow.png" width=25 height=10 alt="75.0%"></td></tr></table>
</td>
- <td class="coverPerHi">91.9&nbsp;%</td>
- <td class="coverNumHi">453 / 493</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">26 / 26</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">6 / 8</td>
+ <td class="coverPerMed">75.0&nbsp;%</td>
+ <td class="coverNumMed">3 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/libflash/index-sort-f.html b/coverage-report/libflash/index-sort-f.html
index 9661fd2..fdb0625 100644
--- a/coverage-report/libflash/index-sort-f.html
+++ b/coverage-report/libflash/index-sort-f.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">1697</td>
- <td class="headerCovTableEntry">2559</td>
- <td class="headerCovTableEntryLo">66.3 %</td>
+ <td class="headerCovTableEntry">1733</td>
+ <td class="headerCovTableEntry">2602</td>
+ <td class="headerCovTableEntryLo">66.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">141</td>
- <td class="headerCovTableEntry">166</td>
- <td class="headerCovTableEntryMed">84.9 %</td>
+ <td class="headerCovTableEntry">145</td>
+ <td class="headerCovTableEntry">171</td>
+ <td class="headerCovTableEntryMed">84.8 %</td>
</tr>
<tr>
<td></td>
@@ -84,24 +84,24 @@
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=46 height=10 alt="45.6%"><img src="../snow.png" width=54 height=10 alt="45.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=48 height=10 alt="48.4%"><img src="../snow.png" width=52 height=10 alt="48.4%"></td></tr></table>
</td>
- <td class="coverPerLo">45.6&nbsp;%</td>
- <td class="coverNumLo">187 / 410</td>
- <td class="coverPerLo">58.3&nbsp;%</td>
- <td class="coverNumLo">14 / 24</td>
+ <td class="coverPerLo">48.4&nbsp;%</td>
+ <td class="coverNumLo">208 / 430</td>
+ <td class="coverPerLo">60.7&nbsp;%</td>
+ <td class="coverNumLo">17 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=58 height=10 alt="57.7%"><img src="../snow.png" width=42 height=10 alt="57.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="58.7%"><img src="../snow.png" width=41 height=10 alt="58.7%"></td></tr></table>
</td>
- <td class="coverPerLo">57.7&nbsp;%</td>
- <td class="coverNumLo">94 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">58.7&nbsp;%</td>
+ <td class="coverNumLo">108 / 184</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -120,10 +120,10 @@
<tr>
<td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=52 height=10 alt="52.1%"><img src="../snow.png" width=48 height=10 alt="52.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=52 height=10 alt="51.9%"><img src="../snow.png" width=48 height=10 alt="51.9%"></td></tr></table>
</td>
- <td class="coverPerLo">52.1&nbsp;%</td>
- <td class="coverNumLo">240 / 461</td>
+ <td class="coverPerLo">51.9&nbsp;%</td>
+ <td class="coverNumLo">240 / 462</td>
<td class="coverPerMed">75.0&nbsp;%</td>
<td class="coverNumMed">18 / 24</td>
<td class="coverPerHi">-</td>
@@ -132,10 +132,10 @@
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="59.1%"><img src="../snow.png" width=41 height=10 alt="59.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="59.2%"><img src="../snow.png" width=41 height=10 alt="59.2%"></td></tr></table>
</td>
- <td class="coverPerLo">59.1&nbsp;%</td>
- <td class="coverNumLo">240 / 406</td>
+ <td class="coverPerLo">59.2&nbsp;%</td>
+ <td class="coverNumLo">241 / 407</td>
<td class="coverPerHi">93.3&nbsp;%</td>
<td class="coverNumHi">14 / 15</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libflash/index-sort-l.html b/coverage-report/libflash/index-sort-l.html
index f5e0cf7..3616406 100644
--- a/coverage-report/libflash/index-sort-l.html
+++ b/coverage-report/libflash/index-sort-l.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">1697</td>
- <td class="headerCovTableEntry">2559</td>
- <td class="headerCovTableEntryLo">66.3 %</td>
+ <td class="headerCovTableEntry">1733</td>
+ <td class="headerCovTableEntry">2602</td>
+ <td class="headerCovTableEntryLo">66.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">141</td>
- <td class="headerCovTableEntry">166</td>
- <td class="headerCovTableEntryMed">84.9 %</td>
+ <td class="headerCovTableEntry">145</td>
+ <td class="headerCovTableEntry">171</td>
+ <td class="headerCovTableEntryMed">84.8 %</td>
</tr>
<tr>
<td></td>
@@ -84,22 +84,22 @@
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=46 height=10 alt="45.6%"><img src="../snow.png" width=54 height=10 alt="45.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=48 height=10 alt="48.4%"><img src="../snow.png" width=52 height=10 alt="48.4%"></td></tr></table>
</td>
- <td class="coverPerLo">45.6&nbsp;%</td>
- <td class="coverNumLo">187 / 410</td>
- <td class="coverPerLo">58.3&nbsp;%</td>
- <td class="coverNumLo">14 / 24</td>
+ <td class="coverPerLo">48.4&nbsp;%</td>
+ <td class="coverNumLo">208 / 430</td>
+ <td class="coverPerLo">60.7&nbsp;%</td>
+ <td class="coverNumLo">17 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=52 height=10 alt="52.1%"><img src="../snow.png" width=48 height=10 alt="52.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=52 height=10 alt="51.9%"><img src="../snow.png" width=48 height=10 alt="51.9%"></td></tr></table>
</td>
- <td class="coverPerLo">52.1&nbsp;%</td>
- <td class="coverNumLo">240 / 461</td>
+ <td class="coverPerLo">51.9&nbsp;%</td>
+ <td class="coverNumLo">240 / 462</td>
<td class="coverPerMed">75.0&nbsp;%</td>
<td class="coverNumMed">18 / 24</td>
<td class="coverPerHi">-</td>
@@ -108,22 +108,22 @@
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=58 height=10 alt="57.7%"><img src="../snow.png" width=42 height=10 alt="57.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="58.7%"><img src="../snow.png" width=41 height=10 alt="58.7%"></td></tr></table>
</td>
- <td class="coverPerLo">57.7&nbsp;%</td>
- <td class="coverNumLo">94 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">58.7&nbsp;%</td>
+ <td class="coverNumLo">108 / 184</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="59.1%"><img src="../snow.png" width=41 height=10 alt="59.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="59.2%"><img src="../snow.png" width=41 height=10 alt="59.2%"></td></tr></table>
</td>
- <td class="coverPerLo">59.1&nbsp;%</td>
- <td class="coverNumLo">240 / 406</td>
+ <td class="coverPerLo">59.2&nbsp;%</td>
+ <td class="coverNumLo">241 / 407</td>
<td class="coverPerHi">93.3&nbsp;%</td>
<td class="coverNumHi">14 / 15</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libflash/index.html b/coverage-report/libflash/index.html
index b129820..932f43b 100644
--- a/coverage-report/libflash/index.html
+++ b/coverage-report/libflash/index.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">1697</td>
- <td class="headerCovTableEntry">2559</td>
- <td class="headerCovTableEntryLo">66.3 %</td>
+ <td class="headerCovTableEntry">1733</td>
+ <td class="headerCovTableEntry">2602</td>
+ <td class="headerCovTableEntryLo">66.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">141</td>
- <td class="headerCovTableEntry">166</td>
- <td class="headerCovTableEntryMed">84.9 %</td>
+ <td class="headerCovTableEntry">145</td>
+ <td class="headerCovTableEntry">171</td>
+ <td class="headerCovTableEntryMed">84.8 %</td>
</tr>
<tr>
<td></td>
@@ -84,10 +84,10 @@
<tr>
<td class="coverFile"><a href="blocklevel.c.gcov.html">blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="59.1%"><img src="../snow.png" width=41 height=10 alt="59.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="59.2%"><img src="../snow.png" width=41 height=10 alt="59.2%"></td></tr></table>
</td>
- <td class="coverPerLo">59.1&nbsp;%</td>
- <td class="coverNumLo">240 / 406</td>
+ <td class="coverPerLo">59.2&nbsp;%</td>
+ <td class="coverNumLo">241 / 407</td>
<td class="coverPerHi">93.3&nbsp;%</td>
<td class="coverNumHi">14 / 15</td>
<td class="coverPerHi">-</td>
@@ -120,12 +120,12 @@
<tr>
<td class="coverFile"><a href="file.c.gcov.html">file.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=58 height=10 alt="57.7%"><img src="../snow.png" width=42 height=10 alt="57.7%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=59 height=10 alt="58.7%"><img src="../snow.png" width=41 height=10 alt="58.7%"></td></tr></table>
</td>
- <td class="coverPerLo">57.7&nbsp;%</td>
- <td class="coverNumLo">94 / 163</td>
- <td class="coverPerLo">66.7&nbsp;%</td>
- <td class="coverNumLo">8 / 12</td>
+ <td class="coverPerLo">58.7&nbsp;%</td>
+ <td class="coverNumLo">108 / 184</td>
+ <td class="coverPerLo">69.2&nbsp;%</td>
+ <td class="coverNumLo">9 / 13</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -144,22 +144,22 @@
<tr>
<td class="coverFile"><a href="libffs.c.gcov.html">libffs.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=46 height=10 alt="45.6%"><img src="../snow.png" width=54 height=10 alt="45.6%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=48 height=10 alt="48.4%"><img src="../snow.png" width=52 height=10 alt="48.4%"></td></tr></table>
</td>
- <td class="coverPerLo">45.6&nbsp;%</td>
- <td class="coverNumLo">187 / 410</td>
- <td class="coverPerLo">58.3&nbsp;%</td>
- <td class="coverNumLo">14 / 24</td>
+ <td class="coverPerLo">48.4&nbsp;%</td>
+ <td class="coverNumLo">208 / 430</td>
+ <td class="coverPerLo">60.7&nbsp;%</td>
+ <td class="coverNumLo">17 / 28</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="libflash.c.gcov.html">libflash.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=52 height=10 alt="52.1%"><img src="../snow.png" width=48 height=10 alt="52.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=52 height=10 alt="51.9%"><img src="../snow.png" width=48 height=10 alt="51.9%"></td></tr></table>
</td>
- <td class="coverPerLo">52.1&nbsp;%</td>
- <td class="coverNumLo">240 / 461</td>
+ <td class="coverPerLo">51.9&nbsp;%</td>
+ <td class="coverNumLo">240 / 462</td>
<td class="coverPerMed">75.0&nbsp;%</td>
<td class="coverNumMed">18 / 24</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libflash/ipmi-hiomap.c.func-sort-c.html b/coverage-report/libflash/ipmi-hiomap.c.func-sort-c.html
index d9d16f1..31398ea 100644
--- a/coverage-report/libflash/ipmi-hiomap.c.func-sort-c.html
+++ b/coverage-report/libflash/ipmi-hiomap.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">26</td>
diff --git a/coverage-report/libflash/ipmi-hiomap.c.func.html b/coverage-report/libflash/ipmi-hiomap.c.func.html
index b0ebd9d..a2a199e 100644
--- a/coverage-report/libflash/ipmi-hiomap.c.func.html
+++ b/coverage-report/libflash/ipmi-hiomap.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">26</td>
diff --git a/coverage-report/libflash/ipmi-hiomap.c.gcov.html b/coverage-report/libflash/ipmi-hiomap.c.gcov.html
index 88e1fed..cd17fc8 100644
--- a/coverage-report/libflash/ipmi-hiomap.c.gcov.html
+++ b/coverage-report/libflash/ipmi-hiomap.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">26</td>
diff --git a/coverage-report/libflash/libffs.c.func-sort-c.html b/coverage-report/libflash/libffs.c.func-sort-c.html
index ae69ad2..f0c1126 100644
--- a/coverage-report/libflash/libffs.c.func-sort-c.html
+++ b/coverage-report/libflash/libffs.c.func-sort-c.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">187</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">45.6 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">48.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">14</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">58.3 %</td>
+ <td class="headerCovTableEntry">17</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">60.7 %</td>
</tr>
<tr>
<td></td>
@@ -105,6 +105,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#51">ffs_num_entries</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#204">ffs_string_to_entry_user</a></td>
<td class="coverFnLo">0</td>
</tr>
@@ -113,6 +117,10 @@
<td class="coverFnHi">1</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#81">ffs_entry_user_to_flash</a></td>
+ <td class="coverFnHi">1</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#458">ffs_lookup_part</a></td>
<td class="coverFnHi">2</td>
</tr>
@@ -149,10 +157,6 @@
<td class="coverFnHi">10</td>
</tr>
<tr>
- <td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
- <td class="coverFnHi">13</td>
- </tr>
- <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#266">ffs_entry_get</a></td>
<td class="coverFnHi">16</td>
</tr>
@@ -164,6 +168,18 @@
<td class="coverFn"><a href="libffs.c.gcov.html#254">has_flag</a></td>
<td class="coverFnHi">36</td>
</tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#139">ffs_entry_to_cpu</a></td>
+ <td class="coverFnHi">59</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#92">ffs_entry_user_to_cpu</a></td>
+ <td class="coverFnHi">59</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
+ <td class="coverFnHi">72</td>
+ </tr>
</table>
<br>
</center>
diff --git a/coverage-report/libflash/libffs.c.func.html b/coverage-report/libflash/libffs.c.func.html
index 7d6e82f..35d7d3e 100644
--- a/coverage-report/libflash/libffs.c.func.html
+++ b/coverage-report/libflash/libffs.c.func.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">187</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">45.6 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">48.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">14</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">58.3 %</td>
+ <td class="headerCovTableEntry">17</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">60.7 %</td>
</tr>
<tr>
<td></td>
@@ -94,13 +94,17 @@
</tr>
<tr>
<td class="coverFn"><a href="libffs.c.gcov.html#274">ffs_entry_put</a></td>
- <td class="coverFnHi">13</td>
+ <td class="coverFnHi">72</td>
</tr>
<tr>
<td class="coverFn"><a href="libffs.c.gcov.html#750">ffs_entry_set_act_size</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#139">ffs_entry_to_cpu</a></td>
+ <td class="coverFnHi">59</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#103">ffs_entry_to_flash</a></td>
<td class="coverFnHi">1</td>
</tr>
@@ -113,6 +117,14 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#92">ffs_entry_user_to_cpu</a></td>
+ <td class="coverFnHi">59</td>
+ </tr>
+ <tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#81">ffs_entry_user_to_flash</a></td>
+ <td class="coverFnHi">1</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#160">ffs_entry_user_to_string</a></td>
<td class="coverFnHi">7</td>
</tr>
@@ -145,6 +157,10 @@
<td class="coverFnLo">0</td>
</tr>
<tr>
+ <td class="coverFn"><a href="libffs.c.gcov.html#51">ffs_num_entries</a></td>
+ <td class="coverFnLo">0</td>
+ </tr>
+ <tr>
<td class="coverFn"><a href="libffs.c.gcov.html#477">ffs_part_info</a></td>
<td class="coverFnHi">22</td>
</tr>
diff --git a/coverage-report/libflash/libffs.c.gcov.html b/coverage-report/libflash/libffs.c.gcov.html
index f9ef288..3cc96fb 100644
--- a/coverage-report/libflash/libffs.c.gcov.html
+++ b/coverage-report/libflash/libffs.c.gcov.html
@@ -31,18 +31,18 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">187</td>
- <td class="headerCovTableEntry">410</td>
- <td class="headerCovTableEntryLo">45.6 %</td>
+ <td class="headerCovTableEntry">208</td>
+ <td class="headerCovTableEntry">430</td>
+ <td class="headerCovTableEntryLo">48.4 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">14</td>
- <td class="headerCovTableEntry">24</td>
- <td class="headerCovTableEntryLo">58.3 %</td>
+ <td class="headerCovTableEntry">17</td>
+ <td class="headerCovTableEntry">28</td>
+ <td class="headerCovTableEntryLo">60.7 %</td>
</tr>
<tr>
<td></td>
@@ -96,24 +96,24 @@
<a name="25"><span class="lineNum"> 25 </span> : : struct blocklevel_device *bl;</a>
<a name="26"><span class="lineNum"> 26 </span> : : };</a>
<a name="27"><span class="lineNum"> 27 </span> : : </a>
-<a name="28"><span class="lineNum"> 28 </span> : : static uint32_t ffs_checksum(void* data, size_t size)</a>
+<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 59 : static uint32_t ffs_checksum(void* data, size_t size)</span></a>
<a name="29"><span class="lineNum"> 29 </span> : : {</a>
-<a name="30"><span class="lineNum"> 30 </span> : : uint32_t i, csum = 0;</a>
+<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 59 : uint32_t i, csum = 0;</span></a>
<a name="31"><span class="lineNum"> 31 </span> : : </a>
-<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 290 : for (i = csum = 0; i &lt; (size/4); i++)</span></a>
-<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 140 : csum ^= ((uint32_t *)data)[i];</span></a>
-<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 10 : return csum;</span></a>
+<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 2097 : for (i = csum = 0; i &lt; (size/4); i++)</span></a>
+<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 2028 : csum ^= ((uint32_t *)data)[i];</span></a>
+<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 69 : return csum;</span></a>
<a name="35"><span class="lineNum"> 35 </span> : : }</a>
<a name="36"><span class="lineNum"> 36 </span> : : </a>
<a name="37"><span class="lineNum"> 37 </span> : : /* Helper functions for typesafety and size safety */</a>
<a name="38"><span class="lineNum"> 38 </span> :<span class="lineNoCov"> 0 : static uint32_t ffs_hdr_checksum(struct __ffs_hdr *hdr)</span></a>
<a name="39"><span class="lineNum"> 39 </span> : : {</a>
-<a name="40"><span class="lineNum"> 40 </span> :<span class="lineNoCov"> 0 : return ffs_checksum(hdr, sizeof(struct __ffs_hdr));</span></a>
+<a name="40"><span class="lineNum"> 40 </span> : : return ffs_checksum(hdr, sizeof(struct __ffs_hdr));</a>
<a name="41"><span class="lineNum"> 41 </span> : : }</a>
<a name="42"><span class="lineNum"> 42 </span> : : </a>
-<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 1 : static uint32_t ffs_entry_checksum(struct __ffs_entry *ent)</span></a>
+<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 60 : static uint32_t ffs_entry_checksum(struct __ffs_entry *ent)</span></a>
<a name="44"><span class="lineNum"> 44 </span> : : {</a>
-<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 33 : return ffs_checksum(ent, sizeof(struct __ffs_entry));</span></a>
+<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 118 : return ffs_checksum(ent, sizeof(struct __ffs_entry));</span></a>
<a name="46"><span class="lineNum"> 46 </span> : : }</a>
<a name="47"><span class="lineNum"> 47 </span> : : </a>
<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 2 : static size_t ffs_hdr_raw_size(int num_entries)</span></a>
@@ -135,7 +135,7 @@
<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 9 : dst-&gt;version = be32_to_cpu(src-&gt;version);</span></a>
<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 9 : if (dst-&gt;version != FFS_VERSION_1)</span></a>
<a name="66"><span class="lineNum"> 66 </span> : : return FFS_ERR_BAD_VERSION;</a>
-<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 117 : if (ffs_hdr_checksum(src) != 0)</span></a>
+<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 9 : if (ffs_hdr_checksum(src) != 0)</span></a>
<a name="68"><span class="lineNum"> 68 </span> : : return FFS_ERR_BAD_CKSUM;</a>
<a name="69"><span class="lineNum"> 69 </span> :<span class="lineCov"> 9 : if (be32_to_cpu(src-&gt;entry_size) != sizeof(struct __ffs_entry))</span></a>
<a name="70"><span class="lineNum"> 70 </span> : : return FFS_ERR_BAD_SIZE;</a>
@@ -162,15 +162,15 @@
<a name="91"><span class="lineNum"> 91 </span> :<span class="lineCov"> 1 : return 0;</span></a>
<a name="92"><span class="lineNum"> 92 </span> : : }</a>
<a name="93"><span class="lineNum"> 93 </span> : : </a>
-<a name="94"><span class="lineNum"> 94 </span> : : static int ffs_entry_user_to_cpu(struct ffs_hdr *hdr __unused,</a>
+<a name="94"><span class="lineNum"> 94 </span> :<span class="lineCov"> 59 : static int ffs_entry_user_to_cpu(struct ffs_hdr *hdr __unused,</span></a>
<a name="95"><span class="lineNum"> 95 </span> : : struct ffs_entry_user *dst, struct __ffs_entry_user *src)</a>
<a name="96"><span class="lineNum"> 96 </span> : : {</a>
-<a name="97"><span class="lineNum"> 97 </span> : : memset(dst, 0, sizeof(struct ffs_entry_user));</a>
-<a name="98"><span class="lineNum"> 98 </span> : : dst-&gt;datainteg = be16_to_cpu(src-&gt;datainteg);</a>
-<a name="99"><span class="lineNum"> 99 </span> : : dst-&gt;vercheck = src-&gt;vercheck;</a>
-<a name="100"><span class="lineNum"> 100 </span> : : dst-&gt;miscflags = src-&gt;miscflags;</a>
+<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 59 : memset(dst, 0, sizeof(struct ffs_entry_user));</span></a>
+<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 59 : dst-&gt;datainteg = be16_to_cpu(src-&gt;datainteg);</span></a>
+<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 59 : dst-&gt;vercheck = src-&gt;vercheck;</span></a>
+<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 59 : dst-&gt;miscflags = src-&gt;miscflags;</span></a>
<a name="101"><span class="lineNum"> 101 </span> : : </a>
-<a name="102"><span class="lineNum"> 102 </span> : : return 0;</a>
+<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 59 : return 0;</span></a>
<a name="103"><span class="lineNum"> 103 </span> : : }</a>
<a name="104"><span class="lineNum"> 104 </span> : : </a>
<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 1 : static int ffs_entry_to_flash(struct ffs_hdr *hdr,</span></a>
@@ -209,25 +209,25 @@
<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 1 : return rc;</span></a>
<a name="139"><span class="lineNum"> 139 </span> : : }</a>
<a name="140"><span class="lineNum"> 140 </span> : : </a>
-<a name="141"><span class="lineNum"> 141 </span> : : static int ffs_entry_to_cpu(struct ffs_hdr *hdr,</a>
+<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 59 : static int ffs_entry_to_cpu(struct ffs_hdr *hdr,</span></a>
<a name="142"><span class="lineNum"> 142 </span> : : struct ffs_entry *dst, struct __ffs_entry *src)</a>
<a name="143"><span class="lineNum"> 143 </span> : : {</a>
-<a name="144"><span class="lineNum"> 144 </span> : : int rc;</a>
+<a name="144"><span class="lineNum"> 144 </span> :<span class="lineCov"> 59 : int rc;</span></a>
<a name="145"><span class="lineNum"> 145 </span> : : </a>
-<a name="146"><span class="lineNum"> 146 </span> : : if (ffs_entry_checksum(src) != 0)</a>
+<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 118 : if (ffs_entry_checksum(src) != 0)</span></a>
<a name="147"><span class="lineNum"> 147 </span> : : return FFS_ERR_BAD_CKSUM;</a>
<a name="148"><span class="lineNum"> 148 </span> : : </a>
-<a name="149"><span class="lineNum"> 149 </span> : : memcpy(dst-&gt;name, src-&gt;name, sizeof(dst-&gt;name));</a>
-<a name="150"><span class="lineNum"> 150 </span> : : dst-&gt;name[FFS_PART_NAME_MAX] = '\0';</a>
-<a name="151"><span class="lineNum"> 151 </span> : : dst-&gt;base = be32_to_cpu(src-&gt;base) * hdr-&gt;block_size;</a>
-<a name="152"><span class="lineNum"> 152 </span> : : dst-&gt;size = be32_to_cpu(src-&gt;size) * hdr-&gt;block_size;</a>
-<a name="153"><span class="lineNum"> 153 </span> : : dst-&gt;actual = be32_to_cpu(src-&gt;actual);</a>
-<a name="154"><span class="lineNum"> 154 </span> : : dst-&gt;pid = be32_to_cpu(src-&gt;pid);</a>
-<a name="155"><span class="lineNum"> 155 </span> : : dst-&gt;type = be32_to_cpu(src-&gt;type); /* TODO: Check that it is valid? */</a>
-<a name="156"><span class="lineNum"> 156 </span> : : dst-&gt;flags = be32_to_cpu(src-&gt;flags);</a>
-<a name="157"><span class="lineNum"> 157 </span> : : rc = ffs_entry_user_to_cpu(hdr, &amp;dst-&gt;user, &amp;src-&gt;user);</a>
+<a name="149"><span class="lineNum"> 149 </span> :<span class="lineCov"> 59 : memcpy(dst-&gt;name, src-&gt;name, sizeof(dst-&gt;name));</span></a>
+<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 59 : dst-&gt;name[FFS_PART_NAME_MAX] = '\0';</span></a>
+<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 59 : dst-&gt;base = be32_to_cpu(src-&gt;base) * hdr-&gt;block_size;</span></a>
+<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 59 : dst-&gt;size = be32_to_cpu(src-&gt;size) * hdr-&gt;block_size;</span></a>
+<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 59 : dst-&gt;actual = be32_to_cpu(src-&gt;actual);</span></a>
+<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 59 : dst-&gt;pid = be32_to_cpu(src-&gt;pid);</span></a>
+<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 59 : dst-&gt;type = be32_to_cpu(src-&gt;type); /* TODO: Check that it is valid? */</span></a>
+<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 59 : dst-&gt;flags = be32_to_cpu(src-&gt;flags);</span></a>
+<a name="157"><span class="lineNum"> 157 </span> :<span class="lineCov"> 59 : rc = ffs_entry_user_to_cpu(hdr, &amp;dst-&gt;user, &amp;src-&gt;user);</span></a>
<a name="158"><span class="lineNum"> 158 </span> : : </a>
-<a name="159"><span class="lineNum"> 159 </span> : : return rc;</a>
+<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 59 : return rc;</span></a>
<a name="160"><span class="lineNum"> 160 </span> : : }</a>
<a name="161"><span class="lineNum"> 161 </span> : : </a>
<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 7 : char *ffs_entry_user_to_string(struct ffs_entry_user *user)</span></a>
@@ -346,7 +346,7 @@
<a name="275"><span class="lineNum"> 275 </span> : : </a>
<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 72 : struct ffs_entry *ffs_entry_put(struct ffs_entry *ent)</span></a>
<a name="277"><span class="lineNum"> 277 </span> : : {</a>
-<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 13 : if (!ent)</span></a>
+<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 72 : if (!ent)</span></a>
<a name="279"><span class="lineNum"> 279 </span> : : return NULL;</a>
<a name="280"><span class="lineNum"> 280 </span> : : </a>
<a name="281"><span class="lineNum"> 281 </span> :<span class="lineCov"> 72 : ent-&gt;ref--;</span></a>
@@ -508,7 +508,7 @@
<a name="437"><span class="lineNum"> 437 </span> : : return;</a>
<a name="438"><span class="lineNum"> 438 </span> : : </a>
<a name="439"><span class="lineNum"> 439 </span> :<span class="lineCov"> 68 : for (i = 0; i &lt; hdr-&gt;count; i++)</span></a>
-<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 118 : ffs_entry_put(hdr-&gt;entries[i]);</span></a>
+<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 59 : ffs_entry_put(hdr-&gt;entries[i]);</span></a>
<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 9 : free(hdr-&gt;entries);</span></a>
<a name="442"><span class="lineNum"> 442 </span> : : }</a>
<a name="443"><span class="lineNum"> 443 </span> : : </a>
diff --git a/coverage-report/libflash/libflash.c.func-sort-c.html b/coverage-report/libflash/libflash.c.func-sort-c.html
index cfee028..ae863da 100644
--- a/coverage-report/libflash/libflash.c.func-sort-c.html
+++ b/coverage-report/libflash/libflash.c.func-sort-c.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">240</td>
- <td class="headerCovTableEntry">461</td>
- <td class="headerCovTableEntryLo">52.1 %</td>
+ <td class="headerCovTableEntry">462</td>
+ <td class="headerCovTableEntryLo">51.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">18</td>
diff --git a/coverage-report/libflash/libflash.c.func.html b/coverage-report/libflash/libflash.c.func.html
index 89e6041..7fa99a4 100644
--- a/coverage-report/libflash/libflash.c.func.html
+++ b/coverage-report/libflash/libflash.c.func.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">240</td>
- <td class="headerCovTableEntry">461</td>
- <td class="headerCovTableEntryLo">52.1 %</td>
+ <td class="headerCovTableEntry">462</td>
+ <td class="headerCovTableEntryLo">51.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">18</td>
diff --git a/coverage-report/libflash/libflash.c.gcov.html b/coverage-report/libflash/libflash.c.gcov.html
index e88db43..e00ff92 100644
--- a/coverage-report/libflash/libflash.c.gcov.html
+++ b/coverage-report/libflash/libflash.c.gcov.html
@@ -32,12 +32,12 @@
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">240</td>
- <td class="headerCovTableEntry">461</td>
- <td class="headerCovTableEntryLo">52.1 %</td>
+ <td class="headerCovTableEntry">462</td>
+ <td class="headerCovTableEntryLo">51.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">18</td>
@@ -367,7 +367,7 @@
<a name="296"><span class="lineNum"> 296 </span> : : uint32_t size)</a>
<a name="297"><span class="lineNum"> 297 </span> : : {</a>
<a name="298"><span class="lineNum"> 298 </span> :<span class="lineCov"> 8098 : struct spi_flash_ctrl *ct = c-&gt;ctrl;</span></a>
-<a name="299"><span class="lineNum"> 299 </span> : : int rc;</a>
+<a name="299"><span class="lineNum"> 299 </span> :<span class="lineNoCov"> 0 : int rc;</span></a>
<a name="300"><span class="lineNum"> 300 </span> : : </a>
<a name="301"><span class="lineNum"> 301 </span> :<span class="lineCov"> 8098 : if (size &lt; 1 || size &gt; 0x100)</span></a>
<a name="302"><span class="lineNum"> 302 </span> :<span class="lineNoCov"> 0 : return FLASH_ERR_BAD_PAGE_SIZE;</span></a>
diff --git a/coverage-report/libflash/mbox-flash.c.func-sort-c.html b/coverage-report/libflash/mbox-flash.c.func-sort-c.html
index 3a0bb39..74b5fcd 100644
--- a/coverage-report/libflash/mbox-flash.c.func-sort-c.html
+++ b/coverage-report/libflash/mbox-flash.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">45</td>
diff --git a/coverage-report/libflash/mbox-flash.c.func.html b/coverage-report/libflash/mbox-flash.c.func.html
index 19d2bd2..e73905d 100644
--- a/coverage-report/libflash/mbox-flash.c.func.html
+++ b/coverage-report/libflash/mbox-flash.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">45</td>
diff --git a/coverage-report/libflash/mbox-flash.c.gcov.html b/coverage-report/libflash/mbox-flash.c.gcov.html
index 9993702..e559ad6 100644
--- a/coverage-report/libflash/mbox-flash.c.gcov.html
+++ b/coverage-report/libflash/mbox-flash.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">45</td>
@@ -223,34 +223,34 @@
<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 659 : prlog(PR_TRACE, &quot;Reading at 0x%08x for 0x%08x offset: 0x%08x\n&quot;,</span></a>
<a name="153"><span class="lineNum"> 153 </span> : : pos, len, off);</a>
<a name="154"><span class="lineNum"> 154 </span> : : </a>
-<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 22434800 : while(len) {</span></a>
+<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 22434764 : while(len) {</span></a>
<a name="156"><span class="lineNum"> 156 </span> : : uint32_t chunk;</a>
<a name="157"><span class="lineNum"> 157 </span> : : uint32_t dat;</a>
<a name="158"><span class="lineNum"> 158 </span> : : </a>
<a name="159"><span class="lineNum"> 159 </span> : : /* XXX: make this read until it's aligned */</a>
-<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 22434100 : if (len &gt; 3 &amp;&amp; !(off &amp; 3)) {</span></a>
-<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 22433800 : rc = lpc_read(OPAL_LPC_FW, off, &amp;dat, 4);</span></a>
-<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 22433800 : if (!rc) {</span></a>
+<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 22434105 : if (len &gt; 3 &amp;&amp; !(off &amp; 3)) {</span></a>
+<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 22433797 : rc = lpc_read(OPAL_LPC_FW, off, &amp;dat, 4);</span></a>
+<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 22433797 : if (!rc) {</span></a>
<a name="163"><span class="lineNum"> 163 </span> : : /*</a>
<a name="164"><span class="lineNum"> 164 </span> : : * lpc_read swaps to CPU endian but it's not</a>
<a name="165"><span class="lineNum"> 165 </span> : : * really a 32-bit value, so convert back.</a>
<a name="166"><span class="lineNum"> 166 </span> : : */</a>
-<a name="167"><span class="lineNum"> 167 </span> :<span class="lineCov"> 22433800 : *(__be32 *)buf = cpu_to_be32(dat);</span></a>
+<a name="167"><span class="lineNum"> 167 </span> :<span class="lineCov"> 22433797 : *(__be32 *)buf = cpu_to_be32(dat);</span></a>
<a name="168"><span class="lineNum"> 168 </span> : : }</a>
-<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 22433800 : chunk = 4;</span></a>
+<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 22433797 : chunk = 4;</span></a>
<a name="170"><span class="lineNum"> 170 </span> : : } else {</a>
<a name="171"><span class="lineNum"> 171 </span> :<span class="lineCov"> 308 : rc = lpc_read(OPAL_LPC_FW, off, &amp;dat, 1);</span></a>
<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 308 : if (!rc)</span></a>
<a name="173"><span class="lineNum"> 173 </span> :<span class="lineCov"> 308 : *(uint8_t *)buf = dat;</span></a>
<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 308 : chunk = 1;</span></a>
<a name="175"><span class="lineNum"> 175 </span> : : }</a>
-<a name="176"><span class="lineNum"> 176 </span> :<span class="lineCov"> 22434100 : if (rc) {</span></a>
+<a name="176"><span class="lineNum"> 176 </span> :<span class="lineCov"> 22434105 : if (rc) {</span></a>
<a name="177"><span class="lineNum"> 177 </span> :<span class="lineNoCov"> 0 : prlog(PR_ERR, &quot;lpc_read failure %d to FW 0x%08x\n&quot;, rc, off);</span></a>
<a name="178"><span class="lineNum"> 178 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="179"><span class="lineNum"> 179 </span> : : }</a>
-<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 22434100 : len -= chunk;</span></a>
-<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 22434100 : off += chunk;</span></a>
-<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 22434100 : buf += chunk;</span></a>
+<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 22434105 : len -= chunk;</span></a>
+<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 22434105 : off += chunk;</span></a>
+<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 22434105 : buf += chunk;</span></a>
<a name="183"><span class="lineNum"> 183 </span> : : }</a>
<a name="184"><span class="lineNum"> 184 </span> : : </a>
<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 659 : return 0;</span></a>
@@ -266,28 +266,28 @@
<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 96 : prlog(PR_TRACE, &quot;Writing at 0x%08x for 0x%08x offset: 0x%08x\n&quot;,</span></a>
<a name="196"><span class="lineNum"> 196 </span> : : pos, len, off);</a>
<a name="197"><span class="lineNum"> 197 </span> : : </a>
-<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 6236270 : while(len) {</span></a>
+<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 6236268 : while(len) {</span></a>
<a name="199"><span class="lineNum"> 199 </span> : : uint32_t chunk;</a>
<a name="200"><span class="lineNum"> 200 </span> : : </a>
-<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 6236170 : if (len &gt; 3 &amp;&amp; !(off &amp; 3)) {</span></a>
+<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 6236172 : if (len &gt; 3 &amp;&amp; !(off &amp; 3)) {</span></a>
<a name="202"><span class="lineNum"> 202 </span> : : /* endian swap: see lpc_window_read */</a>
-<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 6236170 : uint32_t dat = be32_to_cpu(*(__be32 *)buf);</span></a>
+<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 6236172 : uint32_t dat = be32_to_cpu(*(__be32 *)buf);</span></a>
<a name="204"><span class="lineNum"> 204 </span> : : </a>
-<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 6236170 : rc = lpc_write(OPAL_LPC_FW, off, dat, 4);</span></a>
-<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 6236170 : chunk = 4;</span></a>
+<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 6236172 : rc = lpc_write(OPAL_LPC_FW, off, dat, 4);</span></a>
+<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 6236172 : chunk = 4;</span></a>
<a name="207"><span class="lineNum"> 207 </span> : : } else {</a>
<a name="208"><span class="lineNum"> 208 </span> :<span class="lineNoCov"> 0 : uint8_t dat = *(uint8_t *)buf;</span></a>
<a name="209"><span class="lineNum"> 209 </span> : : </a>
<a name="210"><span class="lineNum"> 210 </span> :<span class="lineNoCov"> 0 : rc = lpc_write(OPAL_LPC_FW, off, dat, 1);</span></a>
<a name="211"><span class="lineNum"> 211 </span> :<span class="lineNoCov"> 0 : chunk = 1;</span></a>
<a name="212"><span class="lineNum"> 212 </span> : : }</a>
-<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 6236170 : if (rc) {</span></a>
+<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 6236172 : if (rc) {</span></a>
<a name="214"><span class="lineNum"> 214 </span> :<span class="lineNoCov"> 0 : prlog(PR_ERR, &quot;lpc_write failure %d to FW 0x%08x\n&quot;, rc, off);</span></a>
<a name="215"><span class="lineNum"> 215 </span> :<span class="lineNoCov"> 0 : return rc;</span></a>
<a name="216"><span class="lineNum"> 216 </span> : : }</a>
-<a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 6236170 : len -= chunk;</span></a>
-<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 6236170 : off += chunk;</span></a>
-<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 6236170 : buf += chunk;</span></a>
+<a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 6236172 : len -= chunk;</span></a>
+<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 6236172 : off += chunk;</span></a>
+<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 6236172 : buf += chunk;</span></a>
<a name="220"><span class="lineNum"> 220 </span> : : }</a>
<a name="221"><span class="lineNum"> 221 </span> : : </a>
<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 96 : return 0;</span></a>
diff --git a/coverage-report/libflash/test/index-sort-b.html b/coverage-report/libflash/test/index-sort-b.html
index 902ac68..9788498 100644
--- a/coverage-report/libflash/test/index-sort-b.html
+++ b/coverage-report/libflash/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">119</td>
@@ -82,26 +82,38 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="stubs.c.gcov.html">stubs.c</a></td>
+ <td class="coverFile"><a href="test-ecc.c.gcov.html">test-ecc.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../amber.png" width=88 height=10 alt="88.4%"><img src="../../snow.png" width=12 height=10 alt="88.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=51 height=10 alt="51.1%"><img src="../../snow.png" width=49 height=10 alt="51.1%"></td></tr></table>
</td>
- <td class="coverPerMed">88.4&nbsp;%</td>
- <td class="coverNumMed">38 / 43</td>
- <td class="coverPerMed">83.3&nbsp;%</td>
- <td class="coverNumMed">10 / 12</td>
+ <td class="coverPerLo">51.1&nbsp;%</td>
+ <td class="coverNumLo">45 / 88</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="test-blocklevel.c.gcov.html">test-blocklevel.c</a></td>
+ <td class="coverFile"><a href="test-flash.c.gcov.html">test-flash.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=41 height=10 alt="40.8%"><img src="../../snow.png" width=59 height=10 alt="40.8%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=67 height=10 alt="66.5%"><img src="../../snow.png" width=33 height=10 alt="66.5%"></td></tr></table>
</td>
- <td class="coverPerLo">40.8&nbsp;%</td>
- <td class="coverNumLo">160 / 392</td>
- <td class="coverPerLo">60.0&nbsp;%</td>
- <td class="coverNumLo">6 / 10</td>
+ <td class="coverPerLo">66.5&nbsp;%</td>
+ <td class="coverNumLo">173 / 260</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">11 / 11</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
+ <td class="coverFile"><a href="stubs.c.gcov.html">stubs.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../amber.png" width=88 height=10 alt="88.4%"><img src="../../snow.png" width=12 height=10 alt="88.4%"></td></tr></table>
+ </td>
+ <td class="coverPerMed">88.4&nbsp;%</td>
+ <td class="coverNumMed">38 / 43</td>
+ <td class="coverPerMed">83.3&nbsp;%</td>
+ <td class="coverNumMed">10 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
@@ -130,38 +142,26 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="test-ipmi-hiomap.c.gcov.html">test-ipmi-hiomap.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="97.7%"><img src="../../snow.png" width=2 height=10 alt="97.7%"></td></tr></table>
- </td>
- <td class="coverPerHi">97.7&nbsp;%</td>
- <td class="coverNumHi">646 / 661</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">69 / 69</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="test-ecc.c.gcov.html">test-ecc.c</a></td>
+ <td class="coverFile"><a href="test-blocklevel.c.gcov.html">test-blocklevel.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=51 height=10 alt="51.1%"><img src="../../snow.png" width=49 height=10 alt="51.1%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=41 height=10 alt="40.8%"><img src="../../snow.png" width=59 height=10 alt="40.8%"></td></tr></table>
</td>
- <td class="coverPerLo">51.1&nbsp;%</td>
- <td class="coverNumLo">45 / 88</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerLo">40.8&nbsp;%</td>
+ <td class="coverNumLo">160 / 392</td>
+ <td class="coverPerLo">60.0&nbsp;%</td>
+ <td class="coverNumLo">6 / 10</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="test-flash.c.gcov.html">test-flash.c</a></td>
+ <td class="coverFile"><a href="test-ipmi-hiomap.c.gcov.html">test-ipmi-hiomap.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=67 height=10 alt="66.5%"><img src="../../snow.png" width=33 height=10 alt="66.5%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="97.7%"><img src="../../snow.png" width=2 height=10 alt="97.7%"></td></tr></table>
</td>
- <td class="coverPerLo">66.5&nbsp;%</td>
- <td class="coverNumLo">173 / 260</td>
+ <td class="coverPerHi">97.7&nbsp;%</td>
+ <td class="coverNumHi">646 / 661</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">11 / 11</td>
+ <td class="coverNumHi">69 / 69</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/libflash/test/index-sort-f.html b/coverage-report/libflash/test/index-sort-f.html
index 2cf992a..ae5848d 100644
--- a/coverage-report/libflash/test/index-sort-f.html
+++ b/coverage-report/libflash/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">119</td>
diff --git a/coverage-report/libflash/test/index-sort-l.html b/coverage-report/libflash/test/index-sort-l.html
index 765bf4c..97901d2 100644
--- a/coverage-report/libflash/test/index-sort-l.html
+++ b/coverage-report/libflash/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">119</td>
diff --git a/coverage-report/libflash/test/index.html b/coverage-report/libflash/test/index.html
index 946daa6..5faf381 100644
--- a/coverage-report/libflash/test/index.html
+++ b/coverage-report/libflash/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">119</td>
diff --git a/coverage-report/libflash/test/mbox-server.c.func-sort-c.html b/coverage-report/libflash/test/mbox-server.c.func-sort-c.html
index 571d7f0..249aa37 100644
--- a/coverage-report/libflash/test/mbox-server.c.func-sort-c.html
+++ b/coverage-report/libflash/test/mbox-server.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">19</td>
@@ -134,15 +134,15 @@
</tr>
<tr>
<td class="coverFn"><a href="mbox-server.c.gcov.html#121">lpc_write</a></td>
- <td class="coverFnHi">6236170</td>
+ <td class="coverFnHi">6236172</td>
</tr>
<tr>
<td class="coverFn"><a href="mbox-server.c.gcov.html#95">lpc_read</a></td>
- <td class="coverFnHi">22434100</td>
+ <td class="coverFnHi">22434105</td>
</tr>
<tr>
<td class="coverFn"><a href="mbox-server.c.gcov.html#66">check_window</a></td>
- <td class="coverFnHi">28670400</td>
+ <td class="coverFnHi">28670397</td>
</tr>
</table>
<br>
diff --git a/coverage-report/libflash/test/mbox-server.c.func.html b/coverage-report/libflash/test/mbox-server.c.func.html
index 9e4812a..e54df89 100644
--- a/coverage-report/libflash/test/mbox-server.c.func.html
+++ b/coverage-report/libflash/test/mbox-server.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">19</td>
@@ -90,7 +90,7 @@
</tr>
<tr>
<td class="coverFn"><a href="mbox-server.c.gcov.html#66">check_window</a></td>
- <td class="coverFnHi">28670400</td>
+ <td class="coverFnHi">28670397</td>
</tr>
<tr>
<td class="coverFn"><a href="mbox-server.c.gcov.html#164">close_window</a></td>
@@ -102,11 +102,11 @@
</tr>
<tr>
<td class="coverFn"><a href="mbox-server.c.gcov.html#95">lpc_read</a></td>
- <td class="coverFnHi">22434100</td>
+ <td class="coverFnHi">22434105</td>
</tr>
<tr>
<td class="coverFn"><a href="mbox-server.c.gcov.html#121">lpc_write</a></td>
- <td class="coverFnHi">6236170</td>
+ <td class="coverFnHi">6236172</td>
</tr>
<tr>
<td class="coverFn"><a href="mbox-server.c.gcov.html#509">mbox_server_destroy</a></td>
diff --git a/coverage-report/libflash/test/mbox-server.c.gcov.html b/coverage-report/libflash/test/mbox-server.c.gcov.html
index 2b9f871..5860e38 100644
--- a/coverage-report/libflash/test/mbox-server.c.gcov.html
+++ b/coverage-report/libflash/test/mbox-server.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">19</td>
@@ -136,13 +136,13 @@
<a name="65"><span class="lineNum"> 65 </span> : : } server_state;</a>
<a name="66"><span class="lineNum"> 66 </span> : : </a>
<a name="67"><span class="lineNum"> 67 </span> : : </a>
-<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 28670400 : static bool check_window(uint32_t pos, uint32_t size)</span></a>
+<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 28670397 : static bool check_window(uint32_t pos, uint32_t size)</span></a>
<a name="69"><span class="lineNum"> 69 </span> : : {</a>
<a name="70"><span class="lineNum"> 70 </span> : : /* If size is zero then all is well */</a>
-<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 28670400 : if (size == 0)</span></a>
+<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 28670397 : if (size == 0)</span></a>
<a name="72"><span class="lineNum"> 72 </span> :<span class="lineCov"> 24 : return true;</span></a>
<a name="73"><span class="lineNum"> 73 </span> : : </a>
-<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 28670400 : if (server_state.api == 1) {</span></a>
+<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 28670373 : if (server_state.api == 1) {</span></a>
<a name="75"><span class="lineNum"> 75 </span> : : /*</a>
<a name="76"><span class="lineNum"> 76 </span> : : * Can actually be stricter in v1 because pos is relative to</a>
<a name="77"><span class="lineNum"> 77 </span> : : * flash not window</a>
@@ -156,61 +156,61 @@
<a name="85"><span class="lineNum"> 85 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="86"><span class="lineNum"> 86 </span> : : }</a>
<a name="87"><span class="lineNum"> 87 </span> : : } else {</a>
-<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 28566100 : if (pos + size &gt; server_state.win_base + server_state.win_size)</span></a>
+<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 28566129 : if (pos + size &gt; server_state.win_base + server_state.win_size)</span></a>
<a name="89"><span class="lineNum"> 89 </span> :<span class="lineNoCov"> 0 : return false;</span></a>
<a name="90"><span class="lineNum"> 90 </span> : : }</a>
-<a name="91"><span class="lineNum"> 91 </span> :<span class="lineCov"> 28670400 : return true;</span></a>
+<a name="91"><span class="lineNum"> 91 </span> :<span class="lineCov"> 28670373 : return true;</span></a>
<a name="92"><span class="lineNum"> 92 </span> : : }</a>
<a name="93"><span class="lineNum"> 93 </span> : : </a>
<a name="94"><span class="lineNum"> 94 </span> : : /* skiboot test stubs */</a>
<a name="95"><span class="lineNum"> 95 </span> : : int64_t lpc_read(enum OpalLPCAddressType __unused addr_type, uint32_t addr,</a>
<a name="96"><span class="lineNum"> 96 </span> : : uint32_t *data, uint32_t sz);</a>
-<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 22434100 : int64_t lpc_read(enum OpalLPCAddressType __unused addr_type, uint32_t addr,</span></a>
+<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 22434105 : int64_t lpc_read(enum OpalLPCAddressType __unused addr_type, uint32_t addr,</span></a>
<a name="98"><span class="lineNum"> 98 </span> : : uint32_t *data, uint32_t sz)</a>
<a name="99"><span class="lineNum"> 99 </span> : : {</a>
<a name="100"><span class="lineNum"> 100 </span> : : /* Let it read from a write window... Spec says it ok! */</a>
-<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 22434100 : if (!check_window(addr, sz) || server_state.win_type == WIN_CLOSED)</span></a>
+<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 22434105 : if (!check_window(addr, sz) || server_state.win_type == WIN_CLOSED)</span></a>
<a name="102"><span class="lineNum"> 102 </span> :<span class="lineNoCov"> 0 : return 1;</span></a>
<a name="103"><span class="lineNum"> 103 </span> : : </a>
-<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 22434100 : switch (sz) {</span></a>
+<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 22434105 : switch (sz) {</span></a>
<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 308 : case 1:</span></a>
<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 308 : *(uint8_t *)data = *(uint8_t *)(server_state.lpc_base + addr);</span></a>
<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 308 : break;</span></a>
<a name="108"><span class="lineNum"> 108 </span> :<span class="lineNoCov"> 0 : case 2:</span></a>
<a name="109"><span class="lineNum"> 109 </span> :<span class="lineNoCov"> 0 : *(uint16_t *)data = be16_to_cpu(*(uint16_t *)(server_state.lpc_base + addr));</span></a>
<a name="110"><span class="lineNum"> 110 </span> :<span class="lineNoCov"> 0 : break;</span></a>
-<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 22433800 : case 4:</span></a>
-<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 22433800 : *(uint32_t *)data = be32_to_cpu(*(uint32_t *)(server_state.lpc_base + addr));</span></a>
-<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 22433800 : break;</span></a>
+<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 22433797 : case 4:</span></a>
+<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 22433797 : *(uint32_t *)data = be32_to_cpu(*(uint32_t *)(server_state.lpc_base + addr));</span></a>
+<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 22433797 : break;</span></a>
<a name="114"><span class="lineNum"> 114 </span> :<span class="lineNoCov"> 0 : default:</span></a>
<a name="115"><span class="lineNum"> 115 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Invalid data size %d\n&quot;, sz);</span></a>
<a name="116"><span class="lineNum"> 116 </span> :<span class="lineNoCov"> 0 : return 1;</span></a>
<a name="117"><span class="lineNum"> 117 </span> : : }</a>
-<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 22434100 : return 0;</span></a>
+<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 22434105 : return 0;</span></a>
<a name="119"><span class="lineNum"> 119 </span> : : }</a>
<a name="120"><span class="lineNum"> 120 </span> : : </a>
<a name="121"><span class="lineNum"> 121 </span> : : int64_t lpc_write(enum OpalLPCAddressType __unused addr_type, uint32_t addr,</a>
<a name="122"><span class="lineNum"> 122 </span> : : uint32_t data, uint32_t sz);</a>
-<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 6236170 : int64_t lpc_write(enum OpalLPCAddressType __unused addr_type, uint32_t addr,</span></a>
+<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 6236172 : int64_t lpc_write(enum OpalLPCAddressType __unused addr_type, uint32_t addr,</span></a>
<a name="124"><span class="lineNum"> 124 </span> : : uint32_t data, uint32_t sz)</a>
<a name="125"><span class="lineNum"> 125 </span> : : {</a>
-<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 6236170 : if (!check_window(addr, sz) || server_state.win_type != WIN_WRITE)</span></a>
+<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 6236172 : if (!check_window(addr, sz) || server_state.win_type != WIN_WRITE)</span></a>
<a name="127"><span class="lineNum"> 127 </span> :<span class="lineNoCov"> 0 : return 1;</span></a>
-<a name="128"><span class="lineNum"> 128 </span> :<span class="lineCov"> 6236170 : switch (sz) {</span></a>
+<a name="128"><span class="lineNum"> 128 </span> :<span class="lineCov"> 6236172 : switch (sz) {</span></a>
<a name="129"><span class="lineNum"> 129 </span> :<span class="lineNoCov"> 0 : case 1:</span></a>
<a name="130"><span class="lineNum"> 130 </span> :<span class="lineNoCov"> 0 : *(uint8_t *)(server_state.lpc_base + addr) = data;</span></a>
<a name="131"><span class="lineNum"> 131 </span> :<span class="lineNoCov"> 0 : break;</span></a>
<a name="132"><span class="lineNum"> 132 </span> :<span class="lineNoCov"> 0 : case 2:</span></a>
<a name="133"><span class="lineNum"> 133 </span> :<span class="lineNoCov"> 0 : *(uint16_t *)(server_state.lpc_base + addr) = cpu_to_be16(data);</span></a>
<a name="134"><span class="lineNum"> 134 </span> :<span class="lineNoCov"> 0 : break;</span></a>
-<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 6236170 : case 4:</span></a>
-<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 6236170 : *(uint32_t *)(server_state.lpc_base + addr) = cpu_to_be32(data);</span></a>
-<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 6236170 : break;</span></a>
+<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 6236172 : case 4:</span></a>
+<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 6236172 : *(uint32_t *)(server_state.lpc_base + addr) = cpu_to_be32(data);</span></a>
+<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 6236172 : break;</span></a>
<a name="138"><span class="lineNum"> 138 </span> :<span class="lineNoCov"> 0 : default:</span></a>
<a name="139"><span class="lineNum"> 139 </span> :<span class="lineNoCov"> 0 : prerror(&quot;Invalid data size %d\n&quot;, sz);</span></a>
<a name="140"><span class="lineNum"> 140 </span> :<span class="lineNoCov"> 0 : return 1;</span></a>
<a name="141"><span class="lineNum"> 141 </span> : : }</a>
-<a name="142"><span class="lineNum"> 142 </span> :<span class="lineCov"> 6236170 : return 0;</span></a>
+<a name="142"><span class="lineNum"> 142 </span> :<span class="lineCov"> 6236172 : return 0;</span></a>
<a name="143"><span class="lineNum"> 143 </span> : : }</a>
<a name="144"><span class="lineNum"> 144 </span> : : </a>
<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 4 : int bmc_mbox_register_attn(mbox_attn_cb handler, void *drv_data)</span></a>
diff --git a/coverage-report/libflash/test/stubs.c.func-sort-c.html b/coverage-report/libflash/test/stubs.c.func-sort-c.html
index aa3efe5..8ea1532 100644
--- a/coverage-report/libflash/test/stubs.c.func-sort-c.html
+++ b/coverage-report/libflash/test/stubs.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/libflash/test/stubs.c.func.html b/coverage-report/libflash/test/stubs.c.func.html
index ad8224e..e9580d6 100644
--- a/coverage-report/libflash/test/stubs.c.func.html
+++ b/coverage-report/libflash/test/stubs.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/libflash/test/stubs.c.gcov.html b/coverage-report/libflash/test/stubs.c.gcov.html
index 77a68f7..be0727d 100644
--- a/coverage-report/libflash/test/stubs.c.gcov.html
+++ b/coverage-report/libflash/test/stubs.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">10</td>
diff --git a/coverage-report/libflash/test/test-blocklevel.c.func-sort-c.html b/coverage-report/libflash/test/test-blocklevel.c.func-sort-c.html
index 15c4d66..a90efa6 100644
--- a/coverage-report/libflash/test/test-blocklevel.c.func-sort-c.html
+++ b/coverage-report/libflash/test/test-blocklevel.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libflash/test/test-blocklevel.c.func.html b/coverage-report/libflash/test/test-blocklevel.c.func.html
index 038ab55..d44569f 100644
--- a/coverage-report/libflash/test/test-blocklevel.c.func.html
+++ b/coverage-report/libflash/test/test-blocklevel.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libflash/test/test-blocklevel.c.gcov.html b/coverage-report/libflash/test/test-blocklevel.c.gcov.html
index 205eed5..0e2e866 100644
--- a/coverage-report/libflash/test/test-blocklevel.c.gcov.html
+++ b/coverage-report/libflash/test/test-blocklevel.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libflash/test/test-ecc.c.func-sort-c.html b/coverage-report/libflash/test/test-ecc.c.func-sort-c.html
index 7abd69d..aeabdef 100644
--- a/coverage-report/libflash/test/test-ecc.c.func-sort-c.html
+++ b/coverage-report/libflash/test/test-ecc.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libflash/test/test-ecc.c.func.html b/coverage-report/libflash/test/test-ecc.c.func.html
index 1fbb62c..d53f3dc 100644
--- a/coverage-report/libflash/test/test-ecc.c.func.html
+++ b/coverage-report/libflash/test/test-ecc.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libflash/test/test-ecc.c.gcov.html b/coverage-report/libflash/test/test-ecc.c.gcov.html
index 03ba3d8..de70238 100644
--- a/coverage-report/libflash/test/test-ecc.c.gcov.html
+++ b/coverage-report/libflash/test/test-ecc.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libflash/test/test-flash.c.func-sort-c.html b/coverage-report/libflash/test/test-flash.c.func-sort-c.html
index 4fbaa0f..b13e063 100644
--- a/coverage-report/libflash/test/test-flash.c.func-sort-c.html
+++ b/coverage-report/libflash/test/test-flash.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">11</td>
diff --git a/coverage-report/libflash/test/test-flash.c.func.html b/coverage-report/libflash/test/test-flash.c.func.html
index 129a12f..d136265 100644
--- a/coverage-report/libflash/test/test-flash.c.func.html
+++ b/coverage-report/libflash/test/test-flash.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">11</td>
diff --git a/coverage-report/libflash/test/test-flash.c.gcov.html b/coverage-report/libflash/test/test-flash.c.gcov.html
index 41b83cd..7b10eeb 100644
--- a/coverage-report/libflash/test/test-flash.c.gcov.html
+++ b/coverage-report/libflash/test/test-flash.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">11</td>
diff --git a/coverage-report/libflash/test/test-ipmi-hiomap.c.func-sort-c.html b/coverage-report/libflash/test/test-ipmi-hiomap.c.func-sort-c.html
index 306fd6f..d20f61f 100644
--- a/coverage-report/libflash/test/test-ipmi-hiomap.c.func-sort-c.html
+++ b/coverage-report/libflash/test/test-ipmi-hiomap.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">69</td>
diff --git a/coverage-report/libflash/test/test-ipmi-hiomap.c.func.html b/coverage-report/libflash/test/test-ipmi-hiomap.c.func.html
index a247362..b9cc904 100644
--- a/coverage-report/libflash/test/test-ipmi-hiomap.c.func.html
+++ b/coverage-report/libflash/test/test-ipmi-hiomap.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">69</td>
diff --git a/coverage-report/libflash/test/test-ipmi-hiomap.c.gcov.html b/coverage-report/libflash/test/test-ipmi-hiomap.c.gcov.html
index c26a342..38e2b9e 100644
--- a/coverage-report/libflash/test/test-ipmi-hiomap.c.gcov.html
+++ b/coverage-report/libflash/test/test-ipmi-hiomap.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">69</td>
diff --git a/coverage-report/libflash/test/test-mbox.c.func-sort-c.html b/coverage-report/libflash/test/test-mbox.c.func-sort-c.html
index c0acda1..5fe61d5 100644
--- a/coverage-report/libflash/test/test-mbox.c.func-sort-c.html
+++ b/coverage-report/libflash/test/test-mbox.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libflash/test/test-mbox.c.func.html b/coverage-report/libflash/test/test-mbox.c.func.html
index 5b1903e..7042233 100644
--- a/coverage-report/libflash/test/test-mbox.c.func.html
+++ b/coverage-report/libflash/test/test-mbox.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libflash/test/test-mbox.c.gcov.html b/coverage-report/libflash/test/test-mbox.c.gcov.html
index 849e89b..6d8d031 100644
--- a/coverage-report/libflash/test/test-mbox.c.gcov.html
+++ b/coverage-report/libflash/test/test-mbox.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
@@ -156,7 +156,7 @@
<a name="85"><span class="lineNum"> 85 </span> :<span class="lineCov"> 4 : test = calloc(erase_granule * 20, 1);</span></a>
<a name="86"><span class="lineNum"> 86 </span> : : </a>
<a name="87"><span class="lineNum"> 87 </span> : : /* Make up a test pattern */</a>
-<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 11878400 : for (i = 0; i &lt; erase_granule * 10; i++)</span></a>
+<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 11878404 : for (i = 0; i &lt; erase_granule * 10; i++)</span></a>
<a name="89"><span class="lineNum"> 89 </span> :<span class="lineCov"> 11878400 : test[i] = i;</span></a>
<a name="90"><span class="lineNum"> 90 </span> : : </a>
<a name="91"><span class="lineNum"> 91 </span> : : /* Write 64k of stuff at 0 and at 128k */</a>
diff --git a/coverage-report/libstb/container.c.func-sort-c.html b/coverage-report/libstb/container.c.func-sort-c.html
index 6347c4b..0b83ec1 100644
--- a/coverage-report/libstb/container.c.func-sort-c.html
+++ b/coverage-report/libstb/container.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/container.c.func.html b/coverage-report/libstb/container.c.func.html
index f361f10..e698601 100644
--- a/coverage-report/libstb/container.c.func.html
+++ b/coverage-report/libstb/container.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/container.c.gcov.html b/coverage-report/libstb/container.c.gcov.html
index 4bde95b..9a5e297 100644
--- a/coverage-report/libstb/container.c.gcov.html
+++ b/coverage-report/libstb/container.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/crypto/pkcs7/index-sort-b.html b/coverage-report/libstb/crypto/pkcs7/index-sort-b.html
index db12bec..bad1bd6 100644
--- a/coverage-report/libstb/crypto/pkcs7/index-sort-b.html
+++ b/coverage-report/libstb/crypto/pkcs7/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/crypto/pkcs7/index-sort-f.html b/coverage-report/libstb/crypto/pkcs7/index-sort-f.html
index 5f3b2a6..ae900a1 100644
--- a/coverage-report/libstb/crypto/pkcs7/index-sort-f.html
+++ b/coverage-report/libstb/crypto/pkcs7/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/crypto/pkcs7/index-sort-l.html b/coverage-report/libstb/crypto/pkcs7/index-sort-l.html
index 5d8d7e5..39304a9 100644
--- a/coverage-report/libstb/crypto/pkcs7/index-sort-l.html
+++ b/coverage-report/libstb/crypto/pkcs7/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/crypto/pkcs7/index.html b/coverage-report/libstb/crypto/pkcs7/index.html
index abcfdb6..408ac4f 100644
--- a/coverage-report/libstb/crypto/pkcs7/index.html
+++ b/coverage-report/libstb/crypto/pkcs7/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/crypto/pkcs7/pkcs7.c.func-sort-c.html b/coverage-report/libstb/crypto/pkcs7/pkcs7.c.func-sort-c.html
index fcb7c0e..84ee9c2 100644
--- a/coverage-report/libstb/crypto/pkcs7/pkcs7.c.func-sort-c.html
+++ b/coverage-report/libstb/crypto/pkcs7/pkcs7.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/crypto/pkcs7/pkcs7.c.func.html b/coverage-report/libstb/crypto/pkcs7/pkcs7.c.func.html
index f4523ca..e493102 100644
--- a/coverage-report/libstb/crypto/pkcs7/pkcs7.c.func.html
+++ b/coverage-report/libstb/crypto/pkcs7/pkcs7.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/crypto/pkcs7/pkcs7.c.gcov.html b/coverage-report/libstb/crypto/pkcs7/pkcs7.c.gcov.html
index 171a5d2..816922a 100644
--- a/coverage-report/libstb/crypto/pkcs7/pkcs7.c.gcov.html
+++ b/coverage-report/libstb/crypto/pkcs7/pkcs7.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/index-sort-b.html b/coverage-report/libstb/index-sort-b.html
index 85cc3fa..2687c8d 100644
--- a/coverage-report/libstb/index-sort-b.html
+++ b/coverage-report/libstb/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/index-sort-f.html b/coverage-report/libstb/index-sort-f.html
index 5cfc48d..f59e00a 100644
--- a/coverage-report/libstb/index-sort-f.html
+++ b/coverage-report/libstb/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/index-sort-l.html b/coverage-report/libstb/index-sort-l.html
index ea56260..a41cebf 100644
--- a/coverage-report/libstb/index-sort-l.html
+++ b/coverage-report/libstb/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/index.html b/coverage-report/libstb/index.html
index e4ef382..d4bc011 100644
--- a/coverage-report/libstb/index.html
+++ b/coverage-report/libstb/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/backend/edk2-compat-process.c.func-sort-c.html b/coverage-report/libstb/secvar/backend/edk2-compat-process.c.func-sort-c.html
index 0b3358e..2f4f3ce 100644
--- a/coverage-report/libstb/secvar/backend/edk2-compat-process.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/backend/edk2-compat-process.c.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">354</td>
- <td class="headerCovTableEntry">417</td>
+ <td class="headerCovTableEntry">355</td>
+ <td class="headerCovTableEntry">418</td>
<td class="headerCovTableEntryMed">84.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">20</td>
diff --git a/coverage-report/libstb/secvar/backend/edk2-compat-process.c.func.html b/coverage-report/libstb/secvar/backend/edk2-compat-process.c.func.html
index 6b2c207..a851f86 100644
--- a/coverage-report/libstb/secvar/backend/edk2-compat-process.c.func.html
+++ b/coverage-report/libstb/secvar/backend/edk2-compat-process.c.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">354</td>
- <td class="headerCovTableEntry">417</td>
+ <td class="headerCovTableEntry">355</td>
+ <td class="headerCovTableEntry">418</td>
<td class="headerCovTableEntryMed">84.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">20</td>
diff --git a/coverage-report/libstb/secvar/backend/edk2-compat-process.c.gcov.html b/coverage-report/libstb/secvar/backend/edk2-compat-process.c.gcov.html
index 708657f..c8c6a4f 100644
--- a/coverage-report/libstb/secvar/backend/edk2-compat-process.c.gcov.html
+++ b/coverage-report/libstb/secvar/backend/edk2-compat-process.c.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">354</td>
- <td class="headerCovTableEntry">417</td>
+ <td class="headerCovTableEntry">355</td>
+ <td class="headerCovTableEntry">418</td>
<td class="headerCovTableEntryMed">84.9 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">20</td>
@@ -780,7 +780,7 @@
<a name="709"><span class="lineNum"> 709 </span> : : </a>
<a name="710"><span class="lineNum"> 710 </span> : : /* We need to split data into authentication descriptor and new ESL */</a>
<a name="711"><span class="lineNum"> 711 </span> :<span class="lineCov"> 32 : auth_buffer_size = get_auth_descriptor2(update-&gt;data,</span></a>
-<a name="712"><span class="lineNum"> 712 </span> : : update-&gt;data_size,</a>
+<a name="712"><span class="lineNum"> 712 </span> :<span class="lineCov"> 32 : update-&gt;data_size,</span></a>
<a name="713"><span class="lineNum"> 713 </span> : : &amp;auth_buffer);</a>
<a name="714"><span class="lineNum"> 714 </span> :<span class="lineCov"> 32 : if ((auth_buffer_size &lt; 0)</span></a>
<a name="715"><span class="lineNum"> 715 </span> :<span class="lineCov"> 31 : || (update-&gt;data_size &lt; auth_buffer_size)) {</span></a>
diff --git a/coverage-report/libstb/secvar/backend/edk2-compat.c.func-sort-c.html b/coverage-report/libstb/secvar/backend/edk2-compat.c.func-sort-c.html
index 4336355..3c74ff3 100644
--- a/coverage-report/libstb/secvar/backend/edk2-compat.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/backend/edk2-compat.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libstb/secvar/backend/edk2-compat.c.func.html b/coverage-report/libstb/secvar/backend/edk2-compat.c.func.html
index 7a8444b..ec4e65b 100644
--- a/coverage-report/libstb/secvar/backend/edk2-compat.c.func.html
+++ b/coverage-report/libstb/secvar/backend/edk2-compat.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libstb/secvar/backend/edk2-compat.c.gcov.html b/coverage-report/libstb/secvar/backend/edk2-compat.c.gcov.html
index 71a2714..c25138d 100644
--- a/coverage-report/libstb/secvar/backend/edk2-compat.c.gcov.html
+++ b/coverage-report/libstb/secvar/backend/edk2-compat.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libstb/secvar/backend/index-sort-b.html b/coverage-report/libstb/secvar/backend/index-sort-b.html
index 0213633..ff45e63 100644
--- a/coverage-report/libstb/secvar/backend/index-sort-b.html
+++ b/coverage-report/libstb/secvar/backend/index-sort-b.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">455</td>
- <td class="headerCovTableEntry">537</td>
- <td class="headerCovTableEntryMed">84.7 %</td>
+ <td class="headerCovTableEntry">456</td>
+ <td class="headerCovTableEntry">538</td>
+ <td class="headerCovTableEntryMed">84.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
@@ -82,26 +82,26 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="edk2-compat-process.c.gcov.html">edk2-compat-process.c</a></td>
+ <td class="coverFile"><a href="edk2-compat.c.gcov.html">edk2-compat.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=85 height=10 alt="84.9%"><img src="../../../snow.png" width=15 height=10 alt="84.9%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=84 height=10 alt="84.2%"><img src="../../../snow.png" width=16 height=10 alt="84.2%"></td></tr></table>
</td>
- <td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">354 / 417</td>
+ <td class="coverPerMed">84.2&nbsp;%</td>
+ <td class="coverNumMed">101 / 120</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">20 / 20</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="edk2-compat.c.gcov.html">edk2-compat.c</a></td>
+ <td class="coverFile"><a href="edk2-compat-process.c.gcov.html">edk2-compat-process.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=84 height=10 alt="84.2%"><img src="../../../snow.png" width=16 height=10 alt="84.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=85 height=10 alt="84.9%"><img src="../../../snow.png" width=15 height=10 alt="84.9%"></td></tr></table>
</td>
- <td class="coverPerMed">84.2&nbsp;%</td>
- <td class="coverNumMed">101 / 120</td>
+ <td class="coverPerMed">84.9&nbsp;%</td>
+ <td class="coverNumMed">355 / 418</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
+ <td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/libstb/secvar/backend/index-sort-f.html b/coverage-report/libstb/secvar/backend/index-sort-f.html
index 1b06dfc..cda20e8 100644
--- a/coverage-report/libstb/secvar/backend/index-sort-f.html
+++ b/coverage-report/libstb/secvar/backend/index-sort-f.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">455</td>
- <td class="headerCovTableEntry">537</td>
- <td class="headerCovTableEntryMed">84.7 %</td>
+ <td class="headerCovTableEntry">456</td>
+ <td class="headerCovTableEntry">538</td>
+ <td class="headerCovTableEntryMed">84.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
@@ -99,7 +99,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=85 height=10 alt="84.9%"><img src="../../../snow.png" width=15 height=10 alt="84.9%"></td></tr></table>
</td>
<td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">354 / 417</td>
+ <td class="coverNumMed">355 / 418</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libstb/secvar/backend/index-sort-l.html b/coverage-report/libstb/secvar/backend/index-sort-l.html
index fafaa3f..f333272 100644
--- a/coverage-report/libstb/secvar/backend/index-sort-l.html
+++ b/coverage-report/libstb/secvar/backend/index-sort-l.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">455</td>
- <td class="headerCovTableEntry">537</td>
- <td class="headerCovTableEntryMed">84.7 %</td>
+ <td class="headerCovTableEntry">456</td>
+ <td class="headerCovTableEntry">538</td>
+ <td class="headerCovTableEntryMed">84.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
@@ -99,7 +99,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=85 height=10 alt="84.9%"><img src="../../../snow.png" width=15 height=10 alt="84.9%"></td></tr></table>
</td>
<td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">354 / 417</td>
+ <td class="coverNumMed">355 / 418</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libstb/secvar/backend/index.html b/coverage-report/libstb/secvar/backend/index.html
index a8c336d..4d171d0 100644
--- a/coverage-report/libstb/secvar/backend/index.html
+++ b/coverage-report/libstb/secvar/backend/index.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">455</td>
- <td class="headerCovTableEntry">537</td>
- <td class="headerCovTableEntryMed">84.7 %</td>
+ <td class="headerCovTableEntry">456</td>
+ <td class="headerCovTableEntry">538</td>
+ <td class="headerCovTableEntryMed">84.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
@@ -87,7 +87,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../amber.png" width=85 height=10 alt="84.9%"><img src="../../../snow.png" width=15 height=10 alt="84.9%"></td></tr></table>
</td>
<td class="coverPerMed">84.9&nbsp;%</td>
- <td class="coverNumMed">354 / 417</td>
+ <td class="coverNumMed">355 / 418</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">20 / 20</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libstb/secvar/index-sort-b.html b/coverage-report/libstb/secvar/index-sort-b.html
index aac5135..f6ae2fa 100644
--- a/coverage-report/libstb/secvar/index-sort-b.html
+++ b/coverage-report/libstb/secvar/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/libstb/secvar/index-sort-f.html b/coverage-report/libstb/secvar/index-sort-f.html
index 2b7ea7c..3f9335e 100644
--- a/coverage-report/libstb/secvar/index-sort-f.html
+++ b/coverage-report/libstb/secvar/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/libstb/secvar/index-sort-l.html b/coverage-report/libstb/secvar/index-sort-l.html
index 549afc8..e151637 100644
--- a/coverage-report/libstb/secvar/index-sort-l.html
+++ b/coverage-report/libstb/secvar/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/libstb/secvar/index.html b/coverage-report/libstb/secvar/index.html
index 47e54de..f12d09a 100644
--- a/coverage-report/libstb/secvar/index.html
+++ b/coverage-report/libstb/secvar/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">12</td>
diff --git a/coverage-report/libstb/secvar/secvar_api.c.func-sort-c.html b/coverage-report/libstb/secvar/secvar_api.c.func-sort-c.html
index e5047f3..dfbe04d 100644
--- a/coverage-report/libstb/secvar/secvar_api.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/secvar_api.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libstb/secvar/secvar_api.c.func.html b/coverage-report/libstb/secvar/secvar_api.c.func.html
index 364c9d5..69711fd 100644
--- a/coverage-report/libstb/secvar/secvar_api.c.func.html
+++ b/coverage-report/libstb/secvar/secvar_api.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libstb/secvar/secvar_api.c.gcov.html b/coverage-report/libstb/secvar/secvar_api.c.gcov.html
index 8496c47..b303411 100644
--- a/coverage-report/libstb/secvar/secvar_api.c.gcov.html
+++ b/coverage-report/libstb/secvar/secvar_api.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/libstb/secvar/secvar_util.c.func-sort-c.html b/coverage-report/libstb/secvar/secvar_util.c.func-sort-c.html
index 2b91bf8..b45db6e 100644
--- a/coverage-report/libstb/secvar/secvar_util.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/secvar_util.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/libstb/secvar/secvar_util.c.func.html b/coverage-report/libstb/secvar/secvar_util.c.func.html
index 39638a8..79ea5c4 100644
--- a/coverage-report/libstb/secvar/secvar_util.c.func.html
+++ b/coverage-report/libstb/secvar/secvar_util.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/libstb/secvar/secvar_util.c.gcov.html b/coverage-report/libstb/secvar/secvar_util.c.gcov.html
index 4c54a79..f5d61ce 100644
--- a/coverage-report/libstb/secvar/secvar_util.c.gcov.html
+++ b/coverage-report/libstb/secvar/secvar_util.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">9</td>
diff --git a/coverage-report/libstb/secvar/storage/fakenv_ops.c.func-sort-c.html b/coverage-report/libstb/secvar/storage/fakenv_ops.c.func-sort-c.html
index 5c7d0c0..68e4b07 100644
--- a/coverage-report/libstb/secvar/storage/fakenv_ops.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/storage/fakenv_ops.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libstb/secvar/storage/fakenv_ops.c.func.html b/coverage-report/libstb/secvar/storage/fakenv_ops.c.func.html
index 6adc1e1..f051431 100644
--- a/coverage-report/libstb/secvar/storage/fakenv_ops.c.func.html
+++ b/coverage-report/libstb/secvar/storage/fakenv_ops.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libstb/secvar/storage/fakenv_ops.c.gcov.html b/coverage-report/libstb/secvar/storage/fakenv_ops.c.gcov.html
index 6d176df..93dd0dc 100644
--- a/coverage-report/libstb/secvar/storage/fakenv_ops.c.gcov.html
+++ b/coverage-report/libstb/secvar/storage/fakenv_ops.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">5</td>
diff --git a/coverage-report/libstb/secvar/storage/index-sort-b.html b/coverage-report/libstb/secvar/storage/index-sort-b.html
index d6d24bf..57bb8ec 100644
--- a/coverage-report/libstb/secvar/storage/index-sort-b.html
+++ b/coverage-report/libstb/secvar/storage/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">18</td>
diff --git a/coverage-report/libstb/secvar/storage/index-sort-f.html b/coverage-report/libstb/secvar/storage/index-sort-f.html
index cb31509..e956e01 100644
--- a/coverage-report/libstb/secvar/storage/index-sort-f.html
+++ b/coverage-report/libstb/secvar/storage/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">18</td>
diff --git a/coverage-report/libstb/secvar/storage/index-sort-l.html b/coverage-report/libstb/secvar/storage/index-sort-l.html
index 7f2bbf5..c5a2f2b 100644
--- a/coverage-report/libstb/secvar/storage/index-sort-l.html
+++ b/coverage-report/libstb/secvar/storage/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">18</td>
diff --git a/coverage-report/libstb/secvar/storage/index.html b/coverage-report/libstb/secvar/storage/index.html
index 4601b8b..cb8da6b 100644
--- a/coverage-report/libstb/secvar/storage/index.html
+++ b/coverage-report/libstb/secvar/storage/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">18</td>
diff --git a/coverage-report/libstb/secvar/storage/secboot_tpm.c.func-sort-c.html b/coverage-report/libstb/secvar/storage/secboot_tpm.c.func-sort-c.html
index 1056a82..1359eb8 100644
--- a/coverage-report/libstb/secvar/storage/secboot_tpm.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/storage/secboot_tpm.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/secvar/storage/secboot_tpm.c.func.html b/coverage-report/libstb/secvar/storage/secboot_tpm.c.func.html
index 5c95a80..e89aea2 100644
--- a/coverage-report/libstb/secvar/storage/secboot_tpm.c.func.html
+++ b/coverage-report/libstb/secvar/storage/secboot_tpm.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/secvar/storage/secboot_tpm.c.gcov.html b/coverage-report/libstb/secvar/storage/secboot_tpm.c.gcov.html
index cd3049a..06424ce 100644
--- a/coverage-report/libstb/secvar/storage/secboot_tpm.c.gcov.html
+++ b/coverage-report/libstb/secvar/storage/secboot_tpm.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">13</td>
diff --git a/coverage-report/libstb/secvar/test/index-sort-b.html b/coverage-report/libstb/secvar/test/index-sort-b.html
index dc19c24..36c40a9 100644
--- a/coverage-report/libstb/secvar/test/index-sort-b.html
+++ b/coverage-report/libstb/secvar/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
@@ -82,36 +82,24 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="secvar-test-getvar.c.gcov.html">secvar-test-getvar.c</a></td>
+ <td class="coverFile"><a href="secvar-test-pkcs7.c.gcov.html">secvar-test-pkcs7.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">47 / 47</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1 / 1</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- <tr>
- <td class="coverFile"><a href="secvar-test-edk2-compat.c.gcov.html">secvar-test-edk2-compat.c</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=99 height=10 alt="99.8%"><img src="../../../snow.png" width=1 height=10 alt="99.8%"></td></tr></table>
- </td>
- <td class="coverPerHi">99.8&nbsp;%</td>
- <td class="coverNumHi">425 / 426</td>
+ <td class="coverNumHi">11 / 11</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7 / 7</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="secvar-test-nextvar.c.gcov.html">secvar-test-nextvar.c</a></td>
+ <td class="coverFile"><a href="secvar-test-getvar.c.gcov.html">secvar-test-getvar.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">61 / 61</td>
+ <td class="coverNumHi">47 / 47</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">1 / 1</td>
<td class="coverPerHi">-</td>
@@ -142,6 +130,18 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
+ <td class="coverFile"><a href="secvar-test-nextvar.c.gcov.html">secvar-test-nextvar.c</a></td>
+ <td class="coverBar" align="center">
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ </td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">61 / 61</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">1 / 1</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
+ </tr>
+ <tr>
<td class="coverFile"><a href="secvar-test-void.c.gcov.html">secvar-test-void.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
@@ -154,26 +154,26 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="secvar-test-secboot-tpm.c.gcov.html">secvar-test-secboot-tpm.c</a></td>
+ <td class="coverFile"><a href="secvar-test-edk2-compat.c.gcov.html">secvar-test-edk2-compat.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=98 height=10 alt="98.2%"><img src="../../../snow.png" width=2 height=10 alt="98.2%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=99 height=10 alt="99.8%"><img src="../../../snow.png" width=1 height=10 alt="99.8%"></td></tr></table>
</td>
- <td class="coverPerHi">98.2&nbsp;%</td>
- <td class="coverNumHi">55 / 56</td>
+ <td class="coverPerHi">99.8&nbsp;%</td>
+ <td class="coverNumHi">425 / 426</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">7 / 7</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="secvar-test-pkcs7.c.gcov.html">secvar-test-pkcs7.c</a></td>
+ <td class="coverFile"><a href="secvar-test-secboot-tpm.c.gcov.html">secvar-test-secboot-tpm.c</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=98 height=10 alt="98.2%"><img src="../../../snow.png" width=2 height=10 alt="98.2%"></td></tr></table>
</td>
+ <td class="coverPerHi">98.2&nbsp;%</td>
+ <td class="coverNumHi">55 / 56</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">11 / 11</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
diff --git a/coverage-report/libstb/secvar/test/index-sort-f.html b/coverage-report/libstb/secvar/test/index-sort-f.html
index db6517d..189d247 100644
--- a/coverage-report/libstb/secvar/test/index-sort-f.html
+++ b/coverage-report/libstb/secvar/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
@@ -118,24 +118,24 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="secvar-test-enqueue.c.gcov.html">secvar-test-enqueue.c</a></td>
+ <td class="coverFile"><a href="secvar-test-pkcs7.c.gcov.html">secvar-test-pkcs7.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">68 / 68</td>
+ <td class="coverNumHi">11 / 11</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="secvar-test-pkcs7.c.gcov.html">secvar-test-pkcs7.c</a></td>
+ <td class="coverFile"><a href="secvar-test-enqueue.c.gcov.html">secvar-test-enqueue.c</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">11 / 11</td>
+ <td class="coverNumHi">68 / 68</td>
<td class="coverPerHi">100.0&nbsp;%</td>
<td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/libstb/secvar/test/index-sort-l.html b/coverage-report/libstb/secvar/test/index-sort-l.html
index c401f70..fa3fca8 100644
--- a/coverage-report/libstb/secvar/test/index-sort-l.html
+++ b/coverage-report/libstb/secvar/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
diff --git a/coverage-report/libstb/secvar/test/index.html b/coverage-report/libstb/secvar/test/index.html
index 76ee252..6641077 100644
--- a/coverage-report/libstb/secvar/test/index.html
+++ b/coverage-report/libstb/secvar/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">24</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func-sort-c.html b/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func-sort-c.html
index e356378..9e4ea6a 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func.html b/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func.html
index 5508279..080af87 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.gcov.html b/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.gcov.html
index bdf8cbb..1ad9f47 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.gcov.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-edk2-compat.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">7</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func-sort-c.html b/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func-sort-c.html
index 4793517..6ea9c20 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func.html b/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func.html
index 195b9cb..0154459 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.gcov.html b/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.gcov.html
index 124c9ce..5174ef3 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.gcov.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-enqueue.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-getvar.c.func-sort-c.html b/coverage-report/libstb/secvar/test/secvar-test-getvar.c.func-sort-c.html
index 19738a2..eae8c27 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-getvar.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-getvar.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-getvar.c.func.html b/coverage-report/libstb/secvar/test/secvar-test-getvar.c.func.html
index e9a3730..181d808 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-getvar.c.func.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-getvar.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-getvar.c.gcov.html b/coverage-report/libstb/secvar/test/secvar-test-getvar.c.gcov.html
index 48b3211..5b9ec95 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-getvar.c.gcov.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-getvar.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func-sort-c.html b/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func-sort-c.html
index 87d69c2..241fd95 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func.html b/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func.html
index 874fbb2..ef5c168 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.gcov.html b/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.gcov.html
index 7b52c2c..e60dec0 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.gcov.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-nextvar.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func-sort-c.html b/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func-sort-c.html
index a179499..572a067 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func.html b/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func.html
index da0a525..9a1d5aa 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.gcov.html b/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.gcov.html
index e54e5ae..0156684 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.gcov.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-pkcs7.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func-sort-c.html b/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func-sort-c.html
index dc37957..4994aab 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func.html b/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func.html
index 282ad75..2fc297a 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.gcov.html b/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.gcov.html
index 60afa35..7686837 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.gcov.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-secboot-tpm.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">6</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-void.c.func-sort-c.html b/coverage-report/libstb/secvar/test/secvar-test-void.c.func-sort-c.html
index 830df0d..7fe3859 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-void.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-void.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-void.c.func.html b/coverage-report/libstb/secvar/test/secvar-test-void.c.func.html
index 2277d1d..52bced1 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-void.c.func.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-void.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar-test-void.c.gcov.html b/coverage-report/libstb/secvar/test/secvar-test-void.c.gcov.html
index 283847f..4fe1c5b 100644
--- a/coverage-report/libstb/secvar/test/secvar-test-void.c.gcov.html
+++ b/coverage-report/libstb/secvar/test/secvar-test-void.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/secvar/test/secvar_api_test.c.func-sort-c.html b/coverage-report/libstb/secvar/test/secvar_api_test.c.func-sort-c.html
index f292718..afa893e 100644
--- a/coverage-report/libstb/secvar/test/secvar_api_test.c.func-sort-c.html
+++ b/coverage-report/libstb/secvar/test/secvar_api_test.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libstb/secvar/test/secvar_api_test.c.func.html b/coverage-report/libstb/secvar/test/secvar_api_test.c.func.html
index ac0d2fc..cd7d5dd 100644
--- a/coverage-report/libstb/secvar/test/secvar_api_test.c.func.html
+++ b/coverage-report/libstb/secvar/test/secvar_api_test.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libstb/secvar/test/secvar_api_test.c.gcov.html b/coverage-report/libstb/secvar/test/secvar_api_test.c.gcov.html
index adaa2ec..a19689d 100644
--- a/coverage-report/libstb/secvar/test/secvar_api_test.c.gcov.html
+++ b/coverage-report/libstb/secvar/test/secvar_api_test.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">4</td>
diff --git a/coverage-report/libstb/test/index-sort-b.html b/coverage-report/libstb/test/index-sort-b.html
index 630ef7b..7b8be6d 100644
--- a/coverage-report/libstb/test/index-sort-b.html
+++ b/coverage-report/libstb/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/test/index-sort-f.html b/coverage-report/libstb/test/index-sort-f.html
index a3150f2..1753683 100644
--- a/coverage-report/libstb/test/index-sort-f.html
+++ b/coverage-report/libstb/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/test/index-sort-l.html b/coverage-report/libstb/test/index-sort-l.html
index a920a49..c587169 100644
--- a/coverage-report/libstb/test/index-sort-l.html
+++ b/coverage-report/libstb/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/test/index.html b/coverage-report/libstb/test/index.html
index 876e33f..003abb3 100644
--- a/coverage-report/libstb/test/index.html
+++ b/coverage-report/libstb/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/test/run-stb-container.c.func-sort-c.html b/coverage-report/libstb/test/run-stb-container.c.func-sort-c.html
index 0177122..1b0599c 100644
--- a/coverage-report/libstb/test/run-stb-container.c.func-sort-c.html
+++ b/coverage-report/libstb/test/run-stb-container.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/test/run-stb-container.c.func.html b/coverage-report/libstb/test/run-stb-container.c.func.html
index bb7e707..5614f89 100644
--- a/coverage-report/libstb/test/run-stb-container.c.func.html
+++ b/coverage-report/libstb/test/run-stb-container.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/libstb/test/run-stb-container.c.gcov.html b/coverage-report/libstb/test/run-stb-container.c.gcov.html
index a82e98e..c4e0c75 100644
--- a/coverage-report/libstb/test/run-stb-container.c.gcov.html
+++ b/coverage-report/libstb/test/run-stb-container.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">1</td>
diff --git a/coverage-report/test/dt_common.c.func-sort-c.html b/coverage-report/test/dt_common.c.func-sort-c.html
index 449c7dd..d5ad036 100644
--- a/coverage-report/test/dt_common.c.func-sort-c.html
+++ b/coverage-report/test/dt_common.c.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/test/dt_common.c.func.html b/coverage-report/test/dt_common.c.func.html
index 7e2376d..c73eec8 100644
--- a/coverage-report/test/dt_common.c.func.html
+++ b/coverage-report/test/dt_common.c.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/test/dt_common.c.gcov.html b/coverage-report/test/dt_common.c.gcov.html
index b325591..05b5513 100644
--- a/coverage-report/test/dt_common.c.gcov.html
+++ b/coverage-report/test/dt_common.c.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/test/index-sort-b.html b/coverage-report/test/index-sort-b.html
index bf79894..b63849e 100644
--- a/coverage-report/test/index-sort-b.html
+++ b/coverage-report/test/index-sort-b.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/test/index-sort-f.html b/coverage-report/test/index-sort-f.html
index 6868ede..cfc5cf4 100644
--- a/coverage-report/test/index-sort-f.html
+++ b/coverage-report/test/index-sort-f.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/test/index-sort-l.html b/coverage-report/test/index-sort-l.html
index c45920a..94e032b 100644
--- a/coverage-report/test/index-sort-l.html
+++ b/coverage-report/test/index-sort-l.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/test/index.html b/coverage-report/test/index.html
index 423fe85..f3863a2 100644
--- a/coverage-report/test/index.html
+++ b/coverage-report/test/index.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">2</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func-sort-c.html
index f6c3596..97133d2 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func-sort-c.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func.html
index c56f2f1..3b9dc6a 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.gcov.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.gcov.html
index 780af76..6bc9dbe 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.gcov.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/byteswap.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
@@ -70,7 +70,7 @@
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : /* Macros and inline functions to swap the order of bytes in integer values.</a>
-<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 1997-2020 Free Software Foundation, Inc.</a>
+<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 1997-2022 Free Software Foundation, Inc.</a>
<a name="3"><span class="lineNum"> 3 </span> : : This file is part of the GNU C Library.</a>
<a name="4"><span class="lineNum"> 4 </span> : : </a>
<a name="5"><span class="lineNum"> 5 </span> : : The GNU C Library is free software; you can redistribute it and/or</a>
@@ -117,7 +117,7 @@
<a name="46"><span class="lineNum"> 46 </span> : : | (((x) &amp; 0x0000ff00u) &lt;&lt; 8) | (((x) &amp; 0x000000ffu) &lt;&lt; 24))</a>
<a name="47"><span class="lineNum"> 47 </span> : : </a>
<a name="48"><span class="lineNum"> 48 </span> : : static __inline __uint32_t</a>
-<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 56 : __bswap_32 (__uint32_t __bsx)</span></a>
+<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 52 : __bswap_32 (__uint32_t __bsx)</span></a>
<a name="50"><span class="lineNum"> 50 </span> : : {</a>
<a name="51"><span class="lineNum"> 51 </span> : : #if __GNUC_PREREQ (4, 3)</a>
<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 52 : return __builtin_bswap32 (__bsx);</span></a>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func-sort-c.html
index 2908ee2..43a4aa3 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func-sort-c.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func.html
index 74e19f1..e9e4d50 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.gcov.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.gcov.html
index 76c704b..db7f109 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.gcov.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -70,7 +70,7 @@
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : /* Checking macros for fcntl functions.</a>
-<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 2007-2020 Free Software Foundation, Inc.</a>
+<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 2007-2022 Free Software Foundation, Inc.</a>
<a name="3"><span class="lineNum"> 3 </span> : : This file is part of the GNU C Library.</a>
<a name="4"><span class="lineNum"> 4 </span> : : </a>
<a name="5"><span class="lineNum"> 5 </span> : : The GNU C Library is free software; you can redistribute it and/or</a>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-b.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-b.html
index b09df87..6ea05ea 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-b.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-b.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">37</td>
- <td class="headerCovTableEntry">39</td>
- <td class="headerCovTableEntryHi">94.9 %</td>
+ <td class="headerCovTableEntry">35</td>
+ <td class="headerCovTableEntry">35</td>
+ <td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
@@ -82,72 +82,72 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="fcntl2.h.gcov.html">fcntl2.h</a></td>
+ <td class="coverFile"><a href="byteswap.h.gcov.html">byteswap.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">5 / 5</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
+ <td class="coverNumHi">6 / 6</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">3 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="stdio2.h.gcov.html">stdio2.h</a></td>
+ <td class="coverFile"><a href="fcntl2.h.gcov.html">fcntl2.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">5 / 5</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="byteswap.h.gcov.html">byteswap.h</a></td>
+ <td class="coverFile"><a href="stdio.h.gcov.html">stdio.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">3 / 3</td>
+ <td class="coverNumHi">2 / 2</td>
+ <td class="coverPerHi">-</td>
+ <td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="unistd.h.gcov.html">unistd.h</a></td>
+ <td class="coverFile"><a href="string_fortified.h.gcov.html">string_fortified.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=71 height=10 alt="71.4%"><img src="../../../../snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">71.4&nbsp;%</td>
- <td class="coverNumLo">5 / 7</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="string_fortified.h.gcov.html">string_fortified.h</a></td>
+ <td class="coverFile"><a href="unistd.h.gcov.html">unistd.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="stdio.h.gcov.html">stdio.h</a></td>
+ <td class="coverFile"><a href="stdio2.h.gcov.html">stdio2.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-f.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-f.html
index a04c940..365c63c 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-f.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-f.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">37</td>
- <td class="headerCovTableEntry">39</td>
- <td class="headerCovTableEntryHi">94.9 %</td>
+ <td class="headerCovTableEntry">35</td>
+ <td class="headerCovTableEntry">35</td>
+ <td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
@@ -94,48 +94,48 @@
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="stdio2.h.gcov.html">stdio2.h</a></td>
+ <td class="coverFile"><a href="stdio.h.gcov.html">stdio.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="unistd.h.gcov.html">unistd.h</a></td>
+ <td class="coverFile"><a href="string_fortified.h.gcov.html">string_fortified.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=71 height=10 alt="71.4%"><img src="../../../../snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">71.4&nbsp;%</td>
- <td class="coverNumLo">5 / 7</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">6 / 6</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="string_fortified.h.gcov.html">string_fortified.h</a></td>
+ <td class="coverFile"><a href="unistd.h.gcov.html">unistd.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">6 / 6</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="stdio.h.gcov.html">stdio.h</a></td>
+ <td class="coverFile"><a href="stdio2.h.gcov.html">stdio2.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-l.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-l.html
index 5707eff..09da368 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-l.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-l.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">37</td>
- <td class="headerCovTableEntry">39</td>
- <td class="headerCovTableEntryHi">94.9 %</td>
+ <td class="headerCovTableEntry">35</td>
+ <td class="headerCovTableEntry">35</td>
+ <td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
@@ -82,24 +82,24 @@
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
- <td class="coverFile"><a href="unistd.h.gcov.html">unistd.h</a></td>
+ <td class="coverFile"><a href="stdio.h.gcov.html">stdio.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=71 height=10 alt="71.4%"><img src="../../../../snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">71.4&nbsp;%</td>
- <td class="coverNumLo">5 / 7</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">2 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
- <td class="coverFile"><a href="stdio.h.gcov.html">stdio.h</a></td>
+ <td class="coverFile"><a href="unistd.h.gcov.html">unistd.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">2 / 2</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
@@ -147,7 +147,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/index.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/index.html
index 0804285..3349006 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/index.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/index.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">37</td>
- <td class="headerCovTableEntry">39</td>
- <td class="headerCovTableEntryHi">94.9 %</td>
+ <td class="headerCovTableEntry">35</td>
+ <td class="headerCovTableEntry">35</td>
+ <td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">3</td>
@@ -123,7 +123,7 @@
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
<td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">13 / 13</td>
+ <td class="coverNumHi">12 / 12</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
@@ -144,10 +144,10 @@
<tr>
<td class="coverFile"><a href="unistd.h.gcov.html">unistd.h</a></td>
<td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../ruby.png" width=71 height=10 alt="71.4%"><img src="../../../../snow.png" width=29 height=10 alt="71.4%"></td></tr></table>
+ <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
</td>
- <td class="coverPerLo">71.4&nbsp;%</td>
- <td class="coverNumLo">5 / 7</td>
+ <td class="coverPerHi">100.0&nbsp;%</td>
+ <td class="coverNumHi">4 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
<td class="coverPerHi">-</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func-sort-c.html
index cab59ea..478e9a7 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func-sort-c.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func.html
index 3e94f04..df541c9 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.gcov.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.gcov.html
index e48c6e4..c481e74 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.gcov.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -70,7 +70,7 @@
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : /* Optimizing macros and inline functions for stdio functions.</a>
-<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 1998-2020 Free Software Foundation, Inc.</a>
+<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 1998-2022 Free Software Foundation, Inc.</a>
<a name="3"><span class="lineNum"> 3 </span> : : This file is part of the GNU C Library.</a>
<a name="4"><span class="lineNum"> 4 </span> : : </a>
<a name="5"><span class="lineNum"> 5 </span> : : The GNU C Library is free software; you can redistribute it and/or</a>
@@ -102,7 +102,7 @@
<a name="31"><span class="lineNum"> 31 </span> : : </a>
<a name="32"><span class="lineNum"> 32 </span> : : </a>
<a name="33"><span class="lineNum"> 33 </span> : : #ifdef __USE_EXTERN_INLINES</a>
-<a name="34"><span class="lineNum"> 34 </span> : : /* For -D_FORTIFY_SOURCE{,=2} bits/stdio2.h will define a different</a>
+<a name="34"><span class="lineNum"> 34 </span> : : /* For -D_FORTIFY_SOURCE{,=2,=3} bits/stdio2.h will define a different</a>
<a name="35"><span class="lineNum"> 35 </span> : : inline. */</a>
<a name="36"><span class="lineNum"> 36 </span> : : # if !(__USE_FORTIFY_LEVEL &gt; 0 &amp;&amp; defined __fortify_function)</a>
<a name="37"><span class="lineNum"> 37 </span> : : /* Write formatted output to stdout from argument list ARG. */</a>
@@ -131,7 +131,7 @@
<a name="60"><span class="lineNum"> 60 </span> : : # endif /* misc */</a>
<a name="61"><span class="lineNum"> 61 </span> : : </a>
<a name="62"><span class="lineNum"> 62 </span> : : </a>
-<a name="63"><span class="lineNum"> 63 </span> : : # ifdef __USE_POSIX</a>
+<a name="63"><span class="lineNum"> 63 </span> : : # ifdef __USE_POSIX199506</a>
<a name="64"><span class="lineNum"> 64 </span> : : /* This is defined in POSIX.1:1996. */</a>
<a name="65"><span class="lineNum"> 65 </span> : : __STDIO_INLINE int</a>
<a name="66"><span class="lineNum"> 66 </span> : : getc_unlocked (FILE *__fp)</a>
@@ -166,7 +166,7 @@
<a name="95"><span class="lineNum"> 95 </span> : : # endif /* misc */</a>
<a name="96"><span class="lineNum"> 96 </span> : : </a>
<a name="97"><span class="lineNum"> 97 </span> : : </a>
-<a name="98"><span class="lineNum"> 98 </span> : : # ifdef __USE_POSIX</a>
+<a name="98"><span class="lineNum"> 98 </span> : : # ifdef __USE_POSIX199506</a>
<a name="99"><span class="lineNum"> 99 </span> : : /* This is defined in POSIX.1:1996. */</a>
<a name="100"><span class="lineNum"> 100 </span> : : __STDIO_INLINE int</a>
<a name="101"><span class="lineNum"> 101 </span> : : putc_unlocked (int __c, FILE *__stream)</a>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func-sort-c.html
index 020e9a5..c23156f 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func-sort-c.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">13</td>
- <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntry">12</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func.html
index fe37ca1..057780e 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">13</td>
- <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntry">12</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.gcov.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.gcov.html
index 9944678..a1904a0 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.gcov.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">13</td>
- <td class="headerCovTableEntry">13</td>
+ <td class="headerCovTableEntry">12</td>
+ <td class="headerCovTableEntry">12</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -70,7 +70,7 @@
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : /* Checking macros for stdio functions.</a>
-<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 2004-2020 Free Software Foundation, Inc.</a>
+<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 2004-2022 Free Software Foundation, Inc.</a>
<a name="3"><span class="lineNum"> 3 </span> : : This file is part of the GNU C Library.</a>
<a name="4"><span class="lineNum"> 4 </span> : : </a>
<a name="5"><span class="lineNum"> 5 </span> : : The GNU C Library is free software; you can redistribute it and/or</a>
@@ -95,366 +95,359 @@
<a name="24"><span class="lineNum"> 24 </span> : : #endif</a>
<a name="25"><span class="lineNum"> 25 </span> : : </a>
<a name="26"><span class="lineNum"> 26 </span> : : extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,</a>
-<a name="27"><span class="lineNum"> 27 </span> : : const char *__restrict __format, ...) __THROW;</a>
-<a name="28"><span class="lineNum"> 28 </span> : : extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,</a>
-<a name="29"><span class="lineNum"> 29 </span> : : const char *__restrict __format,</a>
-<a name="30"><span class="lineNum"> 30 </span> : : __gnuc_va_list __ap) __THROW;</a>
-<a name="31"><span class="lineNum"> 31 </span> : : </a>
-<a name="32"><span class="lineNum"> 32 </span> : : #ifdef __va_arg_pack</a>
-<a name="33"><span class="lineNum"> 33 </span> : : __fortify_function int</a>
-<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 112 : __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))</span></a>
-<a name="35"><span class="lineNum"> 35 </span> : : {</a>
-<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 112 : return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,</span></a>
-<a name="37"><span class="lineNum"> 37 </span> : : __bos (__s), __fmt, __va_arg_pack ());</a>
-<a name="38"><span class="lineNum"> 38 </span> : : }</a>
-<a name="39"><span class="lineNum"> 39 </span> : : #elif !defined __cplusplus</a>
-<a name="40"><span class="lineNum"> 40 </span> : : # define sprintf(str, ...) \</a>
-<a name="41"><span class="lineNum"> 41 </span> : : __builtin___sprintf_chk (str, __USE_FORTIFY_LEVEL - 1, __bos (str), \</a>
-<a name="42"><span class="lineNum"> 42 </span> : : __VA_ARGS__)</a>
-<a name="43"><span class="lineNum"> 43 </span> : : #endif</a>
-<a name="44"><span class="lineNum"> 44 </span> : : </a>
-<a name="45"><span class="lineNum"> 45 </span> : : __fortify_function int</a>
-<a name="46"><span class="lineNum"> 46 </span> : : __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,</a>
-<a name="47"><span class="lineNum"> 47 </span> : : __gnuc_va_list __ap))</a>
-<a name="48"><span class="lineNum"> 48 </span> : : {</a>
-<a name="49"><span class="lineNum"> 49 </span> : : return __builtin___vsprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,</a>
-<a name="50"><span class="lineNum"> 50 </span> : : __bos (__s), __fmt, __ap);</a>
-<a name="51"><span class="lineNum"> 51 </span> : : }</a>
-<a name="52"><span class="lineNum"> 52 </span> : : </a>
-<a name="53"><span class="lineNum"> 53 </span> : : #if defined __USE_ISOC99 || defined __USE_UNIX98</a>
-<a name="54"><span class="lineNum"> 54 </span> : : </a>
-<a name="55"><span class="lineNum"> 55 </span> : : extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,</a>
-<a name="56"><span class="lineNum"> 56 </span> : : size_t __slen, const char *__restrict __format,</a>
-<a name="57"><span class="lineNum"> 57 </span> : : ...) __THROW;</a>
-<a name="58"><span class="lineNum"> 58 </span> : : extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,</a>
-<a name="59"><span class="lineNum"> 59 </span> : : size_t __slen, const char *__restrict __format,</a>
-<a name="60"><span class="lineNum"> 60 </span> : : __gnuc_va_list __ap) __THROW;</a>
-<a name="61"><span class="lineNum"> 61 </span> : : </a>
-<a name="62"><span class="lineNum"> 62 </span> : : # ifdef __va_arg_pack</a>
-<a name="63"><span class="lineNum"> 63 </span> : : __fortify_function int</a>
-<a name="64"><span class="lineNum"> 64 </span> : : __NTH (snprintf (char *__restrict __s, size_t __n,</a>
-<a name="65"><span class="lineNum"> 65 </span> : : const char *__restrict __fmt, ...))</a>
-<a name="66"><span class="lineNum"> 66 </span> : : {</a>
-<a name="67"><span class="lineNum"> 67 </span> : : return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,</a>
-<a name="68"><span class="lineNum"> 68 </span> : : __bos (__s), __fmt, __va_arg_pack ());</a>
-<a name="69"><span class="lineNum"> 69 </span> : : }</a>
-<a name="70"><span class="lineNum"> 70 </span> : : # elif !defined __cplusplus</a>
-<a name="71"><span class="lineNum"> 71 </span> : : # define snprintf(str, len, ...) \</a>
-<a name="72"><span class="lineNum"> 72 </span> : : __builtin___snprintf_chk (str, len, __USE_FORTIFY_LEVEL - 1, __bos (str), \</a>
-<a name="73"><span class="lineNum"> 73 </span> : : __VA_ARGS__)</a>
-<a name="74"><span class="lineNum"> 74 </span> : : # endif</a>
-<a name="75"><span class="lineNum"> 75 </span> : : </a>
-<a name="76"><span class="lineNum"> 76 </span> : : __fortify_function int</a>
-<a name="77"><span class="lineNum"> 77 </span> : : __NTH (vsnprintf (char *__restrict __s, size_t __n,</a>
-<a name="78"><span class="lineNum"> 78 </span> : : const char *__restrict __fmt, __gnuc_va_list __ap))</a>
-<a name="79"><span class="lineNum"> 79 </span> : : {</a>
-<a name="80"><span class="lineNum"> 80 </span> : : return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,</a>
-<a name="81"><span class="lineNum"> 81 </span> : : __bos (__s), __fmt, __ap);</a>
-<a name="82"><span class="lineNum"> 82 </span> : : }</a>
-<a name="83"><span class="lineNum"> 83 </span> : : </a>
-<a name="84"><span class="lineNum"> 84 </span> : : #endif</a>
-<a name="85"><span class="lineNum"> 85 </span> : : </a>
-<a name="86"><span class="lineNum"> 86 </span> : : #if __USE_FORTIFY_LEVEL &gt; 1</a>
-<a name="87"><span class="lineNum"> 87 </span> : : </a>
-<a name="88"><span class="lineNum"> 88 </span> : : extern int __fprintf_chk (FILE *__restrict __stream, int __flag,</a>
-<a name="89"><span class="lineNum"> 89 </span> : : const char *__restrict __format, ...);</a>
-<a name="90"><span class="lineNum"> 90 </span> : : extern int __printf_chk (int __flag, const char *__restrict __format, ...);</a>
-<a name="91"><span class="lineNum"> 91 </span> : : extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,</a>
-<a name="92"><span class="lineNum"> 92 </span> : : const char *__restrict __format, __gnuc_va_list __ap);</a>
-<a name="93"><span class="lineNum"> 93 </span> : : extern int __vprintf_chk (int __flag, const char *__restrict __format,</a>
-<a name="94"><span class="lineNum"> 94 </span> : : __gnuc_va_list __ap);</a>
-<a name="95"><span class="lineNum"> 95 </span> : : </a>
-<a name="96"><span class="lineNum"> 96 </span> : : # ifdef __va_arg_pack</a>
-<a name="97"><span class="lineNum"> 97 </span> : : __fortify_function int</a>
-<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 58 : fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)</span></a>
-<a name="99"><span class="lineNum"> 99 </span> : : {</a>
-<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 34 : return __fprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt,</span></a>
-<a name="101"><span class="lineNum"> 101 </span> : : __va_arg_pack ());</a>
-<a name="102"><span class="lineNum"> 102 </span> : : }</a>
-<a name="103"><span class="lineNum"> 103 </span> : : </a>
-<a name="104"><span class="lineNum"> 104 </span> : : __fortify_function int</a>
-<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 42936 : printf (const char *__restrict __fmt, ...)</span></a>
-<a name="106"><span class="lineNum"> 106 </span> : : {</a>
-<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 42492 : return __printf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());</span></a>
-<a name="108"><span class="lineNum"> 108 </span> : : }</a>
-<a name="109"><span class="lineNum"> 109 </span> : : # elif !defined __cplusplus</a>
-<a name="110"><span class="lineNum"> 110 </span> : : # define printf(...) \</a>
-<a name="111"><span class="lineNum"> 111 </span> : : __printf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
-<a name="112"><span class="lineNum"> 112 </span> : : # define fprintf(stream, ...) \</a>
-<a name="113"><span class="lineNum"> 113 </span> : : __fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
-<a name="114"><span class="lineNum"> 114 </span> : : # endif</a>
-<a name="115"><span class="lineNum"> 115 </span> : : </a>
-<a name="116"><span class="lineNum"> 116 </span> : : __fortify_function int</a>
-<a name="117"><span class="lineNum"> 117 </span> : : vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)</a>
-<a name="118"><span class="lineNum"> 118 </span> : : {</a>
-<a name="119"><span class="lineNum"> 119 </span> : : #ifdef __USE_EXTERN_INLINES</a>
-<a name="120"><span class="lineNum"> 120 </span> : : return __vfprintf_chk (stdout, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
-<a name="121"><span class="lineNum"> 121 </span> : : #else</a>
-<a name="122"><span class="lineNum"> 122 </span> : : return __vprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
-<a name="123"><span class="lineNum"> 123 </span> : : #endif</a>
-<a name="124"><span class="lineNum"> 124 </span> : : }</a>
-<a name="125"><span class="lineNum"> 125 </span> : : </a>
-<a name="126"><span class="lineNum"> 126 </span> : : __fortify_function int</a>
-<a name="127"><span class="lineNum"> 127 </span> : : vfprintf (FILE *__restrict __stream,</a>
-<a name="128"><span class="lineNum"> 128 </span> : : const char *__restrict __fmt, __gnuc_va_list __ap)</a>
-<a name="129"><span class="lineNum"> 129 </span> : : {</a>
-<a name="130"><span class="lineNum"> 130 </span> : : return __vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
-<a name="131"><span class="lineNum"> 131 </span> : : }</a>
-<a name="132"><span class="lineNum"> 132 </span> : : </a>
-<a name="133"><span class="lineNum"> 133 </span> : : # ifdef __USE_XOPEN2K8</a>
-<a name="134"><span class="lineNum"> 134 </span> : : extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,</a>
-<a name="135"><span class="lineNum"> 135 </span> : : ...) __attribute__ ((__format__ (__printf__, 3, 4)));</a>
-<a name="136"><span class="lineNum"> 136 </span> : : extern int __vdprintf_chk (int __fd, int __flag,</a>
-<a name="137"><span class="lineNum"> 137 </span> : : const char *__restrict __fmt, __gnuc_va_list __arg)</a>
-<a name="138"><span class="lineNum"> 138 </span> : : __attribute__ ((__format__ (__printf__, 3, 0)));</a>
-<a name="139"><span class="lineNum"> 139 </span> : : </a>
-<a name="140"><span class="lineNum"> 140 </span> : : # ifdef __va_arg_pack</a>
-<a name="141"><span class="lineNum"> 141 </span> : : __fortify_function int</a>
-<a name="142"><span class="lineNum"> 142 </span> : : dprintf (int __fd, const char *__restrict __fmt, ...)</a>
-<a name="143"><span class="lineNum"> 143 </span> : : {</a>
-<a name="144"><span class="lineNum"> 144 </span> : : return __dprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt,</a>
-<a name="145"><span class="lineNum"> 145 </span> : : __va_arg_pack ());</a>
-<a name="146"><span class="lineNum"> 146 </span> : : }</a>
-<a name="147"><span class="lineNum"> 147 </span> : : # elif !defined __cplusplus</a>
-<a name="148"><span class="lineNum"> 148 </span> : : # define dprintf(fd, ...) \</a>
-<a name="149"><span class="lineNum"> 149 </span> : : __dprintf_chk (fd, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
-<a name="150"><span class="lineNum"> 150 </span> : : # endif</a>
-<a name="151"><span class="lineNum"> 151 </span> : : </a>
-<a name="152"><span class="lineNum"> 152 </span> : : __fortify_function int</a>
-<a name="153"><span class="lineNum"> 153 </span> : : vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)</a>
-<a name="154"><span class="lineNum"> 154 </span> : : {</a>
-<a name="155"><span class="lineNum"> 155 </span> : : return __vdprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
-<a name="156"><span class="lineNum"> 156 </span> : : }</a>
-<a name="157"><span class="lineNum"> 157 </span> : : # endif</a>
-<a name="158"><span class="lineNum"> 158 </span> : : </a>
-<a name="159"><span class="lineNum"> 159 </span> : : # ifdef __USE_GNU</a>
-<a name="160"><span class="lineNum"> 160 </span> : : </a>
-<a name="161"><span class="lineNum"> 161 </span> : : extern int __asprintf_chk (char **__restrict __ptr, int __flag,</a>
-<a name="162"><span class="lineNum"> 162 </span> : : const char *__restrict __fmt, ...)</a>
-<a name="163"><span class="lineNum"> 163 </span> : : __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur;</a>
-<a name="164"><span class="lineNum"> 164 </span> : : extern int __vasprintf_chk (char **__restrict __ptr, int __flag,</a>
-<a name="165"><span class="lineNum"> 165 </span> : : const char *__restrict __fmt, __gnuc_va_list __arg)</a>
-<a name="166"><span class="lineNum"> 166 </span> : : __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur;</a>
-<a name="167"><span class="lineNum"> 167 </span> : : extern int __obstack_printf_chk (struct obstack *__restrict __obstack,</a>
-<a name="168"><span class="lineNum"> 168 </span> : : int __flag, const char *__restrict __format,</a>
-<a name="169"><span class="lineNum"> 169 </span> : : ...)</a>
-<a name="170"><span class="lineNum"> 170 </span> : : __THROW __attribute__ ((__format__ (__printf__, 3, 4)));</a>
-<a name="171"><span class="lineNum"> 171 </span> : : extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,</a>
-<a name="172"><span class="lineNum"> 172 </span> : : int __flag,</a>
-<a name="173"><span class="lineNum"> 173 </span> : : const char *__restrict __format,</a>
-<a name="174"><span class="lineNum"> 174 </span> : : __gnuc_va_list __args)</a>
-<a name="175"><span class="lineNum"> 175 </span> : : __THROW __attribute__ ((__format__ (__printf__, 3, 0)));</a>
-<a name="176"><span class="lineNum"> 176 </span> : : </a>
-<a name="177"><span class="lineNum"> 177 </span> : : # ifdef __va_arg_pack</a>
-<a name="178"><span class="lineNum"> 178 </span> : : __fortify_function int</a>
-<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 12 : __NTH (asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...))</span></a>
-<a name="180"><span class="lineNum"> 180 </span> : : {</a>
-<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 12 : return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,</span></a>
-<a name="182"><span class="lineNum"> 182 </span> : : __va_arg_pack ());</a>
-<a name="183"><span class="lineNum"> 183 </span> : : }</a>
-<a name="184"><span class="lineNum"> 184 </span> : : </a>
-<a name="185"><span class="lineNum"> 185 </span> : : __fortify_function int</a>
-<a name="186"><span class="lineNum"> 186 </span> : : __NTH (__asprintf (char **__restrict __ptr, const char *__restrict __fmt,</a>
-<a name="187"><span class="lineNum"> 187 </span> : : ...))</a>
-<a name="188"><span class="lineNum"> 188 </span> : : {</a>
-<a name="189"><span class="lineNum"> 189 </span> : : return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,</a>
-<a name="190"><span class="lineNum"> 190 </span> : : __va_arg_pack ());</a>
-<a name="191"><span class="lineNum"> 191 </span> : : }</a>
-<a name="192"><span class="lineNum"> 192 </span> : : </a>
-<a name="193"><span class="lineNum"> 193 </span> : : __fortify_function int</a>
-<a name="194"><span class="lineNum"> 194 </span> : : __NTH (obstack_printf (struct obstack *__restrict __obstack,</a>
-<a name="195"><span class="lineNum"> 195 </span> : : const char *__restrict __fmt, ...))</a>
-<a name="196"><span class="lineNum"> 196 </span> : : {</a>
-<a name="197"><span class="lineNum"> 197 </span> : : return __obstack_printf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,</a>
-<a name="198"><span class="lineNum"> 198 </span> : : __va_arg_pack ());</a>
-<a name="199"><span class="lineNum"> 199 </span> : : }</a>
-<a name="200"><span class="lineNum"> 200 </span> : : # elif !defined __cplusplus</a>
-<a name="201"><span class="lineNum"> 201 </span> : : # define asprintf(ptr, ...) \</a>
-<a name="202"><span class="lineNum"> 202 </span> : : __asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
-<a name="203"><span class="lineNum"> 203 </span> : : # define __asprintf(ptr, ...) \</a>
-<a name="204"><span class="lineNum"> 204 </span> : : __asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
-<a name="205"><span class="lineNum"> 205 </span> : : # define obstack_printf(obstack, ...) \</a>
-<a name="206"><span class="lineNum"> 206 </span> : : __obstack_printf_chk (obstack, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
-<a name="207"><span class="lineNum"> 207 </span> : : # endif</a>
-<a name="208"><span class="lineNum"> 208 </span> : : </a>
-<a name="209"><span class="lineNum"> 209 </span> : : __fortify_function int</a>
-<a name="210"><span class="lineNum"> 210 </span> : : __NTH (vasprintf (char **__restrict __ptr, const char *__restrict __fmt,</a>
-<a name="211"><span class="lineNum"> 211 </span> : : __gnuc_va_list __ap))</a>
-<a name="212"><span class="lineNum"> 212 </span> : : {</a>
-<a name="213"><span class="lineNum"> 213 </span> : : return __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
-<a name="214"><span class="lineNum"> 214 </span> : : }</a>
-<a name="215"><span class="lineNum"> 215 </span> : : </a>
-<a name="216"><span class="lineNum"> 216 </span> : : __fortify_function int</a>
-<a name="217"><span class="lineNum"> 217 </span> : : __NTH (obstack_vprintf (struct obstack *__restrict __obstack,</a>
-<a name="218"><span class="lineNum"> 218 </span> : : const char *__restrict __fmt, __gnuc_va_list __ap))</a>
-<a name="219"><span class="lineNum"> 219 </span> : : {</a>
-<a name="220"><span class="lineNum"> 220 </span> : : return __obstack_vprintf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,</a>
-<a name="221"><span class="lineNum"> 221 </span> : : __ap);</a>
-<a name="222"><span class="lineNum"> 222 </span> : : }</a>
-<a name="223"><span class="lineNum"> 223 </span> : : </a>
-<a name="224"><span class="lineNum"> 224 </span> : : # endif</a>
-<a name="225"><span class="lineNum"> 225 </span> : : </a>
-<a name="226"><span class="lineNum"> 226 </span> : : #endif</a>
-<a name="227"><span class="lineNum"> 227 </span> : : </a>
-<a name="228"><span class="lineNum"> 228 </span> : : #if __GLIBC_USE (DEPRECATED_GETS)</a>
-<a name="229"><span class="lineNum"> 229 </span> : : extern char *__gets_chk (char *__str, size_t) __wur;</a>
-<a name="230"><span class="lineNum"> 230 </span> : : extern char *__REDIRECT (__gets_warn, (char *__str), gets)</a>
-<a name="231"><span class="lineNum"> 231 </span> : : __wur __warnattr (&quot;please use fgets or getline instead, gets can't &quot;</a>
-<a name="232"><span class="lineNum"> 232 </span> : : &quot;specify buffer size&quot;);</a>
-<a name="233"><span class="lineNum"> 233 </span> : : </a>
-<a name="234"><span class="lineNum"> 234 </span> : : __fortify_function __wur char *</a>
-<a name="235"><span class="lineNum"> 235 </span> : : gets (char *__str)</a>
-<a name="236"><span class="lineNum"> 236 </span> : : {</a>
-<a name="237"><span class="lineNum"> 237 </span> : : if (__bos (__str) != (size_t) -1)</a>
-<a name="238"><span class="lineNum"> 238 </span> : : return __gets_chk (__str, __bos (__str));</a>
-<a name="239"><span class="lineNum"> 239 </span> : : return __gets_warn (__str);</a>
-<a name="240"><span class="lineNum"> 240 </span> : : }</a>
-<a name="241"><span class="lineNum"> 241 </span> : : #endif</a>
-<a name="242"><span class="lineNum"> 242 </span> : : </a>
-<a name="243"><span class="lineNum"> 243 </span> : : extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,</a>
-<a name="244"><span class="lineNum"> 244 </span> : : FILE *__restrict __stream) __wur;</a>
-<a name="245"><span class="lineNum"> 245 </span> : : extern char *__REDIRECT (__fgets_alias,</a>
-<a name="246"><span class="lineNum"> 246 </span> : : (char *__restrict __s, int __n,</a>
-<a name="247"><span class="lineNum"> 247 </span> : : FILE *__restrict __stream), fgets) __wur;</a>
-<a name="248"><span class="lineNum"> 248 </span> : : extern char *__REDIRECT (__fgets_chk_warn,</a>
-<a name="249"><span class="lineNum"> 249 </span> : : (char *__restrict __s, size_t __size, int __n,</a>
-<a name="250"><span class="lineNum"> 250 </span> : : FILE *__restrict __stream), __fgets_chk)</a>
-<a name="251"><span class="lineNum"> 251 </span> : : __wur __warnattr (&quot;fgets called with bigger size than length &quot;</a>
-<a name="252"><span class="lineNum"> 252 </span> : : &quot;of destination buffer&quot;);</a>
-<a name="253"><span class="lineNum"> 253 </span> : : </a>
-<a name="254"><span class="lineNum"> 254 </span> : : __fortify_function __wur char *</a>
-<a name="255"><span class="lineNum"> 255 </span> :<span class="lineCov"> 42 : fgets (char *__restrict __s, int __n, FILE *__restrict __stream)</span></a>
-<a name="256"><span class="lineNum"> 256 </span> : : {</a>
-<a name="257"><span class="lineNum"> 257 </span> :<span class="lineCov"> 42 : if (__bos (__s) != (size_t) -1)</span></a>
-<a name="258"><span class="lineNum"> 258 </span> : : {</a>
-<a name="259"><span class="lineNum"> 259 </span> :<span class="lineCov"> 42 : if (!__builtin_constant_p (__n) || __n &lt;= 0)</span></a>
-<a name="260"><span class="lineNum"> 260 </span> : : return __fgets_chk (__s, __bos (__s), __n, __stream);</a>
-<a name="261"><span class="lineNum"> 261 </span> : : </a>
-<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 42 : if ((size_t) __n &gt; __bos (__s))</span></a>
-<a name="263"><span class="lineNum"> 263 </span> : : return __fgets_chk_warn (__s, __bos (__s), __n, __stream);</a>
-<a name="264"><span class="lineNum"> 264 </span> : : }</a>
-<a name="265"><span class="lineNum"> 265 </span> :<span class="lineCov"> 42 : return __fgets_alias (__s, __n, __stream);</span></a>
-<a name="266"><span class="lineNum"> 266 </span> : : }</a>
-<a name="267"><span class="lineNum"> 267 </span> : : </a>
-<a name="268"><span class="lineNum"> 268 </span> : : extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,</a>
-<a name="269"><span class="lineNum"> 269 </span> : : size_t __size, size_t __n,</a>
-<a name="270"><span class="lineNum"> 270 </span> : : FILE *__restrict __stream) __wur;</a>
-<a name="271"><span class="lineNum"> 271 </span> : : extern size_t __REDIRECT (__fread_alias,</a>
-<a name="272"><span class="lineNum"> 272 </span> : : (void *__restrict __ptr, size_t __size,</a>
-<a name="273"><span class="lineNum"> 273 </span> : : size_t __n, FILE *__restrict __stream),</a>
-<a name="274"><span class="lineNum"> 274 </span> : : fread) __wur;</a>
-<a name="275"><span class="lineNum"> 275 </span> : : extern size_t __REDIRECT (__fread_chk_warn,</a>
-<a name="276"><span class="lineNum"> 276 </span> : : (void *__restrict __ptr, size_t __ptrlen,</a>
-<a name="277"><span class="lineNum"> 277 </span> : : size_t __size, size_t __n,</a>
-<a name="278"><span class="lineNum"> 278 </span> : : FILE *__restrict __stream),</a>
-<a name="279"><span class="lineNum"> 279 </span> : : __fread_chk)</a>
-<a name="280"><span class="lineNum"> 280 </span> : : __wur __warnattr (&quot;fread called with bigger size * nmemb than length &quot;</a>
-<a name="281"><span class="lineNum"> 281 </span> : : &quot;of destination buffer&quot;);</a>
-<a name="282"><span class="lineNum"> 282 </span> : : </a>
-<a name="283"><span class="lineNum"> 283 </span> : : __fortify_function __wur size_t</a>
-<a name="284"><span class="lineNum"> 284 </span> : : fread (void *__restrict __ptr, size_t __size, size_t __n,</a>
-<a name="285"><span class="lineNum"> 285 </span> : : FILE *__restrict __stream)</a>
-<a name="286"><span class="lineNum"> 286 </span> : : {</a>
-<a name="287"><span class="lineNum"> 287 </span> : : if (__bos0 (__ptr) != (size_t) -1)</a>
-<a name="288"><span class="lineNum"> 288 </span> : : {</a>
-<a name="289"><span class="lineNum"> 289 </span> : : if (!__builtin_constant_p (__size)</a>
-<a name="290"><span class="lineNum"> 290 </span> : : || !__builtin_constant_p (__n)</a>
-<a name="291"><span class="lineNum"> 291 </span> : : || (__size | __n) &gt;= (((size_t) 1) &lt;&lt; (8 * sizeof (size_t) / 2)))</a>
-<a name="292"><span class="lineNum"> 292 </span> : : return __fread_chk (__ptr, __bos0 (__ptr), __size, __n, __stream);</a>
-<a name="293"><span class="lineNum"> 293 </span> : : </a>
-<a name="294"><span class="lineNum"> 294 </span> : : if (__size * __n &gt; __bos0 (__ptr))</a>
-<a name="295"><span class="lineNum"> 295 </span> : : return __fread_chk_warn (__ptr, __bos0 (__ptr), __size, __n, __stream);</a>
-<a name="296"><span class="lineNum"> 296 </span> : : }</a>
-<a name="297"><span class="lineNum"> 297 </span> : : return __fread_alias (__ptr, __size, __n, __stream);</a>
-<a name="298"><span class="lineNum"> 298 </span> : : }</a>
-<a name="299"><span class="lineNum"> 299 </span> : : </a>
-<a name="300"><span class="lineNum"> 300 </span> : : #ifdef __USE_GNU</a>
-<a name="301"><span class="lineNum"> 301 </span> : : extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,</a>
-<a name="302"><span class="lineNum"> 302 </span> : : int __n, FILE *__restrict __stream) __wur;</a>
+<a name="27"><span class="lineNum"> 27 </span> : : const char *__restrict __format, ...) __THROW</a>
+<a name="28"><span class="lineNum"> 28 </span> : : __attr_access ((__write_only__, 1, 3));</a>
+<a name="29"><span class="lineNum"> 29 </span> : : extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,</a>
+<a name="30"><span class="lineNum"> 30 </span> : : const char *__restrict __format,</a>
+<a name="31"><span class="lineNum"> 31 </span> : : __gnuc_va_list __ap) __THROW</a>
+<a name="32"><span class="lineNum"> 32 </span> : : __attr_access ((__write_only__, 1, 3));</a>
+<a name="33"><span class="lineNum"> 33 </span> : : </a>
+<a name="34"><span class="lineNum"> 34 </span> : : #ifdef __va_arg_pack</a>
+<a name="35"><span class="lineNum"> 35 </span> : : __fortify_function int</a>
+<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 112 : __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))</span></a>
+<a name="37"><span class="lineNum"> 37 </span> : : {</a>
+<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 112 : return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,</span></a>
+<a name="39"><span class="lineNum"> 39 </span> : : __glibc_objsize (__s), __fmt,</a>
+<a name="40"><span class="lineNum"> 40 </span> : : __va_arg_pack ());</a>
+<a name="41"><span class="lineNum"> 41 </span> : : }</a>
+<a name="42"><span class="lineNum"> 42 </span> : : #elif !defined __cplusplus</a>
+<a name="43"><span class="lineNum"> 43 </span> : : # define sprintf(str, ...) \</a>
+<a name="44"><span class="lineNum"> 44 </span> : : __builtin___sprintf_chk (str, __USE_FORTIFY_LEVEL - 1, \</a>
+<a name="45"><span class="lineNum"> 45 </span> : : __glibc_objsize (str), __VA_ARGS__)</a>
+<a name="46"><span class="lineNum"> 46 </span> : : #endif</a>
+<a name="47"><span class="lineNum"> 47 </span> : : </a>
+<a name="48"><span class="lineNum"> 48 </span> : : __fortify_function int</a>
+<a name="49"><span class="lineNum"> 49 </span> : : __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,</a>
+<a name="50"><span class="lineNum"> 50 </span> : : __gnuc_va_list __ap))</a>
+<a name="51"><span class="lineNum"> 51 </span> : : {</a>
+<a name="52"><span class="lineNum"> 52 </span> : : return __builtin___vsprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,</a>
+<a name="53"><span class="lineNum"> 53 </span> : : __glibc_objsize (__s), __fmt, __ap);</a>
+<a name="54"><span class="lineNum"> 54 </span> : : }</a>
+<a name="55"><span class="lineNum"> 55 </span> : : </a>
+<a name="56"><span class="lineNum"> 56 </span> : : #if defined __USE_ISOC99 || defined __USE_UNIX98</a>
+<a name="57"><span class="lineNum"> 57 </span> : : </a>
+<a name="58"><span class="lineNum"> 58 </span> : : extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,</a>
+<a name="59"><span class="lineNum"> 59 </span> : : size_t __slen, const char *__restrict __format,</a>
+<a name="60"><span class="lineNum"> 60 </span> : : ...) __THROW</a>
+<a name="61"><span class="lineNum"> 61 </span> : : __attr_access ((__write_only__, 1, 2));</a>
+<a name="62"><span class="lineNum"> 62 </span> : : extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,</a>
+<a name="63"><span class="lineNum"> 63 </span> : : size_t __slen, const char *__restrict __format,</a>
+<a name="64"><span class="lineNum"> 64 </span> : : __gnuc_va_list __ap) __THROW;</a>
+<a name="65"><span class="lineNum"> 65 </span> : : </a>
+<a name="66"><span class="lineNum"> 66 </span> : : # ifdef __va_arg_pack</a>
+<a name="67"><span class="lineNum"> 67 </span> : : __fortify_function int</a>
+<a name="68"><span class="lineNum"> 68 </span> : : __NTH (snprintf (char *__restrict __s, size_t __n,</a>
+<a name="69"><span class="lineNum"> 69 </span> : : const char *__restrict __fmt, ...))</a>
+<a name="70"><span class="lineNum"> 70 </span> : : {</a>
+<a name="71"><span class="lineNum"> 71 </span> : : return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,</a>
+<a name="72"><span class="lineNum"> 72 </span> : : __glibc_objsize (__s), __fmt,</a>
+<a name="73"><span class="lineNum"> 73 </span> : : __va_arg_pack ());</a>
+<a name="74"><span class="lineNum"> 74 </span> : : }</a>
+<a name="75"><span class="lineNum"> 75 </span> : : # elif !defined __cplusplus</a>
+<a name="76"><span class="lineNum"> 76 </span> : : # define snprintf(str, len, ...) \</a>
+<a name="77"><span class="lineNum"> 77 </span> : : __builtin___snprintf_chk (str, len, __USE_FORTIFY_LEVEL - 1, \</a>
+<a name="78"><span class="lineNum"> 78 </span> : : __glibc_objsize (str), __VA_ARGS__)</a>
+<a name="79"><span class="lineNum"> 79 </span> : : # endif</a>
+<a name="80"><span class="lineNum"> 80 </span> : : </a>
+<a name="81"><span class="lineNum"> 81 </span> : : __fortify_function int</a>
+<a name="82"><span class="lineNum"> 82 </span> : : __NTH (vsnprintf (char *__restrict __s, size_t __n,</a>
+<a name="83"><span class="lineNum"> 83 </span> : : const char *__restrict __fmt, __gnuc_va_list __ap))</a>
+<a name="84"><span class="lineNum"> 84 </span> : : {</a>
+<a name="85"><span class="lineNum"> 85 </span> : : return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,</a>
+<a name="86"><span class="lineNum"> 86 </span> : : __glibc_objsize (__s), __fmt, __ap);</a>
+<a name="87"><span class="lineNum"> 87 </span> : : }</a>
+<a name="88"><span class="lineNum"> 88 </span> : : </a>
+<a name="89"><span class="lineNum"> 89 </span> : : #endif</a>
+<a name="90"><span class="lineNum"> 90 </span> : : </a>
+<a name="91"><span class="lineNum"> 91 </span> : : #if __USE_FORTIFY_LEVEL &gt; 1</a>
+<a name="92"><span class="lineNum"> 92 </span> : : </a>
+<a name="93"><span class="lineNum"> 93 </span> : : extern int __fprintf_chk (FILE *__restrict __stream, int __flag,</a>
+<a name="94"><span class="lineNum"> 94 </span> : : const char *__restrict __format, ...);</a>
+<a name="95"><span class="lineNum"> 95 </span> : : extern int __printf_chk (int __flag, const char *__restrict __format, ...);</a>
+<a name="96"><span class="lineNum"> 96 </span> : : extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,</a>
+<a name="97"><span class="lineNum"> 97 </span> : : const char *__restrict __format, __gnuc_va_list __ap);</a>
+<a name="98"><span class="lineNum"> 98 </span> : : extern int __vprintf_chk (int __flag, const char *__restrict __format,</a>
+<a name="99"><span class="lineNum"> 99 </span> : : __gnuc_va_list __ap);</a>
+<a name="100"><span class="lineNum"> 100 </span> : : </a>
+<a name="101"><span class="lineNum"> 101 </span> : : # ifdef __va_arg_pack</a>
+<a name="102"><span class="lineNum"> 102 </span> : : __fortify_function int</a>
+<a name="103"><span class="lineNum"> 103 </span> :<span class="lineCov"> 58 : fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)</span></a>
+<a name="104"><span class="lineNum"> 104 </span> : : {</a>
+<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 34 : return __fprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt,</span></a>
+<a name="106"><span class="lineNum"> 106 </span> : : __va_arg_pack ());</a>
+<a name="107"><span class="lineNum"> 107 </span> : : }</a>
+<a name="108"><span class="lineNum"> 108 </span> : : </a>
+<a name="109"><span class="lineNum"> 109 </span> : : __fortify_function int</a>
+<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 42936 : printf (const char *__restrict __fmt, ...)</span></a>
+<a name="111"><span class="lineNum"> 111 </span> : : {</a>
+<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 42488 : return __printf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());</span></a>
+<a name="113"><span class="lineNum"> 113 </span> : : }</a>
+<a name="114"><span class="lineNum"> 114 </span> : : # elif !defined __cplusplus</a>
+<a name="115"><span class="lineNum"> 115 </span> : : # define printf(...) \</a>
+<a name="116"><span class="lineNum"> 116 </span> : : __printf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
+<a name="117"><span class="lineNum"> 117 </span> : : # define fprintf(stream, ...) \</a>
+<a name="118"><span class="lineNum"> 118 </span> : : __fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
+<a name="119"><span class="lineNum"> 119 </span> : : # endif</a>
+<a name="120"><span class="lineNum"> 120 </span> : : </a>
+<a name="121"><span class="lineNum"> 121 </span> : : __fortify_function int</a>
+<a name="122"><span class="lineNum"> 122 </span> : : vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)</a>
+<a name="123"><span class="lineNum"> 123 </span> : : {</a>
+<a name="124"><span class="lineNum"> 124 </span> : : #ifdef __USE_EXTERN_INLINES</a>
+<a name="125"><span class="lineNum"> 125 </span> : : return __vfprintf_chk (stdout, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
+<a name="126"><span class="lineNum"> 126 </span> : : #else</a>
+<a name="127"><span class="lineNum"> 127 </span> : : return __vprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
+<a name="128"><span class="lineNum"> 128 </span> : : #endif</a>
+<a name="129"><span class="lineNum"> 129 </span> : : }</a>
+<a name="130"><span class="lineNum"> 130 </span> : : </a>
+<a name="131"><span class="lineNum"> 131 </span> : : __fortify_function int</a>
+<a name="132"><span class="lineNum"> 132 </span> : : vfprintf (FILE *__restrict __stream,</a>
+<a name="133"><span class="lineNum"> 133 </span> : : const char *__restrict __fmt, __gnuc_va_list __ap)</a>
+<a name="134"><span class="lineNum"> 134 </span> : : {</a>
+<a name="135"><span class="lineNum"> 135 </span> : : return __vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
+<a name="136"><span class="lineNum"> 136 </span> : : }</a>
+<a name="137"><span class="lineNum"> 137 </span> : : </a>
+<a name="138"><span class="lineNum"> 138 </span> : : # ifdef __USE_XOPEN2K8</a>
+<a name="139"><span class="lineNum"> 139 </span> : : extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,</a>
+<a name="140"><span class="lineNum"> 140 </span> : : ...) __attribute__ ((__format__ (__printf__, 3, 4)));</a>
+<a name="141"><span class="lineNum"> 141 </span> : : extern int __vdprintf_chk (int __fd, int __flag,</a>
+<a name="142"><span class="lineNum"> 142 </span> : : const char *__restrict __fmt, __gnuc_va_list __arg)</a>
+<a name="143"><span class="lineNum"> 143 </span> : : __attribute__ ((__format__ (__printf__, 3, 0)));</a>
+<a name="144"><span class="lineNum"> 144 </span> : : </a>
+<a name="145"><span class="lineNum"> 145 </span> : : # ifdef __va_arg_pack</a>
+<a name="146"><span class="lineNum"> 146 </span> : : __fortify_function int</a>
+<a name="147"><span class="lineNum"> 147 </span> : : dprintf (int __fd, const char *__restrict __fmt, ...)</a>
+<a name="148"><span class="lineNum"> 148 </span> : : {</a>
+<a name="149"><span class="lineNum"> 149 </span> : : return __dprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt,</a>
+<a name="150"><span class="lineNum"> 150 </span> : : __va_arg_pack ());</a>
+<a name="151"><span class="lineNum"> 151 </span> : : }</a>
+<a name="152"><span class="lineNum"> 152 </span> : : # elif !defined __cplusplus</a>
+<a name="153"><span class="lineNum"> 153 </span> : : # define dprintf(fd, ...) \</a>
+<a name="154"><span class="lineNum"> 154 </span> : : __dprintf_chk (fd, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
+<a name="155"><span class="lineNum"> 155 </span> : : # endif</a>
+<a name="156"><span class="lineNum"> 156 </span> : : </a>
+<a name="157"><span class="lineNum"> 157 </span> : : __fortify_function int</a>
+<a name="158"><span class="lineNum"> 158 </span> : : vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)</a>
+<a name="159"><span class="lineNum"> 159 </span> : : {</a>
+<a name="160"><span class="lineNum"> 160 </span> : : return __vdprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
+<a name="161"><span class="lineNum"> 161 </span> : : }</a>
+<a name="162"><span class="lineNum"> 162 </span> : : # endif</a>
+<a name="163"><span class="lineNum"> 163 </span> : : </a>
+<a name="164"><span class="lineNum"> 164 </span> : : # ifdef __USE_GNU</a>
+<a name="165"><span class="lineNum"> 165 </span> : : </a>
+<a name="166"><span class="lineNum"> 166 </span> : : extern int __asprintf_chk (char **__restrict __ptr, int __flag,</a>
+<a name="167"><span class="lineNum"> 167 </span> : : const char *__restrict __fmt, ...)</a>
+<a name="168"><span class="lineNum"> 168 </span> : : __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur;</a>
+<a name="169"><span class="lineNum"> 169 </span> : : extern int __vasprintf_chk (char **__restrict __ptr, int __flag,</a>
+<a name="170"><span class="lineNum"> 170 </span> : : const char *__restrict __fmt, __gnuc_va_list __arg)</a>
+<a name="171"><span class="lineNum"> 171 </span> : : __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur;</a>
+<a name="172"><span class="lineNum"> 172 </span> : : extern int __obstack_printf_chk (struct obstack *__restrict __obstack,</a>
+<a name="173"><span class="lineNum"> 173 </span> : : int __flag, const char *__restrict __format,</a>
+<a name="174"><span class="lineNum"> 174 </span> : : ...)</a>
+<a name="175"><span class="lineNum"> 175 </span> : : __THROW __attribute__ ((__format__ (__printf__, 3, 4)));</a>
+<a name="176"><span class="lineNum"> 176 </span> : : extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,</a>
+<a name="177"><span class="lineNum"> 177 </span> : : int __flag,</a>
+<a name="178"><span class="lineNum"> 178 </span> : : const char *__restrict __format,</a>
+<a name="179"><span class="lineNum"> 179 </span> : : __gnuc_va_list __args)</a>
+<a name="180"><span class="lineNum"> 180 </span> : : __THROW __attribute__ ((__format__ (__printf__, 3, 0)));</a>
+<a name="181"><span class="lineNum"> 181 </span> : : </a>
+<a name="182"><span class="lineNum"> 182 </span> : : # ifdef __va_arg_pack</a>
+<a name="183"><span class="lineNum"> 183 </span> : : __fortify_function int</a>
+<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 34 : __NTH (asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...))</span></a>
+<a name="185"><span class="lineNum"> 185 </span> : : {</a>
+<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 34 : return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,</span></a>
+<a name="187"><span class="lineNum"> 187 </span> : : __va_arg_pack ());</a>
+<a name="188"><span class="lineNum"> 188 </span> : : }</a>
+<a name="189"><span class="lineNum"> 189 </span> : : </a>
+<a name="190"><span class="lineNum"> 190 </span> : : __fortify_function int</a>
+<a name="191"><span class="lineNum"> 191 </span> : : __NTH (__asprintf (char **__restrict __ptr, const char *__restrict __fmt,</a>
+<a name="192"><span class="lineNum"> 192 </span> : : ...))</a>
+<a name="193"><span class="lineNum"> 193 </span> : : {</a>
+<a name="194"><span class="lineNum"> 194 </span> : : return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,</a>
+<a name="195"><span class="lineNum"> 195 </span> : : __va_arg_pack ());</a>
+<a name="196"><span class="lineNum"> 196 </span> : : }</a>
+<a name="197"><span class="lineNum"> 197 </span> : : </a>
+<a name="198"><span class="lineNum"> 198 </span> : : __fortify_function int</a>
+<a name="199"><span class="lineNum"> 199 </span> : : __NTH (obstack_printf (struct obstack *__restrict __obstack,</a>
+<a name="200"><span class="lineNum"> 200 </span> : : const char *__restrict __fmt, ...))</a>
+<a name="201"><span class="lineNum"> 201 </span> : : {</a>
+<a name="202"><span class="lineNum"> 202 </span> : : return __obstack_printf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,</a>
+<a name="203"><span class="lineNum"> 203 </span> : : __va_arg_pack ());</a>
+<a name="204"><span class="lineNum"> 204 </span> : : }</a>
+<a name="205"><span class="lineNum"> 205 </span> : : # elif !defined __cplusplus</a>
+<a name="206"><span class="lineNum"> 206 </span> : : # define asprintf(ptr, ...) \</a>
+<a name="207"><span class="lineNum"> 207 </span> : : __asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
+<a name="208"><span class="lineNum"> 208 </span> : : # define __asprintf(ptr, ...) \</a>
+<a name="209"><span class="lineNum"> 209 </span> : : __asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
+<a name="210"><span class="lineNum"> 210 </span> : : # define obstack_printf(obstack, ...) \</a>
+<a name="211"><span class="lineNum"> 211 </span> : : __obstack_printf_chk (obstack, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)</a>
+<a name="212"><span class="lineNum"> 212 </span> : : # endif</a>
+<a name="213"><span class="lineNum"> 213 </span> : : </a>
+<a name="214"><span class="lineNum"> 214 </span> : : __fortify_function int</a>
+<a name="215"><span class="lineNum"> 215 </span> : : __NTH (vasprintf (char **__restrict __ptr, const char *__restrict __fmt,</a>
+<a name="216"><span class="lineNum"> 216 </span> : : __gnuc_va_list __ap))</a>
+<a name="217"><span class="lineNum"> 217 </span> : : {</a>
+<a name="218"><span class="lineNum"> 218 </span> : : return __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);</a>
+<a name="219"><span class="lineNum"> 219 </span> : : }</a>
+<a name="220"><span class="lineNum"> 220 </span> : : </a>
+<a name="221"><span class="lineNum"> 221 </span> : : __fortify_function int</a>
+<a name="222"><span class="lineNum"> 222 </span> : : __NTH (obstack_vprintf (struct obstack *__restrict __obstack,</a>
+<a name="223"><span class="lineNum"> 223 </span> : : const char *__restrict __fmt, __gnuc_va_list __ap))</a>
+<a name="224"><span class="lineNum"> 224 </span> : : {</a>
+<a name="225"><span class="lineNum"> 225 </span> : : return __obstack_vprintf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,</a>
+<a name="226"><span class="lineNum"> 226 </span> : : __ap);</a>
+<a name="227"><span class="lineNum"> 227 </span> : : }</a>
+<a name="228"><span class="lineNum"> 228 </span> : : </a>
+<a name="229"><span class="lineNum"> 229 </span> : : # endif</a>
+<a name="230"><span class="lineNum"> 230 </span> : : </a>
+<a name="231"><span class="lineNum"> 231 </span> : : #endif</a>
+<a name="232"><span class="lineNum"> 232 </span> : : </a>
+<a name="233"><span class="lineNum"> 233 </span> : : #if __GLIBC_USE (DEPRECATED_GETS)</a>
+<a name="234"><span class="lineNum"> 234 </span> : : extern char *__gets_chk (char *__str, size_t) __wur;</a>
+<a name="235"><span class="lineNum"> 235 </span> : : extern char *__REDIRECT (__gets_warn, (char *__str), gets)</a>
+<a name="236"><span class="lineNum"> 236 </span> : : __wur __warnattr (&quot;please use fgets or getline instead, gets can't &quot;</a>
+<a name="237"><span class="lineNum"> 237 </span> : : &quot;specify buffer size&quot;);</a>
+<a name="238"><span class="lineNum"> 238 </span> : : </a>
+<a name="239"><span class="lineNum"> 239 </span> : : __fortify_function __wur char *</a>
+<a name="240"><span class="lineNum"> 240 </span> : : gets (char *__str)</a>
+<a name="241"><span class="lineNum"> 241 </span> : : {</a>
+<a name="242"><span class="lineNum"> 242 </span> : : if (__glibc_objsize (__str) != (size_t) -1)</a>
+<a name="243"><span class="lineNum"> 243 </span> : : return __gets_chk (__str, __glibc_objsize (__str));</a>
+<a name="244"><span class="lineNum"> 244 </span> : : return __gets_warn (__str);</a>
+<a name="245"><span class="lineNum"> 245 </span> : : }</a>
+<a name="246"><span class="lineNum"> 246 </span> : : #endif</a>
+<a name="247"><span class="lineNum"> 247 </span> : : </a>
+<a name="248"><span class="lineNum"> 248 </span> : : extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,</a>
+<a name="249"><span class="lineNum"> 249 </span> : : FILE *__restrict __stream)</a>
+<a name="250"><span class="lineNum"> 250 </span> : : __wur __attr_access ((__write_only__, 1, 3));</a>
+<a name="251"><span class="lineNum"> 251 </span> : : extern char *__REDIRECT (__fgets_alias,</a>
+<a name="252"><span class="lineNum"> 252 </span> : : (char *__restrict __s, int __n,</a>
+<a name="253"><span class="lineNum"> 253 </span> : : FILE *__restrict __stream), fgets)</a>
+<a name="254"><span class="lineNum"> 254 </span> : : __wur __attr_access ((__write_only__, 1, 2));</a>
+<a name="255"><span class="lineNum"> 255 </span> : : extern char *__REDIRECT (__fgets_chk_warn,</a>
+<a name="256"><span class="lineNum"> 256 </span> : : (char *__restrict __s, size_t __size, int __n,</a>
+<a name="257"><span class="lineNum"> 257 </span> : : FILE *__restrict __stream), __fgets_chk)</a>
+<a name="258"><span class="lineNum"> 258 </span> : : __wur __warnattr (&quot;fgets called with bigger size than length &quot;</a>
+<a name="259"><span class="lineNum"> 259 </span> : : &quot;of destination buffer&quot;);</a>
+<a name="260"><span class="lineNum"> 260 </span> : : </a>
+<a name="261"><span class="lineNum"> 261 </span> : : __fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char *</a>
+<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 42 : fgets (char *__restrict __s, int __n, FILE *__restrict __stream)</span></a>
+<a name="263"><span class="lineNum"> 263 </span> : : {</a>
+<a name="264"><span class="lineNum"> 264 </span> :<span class="lineCov"> 42 : size_t sz = __glibc_objsize (__s);</span></a>
+<a name="265"><span class="lineNum"> 265 </span> :<span class="lineCov"> 42 : if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz))</span></a>
+<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 42 : return __fgets_alias (__s, __n, __stream);</span></a>
+<a name="267"><span class="lineNum"> 267 </span> : : if (__glibc_unsafe_len (__n, sizeof (char), sz))</a>
+<a name="268"><span class="lineNum"> 268 </span> : : return __fgets_chk_warn (__s, sz, __n, __stream);</a>
+<a name="269"><span class="lineNum"> 269 </span> : : return __fgets_chk (__s, sz, __n, __stream);</a>
+<a name="270"><span class="lineNum"> 270 </span> : : }</a>
+<a name="271"><span class="lineNum"> 271 </span> : : </a>
+<a name="272"><span class="lineNum"> 272 </span> : : extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,</a>
+<a name="273"><span class="lineNum"> 273 </span> : : size_t __size, size_t __n,</a>
+<a name="274"><span class="lineNum"> 274 </span> : : FILE *__restrict __stream) __wur;</a>
+<a name="275"><span class="lineNum"> 275 </span> : : extern size_t __REDIRECT (__fread_alias,</a>
+<a name="276"><span class="lineNum"> 276 </span> : : (void *__restrict __ptr, size_t __size,</a>
+<a name="277"><span class="lineNum"> 277 </span> : : size_t __n, FILE *__restrict __stream),</a>
+<a name="278"><span class="lineNum"> 278 </span> : : fread) __wur;</a>
+<a name="279"><span class="lineNum"> 279 </span> : : extern size_t __REDIRECT (__fread_chk_warn,</a>
+<a name="280"><span class="lineNum"> 280 </span> : : (void *__restrict __ptr, size_t __ptrlen,</a>
+<a name="281"><span class="lineNum"> 281 </span> : : size_t __size, size_t __n,</a>
+<a name="282"><span class="lineNum"> 282 </span> : : FILE *__restrict __stream),</a>
+<a name="283"><span class="lineNum"> 283 </span> : : __fread_chk)</a>
+<a name="284"><span class="lineNum"> 284 </span> : : __wur __warnattr (&quot;fread called with bigger size * nmemb than length &quot;</a>
+<a name="285"><span class="lineNum"> 285 </span> : : &quot;of destination buffer&quot;);</a>
+<a name="286"><span class="lineNum"> 286 </span> : : </a>
+<a name="287"><span class="lineNum"> 287 </span> : : __fortify_function __wur size_t</a>
+<a name="288"><span class="lineNum"> 288 </span> : : fread (void *__restrict __ptr, size_t __size, size_t __n,</a>
+<a name="289"><span class="lineNum"> 289 </span> : : FILE *__restrict __stream)</a>
+<a name="290"><span class="lineNum"> 290 </span> : : {</a>
+<a name="291"><span class="lineNum"> 291 </span> : : size_t sz = __glibc_objsize0 (__ptr);</a>
+<a name="292"><span class="lineNum"> 292 </span> : : if (__glibc_safe_or_unknown_len (__n, __size, sz))</a>
+<a name="293"><span class="lineNum"> 293 </span> : : return __fread_alias (__ptr, __size, __n, __stream);</a>
+<a name="294"><span class="lineNum"> 294 </span> : : if (__glibc_unsafe_len (__n, __size, sz))</a>
+<a name="295"><span class="lineNum"> 295 </span> : : return __fread_chk_warn (__ptr, sz, __size, __n, __stream);</a>
+<a name="296"><span class="lineNum"> 296 </span> : : return __fread_chk (__ptr, sz, __size, __n, __stream);</a>
+<a name="297"><span class="lineNum"> 297 </span> : : }</a>
+<a name="298"><span class="lineNum"> 298 </span> : : </a>
+<a name="299"><span class="lineNum"> 299 </span> : : #ifdef __USE_GNU</a>
+<a name="300"><span class="lineNum"> 300 </span> : : extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,</a>
+<a name="301"><span class="lineNum"> 301 </span> : : int __n, FILE *__restrict __stream)</a>
+<a name="302"><span class="lineNum"> 302 </span> : : __wur __attr_access ((__write_only__, 1, 3));</a>
<a name="303"><span class="lineNum"> 303 </span> : : extern char *__REDIRECT (__fgets_unlocked_alias,</a>
<a name="304"><span class="lineNum"> 304 </span> : : (char *__restrict __s, int __n,</a>
-<a name="305"><span class="lineNum"> 305 </span> : : FILE *__restrict __stream), fgets_unlocked) __wur;</a>
-<a name="306"><span class="lineNum"> 306 </span> : : extern char *__REDIRECT (__fgets_unlocked_chk_warn,</a>
-<a name="307"><span class="lineNum"> 307 </span> : : (char *__restrict __s, size_t __size, int __n,</a>
-<a name="308"><span class="lineNum"> 308 </span> : : FILE *__restrict __stream), __fgets_unlocked_chk)</a>
-<a name="309"><span class="lineNum"> 309 </span> : : __wur __warnattr (&quot;fgets_unlocked called with bigger size than length &quot;</a>
-<a name="310"><span class="lineNum"> 310 </span> : : &quot;of destination buffer&quot;);</a>
-<a name="311"><span class="lineNum"> 311 </span> : : </a>
-<a name="312"><span class="lineNum"> 312 </span> : : __fortify_function __wur char *</a>
-<a name="313"><span class="lineNum"> 313 </span> : : fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)</a>
-<a name="314"><span class="lineNum"> 314 </span> : : {</a>
-<a name="315"><span class="lineNum"> 315 </span> : : if (__bos (__s) != (size_t) -1)</a>
-<a name="316"><span class="lineNum"> 316 </span> : : {</a>
-<a name="317"><span class="lineNum"> 317 </span> : : if (!__builtin_constant_p (__n) || __n &lt;= 0)</a>
-<a name="318"><span class="lineNum"> 318 </span> : : return __fgets_unlocked_chk (__s, __bos (__s), __n, __stream);</a>
-<a name="319"><span class="lineNum"> 319 </span> : : </a>
-<a name="320"><span class="lineNum"> 320 </span> : : if ((size_t) __n &gt; __bos (__s))</a>
-<a name="321"><span class="lineNum"> 321 </span> : : return __fgets_unlocked_chk_warn (__s, __bos (__s), __n, __stream);</a>
-<a name="322"><span class="lineNum"> 322 </span> : : }</a>
-<a name="323"><span class="lineNum"> 323 </span> : : return __fgets_unlocked_alias (__s, __n, __stream);</a>
-<a name="324"><span class="lineNum"> 324 </span> : : }</a>
-<a name="325"><span class="lineNum"> 325 </span> : : #endif</a>
-<a name="326"><span class="lineNum"> 326 </span> : : </a>
-<a name="327"><span class="lineNum"> 327 </span> : : #ifdef __USE_MISC</a>
-<a name="328"><span class="lineNum"> 328 </span> : : # undef fread_unlocked</a>
-<a name="329"><span class="lineNum"> 329 </span> : : extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,</a>
-<a name="330"><span class="lineNum"> 330 </span> : : size_t __size, size_t __n,</a>
-<a name="331"><span class="lineNum"> 331 </span> : : FILE *__restrict __stream) __wur;</a>
-<a name="332"><span class="lineNum"> 332 </span> : : extern size_t __REDIRECT (__fread_unlocked_alias,</a>
-<a name="333"><span class="lineNum"> 333 </span> : : (void *__restrict __ptr, size_t __size,</a>
-<a name="334"><span class="lineNum"> 334 </span> : : size_t __n, FILE *__restrict __stream),</a>
-<a name="335"><span class="lineNum"> 335 </span> : : fread_unlocked) __wur;</a>
-<a name="336"><span class="lineNum"> 336 </span> : : extern size_t __REDIRECT (__fread_unlocked_chk_warn,</a>
-<a name="337"><span class="lineNum"> 337 </span> : : (void *__restrict __ptr, size_t __ptrlen,</a>
-<a name="338"><span class="lineNum"> 338 </span> : : size_t __size, size_t __n,</a>
-<a name="339"><span class="lineNum"> 339 </span> : : FILE *__restrict __stream),</a>
-<a name="340"><span class="lineNum"> 340 </span> : : __fread_unlocked_chk)</a>
-<a name="341"><span class="lineNum"> 341 </span> : : __wur __warnattr (&quot;fread_unlocked called with bigger size * nmemb than &quot;</a>
-<a name="342"><span class="lineNum"> 342 </span> : : &quot;length of destination buffer&quot;);</a>
-<a name="343"><span class="lineNum"> 343 </span> : : </a>
-<a name="344"><span class="lineNum"> 344 </span> : : __fortify_function __wur size_t</a>
-<a name="345"><span class="lineNum"> 345 </span> : : fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,</a>
-<a name="346"><span class="lineNum"> 346 </span> : : FILE *__restrict __stream)</a>
-<a name="347"><span class="lineNum"> 347 </span> : : {</a>
-<a name="348"><span class="lineNum"> 348 </span> : : if (__bos0 (__ptr) != (size_t) -1)</a>
-<a name="349"><span class="lineNum"> 349 </span> : : {</a>
-<a name="350"><span class="lineNum"> 350 </span> : : if (!__builtin_constant_p (__size)</a>
-<a name="351"><span class="lineNum"> 351 </span> : : || !__builtin_constant_p (__n)</a>
-<a name="352"><span class="lineNum"> 352 </span> : : || (__size | __n) &gt;= (((size_t) 1) &lt;&lt; (8 * sizeof (size_t) / 2)))</a>
-<a name="353"><span class="lineNum"> 353 </span> : : return __fread_unlocked_chk (__ptr, __bos0 (__ptr), __size, __n,</a>
-<a name="354"><span class="lineNum"> 354 </span> : : __stream);</a>
-<a name="355"><span class="lineNum"> 355 </span> : : </a>
-<a name="356"><span class="lineNum"> 356 </span> : : if (__size * __n &gt; __bos0 (__ptr))</a>
-<a name="357"><span class="lineNum"> 357 </span> : : return __fread_unlocked_chk_warn (__ptr, __bos0 (__ptr), __size, __n,</a>
-<a name="358"><span class="lineNum"> 358 </span> : : __stream);</a>
-<a name="359"><span class="lineNum"> 359 </span> : : }</a>
-<a name="360"><span class="lineNum"> 360 </span> : : </a>
-<a name="361"><span class="lineNum"> 361 </span> : : # ifdef __USE_EXTERN_INLINES</a>
-<a name="362"><span class="lineNum"> 362 </span> : : if (__builtin_constant_p (__size)</a>
-<a name="363"><span class="lineNum"> 363 </span> : : &amp;&amp; __builtin_constant_p (__n)</a>
-<a name="364"><span class="lineNum"> 364 </span> : : &amp;&amp; (__size | __n) &lt; (((size_t) 1) &lt;&lt; (8 * sizeof (size_t) / 2))</a>
-<a name="365"><span class="lineNum"> 365 </span> : : &amp;&amp; __size * __n &lt;= 8)</a>
-<a name="366"><span class="lineNum"> 366 </span> : : {</a>
-<a name="367"><span class="lineNum"> 367 </span> : : size_t __cnt = __size * __n;</a>
-<a name="368"><span class="lineNum"> 368 </span> : : char *__cptr = (char *) __ptr;</a>
-<a name="369"><span class="lineNum"> 369 </span> : : if (__cnt == 0)</a>
-<a name="370"><span class="lineNum"> 370 </span> : : return 0;</a>
-<a name="371"><span class="lineNum"> 371 </span> : : </a>
-<a name="372"><span class="lineNum"> 372 </span> : : for (; __cnt &gt; 0; --__cnt)</a>
-<a name="373"><span class="lineNum"> 373 </span> : : {</a>
-<a name="374"><span class="lineNum"> 374 </span> : : int __c = getc_unlocked (__stream);</a>
-<a name="375"><span class="lineNum"> 375 </span> : : if (__c == EOF)</a>
-<a name="376"><span class="lineNum"> 376 </span> : : break;</a>
-<a name="377"><span class="lineNum"> 377 </span> : : *__cptr++ = __c;</a>
-<a name="378"><span class="lineNum"> 378 </span> : : }</a>
-<a name="379"><span class="lineNum"> 379 </span> : : return (__cptr - (char *) __ptr) / __size;</a>
-<a name="380"><span class="lineNum"> 380 </span> : : }</a>
-<a name="381"><span class="lineNum"> 381 </span> : : # endif</a>
-<a name="382"><span class="lineNum"> 382 </span> : : return __fread_unlocked_alias (__ptr, __size, __n, __stream);</a>
-<a name="383"><span class="lineNum"> 383 </span> : : }</a>
-<a name="384"><span class="lineNum"> 384 </span> : : #endif</a>
-<a name="385"><span class="lineNum"> 385 </span> : : </a>
-<a name="386"><span class="lineNum"> 386 </span> : : #endif /* bits/stdio2.h. */</a>
+<a name="305"><span class="lineNum"> 305 </span> : : FILE *__restrict __stream), fgets_unlocked)</a>
+<a name="306"><span class="lineNum"> 306 </span> : : __wur __attr_access ((__write_only__, 1, 2));</a>
+<a name="307"><span class="lineNum"> 307 </span> : : extern char *__REDIRECT (__fgets_unlocked_chk_warn,</a>
+<a name="308"><span class="lineNum"> 308 </span> : : (char *__restrict __s, size_t __size, int __n,</a>
+<a name="309"><span class="lineNum"> 309 </span> : : FILE *__restrict __stream), __fgets_unlocked_chk)</a>
+<a name="310"><span class="lineNum"> 310 </span> : : __wur __warnattr (&quot;fgets_unlocked called with bigger size than length &quot;</a>
+<a name="311"><span class="lineNum"> 311 </span> : : &quot;of destination buffer&quot;);</a>
+<a name="312"><span class="lineNum"> 312 </span> : : </a>
+<a name="313"><span class="lineNum"> 313 </span> : : __fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char *</a>
+<a name="314"><span class="lineNum"> 314 </span> : : fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)</a>
+<a name="315"><span class="lineNum"> 315 </span> : : {</a>
+<a name="316"><span class="lineNum"> 316 </span> : : size_t sz = __glibc_objsize (__s);</a>
+<a name="317"><span class="lineNum"> 317 </span> : : if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz))</a>
+<a name="318"><span class="lineNum"> 318 </span> : : return __fgets_unlocked_alias (__s, __n, __stream);</a>
+<a name="319"><span class="lineNum"> 319 </span> : : if (__glibc_unsafe_len (__n, sizeof (char), sz))</a>
+<a name="320"><span class="lineNum"> 320 </span> : : return __fgets_unlocked_chk_warn (__s, sz, __n, __stream);</a>
+<a name="321"><span class="lineNum"> 321 </span> : : return __fgets_unlocked_chk (__s, sz, __n, __stream);</a>
+<a name="322"><span class="lineNum"> 322 </span> : : }</a>
+<a name="323"><span class="lineNum"> 323 </span> : : #endif</a>
+<a name="324"><span class="lineNum"> 324 </span> : : </a>
+<a name="325"><span class="lineNum"> 325 </span> : : #ifdef __USE_MISC</a>
+<a name="326"><span class="lineNum"> 326 </span> : : # undef fread_unlocked</a>
+<a name="327"><span class="lineNum"> 327 </span> : : extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,</a>
+<a name="328"><span class="lineNum"> 328 </span> : : size_t __size, size_t __n,</a>
+<a name="329"><span class="lineNum"> 329 </span> : : FILE *__restrict __stream) __wur;</a>
+<a name="330"><span class="lineNum"> 330 </span> : : extern size_t __REDIRECT (__fread_unlocked_alias,</a>
+<a name="331"><span class="lineNum"> 331 </span> : : (void *__restrict __ptr, size_t __size,</a>
+<a name="332"><span class="lineNum"> 332 </span> : : size_t __n, FILE *__restrict __stream),</a>
+<a name="333"><span class="lineNum"> 333 </span> : : fread_unlocked) __wur;</a>
+<a name="334"><span class="lineNum"> 334 </span> : : extern size_t __REDIRECT (__fread_unlocked_chk_warn,</a>
+<a name="335"><span class="lineNum"> 335 </span> : : (void *__restrict __ptr, size_t __ptrlen,</a>
+<a name="336"><span class="lineNum"> 336 </span> : : size_t __size, size_t __n,</a>
+<a name="337"><span class="lineNum"> 337 </span> : : FILE *__restrict __stream),</a>
+<a name="338"><span class="lineNum"> 338 </span> : : __fread_unlocked_chk)</a>
+<a name="339"><span class="lineNum"> 339 </span> : : __wur __warnattr (&quot;fread_unlocked called with bigger size * nmemb than &quot;</a>
+<a name="340"><span class="lineNum"> 340 </span> : : &quot;length of destination buffer&quot;);</a>
+<a name="341"><span class="lineNum"> 341 </span> : : </a>
+<a name="342"><span class="lineNum"> 342 </span> : : __fortify_function __wur size_t</a>
+<a name="343"><span class="lineNum"> 343 </span> : : fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,</a>
+<a name="344"><span class="lineNum"> 344 </span> : : FILE *__restrict __stream)</a>
+<a name="345"><span class="lineNum"> 345 </span> : : {</a>
+<a name="346"><span class="lineNum"> 346 </span> : : size_t sz = __glibc_objsize0 (__ptr);</a>
+<a name="347"><span class="lineNum"> 347 </span> : : if (__glibc_safe_or_unknown_len (__n, __size, sz))</a>
+<a name="348"><span class="lineNum"> 348 </span> : : {</a>
+<a name="349"><span class="lineNum"> 349 </span> : : # ifdef __USE_EXTERN_INLINES</a>
+<a name="350"><span class="lineNum"> 350 </span> : : if (__builtin_constant_p (__size)</a>
+<a name="351"><span class="lineNum"> 351 </span> : : &amp;&amp; __builtin_constant_p (__n)</a>
+<a name="352"><span class="lineNum"> 352 </span> : : &amp;&amp; (__size | __n) &lt; (((size_t) 1) &lt;&lt; (8 * sizeof (size_t) / 2))</a>
+<a name="353"><span class="lineNum"> 353 </span> : : &amp;&amp; __size * __n &lt;= 8)</a>
+<a name="354"><span class="lineNum"> 354 </span> : : {</a>
+<a name="355"><span class="lineNum"> 355 </span> : : size_t __cnt = __size * __n;</a>
+<a name="356"><span class="lineNum"> 356 </span> : : char *__cptr = (char *) __ptr;</a>
+<a name="357"><span class="lineNum"> 357 </span> : : if (__cnt == 0)</a>
+<a name="358"><span class="lineNum"> 358 </span> : : return 0;</a>
+<a name="359"><span class="lineNum"> 359 </span> : : </a>
+<a name="360"><span class="lineNum"> 360 </span> : : for (; __cnt &gt; 0; --__cnt)</a>
+<a name="361"><span class="lineNum"> 361 </span> : : {</a>
+<a name="362"><span class="lineNum"> 362 </span> : : int __c = getc_unlocked (__stream);</a>
+<a name="363"><span class="lineNum"> 363 </span> : : if (__c == EOF)</a>
+<a name="364"><span class="lineNum"> 364 </span> : : break;</a>
+<a name="365"><span class="lineNum"> 365 </span> : : *__cptr++ = __c;</a>
+<a name="366"><span class="lineNum"> 366 </span> : : }</a>
+<a name="367"><span class="lineNum"> 367 </span> : : return (__cptr - (char *) __ptr) / __size;</a>
+<a name="368"><span class="lineNum"> 368 </span> : : }</a>
+<a name="369"><span class="lineNum"> 369 </span> : : # endif</a>
+<a name="370"><span class="lineNum"> 370 </span> : : return __fread_unlocked_alias (__ptr, __size, __n, __stream);</a>
+<a name="371"><span class="lineNum"> 371 </span> : : }</a>
+<a name="372"><span class="lineNum"> 372 </span> : : if (__glibc_unsafe_len (__n, __size, sz))</a>
+<a name="373"><span class="lineNum"> 373 </span> : : return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream);</a>
+<a name="374"><span class="lineNum"> 374 </span> : : return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream);</a>
+<a name="375"><span class="lineNum"> 375 </span> : : </a>
+<a name="376"><span class="lineNum"> 376 </span> : : }</a>
+<a name="377"><span class="lineNum"> 377 </span> : : #endif</a>
+<a name="378"><span class="lineNum"> 378 </span> : : </a>
+<a name="379"><span class="lineNum"> 379 </span> : : #endif /* bits/stdio2.h. */</a>
</pre>
</td>
</tr>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func-sort-c.html
index 9deb376..96297e8 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func-sort-c.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func-sort-c.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func.html
index 92c10c0..481ce4b 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.gcov.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.gcov.html
index 6c0fcde..4572325 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.gcov.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.gcov.html
@@ -37,7 +37,7 @@
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -69,7 +69,7 @@
<td>
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
-<a name="1"><span class="lineNum"> 1 </span> : : /* Copyright (C) 2004-2020 Free Software Foundation, Inc.</a>
+<a name="1"><span class="lineNum"> 1 </span> : : /* Copyright (C) 2004-2022 Free Software Foundation, Inc.</a>
<a name="2"><span class="lineNum"> 2 </span> : : This file is part of the GNU C Library.</a>
<a name="3"><span class="lineNum"> 3 </span> : : </a>
<a name="4"><span class="lineNum"> 4 </span> : : The GNU C Library is free software; you can redistribute it and/or</a>
@@ -93,93 +93,93 @@
<a name="22"><span class="lineNum"> 22 </span> : : # error &quot;Never use &lt;bits/string_fortified.h&gt; directly; include &lt;string.h&gt; instead.&quot;</a>
<a name="23"><span class="lineNum"> 23 </span> : : #endif</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
-<a name="25"><span class="lineNum"> 25 </span> : : #if !__GNUC_PREREQ (5,0)</a>
-<a name="26"><span class="lineNum"> 26 </span> : : __warndecl (__warn_memset_zero_len,</a>
-<a name="27"><span class="lineNum"> 27 </span> : : &quot;memset used with constant zero length parameter; this could be due to transposed parameters&quot;);</a>
-<a name="28"><span class="lineNum"> 28 </span> : : #endif</a>
-<a name="29"><span class="lineNum"> 29 </span> : : </a>
-<a name="30"><span class="lineNum"> 30 </span> : : __fortify_function void *</a>
-<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 204 : __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,</span></a>
-<a name="32"><span class="lineNum"> 32 </span> : : size_t __len))</a>
-<a name="33"><span class="lineNum"> 33 </span> : : {</a>
-<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 204 : return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));</span></a>
-<a name="35"><span class="lineNum"> 35 </span> : : }</a>
-<a name="36"><span class="lineNum"> 36 </span> : : </a>
-<a name="37"><span class="lineNum"> 37 </span> : : __fortify_function void *</a>
-<a name="38"><span class="lineNum"> 38 </span> : : __NTH (memmove (void *__dest, const void *__src, size_t __len))</a>
-<a name="39"><span class="lineNum"> 39 </span> : : {</a>
-<a name="40"><span class="lineNum"> 40 </span> : : return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));</a>
-<a name="41"><span class="lineNum"> 41 </span> : : }</a>
-<a name="42"><span class="lineNum"> 42 </span> : : </a>
-<a name="43"><span class="lineNum"> 43 </span> : : #ifdef __USE_GNU</a>
-<a name="44"><span class="lineNum"> 44 </span> : : __fortify_function void *</a>
-<a name="45"><span class="lineNum"> 45 </span> : : __NTH (mempcpy (void *__restrict __dest, const void *__restrict __src,</a>
-<a name="46"><span class="lineNum"> 46 </span> : : size_t __len))</a>
-<a name="47"><span class="lineNum"> 47 </span> : : {</a>
-<a name="48"><span class="lineNum"> 48 </span> : : return __builtin___mempcpy_chk (__dest, __src, __len, __bos0 (__dest));</a>
-<a name="49"><span class="lineNum"> 49 </span> : : }</a>
-<a name="50"><span class="lineNum"> 50 </span> : : #endif</a>
-<a name="51"><span class="lineNum"> 51 </span> : : </a>
-<a name="52"><span class="lineNum"> 52 </span> : : </a>
-<a name="53"><span class="lineNum"> 53 </span> : : /* The first two tests here help to catch a somewhat common problem</a>
-<a name="54"><span class="lineNum"> 54 </span> : : where the second and third parameter are transposed. This is</a>
-<a name="55"><span class="lineNum"> 55 </span> : : especially problematic if the intended fill value is zero. In this</a>
-<a name="56"><span class="lineNum"> 56 </span> : : case no work is done at all. We detect these problems by referring</a>
-<a name="57"><span class="lineNum"> 57 </span> : : non-existing functions. */</a>
-<a name="58"><span class="lineNum"> 58 </span> : : __fortify_function void *</a>
-<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 6988 : __NTH (memset (void *__dest, int __ch, size_t __len))</span></a>
-<a name="60"><span class="lineNum"> 60 </span> : : {</a>
-<a name="61"><span class="lineNum"> 61 </span> : : /* GCC-5.0 and newer implements these checks in the compiler, so we don't</a>
-<a name="62"><span class="lineNum"> 62 </span> : : need them here. */</a>
-<a name="63"><span class="lineNum"> 63 </span> : : #if !__GNUC_PREREQ (5,0)</a>
-<a name="64"><span class="lineNum"> 64 </span> : : if (__builtin_constant_p (__len) &amp;&amp; __len == 0</a>
-<a name="65"><span class="lineNum"> 65 </span> : : &amp;&amp; (!__builtin_constant_p (__ch) || __ch != 0))</a>
-<a name="66"><span class="lineNum"> 66 </span> : : {</a>
-<a name="67"><span class="lineNum"> 67 </span> : : __warn_memset_zero_len ();</a>
-<a name="68"><span class="lineNum"> 68 </span> : : return __dest;</a>
-<a name="69"><span class="lineNum"> 69 </span> : : }</a>
-<a name="70"><span class="lineNum"> 70 </span> : : #endif</a>
-<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 6988 : return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));</span></a>
-<a name="72"><span class="lineNum"> 72 </span> : : }</a>
-<a name="73"><span class="lineNum"> 73 </span> : : </a>
-<a name="74"><span class="lineNum"> 74 </span> : : #ifdef __USE_MISC</a>
-<a name="75"><span class="lineNum"> 75 </span> : : # include &lt;bits/strings_fortified.h&gt;</a>
-<a name="76"><span class="lineNum"> 76 </span> : : </a>
-<a name="77"><span class="lineNum"> 77 </span> : : void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)</a>
-<a name="78"><span class="lineNum"> 78 </span> : : __THROW __nonnull ((1));</a>
-<a name="79"><span class="lineNum"> 79 </span> : : </a>
-<a name="80"><span class="lineNum"> 80 </span> : : __fortify_function void</a>
-<a name="81"><span class="lineNum"> 81 </span> : : __NTH (explicit_bzero (void *__dest, size_t __len))</a>
-<a name="82"><span class="lineNum"> 82 </span> : : {</a>
-<a name="83"><span class="lineNum"> 83 </span> : : __explicit_bzero_chk (__dest, __len, __bos0 (__dest));</a>
-<a name="84"><span class="lineNum"> 84 </span> : : }</a>
-<a name="85"><span class="lineNum"> 85 </span> : : #endif</a>
-<a name="86"><span class="lineNum"> 86 </span> : : </a>
-<a name="87"><span class="lineNum"> 87 </span> : : __fortify_function char *</a>
-<a name="88"><span class="lineNum"> 88 </span> : : __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))</a>
-<a name="89"><span class="lineNum"> 89 </span> : : {</a>
-<a name="90"><span class="lineNum"> 90 </span> : : return __builtin___strcpy_chk (__dest, __src, __bos (__dest));</a>
-<a name="91"><span class="lineNum"> 91 </span> : : }</a>
-<a name="92"><span class="lineNum"> 92 </span> : : </a>
-<a name="93"><span class="lineNum"> 93 </span> : : #ifdef __USE_GNU</a>
-<a name="94"><span class="lineNum"> 94 </span> : : __fortify_function char *</a>
-<a name="95"><span class="lineNum"> 95 </span> : : __NTH (stpcpy (char *__restrict __dest, const char *__restrict __src))</a>
-<a name="96"><span class="lineNum"> 96 </span> : : {</a>
-<a name="97"><span class="lineNum"> 97 </span> : : return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));</a>
-<a name="98"><span class="lineNum"> 98 </span> : : }</a>
-<a name="99"><span class="lineNum"> 99 </span> : : #endif</a>
-<a name="100"><span class="lineNum"> 100 </span> : : </a>
-<a name="101"><span class="lineNum"> 101 </span> : : </a>
-<a name="102"><span class="lineNum"> 102 </span> : : __fortify_function char *</a>
-<a name="103"><span class="lineNum"> 103 </span> :<span class="lineCov"> 34 : __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,</span></a>
-<a name="104"><span class="lineNum"> 104 </span> : : size_t __len))</a>
-<a name="105"><span class="lineNum"> 105 </span> : : {</a>
-<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 34 : return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));</span></a>
-<a name="107"><span class="lineNum"> 107 </span> : : }</a>
-<a name="108"><span class="lineNum"> 108 </span> : : </a>
-<a name="109"><span class="lineNum"> 109 </span> : : /* XXX We have no corresponding builtin yet. */</a>
-<a name="110"><span class="lineNum"> 110 </span> : : extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,</a>
-<a name="111"><span class="lineNum"> 111 </span> : : size_t __destlen) __THROW;</a>
+<a name="25"><span class="lineNum"> 25 </span> : : __fortify_function void *</a>
+<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 294 : __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,</span></a>
+<a name="27"><span class="lineNum"> 27 </span> : : size_t __len))</a>
+<a name="28"><span class="lineNum"> 28 </span> : : {</a>
+<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 294 : return __builtin___memcpy_chk (__dest, __src, __len,</span></a>
+<a name="30"><span class="lineNum"> 30 </span> : : __glibc_objsize0 (__dest));</a>
+<a name="31"><span class="lineNum"> 31 </span> : : }</a>
+<a name="32"><span class="lineNum"> 32 </span> : : </a>
+<a name="33"><span class="lineNum"> 33 </span> : : __fortify_function void *</a>
+<a name="34"><span class="lineNum"> 34 </span> : : __NTH (memmove (void *__dest, const void *__src, size_t __len))</a>
+<a name="35"><span class="lineNum"> 35 </span> : : {</a>
+<a name="36"><span class="lineNum"> 36 </span> : : return __builtin___memmove_chk (__dest, __src, __len,</a>
+<a name="37"><span class="lineNum"> 37 </span> : : __glibc_objsize0 (__dest));</a>
+<a name="38"><span class="lineNum"> 38 </span> : : }</a>
+<a name="39"><span class="lineNum"> 39 </span> : : </a>
+<a name="40"><span class="lineNum"> 40 </span> : : #ifdef __USE_GNU</a>
+<a name="41"><span class="lineNum"> 41 </span> : : __fortify_function void *</a>
+<a name="42"><span class="lineNum"> 42 </span> : : __NTH (mempcpy (void *__restrict __dest, const void *__restrict __src,</a>
+<a name="43"><span class="lineNum"> 43 </span> : : size_t __len))</a>
+<a name="44"><span class="lineNum"> 44 </span> : : {</a>
+<a name="45"><span class="lineNum"> 45 </span> : : return __builtin___mempcpy_chk (__dest, __src, __len,</a>
+<a name="46"><span class="lineNum"> 46 </span> : : __glibc_objsize0 (__dest));</a>
+<a name="47"><span class="lineNum"> 47 </span> : : }</a>
+<a name="48"><span class="lineNum"> 48 </span> : : #endif</a>
+<a name="49"><span class="lineNum"> 49 </span> : : </a>
+<a name="50"><span class="lineNum"> 50 </span> : : </a>
+<a name="51"><span class="lineNum"> 51 </span> : : /* The first two tests here help to catch a somewhat common problem</a>
+<a name="52"><span class="lineNum"> 52 </span> : : where the second and third parameter are transposed. This is</a>
+<a name="53"><span class="lineNum"> 53 </span> : : especially problematic if the intended fill value is zero. In this</a>
+<a name="54"><span class="lineNum"> 54 </span> : : case no work is done at all. We detect these problems by referring</a>
+<a name="55"><span class="lineNum"> 55 </span> : : non-existing functions. */</a>
+<a name="56"><span class="lineNum"> 56 </span> : : __fortify_function void *</a>
+<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 7142 : __NTH (memset (void *__dest, int __ch, size_t __len))</span></a>
+<a name="58"><span class="lineNum"> 58 </span> : : {</a>
+<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 6988 : return __builtin___memset_chk (__dest, __ch, __len,</span></a>
+<a name="60"><span class="lineNum"> 60 </span> : : __glibc_objsize0 (__dest));</a>
+<a name="61"><span class="lineNum"> 61 </span> : : }</a>
+<a name="62"><span class="lineNum"> 62 </span> : : </a>
+<a name="63"><span class="lineNum"> 63 </span> : : #ifdef __USE_MISC</a>
+<a name="64"><span class="lineNum"> 64 </span> : : # include &lt;bits/strings_fortified.h&gt;</a>
+<a name="65"><span class="lineNum"> 65 </span> : : </a>
+<a name="66"><span class="lineNum"> 66 </span> : : void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)</a>
+<a name="67"><span class="lineNum"> 67 </span> : : __THROW __nonnull ((1)) __fortified_attr_access (__write_only__, 1, 2);</a>
+<a name="68"><span class="lineNum"> 68 </span> : : </a>
+<a name="69"><span class="lineNum"> 69 </span> : : __fortify_function void</a>
+<a name="70"><span class="lineNum"> 70 </span> : : __NTH (explicit_bzero (void *__dest, size_t __len))</a>
+<a name="71"><span class="lineNum"> 71 </span> : : {</a>
+<a name="72"><span class="lineNum"> 72 </span> : : __explicit_bzero_chk (__dest, __len, __glibc_objsize0 (__dest));</a>
+<a name="73"><span class="lineNum"> 73 </span> : : }</a>
+<a name="74"><span class="lineNum"> 74 </span> : : #endif</a>
+<a name="75"><span class="lineNum"> 75 </span> : : </a>
+<a name="76"><span class="lineNum"> 76 </span> : : __fortify_function char *</a>
+<a name="77"><span class="lineNum"> 77 </span> : : __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))</a>
+<a name="78"><span class="lineNum"> 78 </span> : : {</a>
+<a name="79"><span class="lineNum"> 79 </span> : : return __builtin___strcpy_chk (__dest, __src, __glibc_objsize (__dest));</a>
+<a name="80"><span class="lineNum"> 80 </span> : : }</a>
+<a name="81"><span class="lineNum"> 81 </span> : : </a>
+<a name="82"><span class="lineNum"> 82 </span> : : #ifdef __USE_XOPEN2K8</a>
+<a name="83"><span class="lineNum"> 83 </span> : : __fortify_function char *</a>
+<a name="84"><span class="lineNum"> 84 </span> : : __NTH (stpcpy (char *__restrict __dest, const char *__restrict __src))</a>
+<a name="85"><span class="lineNum"> 85 </span> : : {</a>
+<a name="86"><span class="lineNum"> 86 </span> : : return __builtin___stpcpy_chk (__dest, __src, __glibc_objsize (__dest));</a>
+<a name="87"><span class="lineNum"> 87 </span> : : }</a>
+<a name="88"><span class="lineNum"> 88 </span> : : #endif</a>
+<a name="89"><span class="lineNum"> 89 </span> : : </a>
+<a name="90"><span class="lineNum"> 90 </span> : : </a>
+<a name="91"><span class="lineNum"> 91 </span> : : __fortify_function char *</a>
+<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 34 : __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,</span></a>
+<a name="93"><span class="lineNum"> 93 </span> : : size_t __len))</a>
+<a name="94"><span class="lineNum"> 94 </span> : : {</a>
+<a name="95"><span class="lineNum"> 95 </span> :<span class="lineCov"> 34 : return __builtin___strncpy_chk (__dest, __src, __len,</span></a>
+<a name="96"><span class="lineNum"> 96 </span> : : __glibc_objsize (__dest));</a>
+<a name="97"><span class="lineNum"> 97 </span> : : }</a>
+<a name="98"><span class="lineNum"> 98 </span> : : </a>
+<a name="99"><span class="lineNum"> 99 </span> : : #ifdef __USE_XOPEN2K8</a>
+<a name="100"><span class="lineNum"> 100 </span> : : # if __GNUC_PREREQ (4, 7) || __glibc_clang_prereq (2, 6)</a>
+<a name="101"><span class="lineNum"> 101 </span> : : __fortify_function char *</a>
+<a name="102"><span class="lineNum"> 102 </span> : : __NTH (stpncpy (char *__dest, const char *__src, size_t __n))</a>
+<a name="103"><span class="lineNum"> 103 </span> : : {</a>
+<a name="104"><span class="lineNum"> 104 </span> : : return __builtin___stpncpy_chk (__dest, __src, __n,</a>
+<a name="105"><span class="lineNum"> 105 </span> : : __glibc_objsize (__dest));</a>
+<a name="106"><span class="lineNum"> 106 </span> : : }</a>
+<a name="107"><span class="lineNum"> 107 </span> : : # else</a>
+<a name="108"><span class="lineNum"> 108 </span> : : extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,</a>
+<a name="109"><span class="lineNum"> 109 </span> : : size_t __destlen) __THROW</a>
+<a name="110"><span class="lineNum"> 110 </span> : : __fortified_attr_access ((__write_only__, 1, 3))</a>
+<a name="111"><span class="lineNum"> 111 </span> : : __attr_access ((__read_only__, 2));</a>
<a name="112"><span class="lineNum"> 112 </span> : : extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,</a>
<a name="113"><span class="lineNum"> 113 </span> : : size_t __n), stpncpy);</a>
<a name="114"><span class="lineNum"> 114 </span> : : </a>
@@ -191,23 +191,26 @@
<a name="120"><span class="lineNum"> 120 </span> : : return __stpncpy_chk (__dest, __src, __n, __bos (__dest));</a>
<a name="121"><span class="lineNum"> 121 </span> : : return __stpncpy_alias (__dest, __src, __n);</a>
<a name="122"><span class="lineNum"> 122 </span> : : }</a>
-<a name="123"><span class="lineNum"> 123 </span> : : </a>
-<a name="124"><span class="lineNum"> 124 </span> : : </a>
-<a name="125"><span class="lineNum"> 125 </span> : : __fortify_function char *</a>
-<a name="126"><span class="lineNum"> 126 </span> : : __NTH (strcat (char *__restrict __dest, const char *__restrict __src))</a>
-<a name="127"><span class="lineNum"> 127 </span> : : {</a>
-<a name="128"><span class="lineNum"> 128 </span> : : return __builtin___strcat_chk (__dest, __src, __bos (__dest));</a>
-<a name="129"><span class="lineNum"> 129 </span> : : }</a>
-<a name="130"><span class="lineNum"> 130 </span> : : </a>
-<a name="131"><span class="lineNum"> 131 </span> : : </a>
-<a name="132"><span class="lineNum"> 132 </span> : : __fortify_function char *</a>
-<a name="133"><span class="lineNum"> 133 </span> : : __NTH (strncat (char *__restrict __dest, const char *__restrict __src,</a>
-<a name="134"><span class="lineNum"> 134 </span> : : size_t __len))</a>
-<a name="135"><span class="lineNum"> 135 </span> : : {</a>
-<a name="136"><span class="lineNum"> 136 </span> : : return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));</a>
-<a name="137"><span class="lineNum"> 137 </span> : : }</a>
-<a name="138"><span class="lineNum"> 138 </span> : : </a>
-<a name="139"><span class="lineNum"> 139 </span> : : #endif /* bits/string_fortified.h */</a>
+<a name="123"><span class="lineNum"> 123 </span> : : # endif</a>
+<a name="124"><span class="lineNum"> 124 </span> : : #endif</a>
+<a name="125"><span class="lineNum"> 125 </span> : : </a>
+<a name="126"><span class="lineNum"> 126 </span> : : </a>
+<a name="127"><span class="lineNum"> 127 </span> : : __fortify_function char *</a>
+<a name="128"><span class="lineNum"> 128 </span> : : __NTH (strcat (char *__restrict __dest, const char *__restrict __src))</a>
+<a name="129"><span class="lineNum"> 129 </span> : : {</a>
+<a name="130"><span class="lineNum"> 130 </span> : : return __builtin___strcat_chk (__dest, __src, __glibc_objsize (__dest));</a>
+<a name="131"><span class="lineNum"> 131 </span> : : }</a>
+<a name="132"><span class="lineNum"> 132 </span> : : </a>
+<a name="133"><span class="lineNum"> 133 </span> : : </a>
+<a name="134"><span class="lineNum"> 134 </span> : : __fortify_function char *</a>
+<a name="135"><span class="lineNum"> 135 </span> : : __NTH (strncat (char *__restrict __dest, const char *__restrict __src,</a>
+<a name="136"><span class="lineNum"> 136 </span> : : size_t __len))</a>
+<a name="137"><span class="lineNum"> 137 </span> : : {</a>
+<a name="138"><span class="lineNum"> 138 </span> : : return __builtin___strncat_chk (__dest, __src, __len,</a>
+<a name="139"><span class="lineNum"> 139 </span> : : __glibc_objsize (__dest));</a>
+<a name="140"><span class="lineNum"> 140 </span> : : }</a>
+<a name="141"><span class="lineNum"> 141 </span> : : </a>
+<a name="142"><span class="lineNum"> 142 </span> : : #endif /* bits/string_fortified.h */</a>
</pre>
</td>
</tr>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func-sort-c.html
index d70c99c..eda2f98 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func-sort-c.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func-sort-c.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntry">7</td>
- <td class="headerCovTableEntryLo">71.4 %</td>
+ <td class="headerCovTableEntry">4</td>
+ <td class="headerCovTableEntry">4</td>
+ <td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func.html
index 7bf004d..39f7fb3 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntry">7</td>
- <td class="headerCovTableEntryLo">71.4 %</td>
+ <td class="headerCovTableEntry">4</td>
+ <td class="headerCovTableEntry">4</td>
+ <td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.gcov.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.gcov.html
index a199f12..eadf01d 100644
--- a/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.gcov.html
+++ b/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.gcov.html
@@ -31,13 +31,13 @@
<td class="headerValue">skiboot.info</td>
<td></td>
<td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">5</td>
- <td class="headerCovTableEntry">7</td>
- <td class="headerCovTableEntryLo">71.4 %</td>
+ <td class="headerCovTableEntry">4</td>
+ <td class="headerCovTableEntry">4</td>
+ <td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
+ <td class="headerValue">2023-01-03 19:55:21</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
@@ -70,7 +70,7 @@
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : /* Checking macros for unistd functions.</a>
-<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 2005-2020 Free Software Foundation, Inc.</a>
+<a name="2"><span class="lineNum"> 2 </span> : : Copyright (C) 2005-2022 Free Software Foundation, Inc.</a>
<a name="3"><span class="lineNum"> 3 </span> : : This file is part of the GNU C Library.</a>
<a name="4"><span class="lineNum"> 4 </span> : : </a>
<a name="5"><span class="lineNum"> 5 </span> : : The GNU C Library is free software; you can redistribute it and/or</a>
@@ -92,40 +92,40 @@
<a name="21"><span class="lineNum"> 21 </span> : : #endif</a>
<a name="22"><span class="lineNum"> 22 </span> : : </a>
<a name="23"><span class="lineNum"> 23 </span> : : extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,</a>
-<a name="24"><span class="lineNum"> 24 </span> : : size_t __buflen) __wur;</a>
-<a name="25"><span class="lineNum"> 25 </span> : : extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,</a>
-<a name="26"><span class="lineNum"> 26 </span> : : size_t __nbytes), read) __wur;</a>
-<a name="27"><span class="lineNum"> 27 </span> : : extern ssize_t __REDIRECT (__read_chk_warn,</a>
-<a name="28"><span class="lineNum"> 28 </span> : : (int __fd, void *__buf, size_t __nbytes,</a>
-<a name="29"><span class="lineNum"> 29 </span> : : size_t __buflen), __read_chk)</a>
-<a name="30"><span class="lineNum"> 30 </span> : : __wur __warnattr (&quot;read called with bigger length than size of &quot;</a>
-<a name="31"><span class="lineNum"> 31 </span> : : &quot;the destination buffer&quot;);</a>
-<a name="32"><span class="lineNum"> 32 </span> : : </a>
-<a name="33"><span class="lineNum"> 33 </span> : : __fortify_function __wur ssize_t</a>
-<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 246 : read (int __fd, void *__buf, size_t __nbytes)</span></a>
-<a name="35"><span class="lineNum"> 35 </span> : : {</a>
-<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 246 : if (__bos0 (__buf) != (size_t) -1)</span></a>
-<a name="37"><span class="lineNum"> 37 </span> : : {</a>
-<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 4 : if (!__builtin_constant_p (__nbytes))</span></a>
-<a name="39"><span class="lineNum"> 39 </span> :<span class="lineNoCov"> 0 : return __read_chk (__fd, __buf, __nbytes, __bos0 (__buf));</span></a>
-<a name="40"><span class="lineNum"> 40 </span> : : </a>
-<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 4 : if (__nbytes &gt; __bos0 (__buf))</span></a>
-<a name="42"><span class="lineNum"> 42 </span> :<span class="lineNoCov"> 0 : return __read_chk_warn (__fd, __buf, __nbytes, __bos0 (__buf));</span></a>
-<a name="43"><span class="lineNum"> 43 </span> : : }</a>
-<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 246 : return __read_alias (__fd, __buf, __nbytes);</span></a>
-<a name="45"><span class="lineNum"> 45 </span> : : }</a>
-<a name="46"><span class="lineNum"> 46 </span> : : </a>
-<a name="47"><span class="lineNum"> 47 </span> : : #ifdef __USE_UNIX98</a>
-<a name="48"><span class="lineNum"> 48 </span> : : extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,</a>
-<a name="49"><span class="lineNum"> 49 </span> : : __off_t __offset, size_t __bufsize) __wur;</a>
-<a name="50"><span class="lineNum"> 50 </span> : : extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,</a>
-<a name="51"><span class="lineNum"> 51 </span> : : __off64_t __offset, size_t __bufsize) __wur;</a>
-<a name="52"><span class="lineNum"> 52 </span> : : extern ssize_t __REDIRECT (__pread_alias,</a>
-<a name="53"><span class="lineNum"> 53 </span> : : (int __fd, void *__buf, size_t __nbytes,</a>
-<a name="54"><span class="lineNum"> 54 </span> : : __off_t __offset), pread) __wur;</a>
-<a name="55"><span class="lineNum"> 55 </span> : : extern ssize_t __REDIRECT (__pread64_alias,</a>
-<a name="56"><span class="lineNum"> 56 </span> : : (int __fd, void *__buf, size_t __nbytes,</a>
-<a name="57"><span class="lineNum"> 57 </span> : : __off64_t __offset), pread64) __wur;</a>
+<a name="24"><span class="lineNum"> 24 </span> : : size_t __buflen)</a>
+<a name="25"><span class="lineNum"> 25 </span> : : __wur __attr_access ((__write_only__, 2, 3));</a>
+<a name="26"><span class="lineNum"> 26 </span> : : extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,</a>
+<a name="27"><span class="lineNum"> 27 </span> : : size_t __nbytes), read)</a>
+<a name="28"><span class="lineNum"> 28 </span> : : __wur __attr_access ((__write_only__, 2, 3));</a>
+<a name="29"><span class="lineNum"> 29 </span> : : extern ssize_t __REDIRECT (__read_chk_warn,</a>
+<a name="30"><span class="lineNum"> 30 </span> : : (int __fd, void *__buf, size_t __nbytes,</a>
+<a name="31"><span class="lineNum"> 31 </span> : : size_t __buflen), __read_chk)</a>
+<a name="32"><span class="lineNum"> 32 </span> : : __wur __warnattr (&quot;read called with bigger length than size of &quot;</a>
+<a name="33"><span class="lineNum"> 33 </span> : : &quot;the destination buffer&quot;);</a>
+<a name="34"><span class="lineNum"> 34 </span> : : </a>
+<a name="35"><span class="lineNum"> 35 </span> : : __fortify_function __wur ssize_t</a>
+<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 246 : read (int __fd, void *__buf, size_t __nbytes)</span></a>
+<a name="37"><span class="lineNum"> 37 </span> : : {</a>
+<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 246 : return __glibc_fortify (read, __nbytes, sizeof (char),</span></a>
+<a name="39"><span class="lineNum"> 39 </span> : : __glibc_objsize0 (__buf),</a>
+<a name="40"><span class="lineNum"> 40 </span> : : __fd, __buf, __nbytes);</a>
+<a name="41"><span class="lineNum"> 41 </span> : : }</a>
+<a name="42"><span class="lineNum"> 42 </span> : : </a>
+<a name="43"><span class="lineNum"> 43 </span> : : #if defined __USE_UNIX98 || defined __USE_XOPEN2K8</a>
+<a name="44"><span class="lineNum"> 44 </span> : : extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,</a>
+<a name="45"><span class="lineNum"> 45 </span> : : __off_t __offset, size_t __bufsize)</a>
+<a name="46"><span class="lineNum"> 46 </span> : : __wur __attr_access ((__write_only__, 2, 3));</a>
+<a name="47"><span class="lineNum"> 47 </span> : : extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,</a>
+<a name="48"><span class="lineNum"> 48 </span> : : __off64_t __offset, size_t __bufsize)</a>
+<a name="49"><span class="lineNum"> 49 </span> : : __wur __attr_access ((__write_only__, 2, 3));</a>
+<a name="50"><span class="lineNum"> 50 </span> : : extern ssize_t __REDIRECT (__pread_alias,</a>
+<a name="51"><span class="lineNum"> 51 </span> : : (int __fd, void *__buf, size_t __nbytes,</a>
+<a name="52"><span class="lineNum"> 52 </span> : : __off_t __offset), pread)</a>
+<a name="53"><span class="lineNum"> 53 </span> : : __wur __attr_access ((__write_only__, 2, 3));</a>
+<a name="54"><span class="lineNum"> 54 </span> : : extern ssize_t __REDIRECT (__pread64_alias,</a>
+<a name="55"><span class="lineNum"> 55 </span> : : (int __fd, void *__buf, size_t __nbytes,</a>
+<a name="56"><span class="lineNum"> 56 </span> : : __off64_t __offset), pread64)</a>
+<a name="57"><span class="lineNum"> 57 </span> : : __wur __attr_access ((__write_only__, 2, 3));</a>
<a name="58"><span class="lineNum"> 58 </span> : : extern ssize_t __REDIRECT (__pread_chk_warn,</a>
<a name="59"><span class="lineNum"> 59 </span> : : (int __fd, void *__buf, size_t __nbytes,</a>
<a name="60"><span class="lineNum"> 60 </span> : : __off_t __offset, size_t __bufsize), __pread_chk)</a>
@@ -142,318 +142,245 @@
<a name="71"><span class="lineNum"> 71 </span> : : __fortify_function __wur ssize_t</a>
<a name="72"><span class="lineNum"> 72 </span> : : pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset)</a>
<a name="73"><span class="lineNum"> 73 </span> : : {</a>
-<a name="74"><span class="lineNum"> 74 </span> : : if (__bos0 (__buf) != (size_t) -1)</a>
-<a name="75"><span class="lineNum"> 75 </span> : : {</a>
-<a name="76"><span class="lineNum"> 76 </span> : : if (!__builtin_constant_p (__nbytes))</a>
-<a name="77"><span class="lineNum"> 77 </span> : : return __pread_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf));</a>
-<a name="78"><span class="lineNum"> 78 </span> : : </a>
-<a name="79"><span class="lineNum"> 79 </span> : : if ( __nbytes &gt; __bos0 (__buf))</a>
-<a name="80"><span class="lineNum"> 80 </span> : : return __pread_chk_warn (__fd, __buf, __nbytes, __offset,</a>
-<a name="81"><span class="lineNum"> 81 </span> : : __bos0 (__buf));</a>
-<a name="82"><span class="lineNum"> 82 </span> : : }</a>
-<a name="83"><span class="lineNum"> 83 </span> : : return __pread_alias (__fd, __buf, __nbytes, __offset);</a>
-<a name="84"><span class="lineNum"> 84 </span> : : }</a>
-<a name="85"><span class="lineNum"> 85 </span> : : # else</a>
-<a name="86"><span class="lineNum"> 86 </span> : : __fortify_function __wur ssize_t</a>
-<a name="87"><span class="lineNum"> 87 </span> : : pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)</a>
-<a name="88"><span class="lineNum"> 88 </span> : : {</a>
-<a name="89"><span class="lineNum"> 89 </span> : : if (__bos0 (__buf) != (size_t) -1)</a>
-<a name="90"><span class="lineNum"> 90 </span> : : {</a>
-<a name="91"><span class="lineNum"> 91 </span> : : if (!__builtin_constant_p (__nbytes))</a>
-<a name="92"><span class="lineNum"> 92 </span> : : return __pread64_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf));</a>
-<a name="93"><span class="lineNum"> 93 </span> : : </a>
-<a name="94"><span class="lineNum"> 94 </span> : : if ( __nbytes &gt; __bos0 (__buf))</a>
-<a name="95"><span class="lineNum"> 95 </span> : : return __pread64_chk_warn (__fd, __buf, __nbytes, __offset,</a>
-<a name="96"><span class="lineNum"> 96 </span> : : __bos0 (__buf));</a>
-<a name="97"><span class="lineNum"> 97 </span> : : }</a>
+<a name="74"><span class="lineNum"> 74 </span> : : return __glibc_fortify (pread, __nbytes, sizeof (char),</a>
+<a name="75"><span class="lineNum"> 75 </span> : : __glibc_objsize0 (__buf),</a>
+<a name="76"><span class="lineNum"> 76 </span> : : __fd, __buf, __nbytes, __offset);</a>
+<a name="77"><span class="lineNum"> 77 </span> : : }</a>
+<a name="78"><span class="lineNum"> 78 </span> : : # else</a>
+<a name="79"><span class="lineNum"> 79 </span> : : __fortify_function __wur ssize_t</a>
+<a name="80"><span class="lineNum"> 80 </span> : : pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)</a>
+<a name="81"><span class="lineNum"> 81 </span> : : {</a>
+<a name="82"><span class="lineNum"> 82 </span> : : return __glibc_fortify (pread64, __nbytes, sizeof (char),</a>
+<a name="83"><span class="lineNum"> 83 </span> : : __glibc_objsize0 (__buf),</a>
+<a name="84"><span class="lineNum"> 84 </span> : : __fd, __buf, __nbytes, __offset);</a>
+<a name="85"><span class="lineNum"> 85 </span> : : }</a>
+<a name="86"><span class="lineNum"> 86 </span> : : # endif</a>
+<a name="87"><span class="lineNum"> 87 </span> : : </a>
+<a name="88"><span class="lineNum"> 88 </span> : : # ifdef __USE_LARGEFILE64</a>
+<a name="89"><span class="lineNum"> 89 </span> : : __fortify_function __wur ssize_t</a>
+<a name="90"><span class="lineNum"> 90 </span> : : pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)</a>
+<a name="91"><span class="lineNum"> 91 </span> : : {</a>
+<a name="92"><span class="lineNum"> 92 </span> : : return __glibc_fortify (pread64, __nbytes, sizeof (char),</a>
+<a name="93"><span class="lineNum"> 93 </span> : : __glibc_objsize0 (__buf),</a>
+<a name="94"><span class="lineNum"> 94 </span> : : __fd, __buf, __nbytes, __offset);</a>
+<a name="95"><span class="lineNum"> 95 </span> : : }</a>
+<a name="96"><span class="lineNum"> 96 </span> : : # endif</a>
+<a name="97"><span class="lineNum"> 97 </span> : : #endif</a>
<a name="98"><span class="lineNum"> 98 </span> : : </a>
-<a name="99"><span class="lineNum"> 99 </span> : : return __pread64_alias (__fd, __buf, __nbytes, __offset);</a>
-<a name="100"><span class="lineNum"> 100 </span> : : }</a>
-<a name="101"><span class="lineNum"> 101 </span> : : # endif</a>
-<a name="102"><span class="lineNum"> 102 </span> : : </a>
-<a name="103"><span class="lineNum"> 103 </span> : : # ifdef __USE_LARGEFILE64</a>
-<a name="104"><span class="lineNum"> 104 </span> : : __fortify_function __wur ssize_t</a>
-<a name="105"><span class="lineNum"> 105 </span> : : pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)</a>
-<a name="106"><span class="lineNum"> 106 </span> : : {</a>
-<a name="107"><span class="lineNum"> 107 </span> : : if (__bos0 (__buf) != (size_t) -1)</a>
-<a name="108"><span class="lineNum"> 108 </span> : : {</a>
-<a name="109"><span class="lineNum"> 109 </span> : : if (!__builtin_constant_p (__nbytes))</a>
-<a name="110"><span class="lineNum"> 110 </span> : : return __pread64_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf));</a>
-<a name="111"><span class="lineNum"> 111 </span> : : </a>
-<a name="112"><span class="lineNum"> 112 </span> : : if ( __nbytes &gt; __bos0 (__buf))</a>
-<a name="113"><span class="lineNum"> 113 </span> : : return __pread64_chk_warn (__fd, __buf, __nbytes, __offset,</a>
-<a name="114"><span class="lineNum"> 114 </span> : : __bos0 (__buf));</a>
-<a name="115"><span class="lineNum"> 115 </span> : : }</a>
-<a name="116"><span class="lineNum"> 116 </span> : : </a>
-<a name="117"><span class="lineNum"> 117 </span> : : return __pread64_alias (__fd, __buf, __nbytes, __offset);</a>
-<a name="118"><span class="lineNum"> 118 </span> : : }</a>
-<a name="119"><span class="lineNum"> 119 </span> : : # endif</a>
-<a name="120"><span class="lineNum"> 120 </span> : : #endif</a>
-<a name="121"><span class="lineNum"> 121 </span> : : </a>
-<a name="122"><span class="lineNum"> 122 </span> : : #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K</a>
-<a name="123"><span class="lineNum"> 123 </span> : : extern ssize_t __readlink_chk (const char *__restrict __path,</a>
-<a name="124"><span class="lineNum"> 124 </span> : : char *__restrict __buf, size_t __len,</a>
-<a name="125"><span class="lineNum"> 125 </span> : : size_t __buflen)</a>
-<a name="126"><span class="lineNum"> 126 </span> : : __THROW __nonnull ((1, 2)) __wur;</a>
-<a name="127"><span class="lineNum"> 127 </span> : : extern ssize_t __REDIRECT_NTH (__readlink_alias,</a>
-<a name="128"><span class="lineNum"> 128 </span> : : (const char *__restrict __path,</a>
-<a name="129"><span class="lineNum"> 129 </span> : : char *__restrict __buf, size_t __len), readlink)</a>
-<a name="130"><span class="lineNum"> 130 </span> : : __nonnull ((1, 2)) __wur;</a>
-<a name="131"><span class="lineNum"> 131 </span> : : extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,</a>
-<a name="132"><span class="lineNum"> 132 </span> : : (const char *__restrict __path,</a>
-<a name="133"><span class="lineNum"> 133 </span> : : char *__restrict __buf, size_t __len,</a>
-<a name="134"><span class="lineNum"> 134 </span> : : size_t __buflen), __readlink_chk)</a>
-<a name="135"><span class="lineNum"> 135 </span> : : __nonnull ((1, 2)) __wur __warnattr (&quot;readlink called with bigger length &quot;</a>
-<a name="136"><span class="lineNum"> 136 </span> : : &quot;than size of destination buffer&quot;);</a>
-<a name="137"><span class="lineNum"> 137 </span> : : </a>
-<a name="138"><span class="lineNum"> 138 </span> : : __fortify_function __nonnull ((1, 2)) __wur ssize_t</a>
-<a name="139"><span class="lineNum"> 139 </span> : : __NTH (readlink (const char *__restrict __path, char *__restrict __buf,</a>
-<a name="140"><span class="lineNum"> 140 </span> : : size_t __len))</a>
-<a name="141"><span class="lineNum"> 141 </span> : : {</a>
-<a name="142"><span class="lineNum"> 142 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="143"><span class="lineNum"> 143 </span> : : {</a>
-<a name="144"><span class="lineNum"> 144 </span> : : if (!__builtin_constant_p (__len))</a>
-<a name="145"><span class="lineNum"> 145 </span> : : return __readlink_chk (__path, __buf, __len, __bos (__buf));</a>
-<a name="146"><span class="lineNum"> 146 </span> : : </a>
-<a name="147"><span class="lineNum"> 147 </span> : : if ( __len &gt; __bos (__buf))</a>
-<a name="148"><span class="lineNum"> 148 </span> : : return __readlink_chk_warn (__path, __buf, __len, __bos (__buf));</a>
-<a name="149"><span class="lineNum"> 149 </span> : : }</a>
-<a name="150"><span class="lineNum"> 150 </span> : : return __readlink_alias (__path, __buf, __len);</a>
-<a name="151"><span class="lineNum"> 151 </span> : : }</a>
-<a name="152"><span class="lineNum"> 152 </span> : : #endif</a>
-<a name="153"><span class="lineNum"> 153 </span> : : </a>
-<a name="154"><span class="lineNum"> 154 </span> : : #ifdef __USE_ATFILE</a>
-<a name="155"><span class="lineNum"> 155 </span> : : extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,</a>
-<a name="156"><span class="lineNum"> 156 </span> : : char *__restrict __buf, size_t __len,</a>
-<a name="157"><span class="lineNum"> 157 </span> : : size_t __buflen)</a>
-<a name="158"><span class="lineNum"> 158 </span> : : __THROW __nonnull ((2, 3)) __wur;</a>
-<a name="159"><span class="lineNum"> 159 </span> : : extern ssize_t __REDIRECT_NTH (__readlinkat_alias,</a>
-<a name="160"><span class="lineNum"> 160 </span> : : (int __fd, const char *__restrict __path,</a>
-<a name="161"><span class="lineNum"> 161 </span> : : char *__restrict __buf, size_t __len),</a>
-<a name="162"><span class="lineNum"> 162 </span> : : readlinkat)</a>
-<a name="163"><span class="lineNum"> 163 </span> : : __nonnull ((2, 3)) __wur;</a>
-<a name="164"><span class="lineNum"> 164 </span> : : extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,</a>
-<a name="165"><span class="lineNum"> 165 </span> : : (int __fd, const char *__restrict __path,</a>
-<a name="166"><span class="lineNum"> 166 </span> : : char *__restrict __buf, size_t __len,</a>
-<a name="167"><span class="lineNum"> 167 </span> : : size_t __buflen), __readlinkat_chk)</a>
-<a name="168"><span class="lineNum"> 168 </span> : : __nonnull ((2, 3)) __wur __warnattr (&quot;readlinkat called with bigger &quot;</a>
-<a name="169"><span class="lineNum"> 169 </span> : : &quot;length than size of destination &quot;</a>
-<a name="170"><span class="lineNum"> 170 </span> : : &quot;buffer&quot;);</a>
-<a name="171"><span class="lineNum"> 171 </span> : : </a>
-<a name="172"><span class="lineNum"> 172 </span> : : __fortify_function __nonnull ((2, 3)) __wur ssize_t</a>
-<a name="173"><span class="lineNum"> 173 </span> : : __NTH (readlinkat (int __fd, const char *__restrict __path,</a>
-<a name="174"><span class="lineNum"> 174 </span> : : char *__restrict __buf, size_t __len))</a>
-<a name="175"><span class="lineNum"> 175 </span> : : {</a>
-<a name="176"><span class="lineNum"> 176 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="177"><span class="lineNum"> 177 </span> : : {</a>
-<a name="178"><span class="lineNum"> 178 </span> : : if (!__builtin_constant_p (__len))</a>
-<a name="179"><span class="lineNum"> 179 </span> : : return __readlinkat_chk (__fd, __path, __buf, __len, __bos (__buf));</a>
-<a name="180"><span class="lineNum"> 180 </span> : : </a>
-<a name="181"><span class="lineNum"> 181 </span> : : if (__len &gt; __bos (__buf))</a>
-<a name="182"><span class="lineNum"> 182 </span> : : return __readlinkat_chk_warn (__fd, __path, __buf, __len,</a>
-<a name="183"><span class="lineNum"> 183 </span> : : __bos (__buf));</a>
-<a name="184"><span class="lineNum"> 184 </span> : : }</a>
-<a name="185"><span class="lineNum"> 185 </span> : : return __readlinkat_alias (__fd, __path, __buf, __len);</a>
-<a name="186"><span class="lineNum"> 186 </span> : : }</a>
-<a name="187"><span class="lineNum"> 187 </span> : : #endif</a>
-<a name="188"><span class="lineNum"> 188 </span> : : </a>
-<a name="189"><span class="lineNum"> 189 </span> : : extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)</a>
-<a name="190"><span class="lineNum"> 190 </span> : : __THROW __wur;</a>
-<a name="191"><span class="lineNum"> 191 </span> : : extern char *__REDIRECT_NTH (__getcwd_alias,</a>
-<a name="192"><span class="lineNum"> 192 </span> : : (char *__buf, size_t __size), getcwd) __wur;</a>
-<a name="193"><span class="lineNum"> 193 </span> : : extern char *__REDIRECT_NTH (__getcwd_chk_warn,</a>
-<a name="194"><span class="lineNum"> 194 </span> : : (char *__buf, size_t __size, size_t __buflen),</a>
-<a name="195"><span class="lineNum"> 195 </span> : : __getcwd_chk)</a>
-<a name="196"><span class="lineNum"> 196 </span> : : __wur __warnattr (&quot;getcwd caller with bigger length than size of &quot;</a>
-<a name="197"><span class="lineNum"> 197 </span> : : &quot;destination buffer&quot;);</a>
+<a name="99"><span class="lineNum"> 99 </span> : : #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K</a>
+<a name="100"><span class="lineNum"> 100 </span> : : extern ssize_t __readlink_chk (const char *__restrict __path,</a>
+<a name="101"><span class="lineNum"> 101 </span> : : char *__restrict __buf, size_t __len,</a>
+<a name="102"><span class="lineNum"> 102 </span> : : size_t __buflen)</a>
+<a name="103"><span class="lineNum"> 103 </span> : : __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));</a>
+<a name="104"><span class="lineNum"> 104 </span> : : extern ssize_t __REDIRECT_NTH (__readlink_alias,</a>
+<a name="105"><span class="lineNum"> 105 </span> : : (const char *__restrict __path,</a>
+<a name="106"><span class="lineNum"> 106 </span> : : char *__restrict __buf, size_t __len), readlink)</a>
+<a name="107"><span class="lineNum"> 107 </span> : : __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));</a>
+<a name="108"><span class="lineNum"> 108 </span> : : extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,</a>
+<a name="109"><span class="lineNum"> 109 </span> : : (const char *__restrict __path,</a>
+<a name="110"><span class="lineNum"> 110 </span> : : char *__restrict __buf, size_t __len,</a>
+<a name="111"><span class="lineNum"> 111 </span> : : size_t __buflen), __readlink_chk)</a>
+<a name="112"><span class="lineNum"> 112 </span> : : __nonnull ((1, 2)) __wur __warnattr (&quot;readlink called with bigger length &quot;</a>
+<a name="113"><span class="lineNum"> 113 </span> : : &quot;than size of destination buffer&quot;);</a>
+<a name="114"><span class="lineNum"> 114 </span> : : </a>
+<a name="115"><span class="lineNum"> 115 </span> : : __fortify_function __nonnull ((1, 2)) __wur ssize_t</a>
+<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 22 : __NTH (readlink (const char *__restrict __path, char *__restrict __buf,</span></a>
+<a name="117"><span class="lineNum"> 117 </span> : : size_t __len))</a>
+<a name="118"><span class="lineNum"> 118 </span> : : {</a>
+<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 22 : return __glibc_fortify (readlink, __len, sizeof (char),</span></a>
+<a name="120"><span class="lineNum"> 120 </span> : : __glibc_objsize (__buf),</a>
+<a name="121"><span class="lineNum"> 121 </span> : : __path, __buf, __len);</a>
+<a name="122"><span class="lineNum"> 122 </span> : : }</a>
+<a name="123"><span class="lineNum"> 123 </span> : : #endif</a>
+<a name="124"><span class="lineNum"> 124 </span> : : </a>
+<a name="125"><span class="lineNum"> 125 </span> : : #ifdef __USE_ATFILE</a>
+<a name="126"><span class="lineNum"> 126 </span> : : extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,</a>
+<a name="127"><span class="lineNum"> 127 </span> : : char *__restrict __buf, size_t __len,</a>
+<a name="128"><span class="lineNum"> 128 </span> : : size_t __buflen)</a>
+<a name="129"><span class="lineNum"> 129 </span> : : __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));</a>
+<a name="130"><span class="lineNum"> 130 </span> : : extern ssize_t __REDIRECT_NTH (__readlinkat_alias,</a>
+<a name="131"><span class="lineNum"> 131 </span> : : (int __fd, const char *__restrict __path,</a>
+<a name="132"><span class="lineNum"> 132 </span> : : char *__restrict __buf, size_t __len),</a>
+<a name="133"><span class="lineNum"> 133 </span> : : readlinkat)</a>
+<a name="134"><span class="lineNum"> 134 </span> : : __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));</a>
+<a name="135"><span class="lineNum"> 135 </span> : : extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,</a>
+<a name="136"><span class="lineNum"> 136 </span> : : (int __fd, const char *__restrict __path,</a>
+<a name="137"><span class="lineNum"> 137 </span> : : char *__restrict __buf, size_t __len,</a>
+<a name="138"><span class="lineNum"> 138 </span> : : size_t __buflen), __readlinkat_chk)</a>
+<a name="139"><span class="lineNum"> 139 </span> : : __nonnull ((2, 3)) __wur __warnattr (&quot;readlinkat called with bigger &quot;</a>
+<a name="140"><span class="lineNum"> 140 </span> : : &quot;length than size of destination &quot;</a>
+<a name="141"><span class="lineNum"> 141 </span> : : &quot;buffer&quot;);</a>
+<a name="142"><span class="lineNum"> 142 </span> : : </a>
+<a name="143"><span class="lineNum"> 143 </span> : : __fortify_function __nonnull ((2, 3)) __wur ssize_t</a>
+<a name="144"><span class="lineNum"> 144 </span> : : __NTH (readlinkat (int __fd, const char *__restrict __path,</a>
+<a name="145"><span class="lineNum"> 145 </span> : : char *__restrict __buf, size_t __len))</a>
+<a name="146"><span class="lineNum"> 146 </span> : : {</a>
+<a name="147"><span class="lineNum"> 147 </span> : : return __glibc_fortify (readlinkat, __len, sizeof (char),</a>
+<a name="148"><span class="lineNum"> 148 </span> : : __glibc_objsize (__buf),</a>
+<a name="149"><span class="lineNum"> 149 </span> : : __fd, __path, __buf, __len);</a>
+<a name="150"><span class="lineNum"> 150 </span> : : }</a>
+<a name="151"><span class="lineNum"> 151 </span> : : #endif</a>
+<a name="152"><span class="lineNum"> 152 </span> : : </a>
+<a name="153"><span class="lineNum"> 153 </span> : : extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)</a>
+<a name="154"><span class="lineNum"> 154 </span> : : __THROW __wur;</a>
+<a name="155"><span class="lineNum"> 155 </span> : : extern char *__REDIRECT_NTH (__getcwd_alias,</a>
+<a name="156"><span class="lineNum"> 156 </span> : : (char *__buf, size_t __size), getcwd) __wur;</a>
+<a name="157"><span class="lineNum"> 157 </span> : : extern char *__REDIRECT_NTH (__getcwd_chk_warn,</a>
+<a name="158"><span class="lineNum"> 158 </span> : : (char *__buf, size_t __size, size_t __buflen),</a>
+<a name="159"><span class="lineNum"> 159 </span> : : __getcwd_chk)</a>
+<a name="160"><span class="lineNum"> 160 </span> : : __wur __warnattr (&quot;getcwd caller with bigger length than size of &quot;</a>
+<a name="161"><span class="lineNum"> 161 </span> : : &quot;destination buffer&quot;);</a>
+<a name="162"><span class="lineNum"> 162 </span> : : </a>
+<a name="163"><span class="lineNum"> 163 </span> : : __fortify_function __wur char *</a>
+<a name="164"><span class="lineNum"> 164 </span> : : __NTH (getcwd (char *__buf, size_t __size))</a>
+<a name="165"><span class="lineNum"> 165 </span> : : {</a>
+<a name="166"><span class="lineNum"> 166 </span> : : return __glibc_fortify (getcwd, __size, sizeof (char),</a>
+<a name="167"><span class="lineNum"> 167 </span> : : __glibc_objsize (__buf),</a>
+<a name="168"><span class="lineNum"> 168 </span> : : __buf, __size);</a>
+<a name="169"><span class="lineNum"> 169 </span> : : }</a>
+<a name="170"><span class="lineNum"> 170 </span> : : </a>
+<a name="171"><span class="lineNum"> 171 </span> : : #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED</a>
+<a name="172"><span class="lineNum"> 172 </span> : : extern char *__getwd_chk (char *__buf, size_t buflen)</a>
+<a name="173"><span class="lineNum"> 173 </span> : : __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));</a>
+<a name="174"><span class="lineNum"> 174 </span> : : extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd)</a>
+<a name="175"><span class="lineNum"> 175 </span> : : __nonnull ((1)) __wur __warnattr (&quot;please use getcwd instead, as getwd &quot;</a>
+<a name="176"><span class="lineNum"> 176 </span> : : &quot;doesn't specify buffer size&quot;);</a>
+<a name="177"><span class="lineNum"> 177 </span> : : </a>
+<a name="178"><span class="lineNum"> 178 </span> : : __fortify_function __nonnull ((1)) __attribute_deprecated__ __wur char *</a>
+<a name="179"><span class="lineNum"> 179 </span> : : __NTH (getwd (char *__buf))</a>
+<a name="180"><span class="lineNum"> 180 </span> : : {</a>
+<a name="181"><span class="lineNum"> 181 </span> : : if (__glibc_objsize (__buf) != (size_t) -1)</a>
+<a name="182"><span class="lineNum"> 182 </span> : : return __getwd_chk (__buf, __glibc_objsize (__buf));</a>
+<a name="183"><span class="lineNum"> 183 </span> : : return __getwd_warn (__buf);</a>
+<a name="184"><span class="lineNum"> 184 </span> : : }</a>
+<a name="185"><span class="lineNum"> 185 </span> : : #endif</a>
+<a name="186"><span class="lineNum"> 186 </span> : : </a>
+<a name="187"><span class="lineNum"> 187 </span> : : extern size_t __confstr_chk (int __name, char *__buf, size_t __len,</a>
+<a name="188"><span class="lineNum"> 188 </span> : : size_t __buflen) __THROW</a>
+<a name="189"><span class="lineNum"> 189 </span> : : __attr_access ((__write_only__, 2, 3));</a>
+<a name="190"><span class="lineNum"> 190 </span> : : extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf,</a>
+<a name="191"><span class="lineNum"> 191 </span> : : size_t __len), confstr)</a>
+<a name="192"><span class="lineNum"> 192 </span> : : __attr_access ((__write_only__, 2, 3));</a>
+<a name="193"><span class="lineNum"> 193 </span> : : extern size_t __REDIRECT_NTH (__confstr_chk_warn,</a>
+<a name="194"><span class="lineNum"> 194 </span> : : (int __name, char *__buf, size_t __len,</a>
+<a name="195"><span class="lineNum"> 195 </span> : : size_t __buflen), __confstr_chk)</a>
+<a name="196"><span class="lineNum"> 196 </span> : : __warnattr (&quot;confstr called with bigger length than size of destination &quot;</a>
+<a name="197"><span class="lineNum"> 197 </span> : : &quot;buffer&quot;);</a>
<a name="198"><span class="lineNum"> 198 </span> : : </a>
-<a name="199"><span class="lineNum"> 199 </span> : : __fortify_function __wur char *</a>
-<a name="200"><span class="lineNum"> 200 </span> : : __NTH (getcwd (char *__buf, size_t __size))</a>
+<a name="199"><span class="lineNum"> 199 </span> : : __fortify_function size_t</a>
+<a name="200"><span class="lineNum"> 200 </span> : : __NTH (confstr (int __name, char *__buf, size_t __len))</a>
<a name="201"><span class="lineNum"> 201 </span> : : {</a>
-<a name="202"><span class="lineNum"> 202 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="203"><span class="lineNum"> 203 </span> : : {</a>
-<a name="204"><span class="lineNum"> 204 </span> : : if (!__builtin_constant_p (__size))</a>
-<a name="205"><span class="lineNum"> 205 </span> : : return __getcwd_chk (__buf, __size, __bos (__buf));</a>
+<a name="202"><span class="lineNum"> 202 </span> : : return __glibc_fortify (confstr, __len, sizeof (char),</a>
+<a name="203"><span class="lineNum"> 203 </span> : : __glibc_objsize (__buf),</a>
+<a name="204"><span class="lineNum"> 204 </span> : : __name, __buf, __len);</a>
+<a name="205"><span class="lineNum"> 205 </span> : : }</a>
<a name="206"><span class="lineNum"> 206 </span> : : </a>
-<a name="207"><span class="lineNum"> 207 </span> : : if (__size &gt; __bos (__buf))</a>
-<a name="208"><span class="lineNum"> 208 </span> : : return __getcwd_chk_warn (__buf, __size, __bos (__buf));</a>
-<a name="209"><span class="lineNum"> 209 </span> : : }</a>
-<a name="210"><span class="lineNum"> 210 </span> : : return __getcwd_alias (__buf, __size);</a>
-<a name="211"><span class="lineNum"> 211 </span> : : }</a>
-<a name="212"><span class="lineNum"> 212 </span> : : </a>
-<a name="213"><span class="lineNum"> 213 </span> : : #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED</a>
-<a name="214"><span class="lineNum"> 214 </span> : : extern char *__getwd_chk (char *__buf, size_t buflen)</a>
-<a name="215"><span class="lineNum"> 215 </span> : : __THROW __nonnull ((1)) __wur;</a>
-<a name="216"><span class="lineNum"> 216 </span> : : extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd)</a>
-<a name="217"><span class="lineNum"> 217 </span> : : __nonnull ((1)) __wur __warnattr (&quot;please use getcwd instead, as getwd &quot;</a>
-<a name="218"><span class="lineNum"> 218 </span> : : &quot;doesn't specify buffer size&quot;);</a>
-<a name="219"><span class="lineNum"> 219 </span> : : </a>
-<a name="220"><span class="lineNum"> 220 </span> : : __fortify_function __nonnull ((1)) __attribute_deprecated__ __wur char *</a>
-<a name="221"><span class="lineNum"> 221 </span> : : __NTH (getwd (char *__buf))</a>
-<a name="222"><span class="lineNum"> 222 </span> : : {</a>
-<a name="223"><span class="lineNum"> 223 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="224"><span class="lineNum"> 224 </span> : : return __getwd_chk (__buf, __bos (__buf));</a>
-<a name="225"><span class="lineNum"> 225 </span> : : return __getwd_warn (__buf);</a>
-<a name="226"><span class="lineNum"> 226 </span> : : }</a>
-<a name="227"><span class="lineNum"> 227 </span> : : #endif</a>
-<a name="228"><span class="lineNum"> 228 </span> : : </a>
-<a name="229"><span class="lineNum"> 229 </span> : : extern size_t __confstr_chk (int __name, char *__buf, size_t __len,</a>
-<a name="230"><span class="lineNum"> 230 </span> : : size_t __buflen) __THROW;</a>
-<a name="231"><span class="lineNum"> 231 </span> : : extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf,</a>
-<a name="232"><span class="lineNum"> 232 </span> : : size_t __len), confstr);</a>
-<a name="233"><span class="lineNum"> 233 </span> : : extern size_t __REDIRECT_NTH (__confstr_chk_warn,</a>
-<a name="234"><span class="lineNum"> 234 </span> : : (int __name, char *__buf, size_t __len,</a>
-<a name="235"><span class="lineNum"> 235 </span> : : size_t __buflen), __confstr_chk)</a>
-<a name="236"><span class="lineNum"> 236 </span> : : __warnattr (&quot;confstr called with bigger length than size of destination &quot;</a>
-<a name="237"><span class="lineNum"> 237 </span> : : &quot;buffer&quot;);</a>
+<a name="207"><span class="lineNum"> 207 </span> : : </a>
+<a name="208"><span class="lineNum"> 208 </span> : : extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)</a>
+<a name="209"><span class="lineNum"> 209 </span> : : __THROW __wur __attr_access ((__write_only__, 2, 1));</a>
+<a name="210"><span class="lineNum"> 210 </span> : : extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),</a>
+<a name="211"><span class="lineNum"> 211 </span> : : getgroups) __wur __attr_access ((__write_only__, 2, 1));</a>
+<a name="212"><span class="lineNum"> 212 </span> : : extern int __REDIRECT_NTH (__getgroups_chk_warn,</a>
+<a name="213"><span class="lineNum"> 213 </span> : : (int __size, __gid_t __list[], size_t __listlen),</a>
+<a name="214"><span class="lineNum"> 214 </span> : : __getgroups_chk)</a>
+<a name="215"><span class="lineNum"> 215 </span> : : __wur __warnattr (&quot;getgroups called with bigger group count than what &quot;</a>
+<a name="216"><span class="lineNum"> 216 </span> : : &quot;can fit into destination buffer&quot;);</a>
+<a name="217"><span class="lineNum"> 217 </span> : : </a>
+<a name="218"><span class="lineNum"> 218 </span> : : __fortify_function int</a>
+<a name="219"><span class="lineNum"> 219 </span> : : __NTH (getgroups (int __size, __gid_t __list[]))</a>
+<a name="220"><span class="lineNum"> 220 </span> : : {</a>
+<a name="221"><span class="lineNum"> 221 </span> : : return __glibc_fortify (getgroups, __size, sizeof (__gid_t),</a>
+<a name="222"><span class="lineNum"> 222 </span> : : __glibc_objsize (__list),</a>
+<a name="223"><span class="lineNum"> 223 </span> : : __size, __list);</a>
+<a name="224"><span class="lineNum"> 224 </span> : : }</a>
+<a name="225"><span class="lineNum"> 225 </span> : : </a>
+<a name="226"><span class="lineNum"> 226 </span> : : </a>
+<a name="227"><span class="lineNum"> 227 </span> : : extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,</a>
+<a name="228"><span class="lineNum"> 228 </span> : : size_t __nreal) __THROW __nonnull ((2))</a>
+<a name="229"><span class="lineNum"> 229 </span> : : __attr_access ((__write_only__, 2, 3));</a>
+<a name="230"><span class="lineNum"> 230 </span> : : extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,</a>
+<a name="231"><span class="lineNum"> 231 </span> : : size_t __buflen), ttyname_r)</a>
+<a name="232"><span class="lineNum"> 232 </span> : : __nonnull ((2));</a>
+<a name="233"><span class="lineNum"> 233 </span> : : extern int __REDIRECT_NTH (__ttyname_r_chk_warn,</a>
+<a name="234"><span class="lineNum"> 234 </span> : : (int __fd, char *__buf, size_t __buflen,</a>
+<a name="235"><span class="lineNum"> 235 </span> : : size_t __nreal), __ttyname_r_chk)</a>
+<a name="236"><span class="lineNum"> 236 </span> : : __nonnull ((2)) __warnattr (&quot;ttyname_r called with bigger buflen than &quot;</a>
+<a name="237"><span class="lineNum"> 237 </span> : : &quot;size of destination buffer&quot;);</a>
<a name="238"><span class="lineNum"> 238 </span> : : </a>
-<a name="239"><span class="lineNum"> 239 </span> : : __fortify_function size_t</a>
-<a name="240"><span class="lineNum"> 240 </span> : : __NTH (confstr (int __name, char *__buf, size_t __len))</a>
+<a name="239"><span class="lineNum"> 239 </span> : : __fortify_function int</a>
+<a name="240"><span class="lineNum"> 240 </span> : : __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))</a>
<a name="241"><span class="lineNum"> 241 </span> : : {</a>
-<a name="242"><span class="lineNum"> 242 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="243"><span class="lineNum"> 243 </span> : : {</a>
-<a name="244"><span class="lineNum"> 244 </span> : : if (!__builtin_constant_p (__len))</a>
-<a name="245"><span class="lineNum"> 245 </span> : : return __confstr_chk (__name, __buf, __len, __bos (__buf));</a>
+<a name="242"><span class="lineNum"> 242 </span> : : return __glibc_fortify (ttyname_r, __buflen, sizeof (char),</a>
+<a name="243"><span class="lineNum"> 243 </span> : : __glibc_objsize (__buf),</a>
+<a name="244"><span class="lineNum"> 244 </span> : : __fd, __buf, __buflen);</a>
+<a name="245"><span class="lineNum"> 245 </span> : : }</a>
<a name="246"><span class="lineNum"> 246 </span> : : </a>
-<a name="247"><span class="lineNum"> 247 </span> : : if (__bos (__buf) &lt; __len)</a>
-<a name="248"><span class="lineNum"> 248 </span> : : return __confstr_chk_warn (__name, __buf, __len, __bos (__buf));</a>
-<a name="249"><span class="lineNum"> 249 </span> : : }</a>
-<a name="250"><span class="lineNum"> 250 </span> : : return __confstr_alias (__name, __buf, __len);</a>
-<a name="251"><span class="lineNum"> 251 </span> : : }</a>
-<a name="252"><span class="lineNum"> 252 </span> : : </a>
-<a name="253"><span class="lineNum"> 253 </span> : : </a>
-<a name="254"><span class="lineNum"> 254 </span> : : extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)</a>
-<a name="255"><span class="lineNum"> 255 </span> : : __THROW __wur;</a>
-<a name="256"><span class="lineNum"> 256 </span> : : extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),</a>
-<a name="257"><span class="lineNum"> 257 </span> : : getgroups) __wur;</a>
-<a name="258"><span class="lineNum"> 258 </span> : : extern int __REDIRECT_NTH (__getgroups_chk_warn,</a>
-<a name="259"><span class="lineNum"> 259 </span> : : (int __size, __gid_t __list[], size_t __listlen),</a>
-<a name="260"><span class="lineNum"> 260 </span> : : __getgroups_chk)</a>
-<a name="261"><span class="lineNum"> 261 </span> : : __wur __warnattr (&quot;getgroups called with bigger group count than what &quot;</a>
-<a name="262"><span class="lineNum"> 262 </span> : : &quot;can fit into destination buffer&quot;);</a>
-<a name="263"><span class="lineNum"> 263 </span> : : </a>
-<a name="264"><span class="lineNum"> 264 </span> : : __fortify_function int</a>
-<a name="265"><span class="lineNum"> 265 </span> : : __NTH (getgroups (int __size, __gid_t __list[]))</a>
-<a name="266"><span class="lineNum"> 266 </span> : : {</a>
-<a name="267"><span class="lineNum"> 267 </span> : : if (__bos (__list) != (size_t) -1)</a>
-<a name="268"><span class="lineNum"> 268 </span> : : {</a>
-<a name="269"><span class="lineNum"> 269 </span> : : if (!__builtin_constant_p (__size) || __size &lt; 0)</a>
-<a name="270"><span class="lineNum"> 270 </span> : : return __getgroups_chk (__size, __list, __bos (__list));</a>
-<a name="271"><span class="lineNum"> 271 </span> : : </a>
-<a name="272"><span class="lineNum"> 272 </span> : : if (__size * sizeof (__gid_t) &gt; __bos (__list))</a>
-<a name="273"><span class="lineNum"> 273 </span> : : return __getgroups_chk_warn (__size, __list, __bos (__list));</a>
-<a name="274"><span class="lineNum"> 274 </span> : : }</a>
-<a name="275"><span class="lineNum"> 275 </span> : : return __getgroups_alias (__size, __list);</a>
-<a name="276"><span class="lineNum"> 276 </span> : : }</a>
-<a name="277"><span class="lineNum"> 277 </span> : : </a>
-<a name="278"><span class="lineNum"> 278 </span> : : </a>
-<a name="279"><span class="lineNum"> 279 </span> : : extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,</a>
-<a name="280"><span class="lineNum"> 280 </span> : : size_t __nreal) __THROW __nonnull ((2));</a>
-<a name="281"><span class="lineNum"> 281 </span> : : extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,</a>
-<a name="282"><span class="lineNum"> 282 </span> : : size_t __buflen), ttyname_r)</a>
-<a name="283"><span class="lineNum"> 283 </span> : : __nonnull ((2));</a>
-<a name="284"><span class="lineNum"> 284 </span> : : extern int __REDIRECT_NTH (__ttyname_r_chk_warn,</a>
-<a name="285"><span class="lineNum"> 285 </span> : : (int __fd, char *__buf, size_t __buflen,</a>
-<a name="286"><span class="lineNum"> 286 </span> : : size_t __nreal), __ttyname_r_chk)</a>
-<a name="287"><span class="lineNum"> 287 </span> : : __nonnull ((2)) __warnattr (&quot;ttyname_r called with bigger buflen than &quot;</a>
-<a name="288"><span class="lineNum"> 288 </span> : : &quot;size of destination buffer&quot;);</a>
+<a name="247"><span class="lineNum"> 247 </span> : : </a>
+<a name="248"><span class="lineNum"> 248 </span> : : #ifdef __USE_POSIX199506</a>
+<a name="249"><span class="lineNum"> 249 </span> : : extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)</a>
+<a name="250"><span class="lineNum"> 250 </span> : : __nonnull ((1)) __attr_access ((__write_only__, 1, 2));</a>
+<a name="251"><span class="lineNum"> 251 </span> : : extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),</a>
+<a name="252"><span class="lineNum"> 252 </span> : : getlogin_r) __nonnull ((1));</a>
+<a name="253"><span class="lineNum"> 253 </span> : : extern int __REDIRECT (__getlogin_r_chk_warn,</a>
+<a name="254"><span class="lineNum"> 254 </span> : : (char *__buf, size_t __buflen, size_t __nreal),</a>
+<a name="255"><span class="lineNum"> 255 </span> : : __getlogin_r_chk)</a>
+<a name="256"><span class="lineNum"> 256 </span> : : __nonnull ((1)) __warnattr (&quot;getlogin_r called with bigger buflen than &quot;</a>
+<a name="257"><span class="lineNum"> 257 </span> : : &quot;size of destination buffer&quot;);</a>
+<a name="258"><span class="lineNum"> 258 </span> : : </a>
+<a name="259"><span class="lineNum"> 259 </span> : : __fortify_function int</a>
+<a name="260"><span class="lineNum"> 260 </span> : : getlogin_r (char *__buf, size_t __buflen)</a>
+<a name="261"><span class="lineNum"> 261 </span> : : {</a>
+<a name="262"><span class="lineNum"> 262 </span> : : return __glibc_fortify (getlogin_r, __buflen, sizeof (char),</a>
+<a name="263"><span class="lineNum"> 263 </span> : : __glibc_objsize (__buf),</a>
+<a name="264"><span class="lineNum"> 264 </span> : : __buf, __buflen);</a>
+<a name="265"><span class="lineNum"> 265 </span> : : }</a>
+<a name="266"><span class="lineNum"> 266 </span> : : #endif</a>
+<a name="267"><span class="lineNum"> 267 </span> : : </a>
+<a name="268"><span class="lineNum"> 268 </span> : : </a>
+<a name="269"><span class="lineNum"> 269 </span> : : #if defined __USE_MISC || defined __USE_UNIX98</a>
+<a name="270"><span class="lineNum"> 270 </span> : : extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)</a>
+<a name="271"><span class="lineNum"> 271 </span> : : __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2));</a>
+<a name="272"><span class="lineNum"> 272 </span> : : extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen),</a>
+<a name="273"><span class="lineNum"> 273 </span> : : gethostname)</a>
+<a name="274"><span class="lineNum"> 274 </span> : : __nonnull ((1)) __attr_access ((__write_only__, 1, 2));</a>
+<a name="275"><span class="lineNum"> 275 </span> : : extern int __REDIRECT_NTH (__gethostname_chk_warn,</a>
+<a name="276"><span class="lineNum"> 276 </span> : : (char *__buf, size_t __buflen, size_t __nreal),</a>
+<a name="277"><span class="lineNum"> 277 </span> : : __gethostname_chk)</a>
+<a name="278"><span class="lineNum"> 278 </span> : : __nonnull ((1)) __warnattr (&quot;gethostname called with bigger buflen than &quot;</a>
+<a name="279"><span class="lineNum"> 279 </span> : : &quot;size of destination buffer&quot;);</a>
+<a name="280"><span class="lineNum"> 280 </span> : : </a>
+<a name="281"><span class="lineNum"> 281 </span> : : __fortify_function int</a>
+<a name="282"><span class="lineNum"> 282 </span> : : __NTH (gethostname (char *__buf, size_t __buflen))</a>
+<a name="283"><span class="lineNum"> 283 </span> : : {</a>
+<a name="284"><span class="lineNum"> 284 </span> : : return __glibc_fortify (gethostname, __buflen, sizeof (char),</a>
+<a name="285"><span class="lineNum"> 285 </span> : : __glibc_objsize (__buf),</a>
+<a name="286"><span class="lineNum"> 286 </span> : : __buf, __buflen);</a>
+<a name="287"><span class="lineNum"> 287 </span> : : }</a>
+<a name="288"><span class="lineNum"> 288 </span> : : #endif</a>
<a name="289"><span class="lineNum"> 289 </span> : : </a>
-<a name="290"><span class="lineNum"> 290 </span> : : __fortify_function int</a>
-<a name="291"><span class="lineNum"> 291 </span> : : __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))</a>
-<a name="292"><span class="lineNum"> 292 </span> : : {</a>
-<a name="293"><span class="lineNum"> 293 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="294"><span class="lineNum"> 294 </span> : : {</a>
-<a name="295"><span class="lineNum"> 295 </span> : : if (!__builtin_constant_p (__buflen))</a>
-<a name="296"><span class="lineNum"> 296 </span> : : return __ttyname_r_chk (__fd, __buf, __buflen, __bos (__buf));</a>
-<a name="297"><span class="lineNum"> 297 </span> : : </a>
-<a name="298"><span class="lineNum"> 298 </span> : : if (__buflen &gt; __bos (__buf))</a>
-<a name="299"><span class="lineNum"> 299 </span> : : return __ttyname_r_chk_warn (__fd, __buf, __buflen, __bos (__buf));</a>
-<a name="300"><span class="lineNum"> 300 </span> : : }</a>
-<a name="301"><span class="lineNum"> 301 </span> : : return __ttyname_r_alias (__fd, __buf, __buflen);</a>
-<a name="302"><span class="lineNum"> 302 </span> : : }</a>
-<a name="303"><span class="lineNum"> 303 </span> : : </a>
+<a name="290"><span class="lineNum"> 290 </span> : : </a>
+<a name="291"><span class="lineNum"> 291 </span> : : #if defined __USE_MISC || (defined __USE_XOPEN &amp;&amp; !defined __USE_UNIX98)</a>
+<a name="292"><span class="lineNum"> 292 </span> : : extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)</a>
+<a name="293"><span class="lineNum"> 293 </span> : : __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));</a>
+<a name="294"><span class="lineNum"> 294 </span> : : extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,</a>
+<a name="295"><span class="lineNum"> 295 </span> : : size_t __buflen),</a>
+<a name="296"><span class="lineNum"> 296 </span> : : getdomainname) __nonnull ((1))</a>
+<a name="297"><span class="lineNum"> 297 </span> : : __wur __attr_access ((__write_only__, 1, 2));</a>
+<a name="298"><span class="lineNum"> 298 </span> : : extern int __REDIRECT_NTH (__getdomainname_chk_warn,</a>
+<a name="299"><span class="lineNum"> 299 </span> : : (char *__buf, size_t __buflen, size_t __nreal),</a>
+<a name="300"><span class="lineNum"> 300 </span> : : __getdomainname_chk)</a>
+<a name="301"><span class="lineNum"> 301 </span> : : __nonnull ((1)) __wur __warnattr (&quot;getdomainname called with bigger &quot;</a>
+<a name="302"><span class="lineNum"> 302 </span> : : &quot;buflen than size of destination &quot;</a>
+<a name="303"><span class="lineNum"> 303 </span> : : &quot;buffer&quot;);</a>
<a name="304"><span class="lineNum"> 304 </span> : : </a>
-<a name="305"><span class="lineNum"> 305 </span> : : #ifdef __USE_POSIX199506</a>
-<a name="306"><span class="lineNum"> 306 </span> : : extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)</a>
-<a name="307"><span class="lineNum"> 307 </span> : : __nonnull ((1));</a>
-<a name="308"><span class="lineNum"> 308 </span> : : extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),</a>
-<a name="309"><span class="lineNum"> 309 </span> : : getlogin_r) __nonnull ((1));</a>
-<a name="310"><span class="lineNum"> 310 </span> : : extern int __REDIRECT (__getlogin_r_chk_warn,</a>
-<a name="311"><span class="lineNum"> 311 </span> : : (char *__buf, size_t __buflen, size_t __nreal),</a>
-<a name="312"><span class="lineNum"> 312 </span> : : __getlogin_r_chk)</a>
-<a name="313"><span class="lineNum"> 313 </span> : : __nonnull ((1)) __warnattr (&quot;getlogin_r called with bigger buflen than &quot;</a>
-<a name="314"><span class="lineNum"> 314 </span> : : &quot;size of destination buffer&quot;);</a>
-<a name="315"><span class="lineNum"> 315 </span> : : </a>
-<a name="316"><span class="lineNum"> 316 </span> : : __fortify_function int</a>
-<a name="317"><span class="lineNum"> 317 </span> : : getlogin_r (char *__buf, size_t __buflen)</a>
-<a name="318"><span class="lineNum"> 318 </span> : : {</a>
-<a name="319"><span class="lineNum"> 319 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="320"><span class="lineNum"> 320 </span> : : {</a>
-<a name="321"><span class="lineNum"> 321 </span> : : if (!__builtin_constant_p (__buflen))</a>
-<a name="322"><span class="lineNum"> 322 </span> : : return __getlogin_r_chk (__buf, __buflen, __bos (__buf));</a>
-<a name="323"><span class="lineNum"> 323 </span> : : </a>
-<a name="324"><span class="lineNum"> 324 </span> : : if (__buflen &gt; __bos (__buf))</a>
-<a name="325"><span class="lineNum"> 325 </span> : : return __getlogin_r_chk_warn (__buf, __buflen, __bos (__buf));</a>
-<a name="326"><span class="lineNum"> 326 </span> : : }</a>
-<a name="327"><span class="lineNum"> 327 </span> : : return __getlogin_r_alias (__buf, __buflen);</a>
-<a name="328"><span class="lineNum"> 328 </span> : : }</a>
-<a name="329"><span class="lineNum"> 329 </span> : : #endif</a>
-<a name="330"><span class="lineNum"> 330 </span> : : </a>
-<a name="331"><span class="lineNum"> 331 </span> : : </a>
-<a name="332"><span class="lineNum"> 332 </span> : : #if defined __USE_MISC || defined __USE_UNIX98</a>
-<a name="333"><span class="lineNum"> 333 </span> : : extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)</a>
-<a name="334"><span class="lineNum"> 334 </span> : : __THROW __nonnull ((1));</a>
-<a name="335"><span class="lineNum"> 335 </span> : : extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen),</a>
-<a name="336"><span class="lineNum"> 336 </span> : : gethostname) __nonnull ((1));</a>
-<a name="337"><span class="lineNum"> 337 </span> : : extern int __REDIRECT_NTH (__gethostname_chk_warn,</a>
-<a name="338"><span class="lineNum"> 338 </span> : : (char *__buf, size_t __buflen, size_t __nreal),</a>
-<a name="339"><span class="lineNum"> 339 </span> : : __gethostname_chk)</a>
-<a name="340"><span class="lineNum"> 340 </span> : : __nonnull ((1)) __warnattr (&quot;gethostname called with bigger buflen than &quot;</a>
-<a name="341"><span class="lineNum"> 341 </span> : : &quot;size of destination buffer&quot;);</a>
-<a name="342"><span class="lineNum"> 342 </span> : : </a>
-<a name="343"><span class="lineNum"> 343 </span> : : __fortify_function int</a>
-<a name="344"><span class="lineNum"> 344 </span> : : __NTH (gethostname (char *__buf, size_t __buflen))</a>
-<a name="345"><span class="lineNum"> 345 </span> : : {</a>
-<a name="346"><span class="lineNum"> 346 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="347"><span class="lineNum"> 347 </span> : : {</a>
-<a name="348"><span class="lineNum"> 348 </span> : : if (!__builtin_constant_p (__buflen))</a>
-<a name="349"><span class="lineNum"> 349 </span> : : return __gethostname_chk (__buf, __buflen, __bos (__buf));</a>
-<a name="350"><span class="lineNum"> 350 </span> : : </a>
-<a name="351"><span class="lineNum"> 351 </span> : : if (__buflen &gt; __bos (__buf))</a>
-<a name="352"><span class="lineNum"> 352 </span> : : return __gethostname_chk_warn (__buf, __buflen, __bos (__buf));</a>
-<a name="353"><span class="lineNum"> 353 </span> : : }</a>
-<a name="354"><span class="lineNum"> 354 </span> : : return __gethostname_alias (__buf, __buflen);</a>
-<a name="355"><span class="lineNum"> 355 </span> : : }</a>
-<a name="356"><span class="lineNum"> 356 </span> : : #endif</a>
-<a name="357"><span class="lineNum"> 357 </span> : : </a>
-<a name="358"><span class="lineNum"> 358 </span> : : </a>
-<a name="359"><span class="lineNum"> 359 </span> : : #if defined __USE_MISC || (defined __USE_XOPEN &amp;&amp; !defined __USE_UNIX98)</a>
-<a name="360"><span class="lineNum"> 360 </span> : : extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)</a>
-<a name="361"><span class="lineNum"> 361 </span> : : __THROW __nonnull ((1)) __wur;</a>
-<a name="362"><span class="lineNum"> 362 </span> : : extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,</a>
-<a name="363"><span class="lineNum"> 363 </span> : : size_t __buflen),</a>
-<a name="364"><span class="lineNum"> 364 </span> : : getdomainname) __nonnull ((1)) __wur;</a>
-<a name="365"><span class="lineNum"> 365 </span> : : extern int __REDIRECT_NTH (__getdomainname_chk_warn,</a>
-<a name="366"><span class="lineNum"> 366 </span> : : (char *__buf, size_t __buflen, size_t __nreal),</a>
-<a name="367"><span class="lineNum"> 367 </span> : : __getdomainname_chk)</a>
-<a name="368"><span class="lineNum"> 368 </span> : : __nonnull ((1)) __wur __warnattr (&quot;getdomainname called with bigger &quot;</a>
-<a name="369"><span class="lineNum"> 369 </span> : : &quot;buflen than size of destination &quot;</a>
-<a name="370"><span class="lineNum"> 370 </span> : : &quot;buffer&quot;);</a>
-<a name="371"><span class="lineNum"> 371 </span> : : </a>
-<a name="372"><span class="lineNum"> 372 </span> : : __fortify_function int</a>
-<a name="373"><span class="lineNum"> 373 </span> : : __NTH (getdomainname (char *__buf, size_t __buflen))</a>
-<a name="374"><span class="lineNum"> 374 </span> : : {</a>
-<a name="375"><span class="lineNum"> 375 </span> : : if (__bos (__buf) != (size_t) -1)</a>
-<a name="376"><span class="lineNum"> 376 </span> : : {</a>
-<a name="377"><span class="lineNum"> 377 </span> : : if (!__builtin_constant_p (__buflen))</a>
-<a name="378"><span class="lineNum"> 378 </span> : : return __getdomainname_chk (__buf, __buflen, __bos (__buf));</a>
-<a name="379"><span class="lineNum"> 379 </span> : : </a>
-<a name="380"><span class="lineNum"> 380 </span> : : if (__buflen &gt; __bos (__buf))</a>
-<a name="381"><span class="lineNum"> 381 </span> : : return __getdomainname_chk_warn (__buf, __buflen, __bos (__buf));</a>
-<a name="382"><span class="lineNum"> 382 </span> : : }</a>
-<a name="383"><span class="lineNum"> 383 </span> : : return __getdomainname_alias (__buf, __buflen);</a>
-<a name="384"><span class="lineNum"> 384 </span> : : }</a>
-<a name="385"><span class="lineNum"> 385 </span> : : #endif</a>
+<a name="305"><span class="lineNum"> 305 </span> : : __fortify_function int</a>
+<a name="306"><span class="lineNum"> 306 </span> : : __NTH (getdomainname (char *__buf, size_t __buflen))</a>
+<a name="307"><span class="lineNum"> 307 </span> : : {</a>
+<a name="308"><span class="lineNum"> 308 </span> : : return __glibc_fortify (getdomainname, __buflen, sizeof (char),</a>
+<a name="309"><span class="lineNum"> 309 </span> : : __glibc_objsize (__buf),</a>
+<a name="310"><span class="lineNum"> 310 </span> : : __buf, __buflen);</a>
+<a name="311"><span class="lineNum"> 311 </span> : : }</a>
+<a name="312"><span class="lineNum"> 312 </span> : : #endif</a>
</pre>
</td>
</tr>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-b.html b/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-b.html
deleted file mode 100644
index 3158e3a..0000000
--- a/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-b.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>LCOV - skiboot.info - /usr/include/x86_64-linux-gnu/sys</title>
- <link rel="stylesheet" type="text/css" href="../../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LCOV - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td width="10%" class="headerItem">Current view:</td>
- <td width="35%" class="headerValue"><a href="../../../../index.html">top level</a> - /usr/include/x86_64-linux-gnu/sys</td>
- <td width="5%"></td>
- <td width="15%"></td>
- <td width="10%" class="headerCovTableHead">Hit</td>
- <td width="10%" class="headerCovTableHead">Total</td>
- <td width="15%" class="headerCovTableHead">Coverage</td>
- </tr>
- <tr>
- <td class="headerItem">Test:</td>
- <td class="headerValue">skiboot.info</td>
- <td></td>
- <td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
- </tr>
- <tr>
- <td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
- <td></td>
- <td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td class="headerItem">Branches:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr><td><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
- </td>
- </tr>
-
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <center>
- <table width="80%" cellpadding=1 cellspacing=1 border=0>
-
- <tr>
- <td width="44%"><br></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- </tr>
-
- <tr>
- <td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
- <td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
- <td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
- <td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../../../../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
- </tr>
- <tr>
- <td class="coverFile"><a href="stat.h.gcov.html">stat.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- </table>
- </center>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-f.html b/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-f.html
deleted file mode 100644
index 372188b..0000000
--- a/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-f.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>LCOV - skiboot.info - /usr/include/x86_64-linux-gnu/sys</title>
- <link rel="stylesheet" type="text/css" href="../../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LCOV - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td width="10%" class="headerItem">Current view:</td>
- <td width="35%" class="headerValue"><a href="../../../../index.html">top level</a> - /usr/include/x86_64-linux-gnu/sys</td>
- <td width="5%"></td>
- <td width="15%"></td>
- <td width="10%" class="headerCovTableHead">Hit</td>
- <td width="10%" class="headerCovTableHead">Total</td>
- <td width="15%" class="headerCovTableHead">Coverage</td>
- </tr>
- <tr>
- <td class="headerItem">Test:</td>
- <td class="headerValue">skiboot.info</td>
- <td></td>
- <td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
- </tr>
- <tr>
- <td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
- <td></td>
- <td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td class="headerItem">Branches:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr><td><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
- </td>
- </tr>
-
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <center>
- <table width="80%" cellpadding=1 cellspacing=1 border=0>
-
- <tr>
- <td width="44%"><br></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- </tr>
-
- <tr>
- <td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
- <td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
- <td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><img src="../../../../glass.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></span></td>
- <td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
- </tr>
- <tr>
- <td class="coverFile"><a href="stat.h.gcov.html">stat.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- </table>
- </center>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-l.html b/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-l.html
deleted file mode 100644
index 830c55e..0000000
--- a/coverage-report/usr/include/x86_64-linux-gnu/sys/index-sort-l.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>LCOV - skiboot.info - /usr/include/x86_64-linux-gnu/sys</title>
- <link rel="stylesheet" type="text/css" href="../../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LCOV - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td width="10%" class="headerItem">Current view:</td>
- <td width="35%" class="headerValue"><a href="../../../../index.html">top level</a> - /usr/include/x86_64-linux-gnu/sys</td>
- <td width="5%"></td>
- <td width="15%"></td>
- <td width="10%" class="headerCovTableHead">Hit</td>
- <td width="10%" class="headerCovTableHead">Total</td>
- <td width="15%" class="headerCovTableHead">Coverage</td>
- </tr>
- <tr>
- <td class="headerItem">Test:</td>
- <td class="headerValue">skiboot.info</td>
- <td></td>
- <td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
- </tr>
- <tr>
- <td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
- <td></td>
- <td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td class="headerItem">Branches:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr><td><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
- </td>
- </tr>
-
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <center>
- <table width="80%" cellpadding=1 cellspacing=1 border=0>
-
- <tr>
- <td width="44%"><br></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- </tr>
-
- <tr>
- <td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
- <td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><img src="../../../../glass.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></span></td>
- <td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
- <td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
- </tr>
- <tr>
- <td class="coverFile"><a href="stat.h.gcov.html">stat.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- </table>
- </center>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/sys/index.html b/coverage-report/usr/include/x86_64-linux-gnu/sys/index.html
deleted file mode 100644
index 26af43b..0000000
--- a/coverage-report/usr/include/x86_64-linux-gnu/sys/index.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>LCOV - skiboot.info - /usr/include/x86_64-linux-gnu/sys</title>
- <link rel="stylesheet" type="text/css" href="../../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LCOV - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td width="10%" class="headerItem">Current view:</td>
- <td width="35%" class="headerValue"><a href="../../../../index.html">top level</a> - /usr/include/x86_64-linux-gnu/sys</td>
- <td width="5%"></td>
- <td width="15%"></td>
- <td width="10%" class="headerCovTableHead">Hit</td>
- <td width="10%" class="headerCovTableHead">Total</td>
- <td width="15%" class="headerCovTableHead">Coverage</td>
- </tr>
- <tr>
- <td class="headerItem">Test:</td>
- <td class="headerValue">skiboot.info</td>
- <td></td>
- <td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
- </tr>
- <tr>
- <td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
- <td></td>
- <td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td class="headerItem">Branches:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr><td><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
- </td>
- </tr>
-
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <center>
- <table width="80%" cellpadding=1 cellspacing=1 border=0>
-
- <tr>
- <td width="44%"><br></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- <td width="8%"></td>
- </tr>
-
- <tr>
- <td class="tableHead">Filename <span class="tableHeadSort"><img src="../../../../glass.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></span></td>
- <td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
- <td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
- <td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
- </tr>
- <tr>
- <td class="coverFile"><a href="stat.h.gcov.html">stat.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4 / 4</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- <td class="coverPerHi">-</td>
- <td class="coverNumHi">0 / 0</td>
- </tr>
- </table>
- </center>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.func-sort-c.html
deleted file mode 100644
index d4dc6f8..0000000
--- a/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.func-sort-c.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>LCOV - skiboot.info - /usr/include/x86_64-linux-gnu/sys/stat.h - functions</title>
- <link rel="stylesheet" type="text/css" href="../../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LCOV - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td width="10%" class="headerItem">Current view:</td>
- <td width="35%" class="headerValue"><a href="../../../../index.html">top level</a> - <a href="index.html">usr/include/x86_64-linux-gnu/sys</a> - stat.h<span style="font-size: 80%;"> (<a href="stat.h.gcov.html">source</a> / functions)</span></td>
- <td width="5%"></td>
- <td width="15%"></td>
- <td width="10%" class="headerCovTableHead">Hit</td>
- <td width="10%" class="headerCovTableHead">Total</td>
- <td width="15%" class="headerCovTableHead">Coverage</td>
- </tr>
- <tr>
- <td class="headerItem">Test:</td>
- <td class="headerValue">skiboot.info</td>
- <td></td>
- <td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
- </tr>
- <tr>
- <td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
- <td></td>
- <td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td class="headerItem">Branches:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr><td><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
- </td>
- </tr>
-
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <center>
- <table width="60%" cellpadding=1 cellspacing=1 border=0>
- <tr><td><br></td></tr>
- <tr>
- <td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="stat.h.func.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
- <td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../../../../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
- </tr>
- </table>
- <br>
- </center>
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.func.html b/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.func.html
deleted file mode 100644
index 99a879f..0000000
--- a/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.func.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>LCOV - skiboot.info - /usr/include/x86_64-linux-gnu/sys/stat.h - functions</title>
- <link rel="stylesheet" type="text/css" href="../../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LCOV - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td width="10%" class="headerItem">Current view:</td>
- <td width="35%" class="headerValue"><a href="../../../../index.html">top level</a> - <a href="index.html">usr/include/x86_64-linux-gnu/sys</a> - stat.h<span style="font-size: 80%;"> (<a href="stat.h.gcov.html">source</a> / functions)</span></td>
- <td width="5%"></td>
- <td width="15%"></td>
- <td width="10%" class="headerCovTableHead">Hit</td>
- <td width="10%" class="headerCovTableHead">Total</td>
- <td width="15%" class="headerCovTableHead">Coverage</td>
- </tr>
- <tr>
- <td class="headerItem">Test:</td>
- <td class="headerValue">skiboot.info</td>
- <td></td>
- <td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
- </tr>
- <tr>
- <td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
- <td></td>
- <td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td class="headerItem">Branches:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr><td><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
- </td>
- </tr>
-
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <center>
- <table width="60%" cellpadding=1 cellspacing=1 border=0>
- <tr><td><br></td></tr>
- <tr>
- <td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../../../../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
- <td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="stat.h.func-sort-c.html"><img src="../../../../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
- </tr>
- </table>
- <br>
- </center>
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.gcov.html b/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.gcov.html
deleted file mode 100644
index 78bf6a1..0000000
--- a/coverage-report/usr/include/x86_64-linux-gnu/sys/stat.h.gcov.html
+++ /dev/null
@@ -1,622 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>LCOV - skiboot.info - /usr/include/x86_64-linux-gnu/sys/stat.h</title>
- <link rel="stylesheet" type="text/css" href="../../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LCOV - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td width="10%" class="headerItem">Current view:</td>
- <td width="35%" class="headerValue"><a href="../../../../index.html">top level</a> - <a href="index.html">usr/include/x86_64-linux-gnu/sys</a> - stat.h<span style="font-size: 80%;"> (source / <a href="stat.h.func-sort-c.html">functions</a>)</span></td>
- <td width="5%"></td>
- <td width="15%"></td>
- <td width="10%" class="headerCovTableHead">Hit</td>
- <td width="10%" class="headerCovTableHead">Total</td>
- <td width="15%" class="headerCovTableHead">Coverage</td>
- </tr>
- <tr>
- <td class="headerItem">Test:</td>
- <td class="headerValue">skiboot.info</td>
- <td></td>
- <td class="headerItem">Lines:</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntry">4</td>
- <td class="headerCovTableEntryHi">100.0 %</td>
- </tr>
- <tr>
- <td class="headerItem">Date:</td>
- <td class="headerValue">2022-09-20 20:01:17</td>
- <td></td>
- <td class="headerItem">Functions:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td class="headerItem">Branches:</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntry">0</td>
- <td class="headerCovTableEntryHi">-</td>
- </tr>
- <tr><td><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
- </td>
- </tr>
-
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td>
-<pre class="sourceHeading"> Branch data Line data Source code</pre>
-<pre class="source">
-<a name="1"><span class="lineNum"> 1 </span> : : /* Copyright (C) 1991-2020 Free Software Foundation, Inc.</a>
-<a name="2"><span class="lineNum"> 2 </span> : : This file is part of the GNU C Library.</a>
-<a name="3"><span class="lineNum"> 3 </span> : : </a>
-<a name="4"><span class="lineNum"> 4 </span> : : The GNU C Library is free software; you can redistribute it and/or</a>
-<a name="5"><span class="lineNum"> 5 </span> : : modify it under the terms of the GNU Lesser General Public</a>
-<a name="6"><span class="lineNum"> 6 </span> : : License as published by the Free Software Foundation; either</a>
-<a name="7"><span class="lineNum"> 7 </span> : : version 2.1 of the License, or (at your option) any later version.</a>
-<a name="8"><span class="lineNum"> 8 </span> : : </a>
-<a name="9"><span class="lineNum"> 9 </span> : : The GNU C Library is distributed in the hope that it will be useful,</a>
-<a name="10"><span class="lineNum"> 10 </span> : : but WITHOUT ANY WARRANTY; without even the implied warranty of</a>
-<a name="11"><span class="lineNum"> 11 </span> : : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</a>
-<a name="12"><span class="lineNum"> 12 </span> : : Lesser General Public License for more details.</a>
-<a name="13"><span class="lineNum"> 13 </span> : : </a>
-<a name="14"><span class="lineNum"> 14 </span> : : You should have received a copy of the GNU Lesser General Public</a>
-<a name="15"><span class="lineNum"> 15 </span> : : License along with the GNU C Library; if not, see</a>
-<a name="16"><span class="lineNum"> 16 </span> : : &lt;https://www.gnu.org/licenses/&gt;. */</a>
-<a name="17"><span class="lineNum"> 17 </span> : : </a>
-<a name="18"><span class="lineNum"> 18 </span> : : /*</a>
-<a name="19"><span class="lineNum"> 19 </span> : : * POSIX Standard: 5.6 File Characteristics &lt;sys/stat.h&gt;</a>
-<a name="20"><span class="lineNum"> 20 </span> : : */</a>
-<a name="21"><span class="lineNum"> 21 </span> : : </a>
-<a name="22"><span class="lineNum"> 22 </span> : : #ifndef _SYS_STAT_H</a>
-<a name="23"><span class="lineNum"> 23 </span> : : #define _SYS_STAT_H 1</a>
-<a name="24"><span class="lineNum"> 24 </span> : : </a>
-<a name="25"><span class="lineNum"> 25 </span> : : #include &lt;features.h&gt;</a>
-<a name="26"><span class="lineNum"> 26 </span> : : </a>
-<a name="27"><span class="lineNum"> 27 </span> : : #include &lt;bits/types.h&gt; /* For __mode_t and __dev_t. */</a>
-<a name="28"><span class="lineNum"> 28 </span> : : </a>
-<a name="29"><span class="lineNum"> 29 </span> : : #ifdef __USE_XOPEN2K8</a>
-<a name="30"><span class="lineNum"> 30 </span> : : # include &lt;bits/types/struct_timespec.h&gt;</a>
-<a name="31"><span class="lineNum"> 31 </span> : : #endif</a>
-<a name="32"><span class="lineNum"> 32 </span> : : </a>
-<a name="33"><span class="lineNum"> 33 </span> : : #if defined __USE_XOPEN || defined __USE_XOPEN2K</a>
-<a name="34"><span class="lineNum"> 34 </span> : : /* The Single Unix specification says that some more types are</a>
-<a name="35"><span class="lineNum"> 35 </span> : : available here. */</a>
-<a name="36"><span class="lineNum"> 36 </span> : : </a>
-<a name="37"><span class="lineNum"> 37 </span> : : # include &lt;bits/types/time_t.h&gt;</a>
-<a name="38"><span class="lineNum"> 38 </span> : : </a>
-<a name="39"><span class="lineNum"> 39 </span> : : # ifndef __dev_t_defined</a>
-<a name="40"><span class="lineNum"> 40 </span> : : typedef __dev_t dev_t;</a>
-<a name="41"><span class="lineNum"> 41 </span> : : # define __dev_t_defined</a>
-<a name="42"><span class="lineNum"> 42 </span> : : # endif</a>
-<a name="43"><span class="lineNum"> 43 </span> : : </a>
-<a name="44"><span class="lineNum"> 44 </span> : : # ifndef __gid_t_defined</a>
-<a name="45"><span class="lineNum"> 45 </span> : : typedef __gid_t gid_t;</a>
-<a name="46"><span class="lineNum"> 46 </span> : : # define __gid_t_defined</a>
-<a name="47"><span class="lineNum"> 47 </span> : : # endif</a>
-<a name="48"><span class="lineNum"> 48 </span> : : </a>
-<a name="49"><span class="lineNum"> 49 </span> : : # ifndef __ino_t_defined</a>
-<a name="50"><span class="lineNum"> 50 </span> : : # ifndef __USE_FILE_OFFSET64</a>
-<a name="51"><span class="lineNum"> 51 </span> : : typedef __ino_t ino_t;</a>
-<a name="52"><span class="lineNum"> 52 </span> : : # else</a>
-<a name="53"><span class="lineNum"> 53 </span> : : typedef __ino64_t ino_t;</a>
-<a name="54"><span class="lineNum"> 54 </span> : : # endif</a>
-<a name="55"><span class="lineNum"> 55 </span> : : # define __ino_t_defined</a>
-<a name="56"><span class="lineNum"> 56 </span> : : # endif</a>
-<a name="57"><span class="lineNum"> 57 </span> : : </a>
-<a name="58"><span class="lineNum"> 58 </span> : : # ifndef __mode_t_defined</a>
-<a name="59"><span class="lineNum"> 59 </span> : : typedef __mode_t mode_t;</a>
-<a name="60"><span class="lineNum"> 60 </span> : : # define __mode_t_defined</a>
-<a name="61"><span class="lineNum"> 61 </span> : : # endif</a>
-<a name="62"><span class="lineNum"> 62 </span> : : </a>
-<a name="63"><span class="lineNum"> 63 </span> : : # ifndef __nlink_t_defined</a>
-<a name="64"><span class="lineNum"> 64 </span> : : typedef __nlink_t nlink_t;</a>
-<a name="65"><span class="lineNum"> 65 </span> : : # define __nlink_t_defined</a>
-<a name="66"><span class="lineNum"> 66 </span> : : # endif</a>
-<a name="67"><span class="lineNum"> 67 </span> : : </a>
-<a name="68"><span class="lineNum"> 68 </span> : : # ifndef __off_t_defined</a>
-<a name="69"><span class="lineNum"> 69 </span> : : # ifndef __USE_FILE_OFFSET64</a>
-<a name="70"><span class="lineNum"> 70 </span> : : typedef __off_t off_t;</a>
-<a name="71"><span class="lineNum"> 71 </span> : : # else</a>
-<a name="72"><span class="lineNum"> 72 </span> : : typedef __off64_t off_t;</a>
-<a name="73"><span class="lineNum"> 73 </span> : : # endif</a>
-<a name="74"><span class="lineNum"> 74 </span> : : # define __off_t_defined</a>
-<a name="75"><span class="lineNum"> 75 </span> : : # endif</a>
-<a name="76"><span class="lineNum"> 76 </span> : : </a>
-<a name="77"><span class="lineNum"> 77 </span> : : # ifndef __uid_t_defined</a>
-<a name="78"><span class="lineNum"> 78 </span> : : typedef __uid_t uid_t;</a>
-<a name="79"><span class="lineNum"> 79 </span> : : # define __uid_t_defined</a>
-<a name="80"><span class="lineNum"> 80 </span> : : # endif</a>
-<a name="81"><span class="lineNum"> 81 </span> : : #endif /* X/Open */</a>
-<a name="82"><span class="lineNum"> 82 </span> : : </a>
-<a name="83"><span class="lineNum"> 83 </span> : : #ifdef __USE_UNIX98</a>
-<a name="84"><span class="lineNum"> 84 </span> : : # ifndef __blkcnt_t_defined</a>
-<a name="85"><span class="lineNum"> 85 </span> : : # ifndef __USE_FILE_OFFSET64</a>
-<a name="86"><span class="lineNum"> 86 </span> : : typedef __blkcnt_t blkcnt_t;</a>
-<a name="87"><span class="lineNum"> 87 </span> : : # else</a>
-<a name="88"><span class="lineNum"> 88 </span> : : typedef __blkcnt64_t blkcnt_t;</a>
-<a name="89"><span class="lineNum"> 89 </span> : : # endif</a>
-<a name="90"><span class="lineNum"> 90 </span> : : # define __blkcnt_t_defined</a>
-<a name="91"><span class="lineNum"> 91 </span> : : # endif</a>
-<a name="92"><span class="lineNum"> 92 </span> : : </a>
-<a name="93"><span class="lineNum"> 93 </span> : : # ifndef __blksize_t_defined</a>
-<a name="94"><span class="lineNum"> 94 </span> : : typedef __blksize_t blksize_t;</a>
-<a name="95"><span class="lineNum"> 95 </span> : : # define __blksize_t_defined</a>
-<a name="96"><span class="lineNum"> 96 </span> : : # endif</a>
-<a name="97"><span class="lineNum"> 97 </span> : : #endif /* Unix98 */</a>
-<a name="98"><span class="lineNum"> 98 </span> : : </a>
-<a name="99"><span class="lineNum"> 99 </span> : : __BEGIN_DECLS</a>
-<a name="100"><span class="lineNum"> 100 </span> : : </a>
-<a name="101"><span class="lineNum"> 101 </span> : : #include &lt;bits/stat.h&gt;</a>
-<a name="102"><span class="lineNum"> 102 </span> : : </a>
-<a name="103"><span class="lineNum"> 103 </span> : : #if defined __USE_MISC || defined __USE_XOPEN</a>
-<a name="104"><span class="lineNum"> 104 </span> : : # define S_IFMT __S_IFMT</a>
-<a name="105"><span class="lineNum"> 105 </span> : : # define S_IFDIR __S_IFDIR</a>
-<a name="106"><span class="lineNum"> 106 </span> : : # define S_IFCHR __S_IFCHR</a>
-<a name="107"><span class="lineNum"> 107 </span> : : # define S_IFBLK __S_IFBLK</a>
-<a name="108"><span class="lineNum"> 108 </span> : : # define S_IFREG __S_IFREG</a>
-<a name="109"><span class="lineNum"> 109 </span> : : # ifdef __S_IFIFO</a>
-<a name="110"><span class="lineNum"> 110 </span> : : # define S_IFIFO __S_IFIFO</a>
-<a name="111"><span class="lineNum"> 111 </span> : : # endif</a>
-<a name="112"><span class="lineNum"> 112 </span> : : # ifdef __S_IFLNK</a>
-<a name="113"><span class="lineNum"> 113 </span> : : # define S_IFLNK __S_IFLNK</a>
-<a name="114"><span class="lineNum"> 114 </span> : : # endif</a>
-<a name="115"><span class="lineNum"> 115 </span> : : # if (defined __USE_MISC || defined __USE_XOPEN_EXTENDED) \</a>
-<a name="116"><span class="lineNum"> 116 </span> : : &amp;&amp; defined __S_IFSOCK</a>
-<a name="117"><span class="lineNum"> 117 </span> : : # define S_IFSOCK __S_IFSOCK</a>
-<a name="118"><span class="lineNum"> 118 </span> : : # endif</a>
-<a name="119"><span class="lineNum"> 119 </span> : : #endif</a>
-<a name="120"><span class="lineNum"> 120 </span> : : </a>
-<a name="121"><span class="lineNum"> 121 </span> : : /* Test macros for file types. */</a>
-<a name="122"><span class="lineNum"> 122 </span> : : </a>
-<a name="123"><span class="lineNum"> 123 </span> : : #define __S_ISTYPE(mode, mask) (((mode) &amp; __S_IFMT) == (mask))</a>
-<a name="124"><span class="lineNum"> 124 </span> : : </a>
-<a name="125"><span class="lineNum"> 125 </span> : : #define S_ISDIR(mode) __S_ISTYPE((mode), __S_IFDIR)</a>
-<a name="126"><span class="lineNum"> 126 </span> : : #define S_ISCHR(mode) __S_ISTYPE((mode), __S_IFCHR)</a>
-<a name="127"><span class="lineNum"> 127 </span> : : #define S_ISBLK(mode) __S_ISTYPE((mode), __S_IFBLK)</a>
-<a name="128"><span class="lineNum"> 128 </span> : : #define S_ISREG(mode) __S_ISTYPE((mode), __S_IFREG)</a>
-<a name="129"><span class="lineNum"> 129 </span> : : #ifdef __S_IFIFO</a>
-<a name="130"><span class="lineNum"> 130 </span> : : # define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO)</a>
-<a name="131"><span class="lineNum"> 131 </span> : : #endif</a>
-<a name="132"><span class="lineNum"> 132 </span> : : #ifdef __S_IFLNK</a>
-<a name="133"><span class="lineNum"> 133 </span> : : # define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)</a>
-<a name="134"><span class="lineNum"> 134 </span> : : #endif</a>
-<a name="135"><span class="lineNum"> 135 </span> : : </a>
-<a name="136"><span class="lineNum"> 136 </span> : : #if defined __USE_MISC &amp;&amp; !defined __S_IFLNK</a>
-<a name="137"><span class="lineNum"> 137 </span> : : # define S_ISLNK(mode) 0</a>
-<a name="138"><span class="lineNum"> 138 </span> : : #endif</a>
-<a name="139"><span class="lineNum"> 139 </span> : : </a>
-<a name="140"><span class="lineNum"> 140 </span> : : #if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K) \</a>
-<a name="141"><span class="lineNum"> 141 </span> : : &amp;&amp; defined __S_IFSOCK</a>
-<a name="142"><span class="lineNum"> 142 </span> : : # define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK)</a>
-<a name="143"><span class="lineNum"> 143 </span> : : #elif defined __USE_XOPEN2K</a>
-<a name="144"><span class="lineNum"> 144 </span> : : # define S_ISSOCK(mode) 0</a>
-<a name="145"><span class="lineNum"> 145 </span> : : #endif</a>
-<a name="146"><span class="lineNum"> 146 </span> : : </a>
-<a name="147"><span class="lineNum"> 147 </span> : : /* These are from POSIX.1b. If the objects are not implemented using separate</a>
-<a name="148"><span class="lineNum"> 148 </span> : : distinct file types, the macros always will evaluate to zero. Unlike the</a>
-<a name="149"><span class="lineNum"> 149 </span> : : other S_* macros the following three take a pointer to a `struct stat'</a>
-<a name="150"><span class="lineNum"> 150 </span> : : object as the argument. */</a>
-<a name="151"><span class="lineNum"> 151 </span> : : #ifdef __USE_POSIX199309</a>
-<a name="152"><span class="lineNum"> 152 </span> : : # define S_TYPEISMQ(buf) __S_TYPEISMQ(buf)</a>
-<a name="153"><span class="lineNum"> 153 </span> : : # define S_TYPEISSEM(buf) __S_TYPEISSEM(buf)</a>
-<a name="154"><span class="lineNum"> 154 </span> : : # define S_TYPEISSHM(buf) __S_TYPEISSHM(buf)</a>
-<a name="155"><span class="lineNum"> 155 </span> : : #endif</a>
-<a name="156"><span class="lineNum"> 156 </span> : : </a>
-<a name="157"><span class="lineNum"> 157 </span> : : </a>
-<a name="158"><span class="lineNum"> 158 </span> : : /* Protection bits. */</a>
-<a name="159"><span class="lineNum"> 159 </span> : : </a>
-<a name="160"><span class="lineNum"> 160 </span> : : #define S_ISUID __S_ISUID /* Set user ID on execution. */</a>
-<a name="161"><span class="lineNum"> 161 </span> : : #define S_ISGID __S_ISGID /* Set group ID on execution. */</a>
-<a name="162"><span class="lineNum"> 162 </span> : : </a>
-<a name="163"><span class="lineNum"> 163 </span> : : #if defined __USE_MISC || defined __USE_XOPEN</a>
-<a name="164"><span class="lineNum"> 164 </span> : : /* Save swapped text after use (sticky bit). This is pretty well obsolete. */</a>
-<a name="165"><span class="lineNum"> 165 </span> : : # define S_ISVTX __S_ISVTX</a>
-<a name="166"><span class="lineNum"> 166 </span> : : #endif</a>
-<a name="167"><span class="lineNum"> 167 </span> : : </a>
-<a name="168"><span class="lineNum"> 168 </span> : : #define S_IRUSR __S_IREAD /* Read by owner. */</a>
-<a name="169"><span class="lineNum"> 169 </span> : : #define S_IWUSR __S_IWRITE /* Write by owner. */</a>
-<a name="170"><span class="lineNum"> 170 </span> : : #define S_IXUSR __S_IEXEC /* Execute by owner. */</a>
-<a name="171"><span class="lineNum"> 171 </span> : : /* Read, write, and execute by owner. */</a>
-<a name="172"><span class="lineNum"> 172 </span> : : #define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC)</a>
-<a name="173"><span class="lineNum"> 173 </span> : : </a>
-<a name="174"><span class="lineNum"> 174 </span> : : #ifdef __USE_MISC</a>
-<a name="175"><span class="lineNum"> 175 </span> : : # define S_IREAD S_IRUSR</a>
-<a name="176"><span class="lineNum"> 176 </span> : : # define S_IWRITE S_IWUSR</a>
-<a name="177"><span class="lineNum"> 177 </span> : : # define S_IEXEC S_IXUSR</a>
-<a name="178"><span class="lineNum"> 178 </span> : : #endif</a>
-<a name="179"><span class="lineNum"> 179 </span> : : </a>
-<a name="180"><span class="lineNum"> 180 </span> : : #define S_IRGRP (S_IRUSR &gt;&gt; 3) /* Read by group. */</a>
-<a name="181"><span class="lineNum"> 181 </span> : : #define S_IWGRP (S_IWUSR &gt;&gt; 3) /* Write by group. */</a>
-<a name="182"><span class="lineNum"> 182 </span> : : #define S_IXGRP (S_IXUSR &gt;&gt; 3) /* Execute by group. */</a>
-<a name="183"><span class="lineNum"> 183 </span> : : /* Read, write, and execute by group. */</a>
-<a name="184"><span class="lineNum"> 184 </span> : : #define S_IRWXG (S_IRWXU &gt;&gt; 3)</a>
-<a name="185"><span class="lineNum"> 185 </span> : : </a>
-<a name="186"><span class="lineNum"> 186 </span> : : #define S_IROTH (S_IRGRP &gt;&gt; 3) /* Read by others. */</a>
-<a name="187"><span class="lineNum"> 187 </span> : : #define S_IWOTH (S_IWGRP &gt;&gt; 3) /* Write by others. */</a>
-<a name="188"><span class="lineNum"> 188 </span> : : #define S_IXOTH (S_IXGRP &gt;&gt; 3) /* Execute by others. */</a>
-<a name="189"><span class="lineNum"> 189 </span> : : /* Read, write, and execute by others. */</a>
-<a name="190"><span class="lineNum"> 190 </span> : : #define S_IRWXO (S_IRWXG &gt;&gt; 3)</a>
-<a name="191"><span class="lineNum"> 191 </span> : : </a>
-<a name="192"><span class="lineNum"> 192 </span> : : </a>
-<a name="193"><span class="lineNum"> 193 </span> : : #ifdef __USE_MISC</a>
-<a name="194"><span class="lineNum"> 194 </span> : : /* Macros for common mode bit masks. */</a>
-<a name="195"><span class="lineNum"> 195 </span> : : # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */</a>
-<a name="196"><span class="lineNum"> 196 </span> : : # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */</a>
-<a name="197"><span class="lineNum"> 197 </span> : : # define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/</a>
-<a name="198"><span class="lineNum"> 198 </span> : : </a>
-<a name="199"><span class="lineNum"> 199 </span> : : # define S_BLKSIZE 512 /* Block size for `st_blocks'. */</a>
-<a name="200"><span class="lineNum"> 200 </span> : : #endif</a>
-<a name="201"><span class="lineNum"> 201 </span> : : </a>
-<a name="202"><span class="lineNum"> 202 </span> : : </a>
-<a name="203"><span class="lineNum"> 203 </span> : : #ifndef __USE_FILE_OFFSET64</a>
-<a name="204"><span class="lineNum"> 204 </span> : : /* Get file attributes for FILE and put them in BUF. */</a>
-<a name="205"><span class="lineNum"> 205 </span> : : extern int stat (const char *__restrict __file,</a>
-<a name="206"><span class="lineNum"> 206 </span> : : struct stat *__restrict __buf) __THROW __nonnull ((1, 2));</a>
-<a name="207"><span class="lineNum"> 207 </span> : : </a>
-<a name="208"><span class="lineNum"> 208 </span> : : /* Get file attributes for the file, device, pipe, or socket</a>
-<a name="209"><span class="lineNum"> 209 </span> : : that file descriptor FD is open on and put them in BUF. */</a>
-<a name="210"><span class="lineNum"> 210 </span> : : extern int fstat (int __fd, struct stat *__buf) __THROW __nonnull ((2));</a>
-<a name="211"><span class="lineNum"> 211 </span> : : #else</a>
-<a name="212"><span class="lineNum"> 212 </span> : : # ifdef __REDIRECT_NTH</a>
-<a name="213"><span class="lineNum"> 213 </span> : : extern int __REDIRECT_NTH (stat, (const char *__restrict __file,</a>
-<a name="214"><span class="lineNum"> 214 </span> : : struct stat *__restrict __buf), stat64)</a>
-<a name="215"><span class="lineNum"> 215 </span> : : __nonnull ((1, 2));</a>
-<a name="216"><span class="lineNum"> 216 </span> : : extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64)</a>
-<a name="217"><span class="lineNum"> 217 </span> : : __nonnull ((2));</a>
-<a name="218"><span class="lineNum"> 218 </span> : : # else</a>
-<a name="219"><span class="lineNum"> 219 </span> : : # define stat stat64</a>
-<a name="220"><span class="lineNum"> 220 </span> : : # define fstat fstat64</a>
-<a name="221"><span class="lineNum"> 221 </span> : : # endif</a>
-<a name="222"><span class="lineNum"> 222 </span> : : #endif</a>
-<a name="223"><span class="lineNum"> 223 </span> : : #ifdef __USE_LARGEFILE64</a>
-<a name="224"><span class="lineNum"> 224 </span> : : extern int stat64 (const char *__restrict __file,</a>
-<a name="225"><span class="lineNum"> 225 </span> : : struct stat64 *__restrict __buf) __THROW __nonnull ((1, 2));</a>
-<a name="226"><span class="lineNum"> 226 </span> : : extern int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2));</a>
-<a name="227"><span class="lineNum"> 227 </span> : : #endif</a>
-<a name="228"><span class="lineNum"> 228 </span> : : </a>
-<a name="229"><span class="lineNum"> 229 </span> : : #ifdef __USE_ATFILE</a>
-<a name="230"><span class="lineNum"> 230 </span> : : /* Similar to stat, get the attributes for FILE and put them in BUF.</a>
-<a name="231"><span class="lineNum"> 231 </span> : : Relative path names are interpreted relative to FD unless FD is</a>
-<a name="232"><span class="lineNum"> 232 </span> : : AT_FDCWD. */</a>
-<a name="233"><span class="lineNum"> 233 </span> : : # ifndef __USE_FILE_OFFSET64</a>
-<a name="234"><span class="lineNum"> 234 </span> : : extern int fstatat (int __fd, const char *__restrict __file,</a>
-<a name="235"><span class="lineNum"> 235 </span> : : struct stat *__restrict __buf, int __flag)</a>
-<a name="236"><span class="lineNum"> 236 </span> : : __THROW __nonnull ((2, 3));</a>
-<a name="237"><span class="lineNum"> 237 </span> : : # else</a>
-<a name="238"><span class="lineNum"> 238 </span> : : # ifdef __REDIRECT_NTH</a>
-<a name="239"><span class="lineNum"> 239 </span> : : extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,</a>
-<a name="240"><span class="lineNum"> 240 </span> : : struct stat *__restrict __buf,</a>
-<a name="241"><span class="lineNum"> 241 </span> : : int __flag),</a>
-<a name="242"><span class="lineNum"> 242 </span> : : fstatat64) __nonnull ((2, 3));</a>
-<a name="243"><span class="lineNum"> 243 </span> : : # else</a>
-<a name="244"><span class="lineNum"> 244 </span> : : # define fstatat fstatat64</a>
-<a name="245"><span class="lineNum"> 245 </span> : : # endif</a>
-<a name="246"><span class="lineNum"> 246 </span> : : # endif</a>
-<a name="247"><span class="lineNum"> 247 </span> : : </a>
-<a name="248"><span class="lineNum"> 248 </span> : : # ifdef __USE_LARGEFILE64</a>
-<a name="249"><span class="lineNum"> 249 </span> : : extern int fstatat64 (int __fd, const char *__restrict __file,</a>
-<a name="250"><span class="lineNum"> 250 </span> : : struct stat64 *__restrict __buf, int __flag)</a>
-<a name="251"><span class="lineNum"> 251 </span> : : __THROW __nonnull ((2, 3));</a>
-<a name="252"><span class="lineNum"> 252 </span> : : # endif</a>
-<a name="253"><span class="lineNum"> 253 </span> : : #endif</a>
-<a name="254"><span class="lineNum"> 254 </span> : : </a>
-<a name="255"><span class="lineNum"> 255 </span> : : #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K</a>
-<a name="256"><span class="lineNum"> 256 </span> : : # ifndef __USE_FILE_OFFSET64</a>
-<a name="257"><span class="lineNum"> 257 </span> : : /* Get file attributes about FILE and put them in BUF.</a>
-<a name="258"><span class="lineNum"> 258 </span> : : If FILE is a symbolic link, do not follow it. */</a>
-<a name="259"><span class="lineNum"> 259 </span> : : extern int lstat (const char *__restrict __file,</a>
-<a name="260"><span class="lineNum"> 260 </span> : : struct stat *__restrict __buf) __THROW __nonnull ((1, 2));</a>
-<a name="261"><span class="lineNum"> 261 </span> : : # else</a>
-<a name="262"><span class="lineNum"> 262 </span> : : # ifdef __REDIRECT_NTH</a>
-<a name="263"><span class="lineNum"> 263 </span> : : extern int __REDIRECT_NTH (lstat,</a>
-<a name="264"><span class="lineNum"> 264 </span> : : (const char *__restrict __file,</a>
-<a name="265"><span class="lineNum"> 265 </span> : : struct stat *__restrict __buf), lstat64)</a>
-<a name="266"><span class="lineNum"> 266 </span> : : __nonnull ((1, 2));</a>
-<a name="267"><span class="lineNum"> 267 </span> : : # else</a>
-<a name="268"><span class="lineNum"> 268 </span> : : # define lstat lstat64</a>
-<a name="269"><span class="lineNum"> 269 </span> : : # endif</a>
-<a name="270"><span class="lineNum"> 270 </span> : : # endif</a>
-<a name="271"><span class="lineNum"> 271 </span> : : # ifdef __USE_LARGEFILE64</a>
-<a name="272"><span class="lineNum"> 272 </span> : : extern int lstat64 (const char *__restrict __file,</a>
-<a name="273"><span class="lineNum"> 273 </span> : : struct stat64 *__restrict __buf)</a>
-<a name="274"><span class="lineNum"> 274 </span> : : __THROW __nonnull ((1, 2));</a>
-<a name="275"><span class="lineNum"> 275 </span> : : # endif</a>
-<a name="276"><span class="lineNum"> 276 </span> : : #endif</a>
-<a name="277"><span class="lineNum"> 277 </span> : : </a>
-<a name="278"><span class="lineNum"> 278 </span> : : /* Set file access permissions for FILE to MODE.</a>
-<a name="279"><span class="lineNum"> 279 </span> : : If FILE is a symbolic link, this affects its target instead. */</a>
-<a name="280"><span class="lineNum"> 280 </span> : : extern int chmod (const char *__file, __mode_t __mode)</a>
-<a name="281"><span class="lineNum"> 281 </span> : : __THROW __nonnull ((1));</a>
-<a name="282"><span class="lineNum"> 282 </span> : : </a>
-<a name="283"><span class="lineNum"> 283 </span> : : #ifdef __USE_MISC</a>
-<a name="284"><span class="lineNum"> 284 </span> : : /* Set file access permissions for FILE to MODE.</a>
-<a name="285"><span class="lineNum"> 285 </span> : : If FILE is a symbolic link, this affects the link itself</a>
-<a name="286"><span class="lineNum"> 286 </span> : : rather than its target. */</a>
-<a name="287"><span class="lineNum"> 287 </span> : : extern int lchmod (const char *__file, __mode_t __mode)</a>
-<a name="288"><span class="lineNum"> 288 </span> : : __THROW __nonnull ((1));</a>
-<a name="289"><span class="lineNum"> 289 </span> : : #endif</a>
-<a name="290"><span class="lineNum"> 290 </span> : : </a>
-<a name="291"><span class="lineNum"> 291 </span> : : /* Set file access permissions of the file FD is open on to MODE. */</a>
-<a name="292"><span class="lineNum"> 292 </span> : : #if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED</a>
-<a name="293"><span class="lineNum"> 293 </span> : : extern int fchmod (int __fd, __mode_t __mode) __THROW;</a>
-<a name="294"><span class="lineNum"> 294 </span> : : #endif</a>
-<a name="295"><span class="lineNum"> 295 </span> : : </a>
-<a name="296"><span class="lineNum"> 296 </span> : : #ifdef __USE_ATFILE</a>
-<a name="297"><span class="lineNum"> 297 </span> : : /* Set file access permissions of FILE relative to</a>
-<a name="298"><span class="lineNum"> 298 </span> : : the directory FD is open on. */</a>
-<a name="299"><span class="lineNum"> 299 </span> : : extern int fchmodat (int __fd, const char *__file, __mode_t __mode,</a>
-<a name="300"><span class="lineNum"> 300 </span> : : int __flag)</a>
-<a name="301"><span class="lineNum"> 301 </span> : : __THROW __nonnull ((2)) __wur;</a>
-<a name="302"><span class="lineNum"> 302 </span> : : #endif /* Use ATFILE. */</a>
-<a name="303"><span class="lineNum"> 303 </span> : : </a>
-<a name="304"><span class="lineNum"> 304 </span> : : </a>
-<a name="305"><span class="lineNum"> 305 </span> : : </a>
-<a name="306"><span class="lineNum"> 306 </span> : : /* Set the file creation mask of the current process to MASK,</a>
-<a name="307"><span class="lineNum"> 307 </span> : : and return the old creation mask. */</a>
-<a name="308"><span class="lineNum"> 308 </span> : : extern __mode_t umask (__mode_t __mask) __THROW;</a>
-<a name="309"><span class="lineNum"> 309 </span> : : </a>
-<a name="310"><span class="lineNum"> 310 </span> : : #ifdef __USE_GNU</a>
-<a name="311"><span class="lineNum"> 311 </span> : : /* Get the current `umask' value without changing it.</a>
-<a name="312"><span class="lineNum"> 312 </span> : : This function is only available under the GNU Hurd. */</a>
-<a name="313"><span class="lineNum"> 313 </span> : : extern __mode_t getumask (void) __THROW;</a>
-<a name="314"><span class="lineNum"> 314 </span> : : #endif</a>
-<a name="315"><span class="lineNum"> 315 </span> : : </a>
-<a name="316"><span class="lineNum"> 316 </span> : : /* Create a new directory named PATH, with permission bits MODE. */</a>
-<a name="317"><span class="lineNum"> 317 </span> : : extern int mkdir (const char *__path, __mode_t __mode)</a>
-<a name="318"><span class="lineNum"> 318 </span> : : __THROW __nonnull ((1));</a>
-<a name="319"><span class="lineNum"> 319 </span> : : </a>
-<a name="320"><span class="lineNum"> 320 </span> : : #ifdef __USE_ATFILE</a>
-<a name="321"><span class="lineNum"> 321 </span> : : /* Like mkdir, create a new directory with permission bits MODE. But</a>
-<a name="322"><span class="lineNum"> 322 </span> : : interpret relative PATH names relative to the directory associated</a>
-<a name="323"><span class="lineNum"> 323 </span> : : with FD. */</a>
-<a name="324"><span class="lineNum"> 324 </span> : : extern int mkdirat (int __fd, const char *__path, __mode_t __mode)</a>
-<a name="325"><span class="lineNum"> 325 </span> : : __THROW __nonnull ((2));</a>
-<a name="326"><span class="lineNum"> 326 </span> : : #endif</a>
-<a name="327"><span class="lineNum"> 327 </span> : : </a>
-<a name="328"><span class="lineNum"> 328 </span> : : /* Create a device file named PATH, with permission and special bits MODE</a>
-<a name="329"><span class="lineNum"> 329 </span> : : and device number DEV (which can be constructed from major and minor</a>
-<a name="330"><span class="lineNum"> 330 </span> : : device numbers with the `makedev' macro above). */</a>
-<a name="331"><span class="lineNum"> 331 </span> : : #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED</a>
-<a name="332"><span class="lineNum"> 332 </span> : : extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev)</a>
-<a name="333"><span class="lineNum"> 333 </span> : : __THROW __nonnull ((1));</a>
-<a name="334"><span class="lineNum"> 334 </span> : : </a>
-<a name="335"><span class="lineNum"> 335 </span> : : # ifdef __USE_ATFILE</a>
-<a name="336"><span class="lineNum"> 336 </span> : : /* Like mknod, create a new device file with permission bits MODE and</a>
-<a name="337"><span class="lineNum"> 337 </span> : : device number DEV. But interpret relative PATH names relative to</a>
-<a name="338"><span class="lineNum"> 338 </span> : : the directory associated with FD. */</a>
-<a name="339"><span class="lineNum"> 339 </span> : : extern int mknodat (int __fd, const char *__path, __mode_t __mode,</a>
-<a name="340"><span class="lineNum"> 340 </span> : : __dev_t __dev) __THROW __nonnull ((2));</a>
-<a name="341"><span class="lineNum"> 341 </span> : : # endif</a>
-<a name="342"><span class="lineNum"> 342 </span> : : #endif</a>
-<a name="343"><span class="lineNum"> 343 </span> : : </a>
-<a name="344"><span class="lineNum"> 344 </span> : : </a>
-<a name="345"><span class="lineNum"> 345 </span> : : /* Create a new FIFO named PATH, with permission bits MODE. */</a>
-<a name="346"><span class="lineNum"> 346 </span> : : extern int mkfifo (const char *__path, __mode_t __mode)</a>
-<a name="347"><span class="lineNum"> 347 </span> : : __THROW __nonnull ((1));</a>
-<a name="348"><span class="lineNum"> 348 </span> : : </a>
-<a name="349"><span class="lineNum"> 349 </span> : : #ifdef __USE_ATFILE</a>
-<a name="350"><span class="lineNum"> 350 </span> : : /* Like mkfifo, create a new FIFO with permission bits MODE. But</a>
-<a name="351"><span class="lineNum"> 351 </span> : : interpret relative PATH names relative to the directory associated</a>
-<a name="352"><span class="lineNum"> 352 </span> : : with FD. */</a>
-<a name="353"><span class="lineNum"> 353 </span> : : extern int mkfifoat (int __fd, const char *__path, __mode_t __mode)</a>
-<a name="354"><span class="lineNum"> 354 </span> : : __THROW __nonnull ((2));</a>
-<a name="355"><span class="lineNum"> 355 </span> : : #endif</a>
-<a name="356"><span class="lineNum"> 356 </span> : : </a>
-<a name="357"><span class="lineNum"> 357 </span> : : #ifdef __USE_ATFILE</a>
-<a name="358"><span class="lineNum"> 358 </span> : : /* Set file access and modification times relative to directory file</a>
-<a name="359"><span class="lineNum"> 359 </span> : : descriptor. */</a>
-<a name="360"><span class="lineNum"> 360 </span> : : extern int utimensat (int __fd, const char *__path,</a>
-<a name="361"><span class="lineNum"> 361 </span> : : const struct timespec __times[2],</a>
-<a name="362"><span class="lineNum"> 362 </span> : : int __flags)</a>
-<a name="363"><span class="lineNum"> 363 </span> : : __THROW __nonnull ((2));</a>
-<a name="364"><span class="lineNum"> 364 </span> : : #endif</a>
-<a name="365"><span class="lineNum"> 365 </span> : : </a>
-<a name="366"><span class="lineNum"> 366 </span> : : #ifdef __USE_XOPEN2K8</a>
-<a name="367"><span class="lineNum"> 367 </span> : : /* Set file access and modification times of the file associated with FD. */</a>
-<a name="368"><span class="lineNum"> 368 </span> : : extern int futimens (int __fd, const struct timespec __times[2]) __THROW;</a>
-<a name="369"><span class="lineNum"> 369 </span> : : #endif</a>
-<a name="370"><span class="lineNum"> 370 </span> : : </a>
-<a name="371"><span class="lineNum"> 371 </span> : : /* To allow the `struct stat' structure and the file type `mode_t'</a>
-<a name="372"><span class="lineNum"> 372 </span> : : bits to vary without changing shared library major version number,</a>
-<a name="373"><span class="lineNum"> 373 </span> : : the `stat' family of functions and `mknod' are in fact inline</a>
-<a name="374"><span class="lineNum"> 374 </span> : : wrappers around calls to `xstat', `fxstat', `lxstat', and `xmknod',</a>
-<a name="375"><span class="lineNum"> 375 </span> : : which all take a leading version-number argument designating the</a>
-<a name="376"><span class="lineNum"> 376 </span> : : data structure and bits used. &lt;bits/stat.h&gt; defines _STAT_VER with</a>
-<a name="377"><span class="lineNum"> 377 </span> : : the version number corresponding to `struct stat' as defined in</a>
-<a name="378"><span class="lineNum"> 378 </span> : : that file; and _MKNOD_VER with the version number corresponding to</a>
-<a name="379"><span class="lineNum"> 379 </span> : : the S_IF* macros defined therein. It is arranged that when not</a>
-<a name="380"><span class="lineNum"> 380 </span> : : inlined these function are always statically linked; that way a</a>
-<a name="381"><span class="lineNum"> 381 </span> : : dynamically-linked executable always encodes the version number</a>
-<a name="382"><span class="lineNum"> 382 </span> : : corresponding to the data structures it uses, so the `x' functions</a>
-<a name="383"><span class="lineNum"> 383 </span> : : in the shared library can adapt without needing to recompile all</a>
-<a name="384"><span class="lineNum"> 384 </span> : : callers. */</a>
-<a name="385"><span class="lineNum"> 385 </span> : : </a>
-<a name="386"><span class="lineNum"> 386 </span> : : #ifndef _STAT_VER</a>
-<a name="387"><span class="lineNum"> 387 </span> : : # define _STAT_VER 0</a>
-<a name="388"><span class="lineNum"> 388 </span> : : #endif</a>
-<a name="389"><span class="lineNum"> 389 </span> : : #ifndef _MKNOD_VER</a>
-<a name="390"><span class="lineNum"> 390 </span> : : # define _MKNOD_VER 0</a>
-<a name="391"><span class="lineNum"> 391 </span> : : #endif</a>
-<a name="392"><span class="lineNum"> 392 </span> : : </a>
-<a name="393"><span class="lineNum"> 393 </span> : : /* Wrappers for stat and mknod system calls. */</a>
-<a name="394"><span class="lineNum"> 394 </span> : : #ifndef __USE_FILE_OFFSET64</a>
-<a name="395"><span class="lineNum"> 395 </span> : : extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf)</a>
-<a name="396"><span class="lineNum"> 396 </span> : : __THROW __nonnull ((3));</a>
-<a name="397"><span class="lineNum"> 397 </span> : : extern int __xstat (int __ver, const char *__filename,</a>
-<a name="398"><span class="lineNum"> 398 </span> : : struct stat *__stat_buf) __THROW __nonnull ((2, 3));</a>
-<a name="399"><span class="lineNum"> 399 </span> : : extern int __lxstat (int __ver, const char *__filename,</a>
-<a name="400"><span class="lineNum"> 400 </span> : : struct stat *__stat_buf) __THROW __nonnull ((2, 3));</a>
-<a name="401"><span class="lineNum"> 401 </span> : : extern int __fxstatat (int __ver, int __fildes, const char *__filename,</a>
-<a name="402"><span class="lineNum"> 402 </span> : : struct stat *__stat_buf, int __flag)</a>
-<a name="403"><span class="lineNum"> 403 </span> : : __THROW __nonnull ((3, 4));</a>
-<a name="404"><span class="lineNum"> 404 </span> : : #else</a>
-<a name="405"><span class="lineNum"> 405 </span> : : # ifdef __REDIRECT_NTH</a>
-<a name="406"><span class="lineNum"> 406 </span> : : extern int __REDIRECT_NTH (__fxstat, (int __ver, int __fildes,</a>
-<a name="407"><span class="lineNum"> 407 </span> : : struct stat *__stat_buf), __fxstat64)</a>
-<a name="408"><span class="lineNum"> 408 </span> : : __nonnull ((3));</a>
-<a name="409"><span class="lineNum"> 409 </span> : : extern int __REDIRECT_NTH (__xstat, (int __ver, const char *__filename,</a>
-<a name="410"><span class="lineNum"> 410 </span> : : struct stat *__stat_buf), __xstat64)</a>
-<a name="411"><span class="lineNum"> 411 </span> : : __nonnull ((2, 3));</a>
-<a name="412"><span class="lineNum"> 412 </span> : : extern int __REDIRECT_NTH (__lxstat, (int __ver, const char *__filename,</a>
-<a name="413"><span class="lineNum"> 413 </span> : : struct stat *__stat_buf), __lxstat64)</a>
-<a name="414"><span class="lineNum"> 414 </span> : : __nonnull ((2, 3));</a>
-<a name="415"><span class="lineNum"> 415 </span> : : extern int __REDIRECT_NTH (__fxstatat, (int __ver, int __fildes,</a>
-<a name="416"><span class="lineNum"> 416 </span> : : const char *__filename,</a>
-<a name="417"><span class="lineNum"> 417 </span> : : struct stat *__stat_buf, int __flag),</a>
-<a name="418"><span class="lineNum"> 418 </span> : : __fxstatat64) __nonnull ((3, 4));</a>
-<a name="419"><span class="lineNum"> 419 </span> : : </a>
-<a name="420"><span class="lineNum"> 420 </span> : : # else</a>
-<a name="421"><span class="lineNum"> 421 </span> : : # define __fxstat __fxstat64</a>
-<a name="422"><span class="lineNum"> 422 </span> : : # define __xstat __xstat64</a>
-<a name="423"><span class="lineNum"> 423 </span> : : # define __lxstat __lxstat64</a>
-<a name="424"><span class="lineNum"> 424 </span> : : # endif</a>
-<a name="425"><span class="lineNum"> 425 </span> : : #endif</a>
-<a name="426"><span class="lineNum"> 426 </span> : : </a>
-<a name="427"><span class="lineNum"> 427 </span> : : #ifdef __USE_LARGEFILE64</a>
-<a name="428"><span class="lineNum"> 428 </span> : : extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf)</a>
-<a name="429"><span class="lineNum"> 429 </span> : : __THROW __nonnull ((3));</a>
-<a name="430"><span class="lineNum"> 430 </span> : : extern int __xstat64 (int __ver, const char *__filename,</a>
-<a name="431"><span class="lineNum"> 431 </span> : : struct stat64 *__stat_buf) __THROW __nonnull ((2, 3));</a>
-<a name="432"><span class="lineNum"> 432 </span> : : extern int __lxstat64 (int __ver, const char *__filename,</a>
-<a name="433"><span class="lineNum"> 433 </span> : : struct stat64 *__stat_buf) __THROW __nonnull ((2, 3));</a>
-<a name="434"><span class="lineNum"> 434 </span> : : extern int __fxstatat64 (int __ver, int __fildes, const char *__filename,</a>
-<a name="435"><span class="lineNum"> 435 </span> : : struct stat64 *__stat_buf, int __flag)</a>
-<a name="436"><span class="lineNum"> 436 </span> : : __THROW __nonnull ((3, 4));</a>
-<a name="437"><span class="lineNum"> 437 </span> : : #endif</a>
-<a name="438"><span class="lineNum"> 438 </span> : : extern int __xmknod (int __ver, const char *__path, __mode_t __mode,</a>
-<a name="439"><span class="lineNum"> 439 </span> : : __dev_t *__dev) __THROW __nonnull ((2, 4));</a>
-<a name="440"><span class="lineNum"> 440 </span> : : </a>
-<a name="441"><span class="lineNum"> 441 </span> : : extern int __xmknodat (int __ver, int __fd, const char *__path,</a>
-<a name="442"><span class="lineNum"> 442 </span> : : __mode_t __mode, __dev_t *__dev)</a>
-<a name="443"><span class="lineNum"> 443 </span> : : __THROW __nonnull ((3, 5));</a>
-<a name="444"><span class="lineNum"> 444 </span> : : </a>
-<a name="445"><span class="lineNum"> 445 </span> : : #ifdef __USE_GNU</a>
-<a name="446"><span class="lineNum"> 446 </span> : : # include &lt;bits/statx.h&gt;</a>
-<a name="447"><span class="lineNum"> 447 </span> : : #endif</a>
-<a name="448"><span class="lineNum"> 448 </span> : : </a>
-<a name="449"><span class="lineNum"> 449 </span> : : #ifdef __USE_EXTERN_INLINES</a>
-<a name="450"><span class="lineNum"> 450 </span> : : /* Inlined versions of the real stat and mknod functions. */</a>
-<a name="451"><span class="lineNum"> 451 </span> : : </a>
-<a name="452"><span class="lineNum"> 452 </span> : : __extern_inline int</a>
-<a name="453"><span class="lineNum"> 453 </span> :<span class="lineCov"> 2 : __NTH (stat (const char *__path, struct stat *__statbuf))</span></a>
-<a name="454"><span class="lineNum"> 454 </span> : : {</a>
-<a name="455"><span class="lineNum"> 455 </span> :<span class="lineCov"> 2 : return __xstat (_STAT_VER, __path, __statbuf);</span></a>
-<a name="456"><span class="lineNum"> 456 </span> : : }</a>
-<a name="457"><span class="lineNum"> 457 </span> : : </a>
-<a name="458"><span class="lineNum"> 458 </span> : : # if defined __USE_MISC || defined __USE_XOPEN_EXTENDED</a>
-<a name="459"><span class="lineNum"> 459 </span> : : __extern_inline int</a>
-<a name="460"><span class="lineNum"> 460 </span> : : __NTH (lstat (const char *__path, struct stat *__statbuf))</a>
-<a name="461"><span class="lineNum"> 461 </span> : : {</a>
-<a name="462"><span class="lineNum"> 462 </span> : : return __lxstat (_STAT_VER, __path, __statbuf);</a>
-<a name="463"><span class="lineNum"> 463 </span> : : }</a>
-<a name="464"><span class="lineNum"> 464 </span> : : # endif</a>
-<a name="465"><span class="lineNum"> 465 </span> : : </a>
-<a name="466"><span class="lineNum"> 466 </span> : : __extern_inline int</a>
-<a name="467"><span class="lineNum"> 467 </span> :<span class="lineCov"> 188 : __NTH (fstat (int __fd, struct stat *__statbuf))</span></a>
-<a name="468"><span class="lineNum"> 468 </span> : : {</a>
-<a name="469"><span class="lineNum"> 469 </span> :<span class="lineCov"> 188 : return __fxstat (_STAT_VER, __fd, __statbuf);</span></a>
-<a name="470"><span class="lineNum"> 470 </span> : : }</a>
-<a name="471"><span class="lineNum"> 471 </span> : : </a>
-<a name="472"><span class="lineNum"> 472 </span> : : # ifdef __USE_ATFILE</a>
-<a name="473"><span class="lineNum"> 473 </span> : : __extern_inline int</a>
-<a name="474"><span class="lineNum"> 474 </span> : : __NTH (fstatat (int __fd, const char *__filename, struct stat *__statbuf,</a>
-<a name="475"><span class="lineNum"> 475 </span> : : int __flag))</a>
-<a name="476"><span class="lineNum"> 476 </span> : : {</a>
-<a name="477"><span class="lineNum"> 477 </span> : : return __fxstatat (_STAT_VER, __fd, __filename, __statbuf, __flag);</a>
-<a name="478"><span class="lineNum"> 478 </span> : : }</a>
-<a name="479"><span class="lineNum"> 479 </span> : : # endif</a>
-<a name="480"><span class="lineNum"> 480 </span> : : </a>
-<a name="481"><span class="lineNum"> 481 </span> : : # ifdef __USE_MISC</a>
-<a name="482"><span class="lineNum"> 482 </span> : : __extern_inline int</a>
-<a name="483"><span class="lineNum"> 483 </span> : : __NTH (mknod (const char *__path, __mode_t __mode, __dev_t __dev))</a>
-<a name="484"><span class="lineNum"> 484 </span> : : {</a>
-<a name="485"><span class="lineNum"> 485 </span> : : return __xmknod (_MKNOD_VER, __path, __mode, &amp;__dev);</a>
-<a name="486"><span class="lineNum"> 486 </span> : : }</a>
-<a name="487"><span class="lineNum"> 487 </span> : : # endif</a>
-<a name="488"><span class="lineNum"> 488 </span> : : </a>
-<a name="489"><span class="lineNum"> 489 </span> : : # ifdef __USE_ATFILE</a>
-<a name="490"><span class="lineNum"> 490 </span> : : __extern_inline int</a>
-<a name="491"><span class="lineNum"> 491 </span> : : __NTH (mknodat (int __fd, const char *__path, __mode_t __mode,</a>
-<a name="492"><span class="lineNum"> 492 </span> : : __dev_t __dev))</a>
-<a name="493"><span class="lineNum"> 493 </span> : : {</a>
-<a name="494"><span class="lineNum"> 494 </span> : : return __xmknodat (_MKNOD_VER, __fd, __path, __mode, &amp;__dev);</a>
-<a name="495"><span class="lineNum"> 495 </span> : : }</a>
-<a name="496"><span class="lineNum"> 496 </span> : : # endif</a>
-<a name="497"><span class="lineNum"> 497 </span> : : </a>
-<a name="498"><span class="lineNum"> 498 </span> : : # if defined __USE_LARGEFILE64 \</a>
-<a name="499"><span class="lineNum"> 499 </span> : : &amp;&amp; (! defined __USE_FILE_OFFSET64 \</a>
-<a name="500"><span class="lineNum"> 500 </span> : : || (defined __REDIRECT_NTH &amp;&amp; defined __OPTIMIZE__))</a>
-<a name="501"><span class="lineNum"> 501 </span> : : __extern_inline int</a>
-<a name="502"><span class="lineNum"> 502 </span> : : __NTH (stat64 (const char *__path, struct stat64 *__statbuf))</a>
-<a name="503"><span class="lineNum"> 503 </span> : : {</a>
-<a name="504"><span class="lineNum"> 504 </span> : : return __xstat64 (_STAT_VER, __path, __statbuf);</a>
-<a name="505"><span class="lineNum"> 505 </span> : : }</a>
-<a name="506"><span class="lineNum"> 506 </span> : : </a>
-<a name="507"><span class="lineNum"> 507 </span> : : # if defined __USE_MISC || defined __USE_XOPEN_EXTENDED</a>
-<a name="508"><span class="lineNum"> 508 </span> : : __extern_inline int</a>
-<a name="509"><span class="lineNum"> 509 </span> : : __NTH (lstat64 (const char *__path, struct stat64 *__statbuf))</a>
-<a name="510"><span class="lineNum"> 510 </span> : : {</a>
-<a name="511"><span class="lineNum"> 511 </span> : : return __lxstat64 (_STAT_VER, __path, __statbuf);</a>
-<a name="512"><span class="lineNum"> 512 </span> : : }</a>
-<a name="513"><span class="lineNum"> 513 </span> : : # endif</a>
-<a name="514"><span class="lineNum"> 514 </span> : : </a>
-<a name="515"><span class="lineNum"> 515 </span> : : __extern_inline int</a>
-<a name="516"><span class="lineNum"> 516 </span> : : __NTH (fstat64 (int __fd, struct stat64 *__statbuf))</a>
-<a name="517"><span class="lineNum"> 517 </span> : : {</a>
-<a name="518"><span class="lineNum"> 518 </span> : : return __fxstat64 (_STAT_VER, __fd, __statbuf);</a>
-<a name="519"><span class="lineNum"> 519 </span> : : }</a>
-<a name="520"><span class="lineNum"> 520 </span> : : </a>
-<a name="521"><span class="lineNum"> 521 </span> : : # ifdef __USE_ATFILE</a>
-<a name="522"><span class="lineNum"> 522 </span> : : __extern_inline int</a>
-<a name="523"><span class="lineNum"> 523 </span> : : __NTH (fstatat64 (int __fd, const char *__filename, struct stat64 *__statbuf,</a>
-<a name="524"><span class="lineNum"> 524 </span> : : int __flag))</a>
-<a name="525"><span class="lineNum"> 525 </span> : : {</a>
-<a name="526"><span class="lineNum"> 526 </span> : : return __fxstatat64 (_STAT_VER, __fd, __filename, __statbuf, __flag);</a>
-<a name="527"><span class="lineNum"> 527 </span> : : }</a>
-<a name="528"><span class="lineNum"> 528 </span> : : # endif</a>
-<a name="529"><span class="lineNum"> 529 </span> : : </a>
-<a name="530"><span class="lineNum"> 530 </span> : : # endif</a>
-<a name="531"><span class="lineNum"> 531 </span> : : </a>
-<a name="532"><span class="lineNum"> 532 </span> : : #endif</a>
-<a name="533"><span class="lineNum"> 533 </span> : : </a>
-<a name="534"><span class="lineNum"> 534 </span> : : __END_DECLS</a>
-<a name="535"><span class="lineNum"> 535 </span> : : </a>
-<a name="536"><span class="lineNum"> 536 </span> : : </a>
-<a name="537"><span class="lineNum"> 537 </span> : : #endif /* sys/stat.h */</a>
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/doc/.buildinfo b/doc/.buildinfo
index 9532913..72456cf 100644
--- a/doc/.buildinfo
+++ b/doc/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: e72f1d7b63228d4d9ddfcc455b5da554
+config: e9dca7fb52344bcae36226cdb7354e99
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/doc/_static/basic.css b/doc/_static/basic.css
index 0807176..603f6a8 100644
--- a/doc/_static/basic.css
+++ b/doc/_static/basic.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -15,6 +15,12 @@ div.clearer {
clear: both;
}
+div.section::after {
+ display: block;
+ content: '';
+ clear: left;
+}
+
/* -- relbar ---------------------------------------------------------------- */
div.related {
@@ -124,7 +130,7 @@ ul.search li a {
font-weight: bold;
}
-ul.search li div.context {
+ul.search li p.context {
color: #888;
margin: 2px 0 0 30px;
text-align: left;
@@ -231,6 +237,16 @@ a.headerlink {
visibility: hidden;
}
+a.brackets:before,
+span.brackets > a:before{
+ content: "[";
+}
+
+a.brackets:after,
+span.brackets > a:after {
+ content: "]";
+}
+
h1:hover > a.headerlink,
h2:hover > a.headerlink,
h3:hover > a.headerlink,
@@ -261,19 +277,25 @@ p.rubric {
font-weight: bold;
}
-img.align-left, .figure.align-left, object.align-left {
+img.align-left, figure.align-left, .figure.align-left, object.align-left {
clear: left;
float: left;
margin-right: 1em;
}
-img.align-right, .figure.align-right, object.align-right {
+img.align-right, figure.align-right, .figure.align-right, object.align-right {
clear: right;
float: right;
margin-left: 1em;
}
-img.align-center, .figure.align-center, object.align-center {
+img.align-center, figure.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+img.align-default, figure.align-default, .figure.align-default {
display: block;
margin-left: auto;
margin-right: auto;
@@ -287,30 +309,41 @@ img.align-center, .figure.align-center, object.align-center {
text-align: center;
}
+.align-default {
+ text-align: center;
+}
+
.align-right {
text-align: right;
}
/* -- sidebars -------------------------------------------------------------- */
-div.sidebar {
+div.sidebar,
+aside.sidebar {
margin: 0 0 0.5em 1em;
border: 1px solid #ddb;
- padding: 7px 7px 0 7px;
+ padding: 7px;
background-color: #ffe;
width: 40%;
float: right;
+ clear: right;
+ overflow-x: auto;
}
p.sidebar-title {
font-weight: bold;
}
+div.admonition, div.topic, blockquote {
+ clear: left;
+}
+
/* -- topics ---------------------------------------------------------------- */
div.topic {
border: 1px solid #ccc;
- padding: 7px 7px 0 7px;
+ padding: 7px;
margin: 10px 0 10px 0;
}
@@ -332,10 +365,6 @@ div.admonition dt {
font-weight: bold;
}
-div.admonition dl {
- margin-bottom: 0;
-}
-
p.admonition-title {
margin: 0px 10px 5px 0px;
font-weight: bold;
@@ -346,9 +375,30 @@ div.body p.centered {
margin-top: 25px;
}
+/* -- content of sidebars/topics/admonitions -------------------------------- */
+
+div.sidebar > :last-child,
+aside.sidebar > :last-child,
+div.topic > :last-child,
+div.admonition > :last-child {
+ margin-bottom: 0;
+}
+
+div.sidebar::after,
+aside.sidebar::after,
+div.topic::after,
+div.admonition::after,
+blockquote::after {
+ display: block;
+ content: '';
+ clear: both;
+}
+
/* -- tables ---------------------------------------------------------------- */
table.docutils {
+ margin-top: 10px;
+ margin-bottom: 10px;
border: 0;
border-collapse: collapse;
}
@@ -358,6 +408,11 @@ table.align-center {
margin-right: auto;
}
+table.align-default {
+ margin-left: auto;
+ margin-right: auto;
+}
+
table caption span.caption-number {
font-style: italic;
}
@@ -391,22 +446,34 @@ table.citation td {
border-bottom: none;
}
+th > :first-child,
+td > :first-child {
+ margin-top: 0px;
+}
+
+th > :last-child,
+td > :last-child {
+ margin-bottom: 0px;
+}
+
/* -- figures --------------------------------------------------------------- */
-div.figure {
+div.figure, figure {
margin: 0.5em;
padding: 0.5em;
}
-div.figure p.caption {
+div.figure p.caption, figcaption {
padding: 0.3em;
}
-div.figure p.caption span.caption-number {
+div.figure p.caption span.caption-number,
+figcaption span.caption-number {
font-style: italic;
}
-div.figure p.caption span.caption-text {
+div.figure p.caption span.caption-text,
+figcaption span.caption-text {
}
/* -- field list styles ----------------------------------------------------- */
@@ -433,10 +500,71 @@ table.field-list td, table.field-list th {
/* -- hlist styles ---------------------------------------------------------- */
+table.hlist {
+ margin: 1em 0;
+}
+
table.hlist td {
vertical-align: top;
}
+/* -- object description styles --------------------------------------------- */
+
+.sig {
+ font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
+}
+
+.sig-name, code.descname {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+.sig-name {
+ font-size: 1.1em;
+}
+
+code.descname {
+ font-size: 1.2em;
+}
+
+.sig-prename, code.descclassname {
+ background-color: transparent;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.sig-paren {
+ font-size: larger;
+}
+
+.sig-param.n {
+ font-style: italic;
+}
+
+/* C++ specific styling */
+
+.sig-inline.c-texpr,
+.sig-inline.cpp-texpr {
+ font-family: unset;
+}
+
+.sig.c .k, .sig.c .kt,
+.sig.cpp .k, .sig.cpp .kt {
+ color: #0033B3;
+}
+
+.sig.c .m,
+.sig.cpp .m {
+ color: #1750EB;
+}
+
+.sig.c .s, .sig.c .sc,
+.sig.cpp .s, .sig.cpp .sc {
+ color: #067D17;
+}
+
/* -- other body styles ----------------------------------------------------- */
@@ -460,11 +588,78 @@ ol.upperroman {
list-style: upper-roman;
}
+:not(li) > ol > li:first-child > :first-child,
+:not(li) > ul > li:first-child > :first-child {
+ margin-top: 0px;
+}
+
+:not(li) > ol > li:last-child > :last-child,
+:not(li) > ul > li:last-child > :last-child {
+ margin-bottom: 0px;
+}
+
+ol.simple ol p,
+ol.simple ul p,
+ul.simple ol p,
+ul.simple ul p {
+ margin-top: 0;
+}
+
+ol.simple > li:not(:first-child) > p,
+ul.simple > li:not(:first-child) > p {
+ margin-top: 0;
+}
+
+ol.simple p,
+ul.simple p {
+ margin-bottom: 0;
+}
+
+dl.footnote > dt,
+dl.citation > dt {
+ float: left;
+ margin-right: 0.5em;
+}
+
+dl.footnote > dd,
+dl.citation > dd {
+ margin-bottom: 0em;
+}
+
+dl.footnote > dd:after,
+dl.citation > dd:after {
+ content: "";
+ clear: both;
+}
+
+dl.field-list {
+ display: grid;
+ grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+ font-weight: bold;
+ word-break: break-word;
+ padding-left: 0.5em;
+ padding-right: 5px;
+}
+
+dl.field-list > dt:after {
+ content: ":";
+}
+
+dl.field-list > dd {
+ padding-left: 0.5em;
+ margin-top: 0em;
+ margin-left: 0em;
+ margin-bottom: 0em;
+}
+
dl {
margin-bottom: 15px;
}
-dd p {
+dd > :first-child {
margin-top: 0px;
}
@@ -478,6 +673,11 @@ dd {
margin-left: 30px;
}
+dl > dd:last-child,
+dl > dd:last-child > :last-child {
+ margin-bottom: 0;
+}
+
dt:target, span.highlighted {
background-color: #fbe54e;
}
@@ -491,14 +691,6 @@ dl.glossary dt {
font-size: 1.1em;
}
-.optional {
- font-size: 1.3em;
-}
-
-.sig-paren {
- font-size: larger;
-}
-
.versionmodified {
font-style: italic;
}
@@ -537,6 +729,13 @@ dl.glossary dt {
font-style: oblique;
}
+.classifier:before {
+ font-style: normal;
+ margin: 0 0.5em;
+ content: ":";
+ display: inline-block;
+}
+
abbr, acronym {
border-bottom: dotted 1px;
cursor: help;
@@ -549,6 +748,10 @@ pre {
overflow-y: hidden; /* fixes display issues on Chrome browsers */
}
+pre, div[class*="highlight-"] {
+ clear: both;
+}
+
span.pre {
-moz-hyphens: none;
-ms-hyphens: none;
@@ -556,22 +759,57 @@ span.pre {
hyphens: none;
}
+div[class*="highlight-"] {
+ margin: 1em 0;
+}
+
td.linenos pre {
- padding: 5px 0px;
border: 0;
background-color: transparent;
color: #aaa;
}
table.highlighttable {
- margin-left: 0.5em;
+ display: block;
+}
+
+table.highlighttable tbody {
+ display: block;
+}
+
+table.highlighttable tr {
+ display: flex;
}
table.highlighttable td {
- padding: 0 0.5em 0 0.5em;
+ margin: 0;
+ padding: 0;
+}
+
+table.highlighttable td.linenos {
+ padding-right: 0.5em;
+}
+
+table.highlighttable td.code {
+ flex: 1;
+ overflow: hidden;
+}
+
+.highlight .hll {
+ display: block;
+}
+
+div.highlight pre,
+table.highlighttable pre {
+ margin: 0;
+}
+
+div.code-block-caption + div {
+ margin-top: 0;
}
div.code-block-caption {
+ margin-top: 1em;
padding: 2px 5px;
font-size: small;
}
@@ -580,8 +818,14 @@ div.code-block-caption code {
background-color: transparent;
}
-div.code-block-caption + div > div.highlight > pre {
- margin-top: 0;
+table.highlighttable td.linenos,
+span.linenos,
+div.highlight span.gp { /* gp: Generic.Prompt */
+ user-select: none;
+ -webkit-user-select: text; /* Safari fallback only */
+ -webkit-user-select: none; /* Chrome/Safari */
+ -moz-user-select: none; /* Firefox */
+ -ms-user-select: none; /* IE10+ */
}
div.code-block-caption span.caption-number {
@@ -593,21 +837,7 @@ div.code-block-caption span.caption-text {
}
div.literal-block-wrapper {
- padding: 1em 1em 0;
-}
-
-div.literal-block-wrapper div.highlight {
- margin: 0;
-}
-
-code.descname {
- background-color: transparent;
- font-weight: bold;
- font-size: 1.2em;
-}
-
-code.descclassname {
- background-color: transparent;
+ margin: 1em 0;
}
code.xref, a code {
@@ -648,8 +878,7 @@ span.eqno {
}
span.eqno a.headerlink {
- position: relative;
- left: 0px;
+ position: absolute;
z-index: 1;
}
diff --git a/doc/_static/classic.css b/doc/_static/classic.css
index 8c6dae4..dcae946 100644
--- a/doc/_static/classic.css
+++ b/doc/_static/classic.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- classic theme.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -13,6 +13,11 @@
/* -- page layout ----------------------------------------------------------- */
+html {
+ /* CSS hack for macOS's scrollbar (see #1125) */
+ background-color: #FFFFFF;
+}
+
body {
font-family: sans-serif;
font-size: 100%;
@@ -219,8 +224,8 @@ p.admonition-title:after {
pre {
padding: 5px;
- background-color: #eeffcc;
- color: #333333;
+ background-color: unset;
+ color: unset;
line-height: 120%;
border: 1px solid #ac9;
border-left: none;
@@ -233,7 +238,7 @@ code {
font-size: 0.95em;
}
-th {
+th, dl.field-list > dt {
background-color: #ede;
}
diff --git a/doc/_static/doctools.js b/doc/_static/doctools.js
index 344db17..8cbf1b1 100644
--- a/doc/_static/doctools.js
+++ b/doc/_static/doctools.js
@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for all documentation.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -29,9 +29,14 @@ if (!window.console || !console.firebug) {
/**
* small helper function to urldecode strings
+ *
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
*/
jQuery.urldecode = function(x) {
- return decodeURIComponent(x).replace(/\+/g, ' ');
+ if (!x) {
+ return x
+ }
+ return decodeURIComponent(x.replace(/\+/g, ' '));
};
/**
@@ -87,14 +92,13 @@ jQuery.fn.highlightText = function(text, className) {
node.nextSibling));
node.nodeValue = val.substr(0, pos);
if (isInSVG) {
- var bbox = span.getBBox();
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
- rect.x.baseVal.value = bbox.x;
+ var bbox = node.parentElement.getBBox();
+ rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
- var parentOfText = node.parentNode.parentNode;
addItems.push({
"parent": node.parentNode,
"target": rect});
@@ -284,10 +288,12 @@ var Documentation = {
},
initOnKeyListeners: function() {
- $(document).keyup(function(event) {
+ $(document).keydown(function(event) {
var activeElementType = document.activeElement.tagName;
- // don't navigate when in search box or textarea
- if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
+ // don't navigate when in search box, textarea, dropdown or button
+ if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT'
+ && activeElementType !== 'BUTTON' && !event.altKey && !event.ctrlKey && !event.metaKey
+ && !event.shiftKey) {
switch (event.keyCode) {
case 37: // left
var prevHref = $('link[rel="prev"]').prop('href');
@@ -295,12 +301,14 @@ var Documentation = {
window.location.href = prevHref;
return false;
}
+ break;
case 39: // right
var nextHref = $('link[rel="next"]').prop('href');
if (nextHref) {
window.location.href = nextHref;
return false;
}
+ break;
}
}
});
diff --git a/doc/_static/documentation_options.js b/doc/_static/documentation_options.js
index eb2cd09..a327859 100644
--- a/doc/_static/documentation_options.js
+++ b/doc/_static/documentation_options.js
@@ -1,10 +1,12 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
- VERSION: 'd6d8386',
+ VERSION: 'e6cda17',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
+ BUILDER: 'html',
FILE_SUFFIX: '.html',
+ LINK_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt',
- NAVIGATION_WITH_KEYS: false,
+ NAVIGATION_WITH_KEYS: false
}; \ No newline at end of file
diff --git a/doc/_static/jquery.js b/doc/_static/jquery.js
index 7e32910..624bca8 100644
--- a/doc/_static/jquery.js
+++ b/doc/_static/jquery.js
@@ -1,15 +1,13 @@
/*!
- * jQuery JavaScript Library v3.3.1-dfsg
+ * jQuery JavaScript Library v3.6.0
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
- * Copyright JS Foundation and other contributors
+ * Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
- *
- * Date: 2019-04-19T06:52Z
*/
( function( global, factory ) {
@@ -43,17 +41,20 @@
// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
// enough that all such attempts are guarded in a try block.
-
+"use strict";
var arr = [];
-var document = window.document;
-
var getProto = Object.getPrototypeOf;
var slice = arr.slice;
-var concat = arr.concat;
+var flat = arr.flat ? function( array ) {
+ return arr.flat.call( array );
+} : function( array ) {
+ return arr.concat.apply( [], array );
+};
+
var push = arr.push;
@@ -73,12 +74,16 @@ var support = {};
var isFunction = function isFunction( obj ) {
- // Support: Chrome <=57, Firefox <=52
- // In some browsers, typeof returns "function" for HTML <object> elements
- // (i.e., `typeof document.createElement( "object" ) === "function"`).
- // We don't want to classify *any* DOM node as a function.
- return typeof obj === "function" && typeof obj.nodeType !== "number";
- };
+ // Support: Chrome <=57, Firefox <=52
+ // In some browsers, typeof returns "function" for HTML <object> elements
+ // (i.e., `typeof document.createElement( "object" ) === "function"`).
+ // We don't want to classify *any* DOM node as a function.
+ // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
+ // Plus for old WebKit, typeof returns "function" for HTML collections
+ // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
+ return typeof obj === "function" && typeof obj.nodeType !== "number" &&
+ typeof obj.item !== "function";
+ };
var isWindow = function isWindow( obj ) {
@@ -86,25 +91,40 @@ var isWindow = function isWindow( obj ) {
};
+var document = window.document;
+
var preservedScriptAttributes = {
type: true,
src: true,
+ nonce: true,
noModule: true
};
- function DOMEval( code, doc, node ) {
+ function DOMEval( code, node, doc ) {
doc = doc || document;
- var i,
+ var i, val,
script = doc.createElement( "script" );
script.text = code;
if ( node ) {
for ( i in preservedScriptAttributes ) {
- if ( node[ i ] ) {
- script[ i ] = node[ i ];
+
+ // Support: Firefox 64+, Edge 18+
+ // Some browsers don't support the "nonce" property on scripts.
+ // On the other hand, just using `getAttribute` is not enough as
+ // the `nonce` attribute is reset to an empty string whenever it
+ // becomes browsing-context connected.
+ // See https://github.com/whatwg/html/issues/2369
+ // See https://html.spec.whatwg.org/#nonce-attributes
+ // The `node.getAttribute` check was added for the sake of
+ // `jQuery.globalEval` so that it can fake a nonce-containing node
+ // via an object.
+ val = node[ i ] || node.getAttribute && node.getAttribute( i );
+ if ( val ) {
+ script.setAttribute( i, val );
}
}
}
@@ -129,7 +149,7 @@ function toType( obj ) {
var
- version = "3.3.1",
+ version = "3.6.0",
// Define a local copy of jQuery
jQuery = function( selector, context ) {
@@ -137,11 +157,7 @@ var
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
- },
-
- // Support: Android <=4.0 only
- // Make sure we trim BOM and NBSP
- rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+ };
jQuery.fn = jQuery.prototype = {
@@ -207,6 +223,18 @@ jQuery.fn = jQuery.prototype = {
return this.eq( -1 );
},
+ even: function() {
+ return this.pushStack( jQuery.grep( this, function( _elem, i ) {
+ return ( i + 1 ) % 2;
+ } ) );
+ },
+
+ odd: function() {
+ return this.pushStack( jQuery.grep( this, function( _elem, i ) {
+ return i % 2;
+ } ) );
+ },
+
eq: function( i ) {
var len = this.length,
j = +i + ( i < 0 ? len : 0 );
@@ -258,7 +286,6 @@ jQuery.extend = jQuery.fn.extend = function() {
// Extend the base object
for ( name in options ) {
- src = target[ name ];
copy = options[ name ];
// Prevent Object.prototype pollution
@@ -270,14 +297,17 @@ jQuery.extend = jQuery.fn.extend = function() {
// Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = Array.isArray( copy ) ) ) ) {
+ src = target[ name ];
- if ( copyIsArray ) {
- copyIsArray = false;
- clone = src && Array.isArray( src ) ? src : [];
-
+ // Ensure proper type for the source value
+ if ( copyIsArray && !Array.isArray( src ) ) {
+ clone = [];
+ } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
+ clone = {};
} else {
- clone = src && jQuery.isPlainObject( src ) ? src : {};
+ clone = src;
}
+ copyIsArray = false;
// Never move original objects, clone them
target[ name ] = jQuery.extend( deep, clone, copy );
@@ -330,9 +360,6 @@ jQuery.extend( {
},
isEmptyObject: function( obj ) {
-
- /* eslint-disable no-unused-vars */
- // See https://github.com/eslint/eslint/issues/6125
var name;
for ( name in obj ) {
@@ -341,9 +368,10 @@ jQuery.extend( {
return true;
},
- // Evaluates a script in a global context
- globalEval: function( code ) {
- DOMEval( code );
+ // Evaluates a script in a provided context; falls back to the global one
+ // if not specified.
+ globalEval: function( code, options, doc ) {
+ DOMEval( code, { nonce: options && options.nonce }, doc );
},
each: function( obj, callback ) {
@@ -367,13 +395,6 @@ jQuery.extend( {
return obj;
},
- // Support: Android <=4.0 only
- trim: function( text ) {
- return text == null ?
- "" :
- ( text + "" ).replace( rtrim, "" );
- },
-
// results is for internal usage only
makeArray: function( arr, results ) {
var ret = results || [];
@@ -382,7 +403,7 @@ jQuery.extend( {
if ( isArrayLike( Object( arr ) ) ) {
jQuery.merge( ret,
typeof arr === "string" ?
- [ arr ] : arr
+ [ arr ] : arr
);
} else {
push.call( ret, arr );
@@ -460,7 +481,7 @@ jQuery.extend( {
}
// Flatten any nested arrays
- return concat.apply( [], ret );
+ return flat( ret );
},
// A global GUID counter for objects
@@ -477,9 +498,9 @@ if ( typeof Symbol === "function" ) {
// Populate the class2type map
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
-function( i, name ) {
- class2type[ "[object " + name + "]" ] = name.toLowerCase();
-} );
+ function( _i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+ } );
function isArrayLike( obj ) {
@@ -499,17 +520,16 @@ function isArrayLike( obj ) {
}
var Sizzle =
/*!
- * Sizzle CSS Selector Engine v2.3.3
+ * Sizzle CSS Selector Engine v2.3.6
* https://sizzlejs.com/
*
- * Copyright jQuery Foundation and other contributors
+ * Copyright JS Foundation and other contributors
* Released under the MIT license
- * http://jquery.org/license
+ * https://js.foundation/
*
- * Date: 2016-08-08
+ * Date: 2021-02-16
*/
-(function( window ) {
-
+( function( window ) {
var i,
support,
Expr,
@@ -540,6 +560,7 @@ var i,
classCache = createCache(),
tokenCache = createCache(),
compilerCache = createCache(),
+ nonnativeSelectorCache = createCache(),
sortOrder = function( a, b ) {
if ( a === b ) {
hasDuplicate = true;
@@ -548,61 +569,71 @@ var i,
},
// Instance methods
- hasOwn = ({}).hasOwnProperty,
+ hasOwn = ( {} ).hasOwnProperty,
arr = [],
pop = arr.pop,
- push_native = arr.push,
+ pushNative = arr.push,
push = arr.push,
slice = arr.slice,
+
// Use a stripped-down indexOf as it's faster than native
// https://jsperf.com/thor-indexof-vs-for/5
indexOf = function( list, elem ) {
var i = 0,
len = list.length;
for ( ; i < len; i++ ) {
- if ( list[i] === elem ) {
+ if ( list[ i ] === elem ) {
return i;
}
}
return -1;
},
- booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
+ "ismap|loop|multiple|open|readonly|required|scoped",
// Regular expressions
// http://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
- // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
- identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+ // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
+ identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
+ "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+
// Operator (capture 2)
"*([*^$|!~]?=)" + whitespace +
- // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
- "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
- "*\\]",
+
+ // "Attribute values must be CSS identifiers [capture 5]
+ // or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
+ whitespace + "*\\]",
pseudos = ":(" + identifier + ")(?:\\((" +
+
// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
// 1. quoted (capture 3; capture 4 or capture 5)
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+
// 2. simple (capture 6)
"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+
// 3. anything else (capture 2)
".*" +
")\\)|)",
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
rwhitespace = new RegExp( whitespace + "+", "g" ),
- rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
+ whitespace + "+$", "g" ),
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
- rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
-
- rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
+ "*" ),
+ rdescend = new RegExp( whitespace + "|>" ),
rpseudo = new RegExp( pseudos ),
ridentifier = new RegExp( "^" + identifier + "$" ),
@@ -613,16 +644,19 @@ var i,
"TAG": new RegExp( "^(" + identifier + "|[*])" ),
"ATTR": new RegExp( "^" + attributes ),
"PSEUDO": new RegExp( "^" + pseudos ),
- "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
- "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
- "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
+ whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
+ whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+
// For use in libraries implementing .is()
// We use this for POS matching in `select`
- "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
- whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ "needsContext": new RegExp( "^" + whitespace +
+ "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
+ "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
},
+ rhtml = /HTML$/i,
rinputs = /^(?:input|select|textarea|button)$/i,
rheader = /^h\d$/i,
@@ -635,18 +669,21 @@ var i,
// CSS escapes
// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
- runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
- funescape = function( _, escaped, escapedWhitespace ) {
- var high = "0x" + escaped - 0x10000;
- // NaN means non-codepoint
- // Support: Firefox<24
- // Workaround erroneous numeric interpretation of +"0x"
- return high !== high || escapedWhitespace ?
- escaped :
+ runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
+ funescape = function( escape, nonHex ) {
+ var high = "0x" + escape.slice( 1 ) - 0x10000;
+
+ return nonHex ?
+
+ // Strip the backslash prefix from a non-hex escape sequence
+ nonHex :
+
+ // Replace a hexadecimal escape sequence with the encoded Unicode code point
+ // Support: IE <=11+
+ // For values outside the Basic Multilingual Plane (BMP), manually construct a
+ // surrogate pair
high < 0 ?
- // BMP codepoint
String.fromCharCode( high + 0x10000 ) :
- // Supplemental Plane codepoint (surrogate pair)
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
},
@@ -662,7 +699,8 @@ var i,
}
// Control characters and (dependent upon position) numbers get escaped as code points
- return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ return ch.slice( 0, -1 ) + "\\" +
+ ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
}
// Other potentially-special ASCII characters get backslash-escaped
@@ -677,9 +715,9 @@ var i,
setDocument();
},
- disabledAncestor = addCombinator(
+ inDisabledFieldset = addCombinator(
function( elem ) {
- return elem.disabled === true && ("form" in elem || "label" in elem);
+ return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
},
{ dir: "parentNode", next: "legend" }
);
@@ -687,18 +725,20 @@ var i,
// Optimize for push.apply( _, NodeList )
try {
push.apply(
- (arr = slice.call( preferredDoc.childNodes )),
+ ( arr = slice.call( preferredDoc.childNodes ) ),
preferredDoc.childNodes
);
+
// Support: Android<4.0
// Detect silently failing push.apply
+ // eslint-disable-next-line no-unused-expressions
arr[ preferredDoc.childNodes.length ].nodeType;
} catch ( e ) {
push = { apply: arr.length ?
// Leverage slice if possible
function( target, els ) {
- push_native.apply( target, slice.call(els) );
+ pushNative.apply( target, slice.call( els ) );
} :
// Support: IE<9
@@ -706,8 +746,9 @@ try {
function( target, els ) {
var j = target.length,
i = 0;
+
// Can't trust NodeList.length
- while ( (target[j++] = els[i++]) ) {}
+ while ( ( target[ j++ ] = els[ i++ ] ) ) {}
target.length = j - 1;
}
};
@@ -731,24 +772,21 @@ function Sizzle( selector, context, results, seed ) {
// Try to shortcut find operations (as opposed to filters) in HTML documents
if ( !seed ) {
-
- if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
- setDocument( context );
- }
+ setDocument( context );
context = context || document;
if ( documentIsHTML ) {
// If the selector is sufficiently simple, try using a "get*By*" DOM method
// (excepting DocumentFragment context, where the methods don't exist)
- if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+ if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
// ID selector
- if ( (m = match[1]) ) {
+ if ( ( m = match[ 1 ] ) ) {
// Document context
if ( nodeType === 9 ) {
- if ( (elem = context.getElementById( m )) ) {
+ if ( ( elem = context.getElementById( m ) ) ) {
// Support: IE, Opera, Webkit
// TODO: identify versions
@@ -767,7 +805,7 @@ function Sizzle( selector, context, results, seed ) {
// Support: IE, Opera, Webkit
// TODO: identify versions
// getElementById can match elements by name instead of ID
- if ( newContext && (elem = newContext.getElementById( m )) &&
+ if ( newContext && ( elem = newContext.getElementById( m ) ) &&
contains( context, elem ) &&
elem.id === m ) {
@@ -777,12 +815,12 @@ function Sizzle( selector, context, results, seed ) {
}
// Type selector
- } else if ( match[2] ) {
+ } else if ( match[ 2 ] ) {
push.apply( results, context.getElementsByTagName( selector ) );
return results;
// Class selector
- } else if ( (m = match[3]) && support.getElementsByClassName &&
+ } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
context.getElementsByClassName ) {
push.apply( results, context.getElementsByClassName( m ) );
@@ -792,50 +830,62 @@ function Sizzle( selector, context, results, seed ) {
// Take advantage of querySelectorAll
if ( support.qsa &&
- !compilerCache[ selector + " " ] &&
- (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+ !nonnativeSelectorCache[ selector + " " ] &&
+ ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
- if ( nodeType !== 1 ) {
- newContext = context;
- newSelector = selector;
-
- // qSA looks outside Element context, which is not what we want
- // Thanks to Andrew Dupont for this workaround technique
- // Support: IE <=8
+ // Support: IE 8 only
// Exclude object elements
- } else if ( context.nodeName.toLowerCase() !== "object" ) {
+ ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
- // Capture the context ID, setting it first if necessary
- if ( (nid = context.getAttribute( "id" )) ) {
- nid = nid.replace( rcssescape, fcssescape );
- } else {
- context.setAttribute( "id", (nid = expando) );
+ newSelector = selector;
+ newContext = context;
+
+ // qSA considers elements outside a scoping root when evaluating child or
+ // descendant combinators, which is not what we want.
+ // In such cases, we work around the behavior by prefixing every selector in the
+ // list with an ID selector referencing the scope context.
+ // The technique has to be used as well when a leading combinator is used
+ // as such selectors are not recognized by querySelectorAll.
+ // Thanks to Andrew Dupont for this technique.
+ if ( nodeType === 1 &&
+ ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+
+ // We can use :scope instead of the ID hack if the browser
+ // supports it & if we're not changing the context.
+ if ( newContext !== context || !support.scope ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( ( nid = context.getAttribute( "id" ) ) ) {
+ nid = nid.replace( rcssescape, fcssescape );
+ } else {
+ context.setAttribute( "id", ( nid = expando ) );
+ }
}
// Prefix every selector in the list
groups = tokenize( selector );
i = groups.length;
while ( i-- ) {
- groups[i] = "#" + nid + " " + toSelector( groups[i] );
+ groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
+ toSelector( groups[ i ] );
}
newSelector = groups.join( "," );
-
- // Expand context for sibling selectors
- newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
- context;
}
- if ( newSelector ) {
- try {
- push.apply( results,
- newContext.querySelectorAll( newSelector )
- );
- return results;
- } catch ( qsaError ) {
- } finally {
- if ( nid === expando ) {
- context.removeAttribute( "id" );
- }
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ nonnativeSelectorCache( selector, true );
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
}
}
}
@@ -856,12 +906,14 @@ function createCache() {
var keys = [];
function cache( key, value ) {
+
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
if ( keys.push( key + " " ) > Expr.cacheLength ) {
+
// Only keep the most recent entries
delete cache[ keys.shift() ];
}
- return (cache[ key + " " ] = value);
+ return ( cache[ key + " " ] = value );
}
return cache;
}
@@ -880,17 +932,19 @@ function markFunction( fn ) {
* @param {Function} fn Passed the created element and returns a boolean result
*/
function assert( fn ) {
- var el = document.createElement("fieldset");
+ var el = document.createElement( "fieldset" );
try {
return !!fn( el );
- } catch (e) {
+ } catch ( e ) {
return false;
} finally {
+
// Remove from its parent by default
if ( el.parentNode ) {
el.parentNode.removeChild( el );
}
+
// release memory in IE
el = null;
}
@@ -902,11 +956,11 @@ function assert( fn ) {
* @param {Function} handler The method that will be applied
*/
function addHandle( attrs, handler ) {
- var arr = attrs.split("|"),
+ var arr = attrs.split( "|" ),
i = arr.length;
while ( i-- ) {
- Expr.attrHandle[ arr[i] ] = handler;
+ Expr.attrHandle[ arr[ i ] ] = handler;
}
}
@@ -928,7 +982,7 @@ function siblingCheck( a, b ) {
// Check if b follows a
if ( cur ) {
- while ( (cur = cur.nextSibling) ) {
+ while ( ( cur = cur.nextSibling ) ) {
if ( cur === b ) {
return -1;
}
@@ -956,7 +1010,7 @@ function createInputPseudo( type ) {
function createButtonPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && elem.type === type;
+ return ( name === "input" || name === "button" ) && elem.type === type;
};
}
@@ -999,7 +1053,7 @@ function createDisabledPseudo( disabled ) {
// Where there is no isDisabled, check manually
/* jshint -W018 */
elem.isDisabled !== !disabled &&
- disabledAncestor( elem ) === disabled;
+ inDisabledFieldset( elem ) === disabled;
}
return elem.disabled === disabled;
@@ -1021,21 +1075,21 @@ function createDisabledPseudo( disabled ) {
* @param {Function} fn
*/
function createPositionalPseudo( fn ) {
- return markFunction(function( argument ) {
+ return markFunction( function( argument ) {
argument = +argument;
- return markFunction(function( seed, matches ) {
+ return markFunction( function( seed, matches ) {
var j,
matchIndexes = fn( [], seed.length, argument ),
i = matchIndexes.length;
// Match elements found at the specified indexes
while ( i-- ) {
- if ( seed[ (j = matchIndexes[i]) ] ) {
- seed[j] = !(matches[j] = seed[j]);
+ if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
+ seed[ j ] = !( matches[ j ] = seed[ j ] );
}
}
- });
- });
+ } );
+ } );
}
/**
@@ -1056,10 +1110,13 @@ support = Sizzle.support = {};
* @returns {Boolean} True iff elem is a non-HTML XML node
*/
isXML = Sizzle.isXML = function( elem ) {
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = elem && (elem.ownerDocument || elem).documentElement;
- return documentElement ? documentElement.nodeName !== "HTML" : false;
+ var namespace = elem && elem.namespaceURI,
+ docElem = elem && ( elem.ownerDocument || elem ).documentElement;
+
+ // Support: IE <=8
+ // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
+ // https://bugs.jquery.com/ticket/4833
+ return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
};
/**
@@ -1072,7 +1129,11 @@ setDocument = Sizzle.setDocument = function( node ) {
doc = node ? node.ownerDocument || node : preferredDoc;
// Return early if doc is invalid or already selected
- if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
return document;
}
@@ -1081,10 +1142,14 @@ setDocument = Sizzle.setDocument = function( node ) {
docElem = document.documentElement;
documentIsHTML = !isXML( document );
- // Support: IE 9-11, Edge
+ // Support: IE 9 - 11+, Edge 12 - 18+
// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
- if ( preferredDoc !== document &&
- (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( preferredDoc != document &&
+ ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
// Support: IE 11, Edge
if ( subWindow.addEventListener ) {
@@ -1096,25 +1161,36 @@ setDocument = Sizzle.setDocument = function( node ) {
}
}
+ // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
+ // Safari 4 - 5 only, Opera <=11.6 - 12.x only
+ // IE/Edge & older browsers don't support the :scope pseudo-class.
+ // Support: Safari 6.0 only
+ // Safari 6.0 supports :scope but it's an alias of :root there.
+ support.scope = assert( function( el ) {
+ docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
+ return typeof el.querySelectorAll !== "undefined" &&
+ !el.querySelectorAll( ":scope fieldset div" ).length;
+ } );
+
/* Attributes
---------------------------------------------------------------------- */
// Support: IE<8
// Verify that getAttribute really returns attributes and not properties
// (excepting IE8 booleans)
- support.attributes = assert(function( el ) {
+ support.attributes = assert( function( el ) {
el.className = "i";
- return !el.getAttribute("className");
- });
+ return !el.getAttribute( "className" );
+ } );
/* getElement(s)By*
---------------------------------------------------------------------- */
// Check if getElementsByTagName("*") returns only elements
- support.getElementsByTagName = assert(function( el ) {
- el.appendChild( document.createComment("") );
- return !el.getElementsByTagName("*").length;
- });
+ support.getElementsByTagName = assert( function( el ) {
+ el.appendChild( document.createComment( "" ) );
+ return !el.getElementsByTagName( "*" ).length;
+ } );
// Support: IE<9
support.getElementsByClassName = rnative.test( document.getElementsByClassName );
@@ -1123,38 +1199,38 @@ setDocument = Sizzle.setDocument = function( node ) {
// Check if getElementById returns elements by name
// The broken getElementById methods don't pick up programmatically-set names,
// so use a roundabout getElementsByName test
- support.getById = assert(function( el ) {
+ support.getById = assert( function( el ) {
docElem.appendChild( el ).id = expando;
return !document.getElementsByName || !document.getElementsByName( expando ).length;
- });
+ } );
// ID filter and find
if ( support.getById ) {
- Expr.filter["ID"] = function( id ) {
+ Expr.filter[ "ID" ] = function( id ) {
var attrId = id.replace( runescape, funescape );
return function( elem ) {
- return elem.getAttribute("id") === attrId;
+ return elem.getAttribute( "id" ) === attrId;
};
};
- Expr.find["ID"] = function( id, context ) {
+ Expr.find[ "ID" ] = function( id, context ) {
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
var elem = context.getElementById( id );
return elem ? [ elem ] : [];
}
};
} else {
- Expr.filter["ID"] = function( id ) {
+ Expr.filter[ "ID" ] = function( id ) {
var attrId = id.replace( runescape, funescape );
return function( elem ) {
var node = typeof elem.getAttributeNode !== "undefined" &&
- elem.getAttributeNode("id");
+ elem.getAttributeNode( "id" );
return node && node.value === attrId;
};
};
// Support: IE 6 - 7 only
// getElementById is not reliable as a find shortcut
- Expr.find["ID"] = function( id, context ) {
+ Expr.find[ "ID" ] = function( id, context ) {
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
var node, i, elems,
elem = context.getElementById( id );
@@ -1162,7 +1238,7 @@ setDocument = Sizzle.setDocument = function( node ) {
if ( elem ) {
// Verify the id attribute
- node = elem.getAttributeNode("id");
+ node = elem.getAttributeNode( "id" );
if ( node && node.value === id ) {
return [ elem ];
}
@@ -1170,8 +1246,8 @@ setDocument = Sizzle.setDocument = function( node ) {
// Fall back on getElementsByName
elems = context.getElementsByName( id );
i = 0;
- while ( (elem = elems[i++]) ) {
- node = elem.getAttributeNode("id");
+ while ( ( elem = elems[ i++ ] ) ) {
+ node = elem.getAttributeNode( "id" );
if ( node && node.value === id ) {
return [ elem ];
}
@@ -1184,7 +1260,7 @@ setDocument = Sizzle.setDocument = function( node ) {
}
// Tag
- Expr.find["TAG"] = support.getElementsByTagName ?
+ Expr.find[ "TAG" ] = support.getElementsByTagName ?
function( tag, context ) {
if ( typeof context.getElementsByTagName !== "undefined" ) {
return context.getElementsByTagName( tag );
@@ -1199,12 +1275,13 @@ setDocument = Sizzle.setDocument = function( node ) {
var elem,
tmp = [],
i = 0,
+
// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
results = context.getElementsByTagName( tag );
// Filter out possible comments
if ( tag === "*" ) {
- while ( (elem = results[i++]) ) {
+ while ( ( elem = results[ i++ ] ) ) {
if ( elem.nodeType === 1 ) {
tmp.push( elem );
}
@@ -1216,7 +1293,7 @@ setDocument = Sizzle.setDocument = function( node ) {
};
// Class
- Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
return context.getElementsByClassName( className );
}
@@ -1237,10 +1314,14 @@ setDocument = Sizzle.setDocument = function( node ) {
// See https://bugs.jquery.com/ticket/13378
rbuggyQSA = [];
- if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
+
// Build QSA regex
// Regex strategy adopted from Diego Perini
- assert(function( el ) {
+ assert( function( el ) {
+
+ var input;
+
// Select is set to empty string on purpose
// This is to test IE's treatment of not explicitly
// setting a boolean content attribute,
@@ -1254,78 +1335,98 @@ setDocument = Sizzle.setDocument = function( node ) {
// Nothing should be selected when empty strings follow ^= or $= or *=
// The test attribute must be unknown in Opera but "safe" for WinRT
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
- if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+ if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
}
// Support: IE8
// Boolean attributes and "value" are not treated correctly
- if ( !el.querySelectorAll("[selected]").length ) {
+ if ( !el.querySelectorAll( "[selected]" ).length ) {
rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
}
// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
- rbuggyQSA.push("~=");
+ rbuggyQSA.push( "~=" );
+ }
+
+ // Support: IE 11+, Edge 15 - 18+
+ // IE 11/Edge don't find elements on a `[name='']` query in some cases.
+ // Adding a temporary attribute to the document before the selection works
+ // around the issue.
+ // Interestingly, IE 10 & older don't seem to have the issue.
+ input = document.createElement( "input" );
+ input.setAttribute( "name", "" );
+ el.appendChild( input );
+ if ( !el.querySelectorAll( "[name='']" ).length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
+ whitespace + "*(?:''|\"\")" );
}
// Webkit/Opera - :checked should return selected option elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
- if ( !el.querySelectorAll(":checked").length ) {
- rbuggyQSA.push(":checked");
+ if ( !el.querySelectorAll( ":checked" ).length ) {
+ rbuggyQSA.push( ":checked" );
}
// Support: Safari 8+, iOS 8+
// https://bugs.webkit.org/show_bug.cgi?id=136851
// In-page `selector#id sibling-combinator selector` fails
if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
- rbuggyQSA.push(".#.+[+~]");
+ rbuggyQSA.push( ".#.+[+~]" );
}
- });
- assert(function( el ) {
+ // Support: Firefox <=3.6 - 5 only
+ // Old Firefox doesn't throw on a badly-escaped identifier.
+ el.querySelectorAll( "\\\f" );
+ rbuggyQSA.push( "[\\r\\n\\f]" );
+ } );
+
+ assert( function( el ) {
el.innerHTML = "<a href='' disabled='disabled'></a>" +
"<select disabled='disabled'><option/></select>";
// Support: Windows 8 Native Apps
// The type and name attributes are restricted during .innerHTML assignment
- var input = document.createElement("input");
+ var input = document.createElement( "input" );
input.setAttribute( "type", "hidden" );
el.appendChild( input ).setAttribute( "name", "D" );
// Support: IE8
// Enforce case-sensitivity of name attribute
- if ( el.querySelectorAll("[name=d]").length ) {
+ if ( el.querySelectorAll( "[name=d]" ).length ) {
rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
}
// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
// IE8 throws error here and will not see later tests
- if ( el.querySelectorAll(":enabled").length !== 2 ) {
+ if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
rbuggyQSA.push( ":enabled", ":disabled" );
}
// Support: IE9-11+
// IE's :disabled selector does not pick up the children of disabled fieldsets
docElem.appendChild( el ).disabled = true;
- if ( el.querySelectorAll(":disabled").length !== 2 ) {
+ if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
rbuggyQSA.push( ":enabled", ":disabled" );
}
+ // Support: Opera 10 - 11 only
// Opera 10-11 does not throw on post-comma invalid pseudos
- el.querySelectorAll("*,:x");
- rbuggyQSA.push(",.*:");
- });
+ el.querySelectorAll( "*,:x" );
+ rbuggyQSA.push( ",.*:" );
+ } );
}
- if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
docElem.webkitMatchesSelector ||
docElem.mozMatchesSelector ||
docElem.oMatchesSelector ||
- docElem.msMatchesSelector) )) ) {
+ docElem.msMatchesSelector ) ) ) ) {
+
+ assert( function( el ) {
- assert(function( el ) {
// Check to see if it's possible to do matchesSelector
// on a disconnected node (IE 9)
support.disconnectedMatch = matches.call( el, "*" );
@@ -1334,11 +1435,11 @@ setDocument = Sizzle.setDocument = function( node ) {
// Gecko does not error, returns false instead
matches.call( el, "[s!='']:x" );
rbuggyMatches.push( "!=", pseudos );
- });
+ } );
}
- rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
- rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
/* Contains
---------------------------------------------------------------------- */
@@ -1355,11 +1456,11 @@ setDocument = Sizzle.setDocument = function( node ) {
adown.contains ?
adown.contains( bup ) :
a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
- ));
+ ) );
} :
function( a, b ) {
if ( b ) {
- while ( (b = b.parentNode) ) {
+ while ( ( b = b.parentNode ) ) {
if ( b === a ) {
return true;
}
@@ -1388,7 +1489,11 @@ setDocument = Sizzle.setDocument = function( node ) {
}
// Calculate position if both inputs belong to the same document
- compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
a.compareDocumentPosition( b ) :
// Otherwise we know they are disconnected
@@ -1396,13 +1501,24 @@ setDocument = Sizzle.setDocument = function( node ) {
// Disconnected nodes
if ( compare & 1 ||
- (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+ ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
// Choose the first element that is related to our preferred document
- if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( a == document || a.ownerDocument == preferredDoc &&
+ contains( preferredDoc, a ) ) {
return -1;
}
- if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( b == document || b.ownerDocument == preferredDoc &&
+ contains( preferredDoc, b ) ) {
return 1;
}
@@ -1415,6 +1531,7 @@ setDocument = Sizzle.setDocument = function( node ) {
return compare & 4 ? -1 : 1;
} :
function( a, b ) {
+
// Exit early if the nodes are identical
if ( a === b ) {
hasDuplicate = true;
@@ -1430,8 +1547,14 @@ setDocument = Sizzle.setDocument = function( node ) {
// Parentless nodes are either documents or disconnected
if ( !aup || !bup ) {
- return a === document ? -1 :
- b === document ? 1 :
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ /* eslint-disable eqeqeq */
+ return a == document ? -1 :
+ b == document ? 1 :
+ /* eslint-enable eqeqeq */
aup ? -1 :
bup ? 1 :
sortInput ?
@@ -1445,26 +1568,32 @@ setDocument = Sizzle.setDocument = function( node ) {
// Otherwise we need full lists of their ancestors for comparison
cur = a;
- while ( (cur = cur.parentNode) ) {
+ while ( ( cur = cur.parentNode ) ) {
ap.unshift( cur );
}
cur = b;
- while ( (cur = cur.parentNode) ) {
+ while ( ( cur = cur.parentNode ) ) {
bp.unshift( cur );
}
// Walk down the tree looking for a discrepancy
- while ( ap[i] === bp[i] ) {
+ while ( ap[ i ] === bp[ i ] ) {
i++;
}
return i ?
+
// Do a sibling check if the nodes have a common ancestor
- siblingCheck( ap[i], bp[i] ) :
+ siblingCheck( ap[ i ], bp[ i ] ) :
// Otherwise nodes in our document sort first
- ap[i] === preferredDoc ? -1 :
- bp[i] === preferredDoc ? 1 :
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ /* eslint-disable eqeqeq */
+ ap[ i ] == preferredDoc ? -1 :
+ bp[ i ] == preferredDoc ? 1 :
+ /* eslint-enable eqeqeq */
0;
};
@@ -1476,16 +1605,10 @@ Sizzle.matches = function( expr, elements ) {
};
Sizzle.matchesSelector = function( elem, expr ) {
- // Set document vars if needed
- if ( ( elem.ownerDocument || elem ) !== document ) {
- setDocument( elem );
- }
-
- // Make sure that attribute selectors are quoted
- expr = expr.replace( rattributeQuotes, "='$1']" );
+ setDocument( elem );
if ( support.matchesSelector && documentIsHTML &&
- !compilerCache[ expr + " " ] &&
+ !nonnativeSelectorCache[ expr + " " ] &&
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
@@ -1494,32 +1617,46 @@ Sizzle.matchesSelector = function( elem, expr ) {
// IE 9's matchesSelector returns false on disconnected nodes
if ( ret || support.disconnectedMatch ||
- // As well, disconnected nodes are said to be in a document
- // fragment in IE 9
- elem.document && elem.document.nodeType !== 11 ) {
+
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
return ret;
}
- } catch (e) {}
+ } catch ( e ) {
+ nonnativeSelectorCache( expr, true );
+ }
}
return Sizzle( expr, document, null, [ elem ] ).length > 0;
};
Sizzle.contains = function( context, elem ) {
+
// Set document vars if needed
- if ( ( context.ownerDocument || context ) !== document ) {
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( ( context.ownerDocument || context ) != document ) {
setDocument( context );
}
return contains( context, elem );
};
Sizzle.attr = function( elem, name ) {
+
// Set document vars if needed
- if ( ( elem.ownerDocument || elem ) !== document ) {
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( ( elem.ownerDocument || elem ) != document ) {
setDocument( elem );
}
var fn = Expr.attrHandle[ name.toLowerCase() ],
+
// Don't get fooled by Object.prototype properties (jQuery #13807)
val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
fn( elem, name, !documentIsHTML ) :
@@ -1529,13 +1666,13 @@ Sizzle.attr = function( elem, name ) {
val :
support.attributes || !documentIsHTML ?
elem.getAttribute( name ) :
- (val = elem.getAttributeNode(name)) && val.specified ?
+ ( val = elem.getAttributeNode( name ) ) && val.specified ?
val.value :
null;
};
Sizzle.escape = function( sel ) {
- return (sel + "").replace( rcssescape, fcssescape );
+ return ( sel + "" ).replace( rcssescape, fcssescape );
};
Sizzle.error = function( msg ) {
@@ -1558,7 +1695,7 @@ Sizzle.uniqueSort = function( results ) {
results.sort( sortOrder );
if ( hasDuplicate ) {
- while ( (elem = results[i++]) ) {
+ while ( ( elem = results[ i++ ] ) ) {
if ( elem === results[ i ] ) {
j = duplicates.push( i );
}
@@ -1586,17 +1723,21 @@ getText = Sizzle.getText = function( elem ) {
nodeType = elem.nodeType;
if ( !nodeType ) {
+
// If no nodeType, this is expected to be an array
- while ( (node = elem[i++]) ) {
+ while ( ( node = elem[ i++ ] ) ) {
+
// Do not traverse comment nodes
ret += getText( node );
}
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+
// Use textContent for elements
// innerText usage removed for consistency of new lines (jQuery #11153)
if ( typeof elem.textContent === "string" ) {
return elem.textContent;
} else {
+
// Traverse its children
for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
ret += getText( elem );
@@ -1605,6 +1746,7 @@ getText = Sizzle.getText = function( elem ) {
} else if ( nodeType === 3 || nodeType === 4 ) {
return elem.nodeValue;
}
+
// Do not include comment or processing instruction nodes
return ret;
@@ -1632,19 +1774,21 @@ Expr = Sizzle.selectors = {
preFilter: {
"ATTR": function( match ) {
- match[1] = match[1].replace( runescape, funescape );
+ match[ 1 ] = match[ 1 ].replace( runescape, funescape );
// Move the given value to match[3] whether quoted or unquoted
- match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+ match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
+ match[ 5 ] || "" ).replace( runescape, funescape );
- if ( match[2] === "~=" ) {
- match[3] = " " + match[3] + " ";
+ if ( match[ 2 ] === "~=" ) {
+ match[ 3 ] = " " + match[ 3 ] + " ";
}
return match.slice( 0, 4 );
},
"CHILD": function( match ) {
+
/* matches from matchExpr["CHILD"]
1 type (only|nth|...)
2 what (child|of-type)
@@ -1655,22 +1799,25 @@ Expr = Sizzle.selectors = {
7 sign of y-component
8 y of y-component
*/
- match[1] = match[1].toLowerCase();
+ match[ 1 ] = match[ 1 ].toLowerCase();
+
+ if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
- if ( match[1].slice( 0, 3 ) === "nth" ) {
// nth-* requires argument
- if ( !match[3] ) {
- Sizzle.error( match[0] );
+ if ( !match[ 3 ] ) {
+ Sizzle.error( match[ 0 ] );
}
// numeric x and y parameters for Expr.filter.CHILD
// remember that false/true cast respectively to 0/1
- match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
- match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+ match[ 4 ] = +( match[ 4 ] ?
+ match[ 5 ] + ( match[ 6 ] || 1 ) :
+ 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
+ match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
- // other types prohibit arguments
- } else if ( match[3] ) {
- Sizzle.error( match[0] );
+ // other types prohibit arguments
+ } else if ( match[ 3 ] ) {
+ Sizzle.error( match[ 0 ] );
}
return match;
@@ -1678,26 +1825,28 @@ Expr = Sizzle.selectors = {
"PSEUDO": function( match ) {
var excess,
- unquoted = !match[6] && match[2];
+ unquoted = !match[ 6 ] && match[ 2 ];
- if ( matchExpr["CHILD"].test( match[0] ) ) {
+ if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
return null;
}
// Accept quoted arguments as-is
- if ( match[3] ) {
- match[2] = match[4] || match[5] || "";
+ if ( match[ 3 ] ) {
+ match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
// Strip excess characters from unquoted arguments
} else if ( unquoted && rpseudo.test( unquoted ) &&
+
// Get excess from tokenize (recursively)
- (excess = tokenize( unquoted, true )) &&
+ ( excess = tokenize( unquoted, true ) ) &&
+
// advance to the next closing parenthesis
- (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+ ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
// excess is a negative index
- match[0] = match[0].slice( 0, excess );
- match[2] = unquoted.slice( 0, excess );
+ match[ 0 ] = match[ 0 ].slice( 0, excess );
+ match[ 2 ] = unquoted.slice( 0, excess );
}
// Return only captures needed by the pseudo filter method (type and argument)
@@ -1710,7 +1859,9 @@ Expr = Sizzle.selectors = {
"TAG": function( nodeNameSelector ) {
var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
return nodeNameSelector === "*" ?
- function() { return true; } :
+ function() {
+ return true;
+ } :
function( elem ) {
return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
};
@@ -1720,10 +1871,16 @@ Expr = Sizzle.selectors = {
var pattern = classCache[ className + " " ];
return pattern ||
- (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
- classCache( className, function( elem ) {
- return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
- });
+ ( pattern = new RegExp( "(^|" + whitespace +
+ ")" + className + "(" + whitespace + "|$)" ) ) && classCache(
+ className, function( elem ) {
+ return pattern.test(
+ typeof elem.className === "string" && elem.className ||
+ typeof elem.getAttribute !== "undefined" &&
+ elem.getAttribute( "class" ) ||
+ ""
+ );
+ } );
},
"ATTR": function( name, operator, check ) {
@@ -1739,6 +1896,8 @@ Expr = Sizzle.selectors = {
result += "";
+ /* eslint-disable max-len */
+
return operator === "=" ? result === check :
operator === "!=" ? result !== check :
operator === "^=" ? check && result.indexOf( check ) === 0 :
@@ -1747,10 +1906,12 @@ Expr = Sizzle.selectors = {
operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
false;
+ /* eslint-enable max-len */
+
};
},
- "CHILD": function( type, what, argument, first, last ) {
+ "CHILD": function( type, what, _argument, first, last ) {
var simple = type.slice( 0, 3 ) !== "nth",
forward = type.slice( -4 ) !== "last",
ofType = what === "of-type";
@@ -1762,7 +1923,7 @@ Expr = Sizzle.selectors = {
return !!elem.parentNode;
} :
- function( elem, context, xml ) {
+ function( elem, _context, xml ) {
var cache, uniqueCache, outerCache, node, nodeIndex, start,
dir = simple !== forward ? "nextSibling" : "previousSibling",
parent = elem.parentNode,
@@ -1776,7 +1937,7 @@ Expr = Sizzle.selectors = {
if ( simple ) {
while ( dir ) {
node = elem;
- while ( (node = node[ dir ]) ) {
+ while ( ( node = node[ dir ] ) ) {
if ( ofType ?
node.nodeName.toLowerCase() === name :
node.nodeType === 1 ) {
@@ -1784,6 +1945,7 @@ Expr = Sizzle.selectors = {
return false;
}
}
+
// Reverse direction for :only-* (if we haven't yet done so)
start = dir = type === "only" && !start && "nextSibling";
}
@@ -1799,22 +1961,22 @@ Expr = Sizzle.selectors = {
// ...in a gzip-friendly way
node = parent;
- outerCache = node[ expando ] || (node[ expando ] = {});
+ outerCache = node[ expando ] || ( node[ expando ] = {} );
// Support: IE <9 only
// Defend against cloned attroperties (jQuery gh-1709)
uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
+ ( outerCache[ node.uniqueID ] = {} );
cache = uniqueCache[ type ] || [];
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
diff = nodeIndex && cache[ 2 ];
node = nodeIndex && parent.childNodes[ nodeIndex ];
- while ( (node = ++nodeIndex && node && node[ dir ] ||
+ while ( ( node = ++nodeIndex && node && node[ dir ] ||
// Fallback to seeking `elem` from the start
- (diff = nodeIndex = 0) || start.pop()) ) {
+ ( diff = nodeIndex = 0 ) || start.pop() ) ) {
// When found, cache indexes on `parent` and break
if ( node.nodeType === 1 && ++diff && node === elem ) {
@@ -1824,16 +1986,18 @@ Expr = Sizzle.selectors = {
}
} else {
+
// Use previously-cached element index if available
if ( useCache ) {
+
// ...in a gzip-friendly way
node = elem;
- outerCache = node[ expando ] || (node[ expando ] = {});
+ outerCache = node[ expando ] || ( node[ expando ] = {} );
// Support: IE <9 only
// Defend against cloned attroperties (jQuery gh-1709)
uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
+ ( outerCache[ node.uniqueID ] = {} );
cache = uniqueCache[ type ] || [];
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
@@ -1843,9 +2007,10 @@ Expr = Sizzle.selectors = {
// xml :nth-child(...)
// or :nth-last-child(...) or :nth(-last)?-of-type(...)
if ( diff === false ) {
+
// Use the same loop as above to seek `elem` from the start
- while ( (node = ++nodeIndex && node && node[ dir ] ||
- (diff = nodeIndex = 0) || start.pop()) ) {
+ while ( ( node = ++nodeIndex && node && node[ dir ] ||
+ ( diff = nodeIndex = 0 ) || start.pop() ) ) {
if ( ( ofType ?
node.nodeName.toLowerCase() === name :
@@ -1854,12 +2019,13 @@ Expr = Sizzle.selectors = {
// Cache the index of each encountered element
if ( useCache ) {
- outerCache = node[ expando ] || (node[ expando ] = {});
+ outerCache = node[ expando ] ||
+ ( node[ expando ] = {} );
// Support: IE <9 only
// Defend against cloned attroperties (jQuery gh-1709)
uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
+ ( outerCache[ node.uniqueID ] = {} );
uniqueCache[ type ] = [ dirruns, diff ];
}
@@ -1880,6 +2046,7 @@ Expr = Sizzle.selectors = {
},
"PSEUDO": function( pseudo, argument ) {
+
// pseudo-class names are case-insensitive
// http://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
@@ -1899,15 +2066,15 @@ Expr = Sizzle.selectors = {
if ( fn.length > 1 ) {
args = [ pseudo, pseudo, "", argument ];
return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
- markFunction(function( seed, matches ) {
+ markFunction( function( seed, matches ) {
var idx,
matched = fn( seed, argument ),
i = matched.length;
while ( i-- ) {
- idx = indexOf( seed, matched[i] );
- seed[ idx ] = !( matches[ idx ] = matched[i] );
+ idx = indexOf( seed, matched[ i ] );
+ seed[ idx ] = !( matches[ idx ] = matched[ i ] );
}
- }) :
+ } ) :
function( elem ) {
return fn( elem, 0, args );
};
@@ -1918,8 +2085,10 @@ Expr = Sizzle.selectors = {
},
pseudos: {
+
// Potentially complex pseudos
- "not": markFunction(function( selector ) {
+ "not": markFunction( function( selector ) {
+
// Trim the selector passed to compile
// to avoid treating leading and trailing
// spaces as combinators
@@ -1928,39 +2097,40 @@ Expr = Sizzle.selectors = {
matcher = compile( selector.replace( rtrim, "$1" ) );
return matcher[ expando ] ?
- markFunction(function( seed, matches, context, xml ) {
+ markFunction( function( seed, matches, _context, xml ) {
var elem,
unmatched = matcher( seed, null, xml, [] ),
i = seed.length;
// Match elements unmatched by `matcher`
while ( i-- ) {
- if ( (elem = unmatched[i]) ) {
- seed[i] = !(matches[i] = elem);
+ if ( ( elem = unmatched[ i ] ) ) {
+ seed[ i ] = !( matches[ i ] = elem );
}
}
- }) :
- function( elem, context, xml ) {
- input[0] = elem;
+ } ) :
+ function( elem, _context, xml ) {
+ input[ 0 ] = elem;
matcher( input, null, xml, results );
+
// Don't keep the element (issue #299)
- input[0] = null;
+ input[ 0 ] = null;
return !results.pop();
};
- }),
+ } ),
- "has": markFunction(function( selector ) {
+ "has": markFunction( function( selector ) {
return function( elem ) {
return Sizzle( selector, elem ).length > 0;
};
- }),
+ } ),
- "contains": markFunction(function( text ) {
+ "contains": markFunction( function( text ) {
text = text.replace( runescape, funescape );
return function( elem ) {
- return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
};
- }),
+ } ),
// "Whether an element is represented by a :lang() selector
// is based solely on the element's language value
@@ -1970,25 +2140,26 @@ Expr = Sizzle.selectors = {
// The identifier C does not have to be a valid language name."
// http://www.w3.org/TR/selectors/#lang-pseudo
"lang": markFunction( function( lang ) {
+
// lang value must be a valid identifier
- if ( !ridentifier.test(lang || "") ) {
+ if ( !ridentifier.test( lang || "" ) ) {
Sizzle.error( "unsupported lang: " + lang );
}
lang = lang.replace( runescape, funescape ).toLowerCase();
return function( elem ) {
var elemLang;
do {
- if ( (elemLang = documentIsHTML ?
+ if ( ( elemLang = documentIsHTML ?
elem.lang :
- elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+ elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
elemLang = elemLang.toLowerCase();
return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
}
- } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
return false;
};
- }),
+ } ),
// Miscellaneous
"target": function( elem ) {
@@ -2001,7 +2172,9 @@ Expr = Sizzle.selectors = {
},
"focus": function( elem ) {
- return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ return elem === document.activeElement &&
+ ( !document.hasFocus || document.hasFocus() ) &&
+ !!( elem.type || elem.href || ~elem.tabIndex );
},
// Boolean properties
@@ -2009,16 +2182,20 @@ Expr = Sizzle.selectors = {
"disabled": createDisabledPseudo( true ),
"checked": function( elem ) {
+
// In CSS3, :checked should return both checked and selected elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName = elem.nodeName.toLowerCase();
- return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ return ( nodeName === "input" && !!elem.checked ) ||
+ ( nodeName === "option" && !!elem.selected );
},
"selected": function( elem ) {
+
// Accessing this property makes selected-by-default
// options in Safari work properly
if ( elem.parentNode ) {
+ // eslint-disable-next-line no-unused-expressions
elem.parentNode.selectedIndex;
}
@@ -2027,6 +2204,7 @@ Expr = Sizzle.selectors = {
// Contents
"empty": function( elem ) {
+
// http://www.w3.org/TR/selectors/#empty-pseudo
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
// but not by others (comment: 8; processing instruction: 7; etc.)
@@ -2040,7 +2218,7 @@ Expr = Sizzle.selectors = {
},
"parent": function( elem ) {
- return !Expr.pseudos["empty"]( elem );
+ return !Expr.pseudos[ "empty" ]( elem );
},
// Element/input types
@@ -2064,57 +2242,62 @@ Expr = Sizzle.selectors = {
// Support: IE<8
// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
- ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ ( ( attr = elem.getAttribute( "type" ) ) == null ||
+ attr.toLowerCase() === "text" );
},
// Position-in-collection
- "first": createPositionalPseudo(function() {
+ "first": createPositionalPseudo( function() {
return [ 0 ];
- }),
+ } ),
- "last": createPositionalPseudo(function( matchIndexes, length ) {
+ "last": createPositionalPseudo( function( _matchIndexes, length ) {
return [ length - 1 ];
- }),
+ } ),
- "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
return [ argument < 0 ? argument + length : argument ];
- }),
+ } ),
- "even": createPositionalPseudo(function( matchIndexes, length ) {
+ "even": createPositionalPseudo( function( matchIndexes, length ) {
var i = 0;
for ( ; i < length; i += 2 ) {
matchIndexes.push( i );
}
return matchIndexes;
- }),
+ } ),
- "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ "odd": createPositionalPseudo( function( matchIndexes, length ) {
var i = 1;
for ( ; i < length; i += 2 ) {
matchIndexes.push( i );
}
return matchIndexes;
- }),
+ } ),
- "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
- var i = argument < 0 ? argument + length : argument;
+ "lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
+ var i = argument < 0 ?
+ argument + length :
+ argument > length ?
+ length :
+ argument;
for ( ; --i >= 0; ) {
matchIndexes.push( i );
}
return matchIndexes;
- }),
+ } ),
- "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ "gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
var i = argument < 0 ? argument + length : argument;
for ( ; ++i < length; ) {
matchIndexes.push( i );
}
return matchIndexes;
- })
+ } )
}
};
-Expr.pseudos["nth"] = Expr.pseudos["eq"];
+Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
// Add button/input type pseudos
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
@@ -2145,37 +2328,39 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
while ( soFar ) {
// Comma and first run
- if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
if ( match ) {
+
// Don't consume trailing commas as valid
- soFar = soFar.slice( match[0].length ) || soFar;
+ soFar = soFar.slice( match[ 0 ].length ) || soFar;
}
- groups.push( (tokens = []) );
+ groups.push( ( tokens = [] ) );
}
matched = false;
// Combinators
- if ( (match = rcombinators.exec( soFar )) ) {
+ if ( ( match = rcombinators.exec( soFar ) ) ) {
matched = match.shift();
- tokens.push({
+ tokens.push( {
value: matched,
+
// Cast descendant combinators to space
- type: match[0].replace( rtrim, " " )
- });
+ type: match[ 0 ].replace( rtrim, " " )
+ } );
soFar = soFar.slice( matched.length );
}
// Filters
for ( type in Expr.filter ) {
- if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
- (match = preFilters[ type ]( match ))) ) {
+ if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
+ ( match = preFilters[ type ]( match ) ) ) ) {
matched = match.shift();
- tokens.push({
+ tokens.push( {
value: matched,
type: type,
matches: match
- });
+ } );
soFar = soFar.slice( matched.length );
}
}
@@ -2192,6 +2377,7 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
soFar.length :
soFar ?
Sizzle.error( selector ) :
+
// Cache the tokens
tokenCache( selector, groups ).slice( 0 );
};
@@ -2201,7 +2387,7 @@ function toSelector( tokens ) {
len = tokens.length,
selector = "";
for ( ; i < len; i++ ) {
- selector += tokens[i].value;
+ selector += tokens[ i ].value;
}
return selector;
}
@@ -2214,9 +2400,10 @@ function addCombinator( matcher, combinator, base ) {
doneName = done++;
return combinator.first ?
+
// Check against closest ancestor/preceding element
function( elem, context, xml ) {
- while ( (elem = elem[ dir ]) ) {
+ while ( ( elem = elem[ dir ] ) ) {
if ( elem.nodeType === 1 || checkNonElements ) {
return matcher( elem, context, xml );
}
@@ -2231,7 +2418,7 @@ function addCombinator( matcher, combinator, base ) {
// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
if ( xml ) {
- while ( (elem = elem[ dir ]) ) {
+ while ( ( elem = elem[ dir ] ) ) {
if ( elem.nodeType === 1 || checkNonElements ) {
if ( matcher( elem, context, xml ) ) {
return true;
@@ -2239,27 +2426,29 @@ function addCombinator( matcher, combinator, base ) {
}
}
} else {
- while ( (elem = elem[ dir ]) ) {
+ while ( ( elem = elem[ dir ] ) ) {
if ( elem.nodeType === 1 || checkNonElements ) {
- outerCache = elem[ expando ] || (elem[ expando ] = {});
+ outerCache = elem[ expando ] || ( elem[ expando ] = {} );
// Support: IE <9 only
// Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+ uniqueCache = outerCache[ elem.uniqueID ] ||
+ ( outerCache[ elem.uniqueID ] = {} );
if ( skip && skip === elem.nodeName.toLowerCase() ) {
elem = elem[ dir ] || elem;
- } else if ( (oldCache = uniqueCache[ key ]) &&
+ } else if ( ( oldCache = uniqueCache[ key ] ) &&
oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
// Assign to newCache so results back-propagate to previous elements
- return (newCache[ 2 ] = oldCache[ 2 ]);
+ return ( newCache[ 2 ] = oldCache[ 2 ] );
} else {
+
// Reuse newcache so results back-propagate to previous elements
uniqueCache[ key ] = newCache;
// A match means we're done; a fail means we have to keep checking
- if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
return true;
}
}
@@ -2275,20 +2464,20 @@ function elementMatcher( matchers ) {
function( elem, context, xml ) {
var i = matchers.length;
while ( i-- ) {
- if ( !matchers[i]( elem, context, xml ) ) {
+ if ( !matchers[ i ]( elem, context, xml ) ) {
return false;
}
}
return true;
} :
- matchers[0];
+ matchers[ 0 ];
}
function multipleContexts( selector, contexts, results ) {
var i = 0,
len = contexts.length;
for ( ; i < len; i++ ) {
- Sizzle( selector, contexts[i], results );
+ Sizzle( selector, contexts[ i ], results );
}
return results;
}
@@ -2301,7 +2490,7 @@ function condense( unmatched, map, filter, context, xml ) {
mapped = map != null;
for ( ; i < len; i++ ) {
- if ( (elem = unmatched[i]) ) {
+ if ( ( elem = unmatched[ i ] ) ) {
if ( !filter || filter( elem, context, xml ) ) {
newUnmatched.push( elem );
if ( mapped ) {
@@ -2321,14 +2510,18 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
if ( postFinder && !postFinder[ expando ] ) {
postFinder = setMatcher( postFinder, postSelector );
}
- return markFunction(function( seed, results, context, xml ) {
+ return markFunction( function( seed, results, context, xml ) {
var temp, i, elem,
preMap = [],
postMap = [],
preexisting = results.length,
// Get initial elements from seed or context
- elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+ elems = seed || multipleContexts(
+ selector || "*",
+ context.nodeType ? [ context ] : context,
+ []
+ ),
// Prefilter to get matcher input, preserving a map for seed-results synchronization
matcherIn = preFilter && ( seed || !selector ) ?
@@ -2336,6 +2529,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
elems,
matcherOut = matcher ?
+
// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
@@ -2359,8 +2553,8 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
// Un-match failing elements by moving them back to matcherIn
i = temp.length;
while ( i-- ) {
- if ( (elem = temp[i]) ) {
- matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ if ( ( elem = temp[ i ] ) ) {
+ matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
}
}
}
@@ -2368,25 +2562,27 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
if ( seed ) {
if ( postFinder || preFilter ) {
if ( postFinder ) {
+
// Get the final matcherOut by condensing this intermediate into postFinder contexts
temp = [];
i = matcherOut.length;
while ( i-- ) {
- if ( (elem = matcherOut[i]) ) {
+ if ( ( elem = matcherOut[ i ] ) ) {
+
// Restore matcherIn since elem is not yet a final match
- temp.push( (matcherIn[i] = elem) );
+ temp.push( ( matcherIn[ i ] = elem ) );
}
}
- postFinder( null, (matcherOut = []), temp, xml );
+ postFinder( null, ( matcherOut = [] ), temp, xml );
}
// Move matched elements from seed to results to keep them synchronized
i = matcherOut.length;
while ( i-- ) {
- if ( (elem = matcherOut[i]) &&
- (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+ if ( ( elem = matcherOut[ i ] ) &&
+ ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
- seed[temp] = !(results[temp] = elem);
+ seed[ temp ] = !( results[ temp ] = elem );
}
}
}
@@ -2404,14 +2600,14 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
push.apply( results, matcherOut );
}
}
- });
+ } );
}
function matcherFromTokens( tokens ) {
var checkContext, matcher, j,
len = tokens.length,
- leadingRelative = Expr.relative[ tokens[0].type ],
- implicitRelative = leadingRelative || Expr.relative[" "],
+ leadingRelative = Expr.relative[ tokens[ 0 ].type ],
+ implicitRelative = leadingRelative || Expr.relative[ " " ],
i = leadingRelative ? 1 : 0,
// The foundational matcher ensures that elements are reachable from top-level context(s)
@@ -2423,38 +2619,43 @@ function matcherFromTokens( tokens ) {
}, implicitRelative, true ),
matchers = [ function( elem, context, xml ) {
var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
- (checkContext = context).nodeType ?
+ ( checkContext = context ).nodeType ?
matchContext( elem, context, xml ) :
matchAnyContext( elem, context, xml ) );
+
// Avoid hanging onto element (issue #299)
checkContext = null;
return ret;
} ];
for ( ; i < len; i++ ) {
- if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
- matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
+ matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
} else {
- matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+ matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
// Return special upon seeing a positional matcher
if ( matcher[ expando ] ) {
+
// Find the next relative operator (if any) for proper handling
j = ++i;
for ( ; j < len; j++ ) {
- if ( Expr.relative[ tokens[j].type ] ) {
+ if ( Expr.relative[ tokens[ j ].type ] ) {
break;
}
}
return setMatcher(
i > 1 && elementMatcher( matchers ),
i > 1 && toSelector(
- // If the preceding token was a descendant combinator, insert an implicit any-element `*`
- tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens
+ .slice( 0, i - 1 )
+ .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
).replace( rtrim, "$1" ),
matcher,
i < j && matcherFromTokens( tokens.slice( i, j ) ),
- j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
j < len && toSelector( tokens )
);
}
@@ -2475,28 +2676,40 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
unmatched = seed && [],
setMatched = [],
contextBackup = outermostContext,
+
// We must always have either seed elements or outermost context
- elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
+
// Use integer dirruns iff this is the outermost matcher
- dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
len = elems.length;
if ( outermost ) {
- outermostContext = context === document || context || outermost;
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ outermostContext = context == document || context || outermost;
}
// Add elements passing elementMatchers directly to results
// Support: IE<9, Safari
// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
- for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
if ( byElement && elem ) {
j = 0;
- if ( !context && elem.ownerDocument !== document ) {
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( !context && elem.ownerDocument != document ) {
setDocument( elem );
xml = !documentIsHTML;
}
- while ( (matcher = elementMatchers[j++]) ) {
- if ( matcher( elem, context || document, xml) ) {
+ while ( ( matcher = elementMatchers[ j++ ] ) ) {
+ if ( matcher( elem, context || document, xml ) ) {
results.push( elem );
break;
}
@@ -2508,8 +2721,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
// Track unmatched elements for set filters
if ( bySet ) {
+
// They will have gone through all possible matchers
- if ( (elem = !matcher && elem) ) {
+ if ( ( elem = !matcher && elem ) ) {
matchedCount--;
}
@@ -2533,16 +2747,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
// numerically zero.
if ( bySet && i !== matchedCount ) {
j = 0;
- while ( (matcher = setMatchers[j++]) ) {
+ while ( ( matcher = setMatchers[ j++ ] ) ) {
matcher( unmatched, setMatched, context, xml );
}
if ( seed ) {
+
// Reintegrate element matches to eliminate the need for sorting
if ( matchedCount > 0 ) {
while ( i-- ) {
- if ( !(unmatched[i] || setMatched[i]) ) {
- setMatched[i] = pop.call( results );
+ if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
+ setMatched[ i ] = pop.call( results );
}
}
}
@@ -2583,13 +2798,14 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
cached = compilerCache[ selector + " " ];
if ( !cached ) {
+
// Generate a function of recursive functions that can be used to check each element
if ( !match ) {
match = tokenize( selector );
}
i = match.length;
while ( i-- ) {
- cached = matcherFromTokens( match[i] );
+ cached = matcherFromTokens( match[ i ] );
if ( cached[ expando ] ) {
setMatchers.push( cached );
} else {
@@ -2598,7 +2814,10 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
}
// Cache the compiled function
- cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+ cached = compilerCache(
+ selector,
+ matcherFromGroupMatchers( elementMatchers, setMatchers )
+ );
// Save selector and tokenization
cached.selector = selector;
@@ -2618,7 +2837,7 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
select = Sizzle.select = function( selector, context, results, seed ) {
var i, tokens, token, type, find,
compiled = typeof selector === "function" && selector,
- match = !seed && tokenize( (selector = compiled.selector || selector) );
+ match = !seed && tokenize( ( selector = compiled.selector || selector ) );
results = results || [];
@@ -2627,11 +2846,12 @@ select = Sizzle.select = function( selector, context, results, seed ) {
if ( match.length === 1 ) {
// Reduce context if the leading compound selector is an ID
- tokens = match[0] = match[0].slice( 0 );
- if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
- context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+ tokens = match[ 0 ] = match[ 0 ].slice( 0 );
+ if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
- context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
+ .replace( runescape, funescape ), context ) || [] )[ 0 ];
if ( !context ) {
return results;
@@ -2644,20 +2864,22 @@ select = Sizzle.select = function( selector, context, results, seed ) {
}
// Fetch a seed set for right-to-left matching
- i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
while ( i-- ) {
- token = tokens[i];
+ token = tokens[ i ];
// Abort if we hit a combinator
- if ( Expr.relative[ (type = token.type) ] ) {
+ if ( Expr.relative[ ( type = token.type ) ] ) {
break;
}
- if ( (find = Expr.find[ type ]) ) {
+ if ( ( find = Expr.find[ type ] ) ) {
+
// Search, expanding context for leading sibling combinators
- if ( (seed = find(
- token.matches[0].replace( runescape, funescape ),
- rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
- )) ) {
+ if ( ( seed = find(
+ token.matches[ 0 ].replace( runescape, funescape ),
+ rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
+ context
+ ) ) ) {
// If seed is empty or no tokens remain, we can return early
tokens.splice( i, 1 );
@@ -2688,7 +2910,7 @@ select = Sizzle.select = function( selector, context, results, seed ) {
// One-time assignments
// Sort stability
-support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
// Support: Chrome 14-35+
// Always assume duplicates if they aren't passed to the comparison function
@@ -2699,58 +2921,59 @@ setDocument();
// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
// Detached nodes confoundingly follow *each other*
-support.sortDetached = assert(function( el ) {
+support.sortDetached = assert( function( el ) {
+
// Should return 1, but returns 4 (following)
- return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
-});
+ return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
+} );
// Support: IE<8
// Prevent attribute/property "interpolation"
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !assert(function( el ) {
+if ( !assert( function( el ) {
el.innerHTML = "<a href='#'></a>";
- return el.firstChild.getAttribute("href") === "#" ;
-}) ) {
+ return el.firstChild.getAttribute( "href" ) === "#";
+} ) ) {
addHandle( "type|href|height|width", function( elem, name, isXML ) {
if ( !isXML ) {
return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
}
- });
+ } );
}
// Support: IE<9
// Use defaultValue in place of getAttribute("value")
-if ( !support.attributes || !assert(function( el ) {
+if ( !support.attributes || !assert( function( el ) {
el.innerHTML = "<input/>";
el.firstChild.setAttribute( "value", "" );
return el.firstChild.getAttribute( "value" ) === "";
-}) ) {
- addHandle( "value", function( elem, name, isXML ) {
+} ) ) {
+ addHandle( "value", function( elem, _name, isXML ) {
if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
return elem.defaultValue;
}
- });
+ } );
}
// Support: IE<9
// Use getAttributeNode to fetch booleans when getAttribute lies
-if ( !assert(function( el ) {
- return el.getAttribute("disabled") == null;
-}) ) {
+if ( !assert( function( el ) {
+ return el.getAttribute( "disabled" ) == null;
+} ) ) {
addHandle( booleans, function( elem, name, isXML ) {
var val;
if ( !isXML ) {
return elem[ name ] === true ? name.toLowerCase() :
- (val = elem.getAttributeNode( name )) && val.specified ?
+ ( val = elem.getAttributeNode( name ) ) && val.specified ?
val.value :
- null;
+ null;
}
- });
+ } );
}
return Sizzle;
-})( window );
+} )( window );
@@ -2803,9 +3026,9 @@ var rneedsContext = jQuery.expr.match.needsContext;
function nodeName( elem, name ) {
- return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
-};
+}
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
@@ -3119,7 +3342,7 @@ jQuery.each( {
parents: function( elem ) {
return dir( elem, "parentNode" );
},
- parentsUntil: function( elem, i, until ) {
+ parentsUntil: function( elem, _i, until ) {
return dir( elem, "parentNode", until );
},
next: function( elem ) {
@@ -3134,10 +3357,10 @@ jQuery.each( {
prevAll: function( elem ) {
return dir( elem, "previousSibling" );
},
- nextUntil: function( elem, i, until ) {
+ nextUntil: function( elem, _i, until ) {
return dir( elem, "nextSibling", until );
},
- prevUntil: function( elem, i, until ) {
+ prevUntil: function( elem, _i, until ) {
return dir( elem, "previousSibling", until );
},
siblings: function( elem ) {
@@ -3147,18 +3370,24 @@ jQuery.each( {
return siblings( elem.firstChild );
},
contents: function( elem ) {
- if ( nodeName( elem, "iframe" ) ) {
- return elem.contentDocument;
- }
+ if ( elem.contentDocument != null &&
- // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
- // Treat the template element as a regular one in browsers that
- // don't support it.
- if ( nodeName( elem, "template" ) ) {
- elem = elem.content || elem;
- }
+ // Support: IE 11+
+ // <object> elements with no `data` attribute has an object
+ // `contentDocument` with a `null` prototype.
+ getProto( elem.contentDocument ) ) {
+
+ return elem.contentDocument;
+ }
- return jQuery.merge( [], elem.childNodes );
+ // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+ // Treat the template element as a regular one in browsers that
+ // don't support it.
+ if ( nodeName( elem, "template" ) ) {
+ elem = elem.content || elem;
+ }
+
+ return jQuery.merge( [], elem.childNodes );
}
}, function( name, fn ) {
jQuery.fn[ name ] = function( until, selector ) {
@@ -3490,7 +3719,7 @@ jQuery.extend( {
var fns = arguments;
return jQuery.Deferred( function( newDefer ) {
- jQuery.each( tuples, function( i, tuple ) {
+ jQuery.each( tuples, function( _i, tuple ) {
// Map tuples (progress, done, fail) to arguments (done, fail, progress)
var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
@@ -3770,8 +3999,8 @@ jQuery.extend( {
resolveContexts = Array( i ),
resolveValues = slice.call( arguments ),
- // the master Deferred
- master = jQuery.Deferred(),
+ // the primary Deferred
+ primary = jQuery.Deferred(),
// subordinate callback factory
updateFunc = function( i ) {
@@ -3779,30 +4008,30 @@ jQuery.extend( {
resolveContexts[ i ] = this;
resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
if ( !( --remaining ) ) {
- master.resolveWith( resolveContexts, resolveValues );
+ primary.resolveWith( resolveContexts, resolveValues );
}
};
};
// Single- and empty arguments are adopted like Promise.resolve
if ( remaining <= 1 ) {
- adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+ adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
!remaining );
// Use .then() to unwrap secondary thenables (cf. gh-3000)
- if ( master.state() === "pending" ||
+ if ( primary.state() === "pending" ||
isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
- return master.then();
+ return primary.then();
}
}
// Multiple arguments are aggregated like Promise.all array elements
while ( i-- ) {
- adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+ adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
}
- return master.promise();
+ return primary.promise();
}
} );
@@ -3943,7 +4172,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
// ...except when executing function values
} else {
bulk = fn;
- fn = function( elem, key, value ) {
+ fn = function( elem, _key, value ) {
return bulk.call( jQuery( elem ), value );
};
}
@@ -3953,8 +4182,8 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
for ( ; i < len; i++ ) {
fn(
elems[ i ], key, raw ?
- value :
- value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
);
}
}
@@ -3978,7 +4207,7 @@ var rmsPrefix = /^-ms-/,
rdashAlpha = /-([a-z])/g;
// Used by camelCase as callback to replace()
-function fcamelCase( all, letter ) {
+function fcamelCase( _all, letter ) {
return letter.toUpperCase();
}
@@ -4467,6 +4696,26 @@ var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+var documentElement = document.documentElement;
+
+
+
+ var isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem );
+ },
+ composed = { composed: true };
+
+ // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
+ // Check attachment across shadow DOM boundaries when possible (gh-3504)
+ // Support: iOS 10.0-10.2 only
+ // Early iOS 10 versions support `attachShadow` but not `getRootNode`,
+ // leading to errors. We need to check for `getRootNode`.
+ if ( documentElement.getRootNode ) {
+ isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem ) ||
+ elem.getRootNode( composed ) === elem.ownerDocument;
+ };
+ }
var isHiddenWithinTree = function( elem, el ) {
// isHiddenWithinTree might be called from jQuery#filter function;
@@ -4481,32 +4730,11 @@ var isHiddenWithinTree = function( elem, el ) {
// Support: Firefox <=43 - 45
// Disconnected elements can have computed display: none, so first confirm that elem is
// in the document.
- jQuery.contains( elem.ownerDocument, elem ) &&
+ isAttached( elem ) &&
jQuery.css( elem, "display" ) === "none";
};
-var swap = function( elem, options, callback, args ) {
- var ret, name,
- old = {};
-
- // Remember the old values, and insert the new ones
- for ( name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
- }
-
- ret = callback.apply( elem, args || [] );
-
- // Revert the old values
- for ( name in options ) {
- elem.style[ name ] = old[ name ];
- }
-
- return ret;
-};
-
-
function adjustCSS( elem, prop, valueParts, tween ) {
@@ -4523,7 +4751,8 @@ function adjustCSS( elem, prop, valueParts, tween ) {
unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
// Starting value computation is required for potential unit mismatches
- initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ initialInUnit = elem.nodeType &&
+ ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
rcssNum.exec( jQuery.css( elem, prop ) );
if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
@@ -4670,17 +4899,46 @@ jQuery.fn.extend( {
} );
var rcheckableType = ( /^(?:checkbox|radio)$/i );
-var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
-// We have to close these tags to support XHTML (#13200)
-var wrapMap = {
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0 - 4.3 only
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Android <=4.1 only
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE <=11 only
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
// Support: IE <=9 only
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
+ // IE <=9 replaces <option> tags with their contents when inserted outside of
+ // the select element.
+ div.innerHTML = "<option></option>";
+ support.option = !!div.lastChild;
+} )();
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
// XHTML parsers do not magically insert elements in the
// same way that tag soup parsers do. So we cannot shorten
@@ -4693,12 +4951,14 @@ var wrapMap = {
_default: [ 0, "", "" ]
};
-// Support: IE <=9 only
-wrapMap.optgroup = wrapMap.option;
-
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
wrapMap.th = wrapMap.td;
+// Support: IE <=9 only
+if ( !support.option ) {
+ wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
+}
+
function getAll( context, tag ) {
@@ -4742,7 +5002,7 @@ function setGlobalEval( elems, refElements ) {
var rhtml = /<|&#?\w+;/;
function buildFragment( elems, context, scripts, selection, ignored ) {
- var elem, tmp, tag, wrap, contains, j,
+ var elem, tmp, tag, wrap, attached, j,
fragment = context.createDocumentFragment(),
nodes = [],
i = 0,
@@ -4806,13 +5066,13 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
continue;
}
- contains = jQuery.contains( elem.ownerDocument, elem );
+ attached = isAttached( elem );
// Append to fragment
tmp = getAll( fragment.appendChild( elem ), "script" );
// Preserve script evaluation history
- if ( contains ) {
+ if ( attached ) {
setGlobalEval( tmp );
}
@@ -4831,38 +5091,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
}
-( function() {
- var fragment = document.createDocumentFragment(),
- div = fragment.appendChild( document.createElement( "div" ) ),
- input = document.createElement( "input" );
-
- // Support: Android 4.0 - 4.3 only
- // Check state lost if the name is set (#11217)
- // Support: Windows Web Apps (WWA)
- // `name` and `type` must use .setAttribute for WWA (#14901)
- input.setAttribute( "type", "radio" );
- input.setAttribute( "checked", "checked" );
- input.setAttribute( "name", "t" );
-
- div.appendChild( input );
-
- // Support: Android <=4.1 only
- // Older WebKit doesn't clone checked state correctly in fragments
- support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
-
- // Support: IE <=11 only
- // Make sure textarea (and checkbox) defaultValue is properly cloned
- div.innerHTML = "<textarea>x</textarea>";
- support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
-} )();
-var documentElement = document.documentElement;
-
-
-
-var
- rkeyEvent = /^key/,
- rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
- rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
function returnTrue() {
return true;
@@ -4872,8 +5101,19 @@ function returnFalse() {
return false;
}
+// Support: IE <=9 - 11+
+// focus() and blur() are asynchronous, except when they are no-op.
+// So expect focus to be synchronous when the element is already active,
+// and blur to be synchronous when the element is not already active.
+// (focus and blur are always synchronous in other supported browsers,
+// this just defines when we can count on it).
+function expectSync( elem, type ) {
+ return ( elem === safeActiveElement() ) === ( type === "focus" );
+}
+
// Support: IE <=9 only
-// See #13393 for more info
+// Accessing document.activeElement can throw unexpectedly
+// https://bugs.jquery.com/ticket/13393
function safeActiveElement() {
try {
return document.activeElement;
@@ -4956,8 +5196,8 @@ jQuery.event = {
special, handlers, type, namespaces, origType,
elemData = dataPriv.get( elem );
- // Don't attach events to noData or text/comment nodes (but allow plain objects)
- if ( !elemData ) {
+ // Only attach events to objects that accept data
+ if ( !acceptData( elem ) ) {
return;
}
@@ -4981,7 +5221,7 @@ jQuery.event = {
// Init the element's event structure and main handler, if this is the first
if ( !( events = elemData.events ) ) {
- events = elemData.events = {};
+ events = elemData.events = Object.create( null );
}
if ( !( eventHandle = elemData.handle ) ) {
eventHandle = elemData.handle = function( e ) {
@@ -5139,12 +5379,15 @@ jQuery.event = {
dispatch: function( nativeEvent ) {
- // Make a writable jQuery.Event from the native event object
- var event = jQuery.event.fix( nativeEvent );
-
var i, j, ret, matched, handleObj, handlerQueue,
args = new Array( arguments.length ),
- handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+
+ // Make a writable jQuery.Event from the native event object
+ event = jQuery.event.fix( nativeEvent ),
+
+ handlers = (
+ dataPriv.get( this, "events" ) || Object.create( null )
+ )[ event.type ] || [],
special = jQuery.event.special[ event.type ] || {};
// Use the fix-ed jQuery.Event rather than the (read-only) native event
@@ -5173,9 +5416,10 @@ jQuery.event = {
while ( ( handleObj = matched.handlers[ j++ ] ) &&
!event.isImmediatePropagationStopped() ) {
- // Triggered event must either 1) have no namespace, or 2) have namespace(s)
- // a subset or equal to those in the bound event (both can have no namespace).
- if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+ // If the event is namespaced, then each handler is only invoked if it is
+ // specially universal or its namespaces are a superset of the event's.
+ if ( !event.rnamespace || handleObj.namespace === false ||
+ event.rnamespace.test( handleObj.namespace ) ) {
event.handleObj = handleObj;
event.data = handleObj.data;
@@ -5267,12 +5511,12 @@ jQuery.event = {
get: isFunction( hook ) ?
function() {
if ( this.originalEvent ) {
- return hook( this.originalEvent );
+ return hook( this.originalEvent );
}
} :
function() {
if ( this.originalEvent ) {
- return this.originalEvent[ name ];
+ return this.originalEvent[ name ];
}
},
@@ -5299,39 +5543,51 @@ jQuery.event = {
// Prevent triggered image.load events from bubbling to window.load
noBubble: true
},
- focus: {
+ click: {
- // Fire native event if possible so blur/focus sequence is correct
- trigger: function() {
- if ( this !== safeActiveElement() && this.focus ) {
- this.focus();
- return false;
- }
- },
- delegateType: "focusin"
- },
- blur: {
- trigger: function() {
- if ( this === safeActiveElement() && this.blur ) {
- this.blur();
- return false;
+ // Utilize native event to ensure correct state for checkable inputs
+ setup: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Claim the first handler
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ // dataPriv.set( el, "click", ... )
+ leverageNative( el, "click", returnTrue );
}
+
+ // Return false to allow normal processing in the caller
+ return false;
},
- delegateType: "focusout"
- },
- click: {
+ trigger: function( data ) {
- // For checkbox, fire native event so checked state will be right
- trigger: function() {
- if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
- this.click();
- return false;
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Force setup before triggering a click
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ leverageNative( el, "click" );
}
+
+ // Return non-false to allow normal event-path propagation
+ return true;
},
- // For cross-browser consistency, don't fire native .click() on links
+ // For cross-browser consistency, suppress native .click() on links
+ // Also prevent it if we're currently inside a leveraged native-event stack
_default: function( event ) {
- return nodeName( event.target, "a" );
+ var target = event.target;
+ return rcheckableType.test( target.type ) &&
+ target.click && nodeName( target, "input" ) &&
+ dataPriv.get( target, "click" ) ||
+ nodeName( target, "a" );
}
},
@@ -5348,6 +5604,99 @@ jQuery.event = {
}
};
+// Ensure the presence of an event listener that handles manually-triggered
+// synthetic events by interrupting progress until reinvoked in response to
+// *native* events that it fires directly, ensuring that state changes have
+// already occurred before other listeners are invoked.
+function leverageNative( el, type, expectSync ) {
+
+ // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
+ if ( !expectSync ) {
+ if ( dataPriv.get( el, type ) === undefined ) {
+ jQuery.event.add( el, type, returnTrue );
+ }
+ return;
+ }
+
+ // Register the controller as a special universal handler for all event namespaces
+ dataPriv.set( el, type, false );
+ jQuery.event.add( el, type, {
+ namespace: false,
+ handler: function( event ) {
+ var notAsync, result,
+ saved = dataPriv.get( this, type );
+
+ if ( ( event.isTrigger & 1 ) && this[ type ] ) {
+
+ // Interrupt processing of the outer synthetic .trigger()ed event
+ // Saved data should be false in such cases, but might be a leftover capture object
+ // from an async native handler (gh-4350)
+ if ( !saved.length ) {
+
+ // Store arguments for use when handling the inner native event
+ // There will always be at least one argument (an event object), so this array
+ // will not be confused with a leftover capture object.
+ saved = slice.call( arguments );
+ dataPriv.set( this, type, saved );
+
+ // Trigger the native event and capture its result
+ // Support: IE <=9 - 11+
+ // focus() and blur() are asynchronous
+ notAsync = expectSync( this, type );
+ this[ type ]();
+ result = dataPriv.get( this, type );
+ if ( saved !== result || notAsync ) {
+ dataPriv.set( this, type, false );
+ } else {
+ result = {};
+ }
+ if ( saved !== result ) {
+
+ // Cancel the outer synthetic event
+ event.stopImmediatePropagation();
+ event.preventDefault();
+
+ // Support: Chrome 86+
+ // In Chrome, if an element having a focusout handler is blurred by
+ // clicking outside of it, it invokes the handler synchronously. If
+ // that handler calls `.remove()` on the element, the data is cleared,
+ // leaving `result` undefined. We need to guard against this.
+ return result && result.value;
+ }
+
+ // If this is an inner synthetic event for an event with a bubbling surrogate
+ // (focus or blur), assume that the surrogate already propagated from triggering the
+ // native event and prevent that from happening again here.
+ // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
+ // bubbling surrogate propagates *after* the non-bubbling base), but that seems
+ // less bad than duplication.
+ } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
+ event.stopPropagation();
+ }
+
+ // If this is a native event triggered above, everything is now in order
+ // Fire an inner synthetic event with the original arguments
+ } else if ( saved.length ) {
+
+ // ...and capture the result
+ dataPriv.set( this, type, {
+ value: jQuery.event.trigger(
+
+ // Support: IE <=9 - 11+
+ // Extend with the prototype to reset the above stopImmediatePropagation()
+ jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
+ saved.slice( 1 ),
+ this
+ )
+ } );
+
+ // Abort handling of the native event
+ event.stopImmediatePropagation();
+ }
+ }
+ } );
+}
+
jQuery.removeEvent = function( elem, type, handle ) {
// This "if" is needed for plain objects
@@ -5460,6 +5809,7 @@ jQuery.each( {
shiftKey: true,
view: true,
"char": true,
+ code: true,
charCode: true,
key: true,
keyCode: true,
@@ -5476,35 +5826,41 @@ jQuery.each( {
targetTouches: true,
toElement: true,
touches: true,
+ which: true
+}, jQuery.event.addProp );
- which: function( event ) {
- var button = event.button;
+jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
+ jQuery.event.special[ type ] = {
- // Add which for key events
- if ( event.which == null && rkeyEvent.test( event.type ) ) {
- return event.charCode != null ? event.charCode : event.keyCode;
- }
+ // Utilize native event if possible so blur/focus sequence is correct
+ setup: function() {
- // Add which for click: 1 === left; 2 === middle; 3 === right
- if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
- if ( button & 1 ) {
- return 1;
- }
+ // Claim the first handler
+ // dataPriv.set( this, "focus", ... )
+ // dataPriv.set( this, "blur", ... )
+ leverageNative( this, type, expectSync );
- if ( button & 2 ) {
- return 3;
- }
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function() {
- if ( button & 4 ) {
- return 2;
- }
+ // Force setup before trigger
+ leverageNative( this, type );
- return 0;
- }
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
- return event.which;
- }
-}, jQuery.event.addProp );
+ // Suppress native focus or blur as it's already being fired
+ // in leverageNative.
+ _default: function() {
+ return true;
+ },
+
+ delegateType: delegateType
+ };
+} );
// Create mouseenter/leave events using mouseover/out and event-time checks
// so that event delegation works in jQuery.
@@ -5591,13 +5947,6 @@ jQuery.fn.extend( {
var
- /* eslint-disable max-len */
-
- // See https://github.com/eslint/eslint/issues/3229
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
-
- /* eslint-enable */
-
// Support: IE <=10 - 11, Edge 12 - 13 only
// In IE/Edge using regex groups here causes severe slowdowns.
// See https://connect.microsoft.com/IE/feedback/details/1736512/
@@ -5634,7 +5983,7 @@ function restoreScript( elem ) {
}
function cloneCopyEvent( src, dest ) {
- var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+ var i, l, type, pdataOld, udataOld, udataCur, events;
if ( dest.nodeType !== 1 ) {
return;
@@ -5642,13 +5991,11 @@ function cloneCopyEvent( src, dest ) {
// 1. Copy private data: events, handlers, etc.
if ( dataPriv.hasData( src ) ) {
- pdataOld = dataPriv.access( src );
- pdataCur = dataPriv.set( dest, pdataOld );
+ pdataOld = dataPriv.get( src );
events = pdataOld.events;
if ( events ) {
- delete pdataCur.handle;
- pdataCur.events = {};
+ dataPriv.remove( dest, "handle events" );
for ( type in events ) {
for ( i = 0, l = events[ type ].length; i < l; i++ ) {
@@ -5684,7 +6031,7 @@ function fixInput( src, dest ) {
function domManip( collection, args, callback, ignored ) {
// Flatten any nested arrays
- args = concat.apply( [], args );
+ args = flat( args );
var fragment, first, scripts, hasScripts, node, doc,
i = 0,
@@ -5756,11 +6103,13 @@ function domManip( collection, args, callback, ignored ) {
if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) {
// Optional AJAX dependency, but won't run scripts if not present
- if ( jQuery._evalUrl ) {
- jQuery._evalUrl( node.src );
+ if ( jQuery._evalUrl && !node.noModule ) {
+ jQuery._evalUrl( node.src, {
+ nonce: node.nonce || node.getAttribute( "nonce" )
+ }, doc );
}
} else {
- DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node );
+ DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
}
}
}
@@ -5782,7 +6131,7 @@ function remove( elem, selector, keepData ) {
}
if ( node.parentNode ) {
- if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+ if ( keepData && isAttached( node ) ) {
setGlobalEval( getAll( node, "script" ) );
}
node.parentNode.removeChild( node );
@@ -5794,13 +6143,13 @@ function remove( elem, selector, keepData ) {
jQuery.extend( {
htmlPrefilter: function( html ) {
- return html.replace( rxhtmlTag, "<$1></$2>" );
+ return html;
},
clone: function( elem, dataAndEvents, deepDataAndEvents ) {
var i, l, srcElements, destElements,
clone = elem.cloneNode( true ),
- inPage = jQuery.contains( elem.ownerDocument, elem );
+ inPage = isAttached( elem );
// Fix IE cloning issues
if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
@@ -6056,6 +6405,27 @@ var getStyles = function( elem ) {
return view.getComputedStyle( elem );
};
+var swap = function( elem, options, callback ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.call( elem );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
@@ -6096,8 +6466,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
// Support: IE 9 only
// Detect overflow:scroll screwiness (gh-3699)
+ // Support: Chrome <=64
+ // Don't get tricked when zoom affects offsetWidth (gh-4029)
div.style.position = "absolute";
- scrollboxSizeVal = div.offsetWidth === 36 || "absolute";
+ scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
documentElement.removeChild( container );
@@ -6111,7 +6483,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
}
var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
- reliableMarginLeftVal,
+ reliableTrDimensionsVal, reliableMarginLeftVal,
container = document.createElement( "div" ),
div = document.createElement( "div" );
@@ -6146,6 +6518,54 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
scrollboxSize: function() {
computeStyleTests();
return scrollboxSizeVal;
+ },
+
+ // Support: IE 9 - 11+, Edge 15 - 18+
+ // IE/Edge misreport `getComputedStyle` of table rows with width/height
+ // set in CSS while `offset*` properties report correct values.
+ // Behavior in IE 9 is more subtle than in newer versions & it passes
+ // some versions of this test; make sure not to make it pass there!
+ //
+ // Support: Firefox 70+
+ // Only Firefox includes border widths
+ // in computed dimensions. (gh-4529)
+ reliableTrDimensions: function() {
+ var table, tr, trChild, trStyle;
+ if ( reliableTrDimensionsVal == null ) {
+ table = document.createElement( "table" );
+ tr = document.createElement( "tr" );
+ trChild = document.createElement( "div" );
+
+ table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
+ tr.style.cssText = "border:1px solid";
+
+ // Support: Chrome 86+
+ // Height set through cssText does not get applied.
+ // Computed height then comes back as 0.
+ tr.style.height = "1px";
+ trChild.style.height = "9px";
+
+ // Support: Android 8 Chrome 86+
+ // In our bodyBackground.html iframe,
+ // display for all div elements is set to "inline",
+ // which causes a problem only in Android 8 Chrome 86.
+ // Ensuring the div is display: block
+ // gets around this issue.
+ trChild.style.display = "block";
+
+ documentElement
+ .appendChild( table )
+ .appendChild( tr )
+ .appendChild( trChild );
+
+ trStyle = window.getComputedStyle( tr );
+ reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
+ parseInt( trStyle.borderTopWidth, 10 ) +
+ parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;
+
+ documentElement.removeChild( table );
+ }
+ return reliableTrDimensionsVal;
}
} );
} )();
@@ -6168,7 +6588,7 @@ function curCSS( elem, name, computed ) {
if ( computed ) {
ret = computed.getPropertyValue( name ) || computed[ name ];
- if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+ if ( ret === "" && !isAttached( elem ) ) {
ret = jQuery.style( elem, name );
}
@@ -6224,30 +6644,13 @@ function addGetHookIf( conditionFn, hookFn ) {
}
-var
-
- // Swappable if display is none or starts with table
- // except "table", "table-cell", or "table-caption"
- // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
- rdisplayswap = /^(none|table(?!-c[ea]).+)/,
- rcustomProp = /^--/,
- cssShow = { position: "absolute", visibility: "hidden", display: "block" },
- cssNormalTransform = {
- letterSpacing: "0",
- fontWeight: "400"
- },
-
- cssPrefixes = [ "Webkit", "Moz", "ms" ],
- emptyStyle = document.createElement( "div" ).style;
+var cssPrefixes = [ "Webkit", "Moz", "ms" ],
+ emptyStyle = document.createElement( "div" ).style,
+ vendorProps = {};
-// Return a css property mapped to a potentially vendor prefixed property
+// Return a vendor-prefixed property or undefined
function vendorPropName( name ) {
- // Shortcut for names that are not vendor prefixed
- if ( name in emptyStyle ) {
- return name;
- }
-
// Check for vendor prefixed names
var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
i = cssPrefixes.length;
@@ -6260,17 +6663,34 @@ function vendorPropName( name ) {
}
}
-// Return a property mapped along what jQuery.cssProps suggests or to
-// a vendor prefixed property.
+// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
function finalPropName( name ) {
- var ret = jQuery.cssProps[ name ];
- if ( !ret ) {
- ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+ var final = jQuery.cssProps[ name ] || vendorProps[ name ];
+
+ if ( final ) {
+ return final;
}
- return ret;
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ return vendorProps[ name ] = vendorPropName( name ) || name;
}
-function setPositiveNumber( elem, value, subtract ) {
+
+var
+
+ // Swappable if display is none or starts with table
+ // except "table", "table-cell", or "table-caption"
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ rcustomProp = /^--/,
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ };
+
+function setPositiveNumber( _elem, value, subtract ) {
// Any relative (+/-) values have already been
// normalized at this point
@@ -6341,7 +6761,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed
delta -
extra -
0.5
- ) );
+
+ // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
+ // Use an explicit zero to avoid NaN (gh-3964)
+ ) ) || 0;
}
return delta;
@@ -6351,9 +6774,16 @@ function getWidthOrHeight( elem, dimension, extra ) {
// Start with computed style
var styles = getStyles( elem ),
+
+ // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
+ // Fake content-box until we know it's needed to know the true value.
+ boxSizingNeeded = !support.boxSizingReliable() || extra,
+ isBorderBox = boxSizingNeeded &&
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ valueIsBorderBox = isBorderBox,
+
val = curCSS( elem, dimension, styles ),
- isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
- valueIsBorderBox = isBorderBox;
+ offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
// Support: Firefox <=54
// Return a confounding non-pixel value or feign ignorance, as appropriate.
@@ -6364,22 +6794,38 @@ function getWidthOrHeight( elem, dimension, extra ) {
val = "auto";
}
- // Check for style in case a browser which returns unreliable values
- // for getComputedStyle silently falls back to the reliable elem.style
- valueIsBorderBox = valueIsBorderBox &&
- ( support.boxSizingReliable() || val === elem.style[ dimension ] );
- // Fall back to offsetWidth/offsetHeight when value is "auto"
- // This happens for inline elements with no explicit setting (gh-3571)
- // Support: Android <=4.1 - 4.3 only
- // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
- if ( val === "auto" ||
- !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) {
+ // Support: IE 9 - 11 only
+ // Use offsetWidth/offsetHeight for when box sizing is unreliable.
+ // In those cases, the computed value can be trusted to be border-box.
+ if ( ( !support.boxSizingReliable() && isBorderBox ||
+
+ // Support: IE 10 - 11+, Edge 15 - 18+
+ // IE/Edge misreport `getComputedStyle` of table rows with width/height
+ // set in CSS while `offset*` properties report correct values.
+ // Interestingly, in some cases IE 9 doesn't suffer from this issue.
+ !support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
+
+ // Fall back to offsetWidth/offsetHeight when value is "auto"
+ // This happens for inline elements with no explicit setting (gh-3571)
+ val === "auto" ||
+
+ // Support: Android <=4.1 - 4.3 only
+ // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
+ !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
- val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ];
+ // Make sure the element is visible & connected
+ elem.getClientRects().length ) {
- // offsetWidth/offsetHeight provide border-box values
- valueIsBorderBox = true;
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // Where available, offsetWidth/offsetHeight approximate border box dimensions.
+ // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
+ // retrieved value as a content box dimension.
+ valueIsBorderBox = offsetProp in elem;
+ if ( valueIsBorderBox ) {
+ val = elem[ offsetProp ];
+ }
}
// Normalize "" and auto
@@ -6425,6 +6871,13 @@ jQuery.extend( {
"flexGrow": true,
"flexShrink": true,
"fontWeight": true,
+ "gridArea": true,
+ "gridColumn": true,
+ "gridColumnEnd": true,
+ "gridColumnStart": true,
+ "gridRow": true,
+ "gridRowEnd": true,
+ "gridRowStart": true,
"lineHeight": true,
"opacity": true,
"order": true,
@@ -6480,7 +6933,9 @@ jQuery.extend( {
}
// If a number was passed in, add the unit (except for certain CSS properties)
- if ( type === "number" ) {
+ // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
+ // "px" to a few hardcoded values.
+ if ( type === "number" && !isCustomProp ) {
value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
}
@@ -6554,7 +7009,7 @@ jQuery.extend( {
}
} );
-jQuery.each( [ "height", "width" ], function( i, dimension ) {
+jQuery.each( [ "height", "width" ], function( _i, dimension ) {
jQuery.cssHooks[ dimension ] = {
get: function( elem, computed, extra ) {
if ( computed ) {
@@ -6570,28 +7025,39 @@ jQuery.each( [ "height", "width" ], function( i, dimension ) {
// Running getBoundingClientRect on a disconnected node
// in IE throws an error.
( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
- swap( elem, cssShow, function() {
- return getWidthOrHeight( elem, dimension, extra );
- } ) :
- getWidthOrHeight( elem, dimension, extra );
+ swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, dimension, extra );
+ } ) :
+ getWidthOrHeight( elem, dimension, extra );
}
},
set: function( elem, value, extra ) {
var matches,
styles = getStyles( elem ),
- isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
- subtract = extra && boxModelAdjustment(
- elem,
- dimension,
- extra,
- isBorderBox,
- styles
- );
+
+ // Only read styles.position if the test has a chance to fail
+ // to avoid forcing a reflow.
+ scrollboxSizeBuggy = !support.scrollboxSize() &&
+ styles.position === "absolute",
+
+ // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
+ boxSizingNeeded = scrollboxSizeBuggy || extra,
+ isBorderBox = boxSizingNeeded &&
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ subtract = extra ?
+ boxModelAdjustment(
+ elem,
+ dimension,
+ extra,
+ isBorderBox,
+ styles
+ ) :
+ 0;
// Account for unreliable border-box dimensions by comparing offset* to computed and
// faking a content-box to get border and padding (gh-3699)
- if ( isBorderBox && support.scrollboxSize() === styles.position ) {
+ if ( isBorderBox && scrollboxSizeBuggy ) {
subtract -= Math.ceil(
elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
parseFloat( styles[ dimension ] ) -
@@ -6621,7 +7087,7 @@ jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
swap( elem, { marginLeft: 0 }, function() {
return elem.getBoundingClientRect().left;
} )
- ) + "px";
+ ) + "px";
}
}
);
@@ -6759,9 +7225,9 @@ Tween.propHooks = {
// Use .style if available and use plain properties where available.
if ( jQuery.fx.step[ tween.prop ] ) {
jQuery.fx.step[ tween.prop ]( tween );
- } else if ( tween.elem.nodeType === 1 &&
- ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
- jQuery.cssHooks[ tween.prop ] ) ) {
+ } else if ( tween.elem.nodeType === 1 && (
+ jQuery.cssHooks[ tween.prop ] ||
+ tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
} else {
tween.elem[ tween.prop ] = tween.now;
@@ -7005,7 +7471,7 @@ function defaultPrefilter( elem, props, opts ) {
anim.done( function() {
- /* eslint-enable no-loop-func */
+ /* eslint-enable no-loop-func */
// The final step of a "hide" animation is actually hiding the element
if ( !hidden ) {
@@ -7125,7 +7591,7 @@ function Animation( elem, properties, options ) {
tweens: [],
createTween: function( prop, end ) {
var tween = jQuery.Tween( elem, animation.opts, prop, end,
- animation.opts.specialEasing[ prop ] || animation.opts.easing );
+ animation.opts.specialEasing[ prop ] || animation.opts.easing );
animation.tweens.push( tween );
return tween;
},
@@ -7298,7 +7764,8 @@ jQuery.fn.extend( {
anim.stop( true );
}
};
- doAnimation.finish = doAnimation;
+
+ doAnimation.finish = doAnimation;
return empty || optall.queue === false ?
this.each( doAnimation ) :
@@ -7316,7 +7783,7 @@ jQuery.fn.extend( {
clearQueue = type;
type = undefined;
}
- if ( clearQueue && type !== false ) {
+ if ( clearQueue ) {
this.queue( type || "fx", [] );
}
@@ -7399,7 +7866,7 @@ jQuery.fn.extend( {
}
} );
-jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
var cssFn = jQuery.fn[ name ];
jQuery.fn[ name ] = function( speed, easing, callback ) {
return speed == null || typeof speed === "boolean" ?
@@ -7620,7 +8087,7 @@ boolHook = {
}
};
-jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
var getter = attrHandle[ name ] || jQuery.find.attr;
attrHandle[ name ] = function( elem, name, isXML ) {
@@ -7938,8 +8405,8 @@ jQuery.fn.extend( {
if ( this.setAttribute ) {
this.setAttribute( "class",
className || value === false ?
- "" :
- dataPriv.get( this, "__className__" ) || ""
+ "" :
+ dataPriv.get( this, "__className__" ) || ""
);
}
}
@@ -7954,7 +8421,7 @@ jQuery.fn.extend( {
while ( ( elem = this[ i++ ] ) ) {
if ( elem.nodeType === 1 &&
( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
- return true;
+ return true;
}
}
@@ -8244,7 +8711,7 @@ jQuery.extend( jQuery.event, {
special.bindType || type;
// jQuery handler
- handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+ handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
dataPriv.get( cur, "handle" );
if ( handle ) {
handle.apply( cur, data );
@@ -8355,7 +8822,10 @@ if ( !support.focusin ) {
jQuery.event.special[ fix ] = {
setup: function() {
- var doc = this.ownerDocument || this,
+
+ // Handle: regular nodes (via `this.ownerDocument`), window
+ // (via `this.document`) & document (via `this`).
+ var doc = this.ownerDocument || this.document || this,
attaches = dataPriv.access( doc, fix );
if ( !attaches ) {
@@ -8364,7 +8834,7 @@ if ( !support.focusin ) {
dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
},
teardown: function() {
- var doc = this.ownerDocument || this,
+ var doc = this.ownerDocument || this.document || this,
attaches = dataPriv.access( doc, fix ) - 1;
if ( !attaches ) {
@@ -8380,7 +8850,7 @@ if ( !support.focusin ) {
}
var location = window.location;
-var nonce = Date.now();
+var nonce = { guid: Date.now() };
var rquery = ( /\?/ );
@@ -8388,7 +8858,7 @@ var rquery = ( /\?/ );
// Cross-browser xml parsing
jQuery.parseXML = function( data ) {
- var xml;
+ var xml, parserErrorElem;
if ( !data || typeof data !== "string" ) {
return null;
}
@@ -8397,12 +8867,17 @@ jQuery.parseXML = function( data ) {
// IE throws on parseFromString with invalid input.
try {
xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
- } catch ( e ) {
- xml = undefined;
- }
+ } catch ( e ) {}
- if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
- jQuery.error( "Invalid XML: " + data );
+ parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
+ if ( !xml || parserErrorElem ) {
+ jQuery.error( "Invalid XML: " + (
+ parserErrorElem ?
+ jQuery.map( parserErrorElem.childNodes, function( el ) {
+ return el.textContent;
+ } ).join( "\n" ) :
+ data
+ ) );
}
return xml;
};
@@ -8468,6 +8943,10 @@ jQuery.param = function( a, traditional ) {
encodeURIComponent( value == null ? "" : value );
};
+ if ( a == null ) {
+ return "";
+ }
+
// If an array was passed in, assume that it is an array of form elements.
if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
@@ -8499,16 +8978,14 @@ jQuery.fn.extend( {
// Can add propHook for "elements" to filter or add form elements
var elements = jQuery.prop( this, "elements" );
return elements ? jQuery.makeArray( elements ) : this;
- } )
- .filter( function() {
+ } ).filter( function() {
var type = this.type;
// Use .is( ":disabled" ) so that fieldset[disabled] works
return this.name && !jQuery( this ).is( ":disabled" ) &&
rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
( this.checked || !rcheckableType.test( type ) );
- } )
- .map( function( i, elem ) {
+ } ).map( function( _i, elem ) {
var val = jQuery( this ).val();
if ( val == null ) {
@@ -8561,7 +9038,8 @@ var
// Anchor tag for parsing the document origin
originAnchor = document.createElement( "a" );
- originAnchor.href = location.href;
+
+originAnchor.href = location.href;
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
function addToPrefiltersOrTransports( structure ) {
@@ -8942,8 +9420,8 @@ jQuery.extend( {
// Context for global events is callbackContext if it is a DOM node or jQuery collection
globalEventContext = s.context &&
( callbackContext.nodeType || callbackContext.jquery ) ?
- jQuery( callbackContext ) :
- jQuery.event,
+ jQuery( callbackContext ) :
+ jQuery.event,
// Deferreds
deferred = jQuery.Deferred(),
@@ -8970,12 +9448,14 @@ jQuery.extend( {
if ( !responseHeaders ) {
responseHeaders = {};
while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
- responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
+ responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
+ ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
+ .concat( match[ 2 ] );
}
}
- match = responseHeaders[ key.toLowerCase() ];
+ match = responseHeaders[ key.toLowerCase() + " " ];
}
- return match == null ? null : match;
+ return match == null ? null : match.join( ", " );
},
// Raw string
@@ -9119,7 +9599,8 @@ jQuery.extend( {
// Add or update anti-cache param if needed
if ( s.cache === false ) {
cacheURL = cacheURL.replace( rantiCache, "$1" );
- uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+ uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
+ uncached;
}
// Put hash and anti-cache on the URL that will be requested (gh-1732)
@@ -9252,6 +9733,13 @@ jQuery.extend( {
response = ajaxHandleResponses( s, jqXHR, responses );
}
+ // Use a noop converter for missing script but not if jsonp
+ if ( !isSuccess &&
+ jQuery.inArray( "script", s.dataTypes ) > -1 &&
+ jQuery.inArray( "json", s.dataTypes ) < 0 ) {
+ s.converters[ "text script" ] = function() {};
+ }
+
// Convert no matter what (that way responseXXX fields are always set)
response = ajaxConvert( s, response, jqXHR, isSuccess );
@@ -9342,7 +9830,7 @@ jQuery.extend( {
}
} );
-jQuery.each( [ "get", "post" ], function( i, method ) {
+jQuery.each( [ "get", "post" ], function( _i, method ) {
jQuery[ method ] = function( url, data, callback, type ) {
// Shift arguments if data argument was omitted
@@ -9363,8 +9851,17 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
};
} );
+jQuery.ajaxPrefilter( function( s ) {
+ var i;
+ for ( i in s.headers ) {
+ if ( i.toLowerCase() === "content-type" ) {
+ s.contentType = s.headers[ i ] || "";
+ }
+ }
+} );
+
-jQuery._evalUrl = function( url ) {
+jQuery._evalUrl = function( url, options, doc ) {
return jQuery.ajax( {
url: url,
@@ -9374,7 +9871,16 @@ jQuery._evalUrl = function( url ) {
cache: true,
async: false,
global: false,
- "throws": true
+
+ // Only evaluate the response if it is successful (gh-4126)
+ // dataFilter is not invoked for failure responses, so using it instead
+ // of the default converter is kludgy but it works.
+ converters: {
+ "text script": function() {}
+ },
+ dataFilter: function( response ) {
+ jQuery.globalEval( response, options, doc );
+ }
} );
};
@@ -9657,24 +10163,21 @@ jQuery.ajaxPrefilter( "script", function( s ) {
// Bind script tag hack transport
jQuery.ajaxTransport( "script", function( s ) {
- // This transport only deals with cross domain requests
- if ( s.crossDomain ) {
+ // This transport only deals with cross domain or forced-by-attrs requests
+ if ( s.crossDomain || s.scriptAttrs ) {
var script, callback;
return {
send: function( _, complete ) {
- script = jQuery( "<script>" ).prop( {
- charset: s.scriptCharset,
- src: s.url
- } ).on(
- "load error",
- callback = function( evt ) {
+ script = jQuery( "<script>" )
+ .attr( s.scriptAttrs || {} )
+ .prop( { charset: s.scriptCharset, src: s.url } )
+ .on( "load error", callback = function( evt ) {
script.remove();
callback = null;
if ( evt ) {
complete( evt.type === "error" ? 404 : 200, evt.type );
}
- }
- );
+ } );
// Use native DOM manipulation to avoid our domManip AJAX trickery
document.head.appendChild( script[ 0 ] );
@@ -9698,7 +10201,7 @@ var oldCallbacks = [],
jQuery.ajaxSetup( {
jsonp: "callback",
jsonpCallback: function() {
- var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+ var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
this[ callback ] = true;
return callback;
}
@@ -9915,23 +10418,6 @@ jQuery.fn.load = function( url, params, callback ) {
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( [
- "ajaxStart",
- "ajaxStop",
- "ajaxComplete",
- "ajaxError",
- "ajaxSuccess",
- "ajaxSend"
-], function( i, type ) {
- jQuery.fn[ type ] = function( fn ) {
- return this.on( type, fn );
- };
-} );
-
-
-
-
jQuery.expr.pseudos.animated = function( elem ) {
return jQuery.grep( jQuery.timers, function( fn ) {
return elem === fn.elem;
@@ -10138,7 +10624,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
// getComputedStyle returns percent when specified for top/left/bottom/right;
// rather than make the css module depend on the offset module, just check for it here
-jQuery.each( [ "top", "left" ], function( i, prop ) {
+jQuery.each( [ "top", "left" ], function( _i, prop ) {
jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
function( elem, computed ) {
if ( computed ) {
@@ -10156,8 +10642,11 @@ jQuery.each( [ "top", "left" ], function( i, prop ) {
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
- jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
- function( defaultExtra, funcName ) {
+ jQuery.each( {
+ padding: "inner" + name,
+ content: type,
+ "": "outer" + name
+ }, function( defaultExtra, funcName ) {
// Margin is only for outerHeight, outerWidth
jQuery.fn[ funcName ] = function( margin, value ) {
@@ -10201,25 +10690,19 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
} );
-jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
- "change select submit keydown keypress keyup contextmenu" ).split( " " ),
- function( i, name ) {
-
- // Handle event binding
- jQuery.fn[ name ] = function( data, fn ) {
- return arguments.length > 0 ?
- this.on( name, null, data, fn ) :
- this.trigger( name );
+jQuery.each( [
+ "ajaxStart",
+ "ajaxStop",
+ "ajaxComplete",
+ "ajaxError",
+ "ajaxSuccess",
+ "ajaxSend"
+], function( _i, type ) {
+ jQuery.fn[ type ] = function( fn ) {
+ return this.on( type, fn );
};
} );
-jQuery.fn.extend( {
- hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
- }
-} );
-
@@ -10241,9 +10724,35 @@ jQuery.fn.extend( {
return arguments.length === 1 ?
this.off( selector, "**" ) :
this.off( types, selector || "**", fn );
+ },
+
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
}
} );
+jQuery.each(
+ ( "blur focus focusin focusout resize scroll click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
+ function( _i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+ }
+);
+
+
+
+
+// Support: Android <=4.0 only
+// Make sure we trim BOM and NBSP
+var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+
// Bind a function to a context, optionally partially applying any
// arguments.
// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
@@ -10306,6 +10815,11 @@ jQuery.isNumeric = function( obj ) {
!isNaN( obj - parseFloat( obj ) );
};
+jQuery.trim = function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+};
@@ -10354,7 +10868,7 @@ jQuery.noConflict = function( deep ) {
// Expose jQuery and $ identifiers, even in AMD
// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators (#13566)
-if ( !noGlobal ) {
+if ( typeof noGlobal === "undefined" ) {
window.jQuery = window.$ = jQuery;
}
diff --git a/doc/_static/language_data.js b/doc/_static/language_data.js
index 5266fb1..863704b 100644
--- a/doc/_static/language_data.js
+++ b/doc/_static/language_data.js
@@ -5,7 +5,7 @@
* This script contains the language-specific data used by searchtools.js,
* namely the list of stopwords, stemmer, scorer and splitter.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -13,7 +13,8 @@
var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
-/* Non-minified version JS is _stemmer.js if file is provided */
+/* Non-minified version is copied as a separate JS file, is available */
+
/**
* Porter Stemmer
*/
@@ -199,7 +200,6 @@ var Stemmer = function() {
-
var splitChars = (function() {
var result = {};
var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
diff --git a/doc/_static/pygments.css b/doc/_static/pygments.css
index 20c4814..691aeb8 100644
--- a/doc/_static/pygments.css
+++ b/doc/_static/pygments.css
@@ -1,5 +1,10 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
-.highlight { background: #eeffcc; }
+.highlight { background: #eeffcc; }
.highlight .c { color: #408090; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
diff --git a/doc/_static/searchtools.js b/doc/_static/searchtools.js
index 5ff3180..7dbc787 100644
--- a/doc/_static/searchtools.js
+++ b/doc/_static/searchtools.js
@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for the full-text search.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -36,8 +36,10 @@ if (!Scorer) {
// query found in title
title: 15,
+ partialTitle: 7,
// query found in terms
- term: 5
+ term: 5,
+ partialTerm: 2
};
}
@@ -56,6 +58,19 @@ var Search = {
_queued_query : null,
_pulse_status : -1,
+ htmlToText : function(htmlString) {
+ var virtualDocument = document.implementation.createHTMLDocument('virtual');
+ var htmlElement = $(htmlString, virtualDocument);
+ htmlElement.find('.headerlink').remove();
+ docContent = htmlElement.find('[role=main]')[0];
+ if(docContent === undefined) {
+ console.warn("Content block not found. Sphinx search tries to obtain it " +
+ "via '[role=main]'. Could you check your theme or template.");
+ return "";
+ }
+ return docContent.textContent || docContent.innerText;
+ },
+
init : function() {
var params = $.getQueryParameters();
if (params.q) {
@@ -120,7 +135,7 @@ var Search = {
this.out = $('#search-results');
this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
this.dots = $('<span></span>').appendTo(this.title);
- this.status = $('<p style="display: none"></p>').appendTo(this.out);
+ this.status = $('<p class="search-summary">&nbsp;</p>').appendTo(this.out);
this.output = $('<ul class="search"/>').appendTo(this.out);
$('#search-progress').text(_('Preparing search...'));
@@ -151,8 +166,7 @@ var Search = {
objectterms.push(tmp[i].toLowerCase());
}
- if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||
- tmp[i] === "") {
+ if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i] === "") {
// skip this "word"
continue;
}
@@ -234,8 +248,10 @@ var Search = {
// results left, load the summary and display it
if (results.length) {
var item = results.pop();
- var listItem = $('<li style="display:none"></li>');
- if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {
+ var listItem = $('<li></li>');
+ var requestUrl = "";
+ var linkUrl = "";
+ if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') {
// dirhtml builder
var dirname = item[0] + '/';
if (dirname.match(/\/index\/$/)) {
@@ -243,44 +259,45 @@ var Search = {
} else if (dirname == 'index/') {
dirname = '';
}
- listItem.append($('<a/>').attr('href',
- DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
- highlightstring + item[2]).html(item[1]));
+ requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + dirname;
+ linkUrl = requestUrl;
+
} else {
// normal html builders
- listItem.append($('<a/>').attr('href',
- item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
- highlightstring + item[2]).html(item[1]));
+ requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+ linkUrl = item[0] + DOCUMENTATION_OPTIONS.LINK_SUFFIX;
}
+ listItem.append($('<a/>').attr('href',
+ linkUrl +
+ highlightstring + item[2]).html(item[1]));
if (item[3]) {
listItem.append($('<span> (' + item[3] + ')</span>'));
Search.output.append(listItem);
- listItem.slideDown(5, function() {
+ setTimeout(function() {
displayNextItem();
- });
+ }, 5);
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
- var suffix = DOCUMENTATION_OPTIONS.SOURCELINK_SUFFIX;
- if (suffix === undefined) {
- suffix = '.txt';
- }
- $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[5] + (item[5].slice(-suffix.length) === suffix ? '' : suffix),
+ $.ajax({url: requestUrl,
dataType: "text",
complete: function(jqxhr, textstatus) {
var data = jqxhr.responseText;
if (data !== '' && data !== undefined) {
- listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));
+ var summary = Search.makeSearchSummary(data, searchterms, hlterms);
+ if (summary) {
+ listItem.append(summary);
+ }
}
Search.output.append(listItem);
- listItem.slideDown(5, function() {
+ setTimeout(function() {
displayNextItem();
- });
+ }, 5);
}});
} else {
// no source available, just display title
Search.output.append(listItem);
- listItem.slideDown(5, function() {
+ setTimeout(function() {
displayNextItem();
- });
+ }, 5);
}
}
// search finished, update title and status message
@@ -311,20 +328,25 @@ var Search = {
var results = [];
for (var prefix in objects) {
- for (var name in objects[prefix]) {
+ if (!(objects[prefix] instanceof Array)) {
+ objects[prefix] = Object.entries(objects[prefix]).map(([name, match]) => [...match, name]);
+ }
+ for (var iMatch = 0; iMatch != objects[prefix].length; ++iMatch) {
+ var match = objects[prefix][iMatch];
+ var name = match[4];
var fullname = (prefix ? prefix + '.' : '') + name;
- if (fullname.toLowerCase().indexOf(object) > -1) {
+ var fullnameLower = fullname.toLowerCase()
+ if (fullnameLower.indexOf(object) > -1) {
var score = 0;
- var parts = fullname.split('.');
+ var parts = fullnameLower.split('.');
// check for different match types: exact matches of full name or
// "last name" (i.e. last dotted part)
- if (fullname == object || parts[parts.length - 1] == object) {
+ if (fullnameLower == object || parts[parts.length - 1] == object) {
score += Scorer.objNameMatch;
// matches in last name
} else if (parts[parts.length - 1].indexOf(object) > -1) {
score += Scorer.objPartialMatch;
}
- var match = objects[prefix][name];
var objname = objnames[match[1]][2];
var title = titles[match[0]];
// If more than one term searched for, we require other words to be
@@ -365,6 +387,13 @@ var Search = {
},
/**
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
+ */
+ escapeRegExp : function(string) {
+ return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
+ },
+
+ /**
* search for full-text terms in the index
*/
performTermsSearch : function(searchterms, excluded, terms, titleterms) {
@@ -385,6 +414,20 @@ var Search = {
{files: terms[word], score: Scorer.term},
{files: titleterms[word], score: Scorer.title}
];
+ // add support for partial matches
+ if (word.length > 2) {
+ var word_regex = this.escapeRegExp(word);
+ for (var w in terms) {
+ if (w.match(word_regex) && !terms[word]) {
+ _o.push({files: terms[w], score: Scorer.partialTerm})
+ }
+ }
+ for (var w in titleterms) {
+ if (w.match(word_regex) && !titleterms[word]) {
+ _o.push({files: titleterms[w], score: Scorer.partialTitle})
+ }
+ }
+ }
// no match but word was a required one
if ($u.every(_o, function(o){return o.files === undefined;})) {
@@ -404,7 +447,7 @@ var Search = {
for (j = 0; j < _files.length; j++) {
file = _files[j];
if (!(file in scoreMap))
- scoreMap[file] = {}
+ scoreMap[file] = {};
scoreMap[file][word] = o.score;
}
});
@@ -412,7 +455,7 @@ var Search = {
// create the mapping
for (j = 0; j < files.length; j++) {
file = files[j];
- if (file in fileMap)
+ if (file in fileMap && fileMap[file].indexOf(word) === -1)
fileMap[file].push(word);
else
fileMap[file] = [word];
@@ -424,8 +467,12 @@ var Search = {
var valid = true;
// check if all requirements are matched
- if (fileMap[file].length != searchterms.length)
- continue;
+ var filteredTermCount = // as search terms with length < 3 are discarded: ignore
+ searchterms.filter(function(term){return term.length > 2}).length
+ if (
+ fileMap[file].length != searchterms.length &&
+ fileMap[file].length != filteredTermCount
+ ) continue;
// ensure that none of the excluded terms is in the search result
for (i = 0; i < excluded.length; i++) {
@@ -456,7 +503,11 @@ var Search = {
* words. the first one is used to find the occurrence, the
* latter for highlighting it.
*/
- makeSearchSummary : function(text, keywords, hlwords) {
+ makeSearchSummary : function(htmlText, keywords, hlwords) {
+ var text = Search.htmlToText(htmlText);
+ if (text == "") {
+ return null;
+ }
var textLower = text.toLowerCase();
var start = 0;
$.each(keywords, function() {
@@ -468,7 +519,7 @@ var Search = {
var excerpt = ((start > 0) ? '...' : '') +
$.trim(text.substr(start, 240)) +
((start + 240 - text.length) ? '...' : '');
- var rv = $('<div class="context"></div>').text(excerpt);
+ var rv = $('<p class="context"></p>').text(excerpt);
$.each(hlwords, function() {
rv = rv.highlightText(this, 'highlighted');
});
diff --git a/doc/_static/sidebar.js b/doc/_static/sidebar.js
index 686ca39..599639f 100644
--- a/doc/_static/sidebar.js
+++ b/doc/_static/sidebar.js
@@ -16,7 +16,7 @@
* Once the browser is closed the cookie is deleted and the position
* reset to the default (expanded).
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/doc/_static/underscore.js b/doc/_static/underscore.js
index 709ae8e..b812b35 100644
--- a/doc/_static/underscore.js
+++ b/doc/_static/underscore.js
@@ -1,24 +1,28 @@
-// Underscore.js 1.9.1
-// http://underscorejs.org
-// (c) 2009-2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
-// Underscore may be freely distributed under the MIT license.
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define('underscore', factory) :
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {
+ var current = global._;
+ var exports = global._ = factory();
+ exports.noConflict = function () { global._ = current; return exports; };
+ }()));
+}(this, (function () {
+ // Underscore.js 1.13.2
+ // https://underscorejs.org
+ // (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
+ // Underscore may be freely distributed under the MIT license.
-(function() {
-
- // Baseline setup
- // --------------
+ // Current version.
+ var VERSION = '1.13.2';
// Establish the root object, `window` (`self`) in the browser, `global`
// on the server, or `this` in some virtual machines. We use `self`
// instead of `window` for `WebWorker` support.
var root = typeof self == 'object' && self.self === self && self ||
typeof global == 'object' && global.global === global && global ||
- this ||
+ Function('return this')() ||
{};
- // Save the previous value of the `_` variable.
- var previousUnderscore = root._;
-
// Save bytes in the minified (but not gzipped) version:
var ArrayProto = Array.prototype, ObjProto = Object.prototype;
var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;
@@ -29,87 +33,35 @@
toString = ObjProto.toString,
hasOwnProperty = ObjProto.hasOwnProperty;
- // All **ECMAScript 5** native function implementations that we hope to use
+ // Modern feature detection.
+ var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',
+ supportsDataView = typeof DataView !== 'undefined';
+
+ // All **ECMAScript 5+** native function implementations that we hope to use
// are declared here.
var nativeIsArray = Array.isArray,
nativeKeys = Object.keys,
- nativeCreate = Object.create;
-
- // Naked function reference for surrogate-prototype-swapping.
- var Ctor = function(){};
-
- // Create a safe reference to the Underscore object for use below.
- var _ = function(obj) {
- if (obj instanceof _) return obj;
- if (!(this instanceof _)) return new _(obj);
- this._wrapped = obj;
- };
-
- // Export the Underscore object for **Node.js**, with
- // backwards-compatibility for their old module API. If we're in
- // the browser, add `_` as a global object.
- // (`nodeType` is checked to ensure that `module`
- // and `exports` are not HTML elements.)
- if (typeof exports != 'undefined' && !exports.nodeType) {
- if (typeof module != 'undefined' && !module.nodeType && module.exports) {
- exports = module.exports = _;
- }
- exports._ = _;
- } else {
- root._ = _;
- }
-
- // Current version.
- _.VERSION = '1.9.1';
-
- // Internal function that returns an efficient (for current engines) version
- // of the passed-in callback, to be repeatedly applied in other Underscore
- // functions.
- var optimizeCb = function(func, context, argCount) {
- if (context === void 0) return func;
- switch (argCount == null ? 3 : argCount) {
- case 1: return function(value) {
- return func.call(context, value);
- };
- // The 2-argument case is omitted because we’re not using it.
- case 3: return function(value, index, collection) {
- return func.call(context, value, index, collection);
- };
- case 4: return function(accumulator, value, index, collection) {
- return func.call(context, accumulator, value, index, collection);
- };
- }
- return function() {
- return func.apply(context, arguments);
- };
- };
+ nativeCreate = Object.create,
+ nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;
- var builtinIteratee;
+ // Create references to these builtin functions because we override them.
+ var _isNaN = isNaN,
+ _isFinite = isFinite;
- // An internal function to generate callbacks that can be applied to each
- // element in a collection, returning the desired result — either `identity`,
- // an arbitrary callback, a property matcher, or a property accessor.
- var cb = function(value, context, argCount) {
- if (_.iteratee !== builtinIteratee) return _.iteratee(value, context);
- if (value == null) return _.identity;
- if (_.isFunction(value)) return optimizeCb(value, context, argCount);
- if (_.isObject(value) && !_.isArray(value)) return _.matcher(value);
- return _.property(value);
- };
+ // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.
+ var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');
+ var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',
+ 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
- // External wrapper for our callback generator. Users may customize
- // `_.iteratee` if they want additional predicate/iteratee shorthand styles.
- // This abstraction hides the internal-only argCount argument.
- _.iteratee = builtinIteratee = function(value, context) {
- return cb(value, context, Infinity);
- };
+ // The largest integer that can be represented exactly.
+ var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
// Some functions take a variable number of arguments, or a few expected
// arguments at the beginning and then a variable number of values to operate
// on. This helper accumulates all remaining arguments past the function’s
// argument length (or an explicit `startIndex`), into an array that becomes
// the last argument. Similar to ES6’s "rest parameter".
- var restArguments = function(func, startIndex) {
+ function restArguments(func, startIndex) {
startIndex = startIndex == null ? func.length - 1 : +startIndex;
return function() {
var length = Math.max(arguments.length - startIndex, 0),
@@ -130,1067 +82,280 @@
args[startIndex] = rest;
return func.apply(this, args);
};
- };
-
- // An internal function for creating a new object that inherits from another.
- var baseCreate = function(prototype) {
- if (!_.isObject(prototype)) return {};
- if (nativeCreate) return nativeCreate(prototype);
- Ctor.prototype = prototype;
- var result = new Ctor;
- Ctor.prototype = null;
- return result;
- };
-
- var shallowProperty = function(key) {
- return function(obj) {
- return obj == null ? void 0 : obj[key];
- };
- };
-
- var has = function(obj, path) {
- return obj != null && hasOwnProperty.call(obj, path);
}
- var deepGet = function(obj, path) {
- var length = path.length;
- for (var i = 0; i < length; i++) {
- if (obj == null) return void 0;
- obj = obj[path[i]];
- }
- return length ? obj : void 0;
- };
-
- // Helper for collection methods to determine whether a collection
- // should be iterated as an array or as an object.
- // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
- // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094
- var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
- var getLength = shallowProperty('length');
- var isArrayLike = function(collection) {
- var length = getLength(collection);
- return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
- };
+ // Is a given variable an object?
+ function isObject(obj) {
+ var type = typeof obj;
+ return type === 'function' || type === 'object' && !!obj;
+ }
- // Collection Functions
- // --------------------
+ // Is a given value equal to null?
+ function isNull(obj) {
+ return obj === null;
+ }
- // The cornerstone, an `each` implementation, aka `forEach`.
- // Handles raw objects in addition to array-likes. Treats all
- // sparse array-likes as if they were dense.
- _.each = _.forEach = function(obj, iteratee, context) {
- iteratee = optimizeCb(iteratee, context);
- var i, length;
- if (isArrayLike(obj)) {
- for (i = 0, length = obj.length; i < length; i++) {
- iteratee(obj[i], i, obj);
- }
- } else {
- var keys = _.keys(obj);
- for (i = 0, length = keys.length; i < length; i++) {
- iteratee(obj[keys[i]], keys[i], obj);
- }
- }
- return obj;
- };
+ // Is a given variable undefined?
+ function isUndefined(obj) {
+ return obj === void 0;
+ }
- // Return the results of applying the iteratee to each element.
- _.map = _.collect = function(obj, iteratee, context) {
- iteratee = cb(iteratee, context);
- var keys = !isArrayLike(obj) && _.keys(obj),
- length = (keys || obj).length,
- results = Array(length);
- for (var index = 0; index < length; index++) {
- var currentKey = keys ? keys[index] : index;
- results[index] = iteratee(obj[currentKey], currentKey, obj);
- }
- return results;
- };
+ // Is a given value a boolean?
+ function isBoolean(obj) {
+ return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
+ }
- // Create a reducing function iterating left or right.
- var createReduce = function(dir) {
- // Wrap code that reassigns argument variables in a separate function than
- // the one that accesses `arguments.length` to avoid a perf hit. (#1991)
- var reducer = function(obj, iteratee, memo, initial) {
- var keys = !isArrayLike(obj) && _.keys(obj),
- length = (keys || obj).length,
- index = dir > 0 ? 0 : length - 1;
- if (!initial) {
- memo = obj[keys ? keys[index] : index];
- index += dir;
- }
- for (; index >= 0 && index < length; index += dir) {
- var currentKey = keys ? keys[index] : index;
- memo = iteratee(memo, obj[currentKey], currentKey, obj);
- }
- return memo;
- };
+ // Is a given value a DOM element?
+ function isElement(obj) {
+ return !!(obj && obj.nodeType === 1);
+ }
- return function(obj, iteratee, memo, context) {
- var initial = arguments.length >= 3;
- return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);
+ // Internal function for creating a `toString`-based type tester.
+ function tagTester(name) {
+ var tag = '[object ' + name + ']';
+ return function(obj) {
+ return toString.call(obj) === tag;
};
- };
-
- // **Reduce** builds up a single result from a list of values, aka `inject`,
- // or `foldl`.
- _.reduce = _.foldl = _.inject = createReduce(1);
-
- // The right-associative version of reduce, also known as `foldr`.
- _.reduceRight = _.foldr = createReduce(-1);
-
- // Return the first value which passes a truth test. Aliased as `detect`.
- _.find = _.detect = function(obj, predicate, context) {
- var keyFinder = isArrayLike(obj) ? _.findIndex : _.findKey;
- var key = keyFinder(obj, predicate, context);
- if (key !== void 0 && key !== -1) return obj[key];
- };
-
- // Return all the elements that pass a truth test.
- // Aliased as `select`.
- _.filter = _.select = function(obj, predicate, context) {
- var results = [];
- predicate = cb(predicate, context);
- _.each(obj, function(value, index, list) {
- if (predicate(value, index, list)) results.push(value);
- });
- return results;
- };
-
- // Return all the elements for which a truth test fails.
- _.reject = function(obj, predicate, context) {
- return _.filter(obj, _.negate(cb(predicate)), context);
- };
-
- // Determine whether all of the elements match a truth test.
- // Aliased as `all`.
- _.every = _.all = function(obj, predicate, context) {
- predicate = cb(predicate, context);
- var keys = !isArrayLike(obj) && _.keys(obj),
- length = (keys || obj).length;
- for (var index = 0; index < length; index++) {
- var currentKey = keys ? keys[index] : index;
- if (!predicate(obj[currentKey], currentKey, obj)) return false;
- }
- return true;
- };
-
- // Determine if at least one element in the object matches a truth test.
- // Aliased as `any`.
- _.some = _.any = function(obj, predicate, context) {
- predicate = cb(predicate, context);
- var keys = !isArrayLike(obj) && _.keys(obj),
- length = (keys || obj).length;
- for (var index = 0; index < length; index++) {
- var currentKey = keys ? keys[index] : index;
- if (predicate(obj[currentKey], currentKey, obj)) return true;
- }
- return false;
- };
-
- // Determine if the array or object contains a given item (using `===`).
- // Aliased as `includes` and `include`.
- _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {
- if (!isArrayLike(obj)) obj = _.values(obj);
- if (typeof fromIndex != 'number' || guard) fromIndex = 0;
- return _.indexOf(obj, item, fromIndex) >= 0;
- };
+ }
- // Invoke a method (with arguments) on every item in a collection.
- _.invoke = restArguments(function(obj, path, args) {
- var contextPath, func;
- if (_.isFunction(path)) {
- func = path;
- } else if (_.isArray(path)) {
- contextPath = path.slice(0, -1);
- path = path[path.length - 1];
- }
- return _.map(obj, function(context) {
- var method = func;
- if (!method) {
- if (contextPath && contextPath.length) {
- context = deepGet(context, contextPath);
- }
- if (context == null) return void 0;
- method = context[path];
- }
- return method == null ? method : method.apply(context, args);
- });
- });
+ var isString = tagTester('String');
- // Convenience version of a common use case of `map`: fetching a property.
- _.pluck = function(obj, key) {
- return _.map(obj, _.property(key));
- };
+ var isNumber = tagTester('Number');
- // Convenience version of a common use case of `filter`: selecting only objects
- // containing specific `key:value` pairs.
- _.where = function(obj, attrs) {
- return _.filter(obj, _.matcher(attrs));
- };
+ var isDate = tagTester('Date');
- // Convenience version of a common use case of `find`: getting the first object
- // containing specific `key:value` pairs.
- _.findWhere = function(obj, attrs) {
- return _.find(obj, _.matcher(attrs));
- };
+ var isRegExp = tagTester('RegExp');
- // Return the maximum element (or element-based computation).
- _.max = function(obj, iteratee, context) {
- var result = -Infinity, lastComputed = -Infinity,
- value, computed;
- if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {
- obj = isArrayLike(obj) ? obj : _.values(obj);
- for (var i = 0, length = obj.length; i < length; i++) {
- value = obj[i];
- if (value != null && value > result) {
- result = value;
- }
- }
- } else {
- iteratee = cb(iteratee, context);
- _.each(obj, function(v, index, list) {
- computed = iteratee(v, index, list);
- if (computed > lastComputed || computed === -Infinity && result === -Infinity) {
- result = v;
- lastComputed = computed;
- }
- });
- }
- return result;
- };
-
- // Return the minimum element (or element-based computation).
- _.min = function(obj, iteratee, context) {
- var result = Infinity, lastComputed = Infinity,
- value, computed;
- if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {
- obj = isArrayLike(obj) ? obj : _.values(obj);
- for (var i = 0, length = obj.length; i < length; i++) {
- value = obj[i];
- if (value != null && value < result) {
- result = value;
- }
- }
- } else {
- iteratee = cb(iteratee, context);
- _.each(obj, function(v, index, list) {
- computed = iteratee(v, index, list);
- if (computed < lastComputed || computed === Infinity && result === Infinity) {
- result = v;
- lastComputed = computed;
- }
- });
- }
- return result;
- };
+ var isError = tagTester('Error');
- // Shuffle a collection.
- _.shuffle = function(obj) {
- return _.sample(obj, Infinity);
- };
+ var isSymbol = tagTester('Symbol');
- // Sample **n** random values from a collection using the modern version of the
- // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
- // If **n** is not specified, returns a single random element.
- // The internal `guard` argument allows it to work with `map`.
- _.sample = function(obj, n, guard) {
- if (n == null || guard) {
- if (!isArrayLike(obj)) obj = _.values(obj);
- return obj[_.random(obj.length - 1)];
- }
- var sample = isArrayLike(obj) ? _.clone(obj) : _.values(obj);
- var length = getLength(sample);
- n = Math.max(Math.min(n, length), 0);
- var last = length - 1;
- for (var index = 0; index < n; index++) {
- var rand = _.random(index, last);
- var temp = sample[index];
- sample[index] = sample[rand];
- sample[rand] = temp;
- }
- return sample.slice(0, n);
- };
+ var isArrayBuffer = tagTester('ArrayBuffer');
- // Sort the object's values by a criterion produced by an iteratee.
- _.sortBy = function(obj, iteratee, context) {
- var index = 0;
- iteratee = cb(iteratee, context);
- return _.pluck(_.map(obj, function(value, key, list) {
- return {
- value: value,
- index: index++,
- criteria: iteratee(value, key, list)
- };
- }).sort(function(left, right) {
- var a = left.criteria;
- var b = right.criteria;
- if (a !== b) {
- if (a > b || a === void 0) return 1;
- if (a < b || b === void 0) return -1;
- }
- return left.index - right.index;
- }), 'value');
- };
+ var isFunction = tagTester('Function');
- // An internal function used for aggregate "group by" operations.
- var group = function(behavior, partition) {
- return function(obj, iteratee, context) {
- var result = partition ? [[], []] : {};
- iteratee = cb(iteratee, context);
- _.each(obj, function(value, index) {
- var key = iteratee(value, index, obj);
- behavior(result, value, key);
- });
- return result;
+ // Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old
+ // v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).
+ var nodelist = root.document && root.document.childNodes;
+ if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {
+ isFunction = function(obj) {
+ return typeof obj == 'function' || false;
};
- };
-
- // Groups the object's values by a criterion. Pass either a string attribute
- // to group by, or a function that returns the criterion.
- _.groupBy = group(function(result, value, key) {
- if (has(result, key)) result[key].push(value); else result[key] = [value];
- });
-
- // Indexes the object's values by a criterion, similar to `groupBy`, but for
- // when you know that your index values will be unique.
- _.indexBy = group(function(result, value, key) {
- result[key] = value;
- });
-
- // Counts instances of an object that group by a certain criterion. Pass
- // either a string attribute to count by, or a function that returns the
- // criterion.
- _.countBy = group(function(result, value, key) {
- if (has(result, key)) result[key]++; else result[key] = 1;
- });
-
- var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
- // Safely create a real, live array from anything iterable.
- _.toArray = function(obj) {
- if (!obj) return [];
- if (_.isArray(obj)) return slice.call(obj);
- if (_.isString(obj)) {
- // Keep surrogate pair characters together
- return obj.match(reStrSymbol);
- }
- if (isArrayLike(obj)) return _.map(obj, _.identity);
- return _.values(obj);
- };
-
- // Return the number of elements in an object.
- _.size = function(obj) {
- if (obj == null) return 0;
- return isArrayLike(obj) ? obj.length : _.keys(obj).length;
- };
-
- // Split a collection into two arrays: one whose elements all satisfy the given
- // predicate, and one whose elements all do not satisfy the predicate.
- _.partition = group(function(result, value, pass) {
- result[pass ? 0 : 1].push(value);
- }, true);
-
- // Array Functions
- // ---------------
-
- // Get the first element of an array. Passing **n** will return the first N
- // values in the array. Aliased as `head` and `take`. The **guard** check
- // allows it to work with `_.map`.
- _.first = _.head = _.take = function(array, n, guard) {
- if (array == null || array.length < 1) return n == null ? void 0 : [];
- if (n == null || guard) return array[0];
- return _.initial(array, array.length - n);
- };
-
- // Returns everything but the last entry of the array. Especially useful on
- // the arguments object. Passing **n** will return all the values in
- // the array, excluding the last N.
- _.initial = function(array, n, guard) {
- return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
- };
-
- // Get the last element of an array. Passing **n** will return the last N
- // values in the array.
- _.last = function(array, n, guard) {
- if (array == null || array.length < 1) return n == null ? void 0 : [];
- if (n == null || guard) return array[array.length - 1];
- return _.rest(array, Math.max(0, array.length - n));
- };
-
- // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.
- // Especially useful on the arguments object. Passing an **n** will return
- // the rest N values in the array.
- _.rest = _.tail = _.drop = function(array, n, guard) {
- return slice.call(array, n == null || guard ? 1 : n);
- };
-
- // Trim out all falsy values from an array.
- _.compact = function(array) {
- return _.filter(array, Boolean);
- };
-
- // Internal implementation of a recursive `flatten` function.
- var flatten = function(input, shallow, strict, output) {
- output = output || [];
- var idx = output.length;
- for (var i = 0, length = getLength(input); i < length; i++) {
- var value = input[i];
- if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
- // Flatten current level of array or arguments object.
- if (shallow) {
- var j = 0, len = value.length;
- while (j < len) output[idx++] = value[j++];
- } else {
- flatten(value, shallow, strict, output);
- idx = output.length;
- }
- } else if (!strict) {
- output[idx++] = value;
- }
- }
- return output;
- };
-
- // Flatten out an array, either recursively (by default), or just one level.
- _.flatten = function(array, shallow) {
- return flatten(array, shallow, false);
- };
-
- // Return a version of the array that does not contain the specified value(s).
- _.without = restArguments(function(array, otherArrays) {
- return _.difference(array, otherArrays);
- });
-
- // Produce a duplicate-free version of the array. If the array has already
- // been sorted, you have the option of using a faster algorithm.
- // The faster algorithm will not work with an iteratee if the iteratee
- // is not a one-to-one function, so providing an iteratee will disable
- // the faster algorithm.
- // Aliased as `unique`.
- _.uniq = _.unique = function(array, isSorted, iteratee, context) {
- if (!_.isBoolean(isSorted)) {
- context = iteratee;
- iteratee = isSorted;
- isSorted = false;
- }
- if (iteratee != null) iteratee = cb(iteratee, context);
- var result = [];
- var seen = [];
- for (var i = 0, length = getLength(array); i < length; i++) {
- var value = array[i],
- computed = iteratee ? iteratee(value, i, array) : value;
- if (isSorted && !iteratee) {
- if (!i || seen !== computed) result.push(value);
- seen = computed;
- } else if (iteratee) {
- if (!_.contains(seen, computed)) {
- seen.push(computed);
- result.push(value);
- }
- } else if (!_.contains(result, value)) {
- result.push(value);
- }
- }
- return result;
- };
-
- // Produce an array that contains the union: each distinct element from all of
- // the passed-in arrays.
- _.union = restArguments(function(arrays) {
- return _.uniq(flatten(arrays, true, true));
- });
-
- // Produce an array that contains every item shared between all the
- // passed-in arrays.
- _.intersection = function(array) {
- var result = [];
- var argsLength = arguments.length;
- for (var i = 0, length = getLength(array); i < length; i++) {
- var item = array[i];
- if (_.contains(result, item)) continue;
- var j;
- for (j = 1; j < argsLength; j++) {
- if (!_.contains(arguments[j], item)) break;
- }
- if (j === argsLength) result.push(item);
- }
- return result;
- };
-
- // Take the difference between one array and a number of other arrays.
- // Only the elements present in just the first array will remain.
- _.difference = restArguments(function(array, rest) {
- rest = flatten(rest, true, true);
- return _.filter(array, function(value){
- return !_.contains(rest, value);
- });
- });
-
- // Complement of _.zip. Unzip accepts an array of arrays and groups
- // each array's elements on shared indices.
- _.unzip = function(array) {
- var length = array && _.max(array, getLength).length || 0;
- var result = Array(length);
-
- for (var index = 0; index < length; index++) {
- result[index] = _.pluck(array, index);
- }
- return result;
- };
-
- // Zip together multiple lists into a single array -- elements that share
- // an index go together.
- _.zip = restArguments(_.unzip);
-
- // Converts lists into objects. Pass either a single array of `[key, value]`
- // pairs, or two parallel arrays of the same length -- one of keys, and one of
- // the corresponding values. Passing by pairs is the reverse of _.pairs.
- _.object = function(list, values) {
- var result = {};
- for (var i = 0, length = getLength(list); i < length; i++) {
- if (values) {
- result[list[i]] = values[i];
- } else {
- result[list[i][0]] = list[i][1];
- }
- }
- return result;
- };
+ }
- // Generator function to create the findIndex and findLastIndex functions.
- var createPredicateIndexFinder = function(dir) {
- return function(array, predicate, context) {
- predicate = cb(predicate, context);
- var length = getLength(array);
- var index = dir > 0 ? 0 : length - 1;
- for (; index >= 0 && index < length; index += dir) {
- if (predicate(array[index], index, array)) return index;
- }
- return -1;
- };
- };
+ var isFunction$1 = isFunction;
- // Returns the first index on an array-like that passes a predicate test.
- _.findIndex = createPredicateIndexFinder(1);
- _.findLastIndex = createPredicateIndexFinder(-1);
+ var hasObjectTag = tagTester('Object');
- // Use a comparator function to figure out the smallest index at which
- // an object should be inserted so as to maintain order. Uses binary search.
- _.sortedIndex = function(array, obj, iteratee, context) {
- iteratee = cb(iteratee, context, 1);
- var value = iteratee(obj);
- var low = 0, high = getLength(array);
- while (low < high) {
- var mid = Math.floor((low + high) / 2);
- if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
- }
- return low;
- };
+ // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.
+ // In IE 11, the most common among them, this problem also applies to
+ // `Map`, `WeakMap` and `Set`.
+ var hasStringTagBug = (
+ supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))
+ ),
+ isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));
- // Generator function to create the indexOf and lastIndexOf functions.
- var createIndexFinder = function(dir, predicateFind, sortedIndex) {
- return function(array, item, idx) {
- var i = 0, length = getLength(array);
- if (typeof idx == 'number') {
- if (dir > 0) {
- i = idx >= 0 ? idx : Math.max(idx + length, i);
- } else {
- length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
- }
- } else if (sortedIndex && idx && length) {
- idx = sortedIndex(array, item);
- return array[idx] === item ? idx : -1;
- }
- if (item !== item) {
- idx = predicateFind(slice.call(array, i, length), _.isNaN);
- return idx >= 0 ? idx + i : -1;
- }
- for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
- if (array[idx] === item) return idx;
- }
- return -1;
- };
- };
+ var isDataView = tagTester('DataView');
- // Return the position of the first occurrence of an item in an array,
- // or -1 if the item is not included in the array.
- // If the array is large and already in sort order, pass `true`
- // for **isSorted** to use binary search.
- _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);
- _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);
+ // In IE 10 - Edge 13, we need a different heuristic
+ // to determine whether an object is a `DataView`.
+ function ie10IsDataView(obj) {
+ return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer);
+ }
- // Generate an integer Array containing an arithmetic progression. A port of
- // the native Python `range()` function. See
- // [the Python documentation](http://docs.python.org/library/functions.html#range).
- _.range = function(start, stop, step) {
- if (stop == null) {
- stop = start || 0;
- start = 0;
- }
- if (!step) {
- step = stop < start ? -1 : 1;
- }
+ var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView);
- var length = Math.max(Math.ceil((stop - start) / step), 0);
- var range = Array(length);
+ // Is a given value an array?
+ // Delegates to ECMA5's native `Array.isArray`.
+ var isArray = nativeIsArray || tagTester('Array');
- for (var idx = 0; idx < length; idx++, start += step) {
- range[idx] = start;
- }
+ // Internal function to check whether `key` is an own property name of `obj`.
+ function has$1(obj, key) {
+ return obj != null && hasOwnProperty.call(obj, key);
+ }
- return range;
- };
+ var isArguments = tagTester('Arguments');
- // Chunk a single array into multiple arrays, each containing `count` or fewer
- // items.
- _.chunk = function(array, count) {
- if (count == null || count < 1) return [];
- var result = [];
- var i = 0, length = array.length;
- while (i < length) {
- result.push(slice.call(array, i, i += count));
+ // Define a fallback version of the method in browsers (ahem, IE < 9), where
+ // there isn't any inspectable "Arguments" type.
+ (function() {
+ if (!isArguments(arguments)) {
+ isArguments = function(obj) {
+ return has$1(obj, 'callee');
+ };
}
- return result;
- };
+ }());
- // Function (ahem) Functions
- // ------------------
+ var isArguments$1 = isArguments;
- // Determines whether to execute a function as a constructor
- // or a normal function with the provided arguments.
- var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {
- if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);
- var self = baseCreate(sourceFunc.prototype);
- var result = sourceFunc.apply(self, args);
- if (_.isObject(result)) return result;
- return self;
- };
+ // Is a given object a finite number?
+ function isFinite$1(obj) {
+ return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));
+ }
- // Create a function bound to a given object (assigning `this`, and arguments,
- // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if
- // available.
- _.bind = restArguments(function(func, context, args) {
- if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');
- var bound = restArguments(function(callArgs) {
- return executeBound(func, bound, context, this, args.concat(callArgs));
- });
- return bound;
- });
+ // Is the given value `NaN`?
+ function isNaN$1(obj) {
+ return isNumber(obj) && _isNaN(obj);
+ }
- // Partially apply a function by creating a version that has had some of its
- // arguments pre-filled, without changing its dynamic `this` context. _ acts
- // as a placeholder by default, allowing any combination of arguments to be
- // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.
- _.partial = restArguments(function(func, boundArgs) {
- var placeholder = _.partial.placeholder;
- var bound = function() {
- var position = 0, length = boundArgs.length;
- var args = Array(length);
- for (var i = 0; i < length; i++) {
- args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];
- }
- while (position < arguments.length) args.push(arguments[position++]);
- return executeBound(func, bound, this, this, args);
+ // Predicate-generating function. Often useful outside of Underscore.
+ function constant(value) {
+ return function() {
+ return value;
};
- return bound;
- });
-
- _.partial.placeholder = _;
+ }
- // Bind a number of an object's methods to that object. Remaining arguments
- // are the method names to be bound. Useful for ensuring that all callbacks
- // defined on an object belong to it.
- _.bindAll = restArguments(function(obj, keys) {
- keys = flatten(keys, false, false);
- var index = keys.length;
- if (index < 1) throw new Error('bindAll must be passed function names');
- while (index--) {
- var key = keys[index];
- obj[key] = _.bind(obj[key], obj);
+ // Common internal logic for `isArrayLike` and `isBufferLike`.
+ function createSizePropertyCheck(getSizeProperty) {
+ return function(collection) {
+ var sizeProperty = getSizeProperty(collection);
+ return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;
}
- });
-
- // Memoize an expensive function by storing its results.
- _.memoize = function(func, hasher) {
- var memoize = function(key) {
- var cache = memoize.cache;
- var address = '' + (hasher ? hasher.apply(this, arguments) : key);
- if (!has(cache, address)) cache[address] = func.apply(this, arguments);
- return cache[address];
- };
- memoize.cache = {};
- return memoize;
- };
-
- // Delays a function for the given number of milliseconds, and then calls
- // it with the arguments supplied.
- _.delay = restArguments(function(func, wait, args) {
- return setTimeout(function() {
- return func.apply(null, args);
- }, wait);
- });
-
- // Defers a function, scheduling it to run after the current call stack has
- // cleared.
- _.defer = _.partial(_.delay, _, 1);
-
- // Returns a function, that, when invoked, will only be triggered at most once
- // during a given window of time. Normally, the throttled function will run
- // as much as it can, without ever going more than once per `wait` duration;
- // but if you'd like to disable the execution on the leading edge, pass
- // `{leading: false}`. To disable execution on the trailing edge, ditto.
- _.throttle = function(func, wait, options) {
- var timeout, context, args, result;
- var previous = 0;
- if (!options) options = {};
-
- var later = function() {
- previous = options.leading === false ? 0 : _.now();
- timeout = null;
- result = func.apply(context, args);
- if (!timeout) context = args = null;
- };
-
- var throttled = function() {
- var now = _.now();
- if (!previous && options.leading === false) previous = now;
- var remaining = wait - (now - previous);
- context = this;
- args = arguments;
- if (remaining <= 0 || remaining > wait) {
- if (timeout) {
- clearTimeout(timeout);
- timeout = null;
- }
- previous = now;
- result = func.apply(context, args);
- if (!timeout) context = args = null;
- } else if (!timeout && options.trailing !== false) {
- timeout = setTimeout(later, remaining);
- }
- return result;
- };
-
- throttled.cancel = function() {
- clearTimeout(timeout);
- previous = 0;
- timeout = context = args = null;
- };
-
- return throttled;
- };
-
- // Returns a function, that, as long as it continues to be invoked, will not
- // be triggered. The function will be called after it stops being called for
- // N milliseconds. If `immediate` is passed, trigger the function on the
- // leading edge, instead of the trailing.
- _.debounce = function(func, wait, immediate) {
- var timeout, result;
+ }
- var later = function(context, args) {
- timeout = null;
- if (args) result = func.apply(context, args);
+ // Internal helper to generate a function to obtain property `key` from `obj`.
+ function shallowProperty(key) {
+ return function(obj) {
+ return obj == null ? void 0 : obj[key];
};
+ }
- var debounced = restArguments(function(args) {
- if (timeout) clearTimeout(timeout);
- if (immediate) {
- var callNow = !timeout;
- timeout = setTimeout(later, wait);
- if (callNow) result = func.apply(this, args);
- } else {
- timeout = _.delay(later, wait, this, args);
- }
-
- return result;
- });
+ // Internal helper to obtain the `byteLength` property of an object.
+ var getByteLength = shallowProperty('byteLength');
- debounced.cancel = function() {
- clearTimeout(timeout);
- timeout = null;
- };
-
- return debounced;
- };
+ // Internal helper to determine whether we should spend extensive checks against
+ // `ArrayBuffer` et al.
+ var isBufferLike = createSizePropertyCheck(getByteLength);
- // Returns the first function passed as an argument to the second,
- // allowing you to adjust arguments, run code before and after, and
- // conditionally execute the original function.
- _.wrap = function(func, wrapper) {
- return _.partial(wrapper, func);
- };
-
- // Returns a negated version of the passed-in predicate.
- _.negate = function(predicate) {
- return function() {
- return !predicate.apply(this, arguments);
- };
- };
+ // Is a given value a typed array?
+ var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;
+ function isTypedArray(obj) {
+ // `ArrayBuffer.isView` is the most future-proof, so use it when available.
+ // Otherwise, fall back on the above regular expression.
+ return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) :
+ isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));
+ }
- // Returns a function that is the composition of a list of functions, each
- // consuming the return value of the function that follows.
- _.compose = function() {
- var args = arguments;
- var start = args.length - 1;
- return function() {
- var i = start;
- var result = args[start].apply(this, arguments);
- while (i--) result = args[i].call(this, result);
- return result;
- };
- };
+ var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false);
- // Returns a function that will only be executed on and after the Nth call.
- _.after = function(times, func) {
- return function() {
- if (--times < 1) {
- return func.apply(this, arguments);
- }
- };
- };
+ // Internal helper to obtain the `length` property of an object.
+ var getLength = shallowProperty('length');
- // Returns a function that will only be executed up to (but not including) the Nth call.
- _.before = function(times, func) {
- var memo;
- return function() {
- if (--times > 0) {
- memo = func.apply(this, arguments);
+ // Internal helper to create a simple lookup structure.
+ // `collectNonEnumProps` used to depend on `_.contains`, but this led to
+ // circular imports. `emulatedSet` is a one-off solution that only works for
+ // arrays of strings.
+ function emulatedSet(keys) {
+ var hash = {};
+ for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;
+ return {
+ contains: function(key) { return hash[key] === true; },
+ push: function(key) {
+ hash[key] = true;
+ return keys.push(key);
}
- if (times <= 1) func = null;
- return memo;
};
- };
-
- // Returns a function that will be executed at most one time, no matter how
- // often you call it. Useful for lazy initialization.
- _.once = _.partial(_.before, 2);
-
- _.restArguments = restArguments;
-
- // Object Functions
- // ----------------
-
- // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.
- var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');
- var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',
- 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
+ }
- var collectNonEnumProps = function(obj, keys) {
+ // Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't
+ // be iterated by `for key in ...` and thus missed. Extends `keys` in place if
+ // needed.
+ function collectNonEnumProps(obj, keys) {
+ keys = emulatedSet(keys);
var nonEnumIdx = nonEnumerableProps.length;
var constructor = obj.constructor;
- var proto = _.isFunction(constructor) && constructor.prototype || ObjProto;
+ var proto = isFunction$1(constructor) && constructor.prototype || ObjProto;
// Constructor is a special case.
var prop = 'constructor';
- if (has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);
+ if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop);
while (nonEnumIdx--) {
prop = nonEnumerableProps[nonEnumIdx];
- if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {
+ if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {
keys.push(prop);
}
}
- };
+ }
// Retrieve the names of an object's own properties.
// Delegates to **ECMAScript 5**'s native `Object.keys`.
- _.keys = function(obj) {
- if (!_.isObject(obj)) return [];
+ function keys(obj) {
+ if (!isObject(obj)) return [];
if (nativeKeys) return nativeKeys(obj);
var keys = [];
- for (var key in obj) if (has(obj, key)) keys.push(key);
- // Ahem, IE < 9.
- if (hasEnumBug) collectNonEnumProps(obj, keys);
- return keys;
- };
-
- // Retrieve all the property names of an object.
- _.allKeys = function(obj) {
- if (!_.isObject(obj)) return [];
- var keys = [];
- for (var key in obj) keys.push(key);
+ for (var key in obj) if (has$1(obj, key)) keys.push(key);
// Ahem, IE < 9.
if (hasEnumBug) collectNonEnumProps(obj, keys);
return keys;
- };
-
- // Retrieve the values of an object's properties.
- _.values = function(obj) {
- var keys = _.keys(obj);
- var length = keys.length;
- var values = Array(length);
- for (var i = 0; i < length; i++) {
- values[i] = obj[keys[i]];
- }
- return values;
- };
+ }
- // Returns the results of applying the iteratee to each element of the object.
- // In contrast to _.map it returns an object.
- _.mapObject = function(obj, iteratee, context) {
- iteratee = cb(iteratee, context);
- var keys = _.keys(obj),
- length = keys.length,
- results = {};
- for (var index = 0; index < length; index++) {
- var currentKey = keys[index];
- results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
- }
- return results;
- };
+ // Is a given array, string, or object empty?
+ // An "empty" object has no enumerable own-properties.
+ function isEmpty(obj) {
+ if (obj == null) return true;
+ // Skip the more expensive `toString`-based type checks if `obj` has no
+ // `.length`.
+ var length = getLength(obj);
+ if (typeof length == 'number' && (
+ isArray(obj) || isString(obj) || isArguments$1(obj)
+ )) return length === 0;
+ return getLength(keys(obj)) === 0;
+ }
- // Convert an object into a list of `[key, value]` pairs.
- // The opposite of _.object.
- _.pairs = function(obj) {
- var keys = _.keys(obj);
- var length = keys.length;
- var pairs = Array(length);
+ // Returns whether an object has a given set of `key:value` pairs.
+ function isMatch(object, attrs) {
+ var _keys = keys(attrs), length = _keys.length;
+ if (object == null) return !length;
+ var obj = Object(object);
for (var i = 0; i < length; i++) {
- pairs[i] = [keys[i], obj[keys[i]]];
- }
- return pairs;
- };
-
- // Invert the keys and values of an object. The values must be serializable.
- _.invert = function(obj) {
- var result = {};
- var keys = _.keys(obj);
- for (var i = 0, length = keys.length; i < length; i++) {
- result[obj[keys[i]]] = keys[i];
- }
- return result;
- };
-
- // Return a sorted list of the function names available on the object.
- // Aliased as `methods`.
- _.functions = _.methods = function(obj) {
- var names = [];
- for (var key in obj) {
- if (_.isFunction(obj[key])) names.push(key);
- }
- return names.sort();
- };
-
- // An internal function for creating assigner functions.
- var createAssigner = function(keysFunc, defaults) {
- return function(obj) {
- var length = arguments.length;
- if (defaults) obj = Object(obj);
- if (length < 2 || obj == null) return obj;
- for (var index = 1; index < length; index++) {
- var source = arguments[index],
- keys = keysFunc(source),
- l = keys.length;
- for (var i = 0; i < l; i++) {
- var key = keys[i];
- if (!defaults || obj[key] === void 0) obj[key] = source[key];
- }
- }
- return obj;
- };
- };
-
- // Extend a given object with all the properties in passed-in object(s).
- _.extend = createAssigner(_.allKeys);
-
- // Assigns a given object with all the own properties in the passed-in object(s).
- // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
- _.extendOwn = _.assign = createAssigner(_.keys);
-
- // Returns the first key on an object that passes a predicate test.
- _.findKey = function(obj, predicate, context) {
- predicate = cb(predicate, context);
- var keys = _.keys(obj), key;
- for (var i = 0, length = keys.length; i < length; i++) {
- key = keys[i];
- if (predicate(obj[key], key, obj)) return key;
- }
- };
-
- // Internal pick helper function to determine if `obj` has key `key`.
- var keyInObj = function(value, key, obj) {
- return key in obj;
- };
-
- // Return a copy of the object only containing the whitelisted properties.
- _.pick = restArguments(function(obj, keys) {
- var result = {}, iteratee = keys[0];
- if (obj == null) return result;
- if (_.isFunction(iteratee)) {
- if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);
- keys = _.allKeys(obj);
- } else {
- iteratee = keyInObj;
- keys = flatten(keys, false, false);
- obj = Object(obj);
- }
- for (var i = 0, length = keys.length; i < length; i++) {
- var key = keys[i];
- var value = obj[key];
- if (iteratee(value, key, obj)) result[key] = value;
+ var key = _keys[i];
+ if (attrs[key] !== obj[key] || !(key in obj)) return false;
}
- return result;
- });
+ return true;
+ }
- // Return a copy of the object without the blacklisted properties.
- _.omit = restArguments(function(obj, keys) {
- var iteratee = keys[0], context;
- if (_.isFunction(iteratee)) {
- iteratee = _.negate(iteratee);
- if (keys.length > 1) context = keys[1];
- } else {
- keys = _.map(flatten(keys, false, false), String);
- iteratee = function(value, key) {
- return !_.contains(keys, key);
- };
- }
- return _.pick(obj, iteratee, context);
- });
+ // If Underscore is called as a function, it returns a wrapped object that can
+ // be used OO-style. This wrapper holds altered versions of all functions added
+ // through `_.mixin`. Wrapped objects may be chained.
+ function _$1(obj) {
+ if (obj instanceof _$1) return obj;
+ if (!(this instanceof _$1)) return new _$1(obj);
+ this._wrapped = obj;
+ }
- // Fill in a given object with default properties.
- _.defaults = createAssigner(_.allKeys, true);
+ _$1.VERSION = VERSION;
- // Creates an object that inherits from the given prototype object.
- // If additional properties are provided then they will be added to the
- // created object.
- _.create = function(prototype, props) {
- var result = baseCreate(prototype);
- if (props) _.extendOwn(result, props);
- return result;
+ // Extracts the result from a wrapped and chained object.
+ _$1.prototype.value = function() {
+ return this._wrapped;
};
- // Create a (shallow-cloned) duplicate of an object.
- _.clone = function(obj) {
- if (!_.isObject(obj)) return obj;
- return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
- };
+ // Provide unwrapping proxies for some methods used in engine operations
+ // such as arithmetic and JSON stringification.
+ _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value;
- // Invokes interceptor with the obj, and then returns obj.
- // The primary purpose of this method is to "tap into" a method chain, in
- // order to perform operations on intermediate results within the chain.
- _.tap = function(obj, interceptor) {
- interceptor(obj);
- return obj;
+ _$1.prototype.toString = function() {
+ return String(this._wrapped);
};
- // Returns whether an object has a given set of `key:value` pairs.
- _.isMatch = function(object, attrs) {
- var keys = _.keys(attrs), length = keys.length;
- if (object == null) return !length;
- var obj = Object(object);
- for (var i = 0; i < length; i++) {
- var key = keys[i];
- if (attrs[key] !== obj[key] || !(key in obj)) return false;
- }
- return true;
- };
+ // Internal function to wrap or shallow-copy an ArrayBuffer,
+ // typed array or DataView to a new view, reusing the buffer.
+ function toBufferView(bufferSource) {
+ return new Uint8Array(
+ bufferSource.buffer || bufferSource,
+ bufferSource.byteOffset || 0,
+ getByteLength(bufferSource)
+ );
+ }
+ // We use this string twice, so give it a name for minification.
+ var tagDataView = '[object DataView]';
- // Internal recursive comparison function for `isEqual`.
- var eq, deepEq;
- eq = function(a, b, aStack, bStack) {
+ // Internal recursive comparison function for `_.isEqual`.
+ function eq(a, b, aStack, bStack) {
// Identical objects are equal. `0 === -0`, but they aren't identical.
- // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
+ // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).
if (a === b) return a !== 0 || 1 / a === 1 / b;
// `null` or `undefined` only equal to itself (strict comparison).
if (a == null || b == null) return false;
@@ -1200,20 +365,25 @@
var type = typeof a;
if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;
return deepEq(a, b, aStack, bStack);
- };
+ }
- // Internal recursive comparison function for `isEqual`.
- deepEq = function(a, b, aStack, bStack) {
+ // Internal recursive comparison function for `_.isEqual`.
+ function deepEq(a, b, aStack, bStack) {
// Unwrap any wrapped objects.
- if (a instanceof _) a = a._wrapped;
- if (b instanceof _) b = b._wrapped;
+ if (a instanceof _$1) a = a._wrapped;
+ if (b instanceof _$1) b = b._wrapped;
// Compare `[[Class]]` names.
var className = toString.call(a);
if (className !== toString.call(b)) return false;
+ // Work around a bug in IE 10 - Edge 13.
+ if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) {
+ if (!isDataView$1(b)) return false;
+ className = tagDataView;
+ }
switch (className) {
- // Strings, numbers, regular expressions, dates, and booleans are compared by value.
+ // These types are compared by value.
case '[object RegExp]':
- // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
+ // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
case '[object String]':
// Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
// equivalent to `new String("5")`.
@@ -1232,17 +402,27 @@
return +a === +b;
case '[object Symbol]':
return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);
+ case '[object ArrayBuffer]':
+ case tagDataView:
+ // Coerce to typed array so we can fall through.
+ return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);
}
var areArrays = className === '[object Array]';
+ if (!areArrays && isTypedArray$1(a)) {
+ var byteLength = getByteLength(a);
+ if (byteLength !== getByteLength(b)) return false;
+ if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;
+ areArrays = true;
+ }
if (!areArrays) {
if (typeof a != 'object' || typeof b != 'object') return false;
// Objects with different constructors are not equivalent, but `Object`s or `Array`s
// from different frames are.
var aCtor = a.constructor, bCtor = b.constructor;
- if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&
- _.isFunction(bCtor) && bCtor instanceof bCtor)
+ if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor &&
+ isFunction$1(bCtor) && bCtor instanceof bCtor)
&& ('constructor' in a && 'constructor' in b)) {
return false;
}
@@ -1276,259 +456,397 @@
}
} else {
// Deep compare objects.
- var keys = _.keys(a), key;
- length = keys.length;
+ var _keys = keys(a), key;
+ length = _keys.length;
// Ensure that both objects contain the same number of properties before comparing deep equality.
- if (_.keys(b).length !== length) return false;
+ if (keys(b).length !== length) return false;
while (length--) {
// Deep compare each member
- key = keys[length];
- if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;
+ key = _keys[length];
+ if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false;
}
}
// Remove the first object from the stack of traversed objects.
aStack.pop();
bStack.pop();
return true;
- };
+ }
// Perform a deep comparison to check if two objects are equal.
- _.isEqual = function(a, b) {
+ function isEqual(a, b) {
return eq(a, b);
- };
+ }
- // Is a given array, string, or object empty?
- // An "empty" object has no enumerable own-properties.
- _.isEmpty = function(obj) {
- if (obj == null) return true;
- if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;
- return _.keys(obj).length === 0;
- };
+ // Retrieve all the enumerable property names of an object.
+ function allKeys(obj) {
+ if (!isObject(obj)) return [];
+ var keys = [];
+ for (var key in obj) keys.push(key);
+ // Ahem, IE < 9.
+ if (hasEnumBug) collectNonEnumProps(obj, keys);
+ return keys;
+ }
- // Is a given value a DOM element?
- _.isElement = function(obj) {
- return !!(obj && obj.nodeType === 1);
- };
+ // Since the regular `Object.prototype.toString` type tests don't work for
+ // some types in IE 11, we use a fingerprinting heuristic instead, based
+ // on the methods. It's not great, but it's the best we got.
+ // The fingerprint method lists are defined below.
+ function ie11fingerprint(methods) {
+ var length = getLength(methods);
+ return function(obj) {
+ if (obj == null) return false;
+ // `Map`, `WeakMap` and `Set` have no enumerable keys.
+ var keys = allKeys(obj);
+ if (getLength(keys)) return false;
+ for (var i = 0; i < length; i++) {
+ if (!isFunction$1(obj[methods[i]])) return false;
+ }
+ // If we are testing against `WeakMap`, we need to ensure that
+ // `obj` doesn't have a `forEach` method in order to distinguish
+ // it from a regular `Map`.
+ return methods !== weakMapMethods || !isFunction$1(obj[forEachName]);
+ };
+ }
- // Is a given value an array?
- // Delegates to ECMA5's native Array.isArray
- _.isArray = nativeIsArray || function(obj) {
- return toString.call(obj) === '[object Array]';
- };
+ // In the interest of compact minification, we write
+ // each string in the fingerprints only once.
+ var forEachName = 'forEach',
+ hasName = 'has',
+ commonInit = ['clear', 'delete'],
+ mapTail = ['get', hasName, 'set'];
- // Is a given variable an object?
- _.isObject = function(obj) {
- var type = typeof obj;
- return type === 'function' || type === 'object' && !!obj;
- };
+ // `Map`, `WeakMap` and `Set` each have slightly different
+ // combinations of the above sublists.
+ var mapMethods = commonInit.concat(forEachName, mapTail),
+ weakMapMethods = commonInit.concat(mapTail),
+ setMethods = ['add'].concat(commonInit, forEachName, hasName);
- // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError, isMap, isWeakMap, isSet, isWeakSet.
- _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error', 'Symbol', 'Map', 'WeakMap', 'Set', 'WeakSet'], function(name) {
- _['is' + name] = function(obj) {
- return toString.call(obj) === '[object ' + name + ']';
- };
- });
+ var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');
- // Define a fallback version of the method in browsers (ahem, IE < 9), where
- // there isn't any inspectable "Arguments" type.
- if (!_.isArguments(arguments)) {
- _.isArguments = function(obj) {
- return has(obj, 'callee');
- };
+ var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');
+
+ var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');
+
+ var isWeakSet = tagTester('WeakSet');
+
+ // Retrieve the values of an object's properties.
+ function values(obj) {
+ var _keys = keys(obj);
+ var length = _keys.length;
+ var values = Array(length);
+ for (var i = 0; i < length; i++) {
+ values[i] = obj[_keys[i]];
+ }
+ return values;
}
- // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,
- // IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).
- var nodelist = root.document && root.document.childNodes;
- if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {
- _.isFunction = function(obj) {
- return typeof obj == 'function' || false;
+ // Convert an object into a list of `[key, value]` pairs.
+ // The opposite of `_.object` with one argument.
+ function pairs(obj) {
+ var _keys = keys(obj);
+ var length = _keys.length;
+ var pairs = Array(length);
+ for (var i = 0; i < length; i++) {
+ pairs[i] = [_keys[i], obj[_keys[i]]];
+ }
+ return pairs;
+ }
+
+ // Invert the keys and values of an object. The values must be serializable.
+ function invert(obj) {
+ var result = {};
+ var _keys = keys(obj);
+ for (var i = 0, length = _keys.length; i < length; i++) {
+ result[obj[_keys[i]]] = _keys[i];
+ }
+ return result;
+ }
+
+ // Return a sorted list of the function names available on the object.
+ function functions(obj) {
+ var names = [];
+ for (var key in obj) {
+ if (isFunction$1(obj[key])) names.push(key);
+ }
+ return names.sort();
+ }
+
+ // An internal function for creating assigner functions.
+ function createAssigner(keysFunc, defaults) {
+ return function(obj) {
+ var length = arguments.length;
+ if (defaults) obj = Object(obj);
+ if (length < 2 || obj == null) return obj;
+ for (var index = 1; index < length; index++) {
+ var source = arguments[index],
+ keys = keysFunc(source),
+ l = keys.length;
+ for (var i = 0; i < l; i++) {
+ var key = keys[i];
+ if (!defaults || obj[key] === void 0) obj[key] = source[key];
+ }
+ }
+ return obj;
};
}
- // Is a given object a finite number?
- _.isFinite = function(obj) {
- return !_.isSymbol(obj) && isFinite(obj) && !isNaN(parseFloat(obj));
- };
+ // Extend a given object with all the properties in passed-in object(s).
+ var extend = createAssigner(allKeys);
- // Is the given value `NaN`?
- _.isNaN = function(obj) {
- return _.isNumber(obj) && isNaN(obj);
- };
+ // Assigns a given object with all the own properties in the passed-in
+ // object(s).
+ // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
+ var extendOwn = createAssigner(keys);
- // Is a given value a boolean?
- _.isBoolean = function(obj) {
- return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
- };
+ // Fill in a given object with default properties.
+ var defaults = createAssigner(allKeys, true);
- // Is a given value equal to null?
- _.isNull = function(obj) {
- return obj === null;
- };
+ // Create a naked function reference for surrogate-prototype-swapping.
+ function ctor() {
+ return function(){};
+ }
- // Is a given variable undefined?
- _.isUndefined = function(obj) {
- return obj === void 0;
- };
+ // An internal function for creating a new object that inherits from another.
+ function baseCreate(prototype) {
+ if (!isObject(prototype)) return {};
+ if (nativeCreate) return nativeCreate(prototype);
+ var Ctor = ctor();
+ Ctor.prototype = prototype;
+ var result = new Ctor;
+ Ctor.prototype = null;
+ return result;
+ }
+
+ // Creates an object that inherits from the given prototype object.
+ // If additional properties are provided then they will be added to the
+ // created object.
+ function create(prototype, props) {
+ var result = baseCreate(prototype);
+ if (props) extendOwn(result, props);
+ return result;
+ }
- // Shortcut function for checking if an object has a given property directly
- // on itself (in other words, not on a prototype).
- _.has = function(obj, path) {
- if (!_.isArray(path)) {
- return has(obj, path);
+ // Create a (shallow-cloned) duplicate of an object.
+ function clone(obj) {
+ if (!isObject(obj)) return obj;
+ return isArray(obj) ? obj.slice() : extend({}, obj);
+ }
+
+ // Invokes `interceptor` with the `obj` and then returns `obj`.
+ // The primary purpose of this method is to "tap into" a method chain, in
+ // order to perform operations on intermediate results within the chain.
+ function tap(obj, interceptor) {
+ interceptor(obj);
+ return obj;
+ }
+
+ // Normalize a (deep) property `path` to array.
+ // Like `_.iteratee`, this function can be customized.
+ function toPath$1(path) {
+ return isArray(path) ? path : [path];
+ }
+ _$1.toPath = toPath$1;
+
+ // Internal wrapper for `_.toPath` to enable minification.
+ // Similar to `cb` for `_.iteratee`.
+ function toPath(path) {
+ return _$1.toPath(path);
+ }
+
+ // Internal function to obtain a nested property in `obj` along `path`.
+ function deepGet(obj, path) {
+ var length = path.length;
+ for (var i = 0; i < length; i++) {
+ if (obj == null) return void 0;
+ obj = obj[path[i]];
}
+ return length ? obj : void 0;
+ }
+
+ // Get the value of the (deep) property on `path` from `object`.
+ // If any property in `path` does not exist or if the value is
+ // `undefined`, return `defaultValue` instead.
+ // The `path` is normalized through `_.toPath`.
+ function get(object, path, defaultValue) {
+ var value = deepGet(object, toPath(path));
+ return isUndefined(value) ? defaultValue : value;
+ }
+
+ // Shortcut function for checking if an object has a given property directly on
+ // itself (in other words, not on a prototype). Unlike the internal `has`
+ // function, this public version can also traverse nested properties.
+ function has(obj, path) {
+ path = toPath(path);
var length = path.length;
for (var i = 0; i < length; i++) {
var key = path[i];
- if (obj == null || !hasOwnProperty.call(obj, key)) {
- return false;
- }
+ if (!has$1(obj, key)) return false;
obj = obj[key];
}
return !!length;
- };
-
- // Utility Functions
- // -----------------
-
- // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
- // previous owner. Returns a reference to the Underscore object.
- _.noConflict = function() {
- root._ = previousUnderscore;
- return this;
- };
+ }
// Keep the identity function around for default iteratees.
- _.identity = function(value) {
+ function identity(value) {
return value;
- };
+ }
- // Predicate-generating functions. Often useful outside of Underscore.
- _.constant = function(value) {
- return function() {
- return value;
+ // Returns a predicate for checking whether an object has a given set of
+ // `key:value` pairs.
+ function matcher(attrs) {
+ attrs = extendOwn({}, attrs);
+ return function(obj) {
+ return isMatch(obj, attrs);
};
- };
-
- _.noop = function(){};
+ }
// Creates a function that, when passed an object, will traverse that object’s
- // properties down the given `path`, specified as an array of keys or indexes.
- _.property = function(path) {
- if (!_.isArray(path)) {
- return shallowProperty(path);
- }
+ // properties down the given `path`, specified as an array of keys or indices.
+ function property(path) {
+ path = toPath(path);
return function(obj) {
return deepGet(obj, path);
};
- };
+ }
- // Generates a function for a given object that returns a given property.
- _.propertyOf = function(obj) {
- if (obj == null) {
- return function(){};
+ // Internal function that returns an efficient (for current engines) version
+ // of the passed-in callback, to be repeatedly applied in other Underscore
+ // functions.
+ function optimizeCb(func, context, argCount) {
+ if (context === void 0) return func;
+ switch (argCount == null ? 3 : argCount) {
+ case 1: return function(value) {
+ return func.call(context, value);
+ };
+ // The 2-argument case is omitted because we’re not using it.
+ case 3: return function(value, index, collection) {
+ return func.call(context, value, index, collection);
+ };
+ case 4: return function(accumulator, value, index, collection) {
+ return func.call(context, accumulator, value, index, collection);
+ };
}
- return function(path) {
- return !_.isArray(path) ? obj[path] : deepGet(obj, path);
+ return function() {
+ return func.apply(context, arguments);
};
- };
+ }
- // Returns a predicate for checking whether an object has a given set of
- // `key:value` pairs.
- _.matcher = _.matches = function(attrs) {
- attrs = _.extendOwn({}, attrs);
- return function(obj) {
- return _.isMatch(obj, attrs);
+ // An internal function to generate callbacks that can be applied to each
+ // element in a collection, returning the desired result — either `_.identity`,
+ // an arbitrary callback, a property matcher, or a property accessor.
+ function baseIteratee(value, context, argCount) {
+ if (value == null) return identity;
+ if (isFunction$1(value)) return optimizeCb(value, context, argCount);
+ if (isObject(value) && !isArray(value)) return matcher(value);
+ return property(value);
+ }
+
+ // External wrapper for our callback generator. Users may customize
+ // `_.iteratee` if they want additional predicate/iteratee shorthand styles.
+ // This abstraction hides the internal-only `argCount` argument.
+ function iteratee(value, context) {
+ return baseIteratee(value, context, Infinity);
+ }
+ _$1.iteratee = iteratee;
+
+ // The function we call internally to generate a callback. It invokes
+ // `_.iteratee` if overridden, otherwise `baseIteratee`.
+ function cb(value, context, argCount) {
+ if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context);
+ return baseIteratee(value, context, argCount);
+ }
+
+ // Returns the results of applying the `iteratee` to each element of `obj`.
+ // In contrast to `_.map` it returns an object.
+ function mapObject(obj, iteratee, context) {
+ iteratee = cb(iteratee, context);
+ var _keys = keys(obj),
+ length = _keys.length,
+ results = {};
+ for (var index = 0; index < length; index++) {
+ var currentKey = _keys[index];
+ results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
+ }
+ return results;
+ }
+
+ // Predicate-generating function. Often useful outside of Underscore.
+ function noop(){}
+
+ // Generates a function for a given object that returns a given property.
+ function propertyOf(obj) {
+ if (obj == null) return noop;
+ return function(path) {
+ return get(obj, path);
};
- };
+ }
// Run a function **n** times.
- _.times = function(n, iteratee, context) {
+ function times(n, iteratee, context) {
var accum = Array(Math.max(0, n));
iteratee = optimizeCb(iteratee, context, 1);
for (var i = 0; i < n; i++) accum[i] = iteratee(i);
return accum;
- };
+ }
- // Return a random integer between min and max (inclusive).
- _.random = function(min, max) {
+ // Return a random integer between `min` and `max` (inclusive).
+ function random(min, max) {
if (max == null) {
max = min;
min = 0;
}
return min + Math.floor(Math.random() * (max - min + 1));
- };
+ }
// A (possibly faster) way to get the current timestamp as an integer.
- _.now = Date.now || function() {
+ var now = Date.now || function() {
return new Date().getTime();
};
- // List of HTML entities for escaping.
- var escapeMap = {
- '&': '&amp;',
- '<': '&lt;',
- '>': '&gt;',
- '"': '&quot;',
- "'": '&#x27;',
- '`': '&#x60;'
- };
- var unescapeMap = _.invert(escapeMap);
-
- // Functions for escaping and unescaping strings to/from HTML interpolation.
- var createEscaper = function(map) {
+ // Internal helper to generate functions for escaping and unescaping strings
+ // to/from HTML interpolation.
+ function createEscaper(map) {
var escaper = function(match) {
return map[match];
};
// Regexes for identifying a key that needs to be escaped.
- var source = '(?:' + _.keys(map).join('|') + ')';
+ var source = '(?:' + keys(map).join('|') + ')';
var testRegexp = RegExp(source);
var replaceRegexp = RegExp(source, 'g');
return function(string) {
string = string == null ? '' : '' + string;
return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
};
- };
- _.escape = createEscaper(escapeMap);
- _.unescape = createEscaper(unescapeMap);
+ }
- // Traverses the children of `obj` along `path`. If a child is a function, it
- // is invoked with its parent as context. Returns the value of the final
- // child, or `fallback` if any child is undefined.
- _.result = function(obj, path, fallback) {
- if (!_.isArray(path)) path = [path];
- var length = path.length;
- if (!length) {
- return _.isFunction(fallback) ? fallback.call(obj) : fallback;
- }
- for (var i = 0; i < length; i++) {
- var prop = obj == null ? void 0 : obj[path[i]];
- if (prop === void 0) {
- prop = fallback;
- i = length; // Ensure we don't continue iterating.
- }
- obj = _.isFunction(prop) ? prop.call(obj) : prop;
- }
- return obj;
+ // Internal list of HTML entities for escaping.
+ var escapeMap = {
+ '&': '&amp;',
+ '<': '&lt;',
+ '>': '&gt;',
+ '"': '&quot;',
+ "'": '&#x27;',
+ '`': '&#x60;'
};
- // Generate a unique integer id (unique within the entire client session).
- // Useful for temporary DOM ids.
- var idCounter = 0;
- _.uniqueId = function(prefix) {
- var id = ++idCounter + '';
- return prefix ? prefix + id : id;
- };
+ // Function for escaping strings to HTML interpolation.
+ var _escape = createEscaper(escapeMap);
+
+ // Internal list of HTML entities for unescaping.
+ var unescapeMap = invert(escapeMap);
- // By default, Underscore uses ERB-style template delimiters, change the
+ // Function for unescaping strings from HTML interpolation.
+ var _unescape = createEscaper(unescapeMap);
+
+ // By default, Underscore uses ERB-style template delimiters. Change the
// following template settings to use alternative delimiters.
- _.templateSettings = {
+ var templateSettings = _$1.templateSettings = {
evaluate: /<%([\s\S]+?)%>/g,
interpolate: /<%=([\s\S]+?)%>/g,
escape: /<%-([\s\S]+?)%>/g
};
- // When customizing `templateSettings`, if you don't want to define an
+ // When customizing `_.templateSettings`, if you don't want to define an
// interpolation, evaluation or escaping regex, we need one that is
// guaranteed not to match.
var noMatch = /(.)^/;
@@ -1546,9 +864,9 @@
var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g;
- var escapeChar = function(match) {
+ function escapeChar(match) {
return '\\' + escapes[match];
- };
+ }
// In order to prevent third-party code injection through
// `_.templateSettings.variable`, we test it against the following regular
@@ -1561,9 +879,9 @@
// Underscore templating handles arbitrary delimiters, preserves whitespace,
// and correctly escapes quotes within interpolated code.
// NB: `oldSettings` only exists for backwards compatibility.
- _.template = function(text, settings, oldSettings) {
+ function template(text, settings, oldSettings) {
if (!settings && oldSettings) settings = oldSettings;
- settings = _.defaults({}, settings, _.templateSettings);
+ settings = defaults({}, settings, _$1.templateSettings);
// Combine delimiters into one regular expression via alternation.
var matcher = RegExp([
@@ -1594,7 +912,7 @@
var argument = settings.variable;
if (argument) {
- // Insure against third-party code injection.
+ // Insure against third-party code injection. (CVE-2021-23358)
if (!bareIdentifier.test(argument)) throw new Error(
'variable is not a bare identifier: ' + argument
);
@@ -1617,91 +935,1108 @@
}
var template = function(data) {
- return render.call(this, data, _);
+ return render.call(this, data, _$1);
};
// Provide the compiled source as a convenience for precompilation.
template.source = 'function(' + argument + '){\n' + source + '}';
return template;
- };
+ }
+
+ // Traverses the children of `obj` along `path`. If a child is a function, it
+ // is invoked with its parent as context. Returns the value of the final
+ // child, or `fallback` if any child is undefined.
+ function result(obj, path, fallback) {
+ path = toPath(path);
+ var length = path.length;
+ if (!length) {
+ return isFunction$1(fallback) ? fallback.call(obj) : fallback;
+ }
+ for (var i = 0; i < length; i++) {
+ var prop = obj == null ? void 0 : obj[path[i]];
+ if (prop === void 0) {
+ prop = fallback;
+ i = length; // Ensure we don't continue iterating.
+ }
+ obj = isFunction$1(prop) ? prop.call(obj) : prop;
+ }
+ return obj;
+ }
- // Add a "chain" function. Start chaining a wrapped Underscore object.
- _.chain = function(obj) {
- var instance = _(obj);
+ // Generate a unique integer id (unique within the entire client session).
+ // Useful for temporary DOM ids.
+ var idCounter = 0;
+ function uniqueId(prefix) {
+ var id = ++idCounter + '';
+ return prefix ? prefix + id : id;
+ }
+
+ // Start chaining a wrapped Underscore object.
+ function chain(obj) {
+ var instance = _$1(obj);
instance._chain = true;
return instance;
- };
+ }
+
+ // Internal function to execute `sourceFunc` bound to `context` with optional
+ // `args`. Determines whether to execute a function as a constructor or as a
+ // normal function.
+ function executeBound(sourceFunc, boundFunc, context, callingContext, args) {
+ if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);
+ var self = baseCreate(sourceFunc.prototype);
+ var result = sourceFunc.apply(self, args);
+ if (isObject(result)) return result;
+ return self;
+ }
+
+ // Partially apply a function by creating a version that has had some of its
+ // arguments pre-filled, without changing its dynamic `this` context. `_` acts
+ // as a placeholder by default, allowing any combination of arguments to be
+ // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.
+ var partial = restArguments(function(func, boundArgs) {
+ var placeholder = partial.placeholder;
+ var bound = function() {
+ var position = 0, length = boundArgs.length;
+ var args = Array(length);
+ for (var i = 0; i < length; i++) {
+ args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];
+ }
+ while (position < arguments.length) args.push(arguments[position++]);
+ return executeBound(func, bound, this, this, args);
+ };
+ return bound;
+ });
+
+ partial.placeholder = _$1;
+
+ // Create a function bound to a given object (assigning `this`, and arguments,
+ // optionally).
+ var bind = restArguments(function(func, context, args) {
+ if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function');
+ var bound = restArguments(function(callArgs) {
+ return executeBound(func, bound, context, this, args.concat(callArgs));
+ });
+ return bound;
+ });
+
+ // Internal helper for collection methods to determine whether a collection
+ // should be iterated as an array or as an object.
+ // Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
+ // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094
+ var isArrayLike = createSizePropertyCheck(getLength);
+
+ // Internal implementation of a recursive `flatten` function.
+ function flatten$1(input, depth, strict, output) {
+ output = output || [];
+ if (!depth && depth !== 0) {
+ depth = Infinity;
+ } else if (depth <= 0) {
+ return output.concat(input);
+ }
+ var idx = output.length;
+ for (var i = 0, length = getLength(input); i < length; i++) {
+ var value = input[i];
+ if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) {
+ // Flatten current level of array or arguments object.
+ if (depth > 1) {
+ flatten$1(value, depth - 1, strict, output);
+ idx = output.length;
+ } else {
+ var j = 0, len = value.length;
+ while (j < len) output[idx++] = value[j++];
+ }
+ } else if (!strict) {
+ output[idx++] = value;
+ }
+ }
+ return output;
+ }
+
+ // Bind a number of an object's methods to that object. Remaining arguments
+ // are the method names to be bound. Useful for ensuring that all callbacks
+ // defined on an object belong to it.
+ var bindAll = restArguments(function(obj, keys) {
+ keys = flatten$1(keys, false, false);
+ var index = keys.length;
+ if (index < 1) throw new Error('bindAll must be passed function names');
+ while (index--) {
+ var key = keys[index];
+ obj[key] = bind(obj[key], obj);
+ }
+ return obj;
+ });
+
+ // Memoize an expensive function by storing its results.
+ function memoize(func, hasher) {
+ var memoize = function(key) {
+ var cache = memoize.cache;
+ var address = '' + (hasher ? hasher.apply(this, arguments) : key);
+ if (!has$1(cache, address)) cache[address] = func.apply(this, arguments);
+ return cache[address];
+ };
+ memoize.cache = {};
+ return memoize;
+ }
+
+ // Delays a function for the given number of milliseconds, and then calls
+ // it with the arguments supplied.
+ var delay = restArguments(function(func, wait, args) {
+ return setTimeout(function() {
+ return func.apply(null, args);
+ }, wait);
+ });
+
+ // Defers a function, scheduling it to run after the current call stack has
+ // cleared.
+ var defer = partial(delay, _$1, 1);
+
+ // Returns a function, that, when invoked, will only be triggered at most once
+ // during a given window of time. Normally, the throttled function will run
+ // as much as it can, without ever going more than once per `wait` duration;
+ // but if you'd like to disable the execution on the leading edge, pass
+ // `{leading: false}`. To disable execution on the trailing edge, ditto.
+ function throttle(func, wait, options) {
+ var timeout, context, args, result;
+ var previous = 0;
+ if (!options) options = {};
- // OOP
- // ---------------
- // If Underscore is called as a function, it returns a wrapped object that
- // can be used OO-style. This wrapper holds altered versions of all the
- // underscore functions. Wrapped objects may be chained.
+ var later = function() {
+ previous = options.leading === false ? 0 : now();
+ timeout = null;
+ result = func.apply(context, args);
+ if (!timeout) context = args = null;
+ };
+
+ var throttled = function() {
+ var _now = now();
+ if (!previous && options.leading === false) previous = _now;
+ var remaining = wait - (_now - previous);
+ context = this;
+ args = arguments;
+ if (remaining <= 0 || remaining > wait) {
+ if (timeout) {
+ clearTimeout(timeout);
+ timeout = null;
+ }
+ previous = _now;
+ result = func.apply(context, args);
+ if (!timeout) context = args = null;
+ } else if (!timeout && options.trailing !== false) {
+ timeout = setTimeout(later, remaining);
+ }
+ return result;
+ };
+
+ throttled.cancel = function() {
+ clearTimeout(timeout);
+ previous = 0;
+ timeout = context = args = null;
+ };
+
+ return throttled;
+ }
+
+ // When a sequence of calls of the returned function ends, the argument
+ // function is triggered. The end of a sequence is defined by the `wait`
+ // parameter. If `immediate` is passed, the argument function will be
+ // triggered at the beginning of the sequence instead of at the end.
+ function debounce(func, wait, immediate) {
+ var timeout, previous, args, result, context;
+
+ var later = function() {
+ var passed = now() - previous;
+ if (wait > passed) {
+ timeout = setTimeout(later, wait - passed);
+ } else {
+ timeout = null;
+ if (!immediate) result = func.apply(context, args);
+ // This check is needed because `func` can recursively invoke `debounced`.
+ if (!timeout) args = context = null;
+ }
+ };
+
+ var debounced = restArguments(function(_args) {
+ context = this;
+ args = _args;
+ previous = now();
+ if (!timeout) {
+ timeout = setTimeout(later, wait);
+ if (immediate) result = func.apply(context, args);
+ }
+ return result;
+ });
+
+ debounced.cancel = function() {
+ clearTimeout(timeout);
+ timeout = args = context = null;
+ };
+
+ return debounced;
+ }
+
+ // Returns the first function passed as an argument to the second,
+ // allowing you to adjust arguments, run code before and after, and
+ // conditionally execute the original function.
+ function wrap(func, wrapper) {
+ return partial(wrapper, func);
+ }
+
+ // Returns a negated version of the passed-in predicate.
+ function negate(predicate) {
+ return function() {
+ return !predicate.apply(this, arguments);
+ };
+ }
+
+ // Returns a function that is the composition of a list of functions, each
+ // consuming the return value of the function that follows.
+ function compose() {
+ var args = arguments;
+ var start = args.length - 1;
+ return function() {
+ var i = start;
+ var result = args[start].apply(this, arguments);
+ while (i--) result = args[i].call(this, result);
+ return result;
+ };
+ }
+
+ // Returns a function that will only be executed on and after the Nth call.
+ function after(times, func) {
+ return function() {
+ if (--times < 1) {
+ return func.apply(this, arguments);
+ }
+ };
+ }
+
+ // Returns a function that will only be executed up to (but not including) the
+ // Nth call.
+ function before(times, func) {
+ var memo;
+ return function() {
+ if (--times > 0) {
+ memo = func.apply(this, arguments);
+ }
+ if (times <= 1) func = null;
+ return memo;
+ };
+ }
+
+ // Returns a function that will be executed at most one time, no matter how
+ // often you call it. Useful for lazy initialization.
+ var once = partial(before, 2);
+
+ // Returns the first key on an object that passes a truth test.
+ function findKey(obj, predicate, context) {
+ predicate = cb(predicate, context);
+ var _keys = keys(obj), key;
+ for (var i = 0, length = _keys.length; i < length; i++) {
+ key = _keys[i];
+ if (predicate(obj[key], key, obj)) return key;
+ }
+ }
+
+ // Internal function to generate `_.findIndex` and `_.findLastIndex`.
+ function createPredicateIndexFinder(dir) {
+ return function(array, predicate, context) {
+ predicate = cb(predicate, context);
+ var length = getLength(array);
+ var index = dir > 0 ? 0 : length - 1;
+ for (; index >= 0 && index < length; index += dir) {
+ if (predicate(array[index], index, array)) return index;
+ }
+ return -1;
+ };
+ }
+
+ // Returns the first index on an array-like that passes a truth test.
+ var findIndex = createPredicateIndexFinder(1);
+
+ // Returns the last index on an array-like that passes a truth test.
+ var findLastIndex = createPredicateIndexFinder(-1);
+
+ // Use a comparator function to figure out the smallest index at which
+ // an object should be inserted so as to maintain order. Uses binary search.
+ function sortedIndex(array, obj, iteratee, context) {
+ iteratee = cb(iteratee, context, 1);
+ var value = iteratee(obj);
+ var low = 0, high = getLength(array);
+ while (low < high) {
+ var mid = Math.floor((low + high) / 2);
+ if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
+ }
+ return low;
+ }
+
+ // Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.
+ function createIndexFinder(dir, predicateFind, sortedIndex) {
+ return function(array, item, idx) {
+ var i = 0, length = getLength(array);
+ if (typeof idx == 'number') {
+ if (dir > 0) {
+ i = idx >= 0 ? idx : Math.max(idx + length, i);
+ } else {
+ length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
+ }
+ } else if (sortedIndex && idx && length) {
+ idx = sortedIndex(array, item);
+ return array[idx] === item ? idx : -1;
+ }
+ if (item !== item) {
+ idx = predicateFind(slice.call(array, i, length), isNaN$1);
+ return idx >= 0 ? idx + i : -1;
+ }
+ for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
+ if (array[idx] === item) return idx;
+ }
+ return -1;
+ };
+ }
+
+ // Return the position of the first occurrence of an item in an array,
+ // or -1 if the item is not included in the array.
+ // If the array is large and already in sort order, pass `true`
+ // for **isSorted** to use binary search.
+ var indexOf = createIndexFinder(1, findIndex, sortedIndex);
+
+ // Return the position of the last occurrence of an item in an array,
+ // or -1 if the item is not included in the array.
+ var lastIndexOf = createIndexFinder(-1, findLastIndex);
+
+ // Return the first value which passes a truth test.
+ function find(obj, predicate, context) {
+ var keyFinder = isArrayLike(obj) ? findIndex : findKey;
+ var key = keyFinder(obj, predicate, context);
+ if (key !== void 0 && key !== -1) return obj[key];
+ }
+
+ // Convenience version of a common use case of `_.find`: getting the first
+ // object containing specific `key:value` pairs.
+ function findWhere(obj, attrs) {
+ return find(obj, matcher(attrs));
+ }
+
+ // The cornerstone for collection functions, an `each`
+ // implementation, aka `forEach`.
+ // Handles raw objects in addition to array-likes. Treats all
+ // sparse array-likes as if they were dense.
+ function each(obj, iteratee, context) {
+ iteratee = optimizeCb(iteratee, context);
+ var i, length;
+ if (isArrayLike(obj)) {
+ for (i = 0, length = obj.length; i < length; i++) {
+ iteratee(obj[i], i, obj);
+ }
+ } else {
+ var _keys = keys(obj);
+ for (i = 0, length = _keys.length; i < length; i++) {
+ iteratee(obj[_keys[i]], _keys[i], obj);
+ }
+ }
+ return obj;
+ }
+
+ // Return the results of applying the iteratee to each element.
+ function map(obj, iteratee, context) {
+ iteratee = cb(iteratee, context);
+ var _keys = !isArrayLike(obj) && keys(obj),
+ length = (_keys || obj).length,
+ results = Array(length);
+ for (var index = 0; index < length; index++) {
+ var currentKey = _keys ? _keys[index] : index;
+ results[index] = iteratee(obj[currentKey], currentKey, obj);
+ }
+ return results;
+ }
+
+ // Internal helper to create a reducing function, iterating left or right.
+ function createReduce(dir) {
+ // Wrap code that reassigns argument variables in a separate function than
+ // the one that accesses `arguments.length` to avoid a perf hit. (#1991)
+ var reducer = function(obj, iteratee, memo, initial) {
+ var _keys = !isArrayLike(obj) && keys(obj),
+ length = (_keys || obj).length,
+ index = dir > 0 ? 0 : length - 1;
+ if (!initial) {
+ memo = obj[_keys ? _keys[index] : index];
+ index += dir;
+ }
+ for (; index >= 0 && index < length; index += dir) {
+ var currentKey = _keys ? _keys[index] : index;
+ memo = iteratee(memo, obj[currentKey], currentKey, obj);
+ }
+ return memo;
+ };
+
+ return function(obj, iteratee, memo, context) {
+ var initial = arguments.length >= 3;
+ return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);
+ };
+ }
+
+ // **Reduce** builds up a single result from a list of values, aka `inject`,
+ // or `foldl`.
+ var reduce = createReduce(1);
+
+ // The right-associative version of reduce, also known as `foldr`.
+ var reduceRight = createReduce(-1);
+
+ // Return all the elements that pass a truth test.
+ function filter(obj, predicate, context) {
+ var results = [];
+ predicate = cb(predicate, context);
+ each(obj, function(value, index, list) {
+ if (predicate(value, index, list)) results.push(value);
+ });
+ return results;
+ }
+
+ // Return all the elements for which a truth test fails.
+ function reject(obj, predicate, context) {
+ return filter(obj, negate(cb(predicate)), context);
+ }
+
+ // Determine whether all of the elements pass a truth test.
+ function every(obj, predicate, context) {
+ predicate = cb(predicate, context);
+ var _keys = !isArrayLike(obj) && keys(obj),
+ length = (_keys || obj).length;
+ for (var index = 0; index < length; index++) {
+ var currentKey = _keys ? _keys[index] : index;
+ if (!predicate(obj[currentKey], currentKey, obj)) return false;
+ }
+ return true;
+ }
+
+ // Determine if at least one element in the object passes a truth test.
+ function some(obj, predicate, context) {
+ predicate = cb(predicate, context);
+ var _keys = !isArrayLike(obj) && keys(obj),
+ length = (_keys || obj).length;
+ for (var index = 0; index < length; index++) {
+ var currentKey = _keys ? _keys[index] : index;
+ if (predicate(obj[currentKey], currentKey, obj)) return true;
+ }
+ return false;
+ }
+
+ // Determine if the array or object contains a given item (using `===`).
+ function contains(obj, item, fromIndex, guard) {
+ if (!isArrayLike(obj)) obj = values(obj);
+ if (typeof fromIndex != 'number' || guard) fromIndex = 0;
+ return indexOf(obj, item, fromIndex) >= 0;
+ }
+
+ // Invoke a method (with arguments) on every item in a collection.
+ var invoke = restArguments(function(obj, path, args) {
+ var contextPath, func;
+ if (isFunction$1(path)) {
+ func = path;
+ } else {
+ path = toPath(path);
+ contextPath = path.slice(0, -1);
+ path = path[path.length - 1];
+ }
+ return map(obj, function(context) {
+ var method = func;
+ if (!method) {
+ if (contextPath && contextPath.length) {
+ context = deepGet(context, contextPath);
+ }
+ if (context == null) return void 0;
+ method = context[path];
+ }
+ return method == null ? method : method.apply(context, args);
+ });
+ });
+
+ // Convenience version of a common use case of `_.map`: fetching a property.
+ function pluck(obj, key) {
+ return map(obj, property(key));
+ }
+
+ // Convenience version of a common use case of `_.filter`: selecting only
+ // objects containing specific `key:value` pairs.
+ function where(obj, attrs) {
+ return filter(obj, matcher(attrs));
+ }
+
+ // Return the maximum element (or element-based computation).
+ function max(obj, iteratee, context) {
+ var result = -Infinity, lastComputed = -Infinity,
+ value, computed;
+ if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {
+ obj = isArrayLike(obj) ? obj : values(obj);
+ for (var i = 0, length = obj.length; i < length; i++) {
+ value = obj[i];
+ if (value != null && value > result) {
+ result = value;
+ }
+ }
+ } else {
+ iteratee = cb(iteratee, context);
+ each(obj, function(v, index, list) {
+ computed = iteratee(v, index, list);
+ if (computed > lastComputed || computed === -Infinity && result === -Infinity) {
+ result = v;
+ lastComputed = computed;
+ }
+ });
+ }
+ return result;
+ }
+
+ // Return the minimum element (or element-based computation).
+ function min(obj, iteratee, context) {
+ var result = Infinity, lastComputed = Infinity,
+ value, computed;
+ if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {
+ obj = isArrayLike(obj) ? obj : values(obj);
+ for (var i = 0, length = obj.length; i < length; i++) {
+ value = obj[i];
+ if (value != null && value < result) {
+ result = value;
+ }
+ }
+ } else {
+ iteratee = cb(iteratee, context);
+ each(obj, function(v, index, list) {
+ computed = iteratee(v, index, list);
+ if (computed < lastComputed || computed === Infinity && result === Infinity) {
+ result = v;
+ lastComputed = computed;
+ }
+ });
+ }
+ return result;
+ }
+
+ // Safely create a real, live array from anything iterable.
+ var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
+ function toArray(obj) {
+ if (!obj) return [];
+ if (isArray(obj)) return slice.call(obj);
+ if (isString(obj)) {
+ // Keep surrogate pair characters together.
+ return obj.match(reStrSymbol);
+ }
+ if (isArrayLike(obj)) return map(obj, identity);
+ return values(obj);
+ }
+
+ // Sample **n** random values from a collection using the modern version of the
+ // [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
+ // If **n** is not specified, returns a single random element.
+ // The internal `guard` argument allows it to work with `_.map`.
+ function sample(obj, n, guard) {
+ if (n == null || guard) {
+ if (!isArrayLike(obj)) obj = values(obj);
+ return obj[random(obj.length - 1)];
+ }
+ var sample = toArray(obj);
+ var length = getLength(sample);
+ n = Math.max(Math.min(n, length), 0);
+ var last = length - 1;
+ for (var index = 0; index < n; index++) {
+ var rand = random(index, last);
+ var temp = sample[index];
+ sample[index] = sample[rand];
+ sample[rand] = temp;
+ }
+ return sample.slice(0, n);
+ }
+
+ // Shuffle a collection.
+ function shuffle(obj) {
+ return sample(obj, Infinity);
+ }
+
+ // Sort the object's values by a criterion produced by an iteratee.
+ function sortBy(obj, iteratee, context) {
+ var index = 0;
+ iteratee = cb(iteratee, context);
+ return pluck(map(obj, function(value, key, list) {
+ return {
+ value: value,
+ index: index++,
+ criteria: iteratee(value, key, list)
+ };
+ }).sort(function(left, right) {
+ var a = left.criteria;
+ var b = right.criteria;
+ if (a !== b) {
+ if (a > b || a === void 0) return 1;
+ if (a < b || b === void 0) return -1;
+ }
+ return left.index - right.index;
+ }), 'value');
+ }
+
+ // An internal function used for aggregate "group by" operations.
+ function group(behavior, partition) {
+ return function(obj, iteratee, context) {
+ var result = partition ? [[], []] : {};
+ iteratee = cb(iteratee, context);
+ each(obj, function(value, index) {
+ var key = iteratee(value, index, obj);
+ behavior(result, value, key);
+ });
+ return result;
+ };
+ }
+
+ // Groups the object's values by a criterion. Pass either a string attribute
+ // to group by, or a function that returns the criterion.
+ var groupBy = group(function(result, value, key) {
+ if (has$1(result, key)) result[key].push(value); else result[key] = [value];
+ });
+
+ // Indexes the object's values by a criterion, similar to `_.groupBy`, but for
+ // when you know that your index values will be unique.
+ var indexBy = group(function(result, value, key) {
+ result[key] = value;
+ });
+
+ // Counts instances of an object that group by a certain criterion. Pass
+ // either a string attribute to count by, or a function that returns the
+ // criterion.
+ var countBy = group(function(result, value, key) {
+ if (has$1(result, key)) result[key]++; else result[key] = 1;
+ });
+
+ // Split a collection into two arrays: one whose elements all pass the given
+ // truth test, and one whose elements all do not pass the truth test.
+ var partition = group(function(result, value, pass) {
+ result[pass ? 0 : 1].push(value);
+ }, true);
+
+ // Return the number of elements in a collection.
+ function size(obj) {
+ if (obj == null) return 0;
+ return isArrayLike(obj) ? obj.length : keys(obj).length;
+ }
+
+ // Internal `_.pick` helper function to determine whether `key` is an enumerable
+ // property name of `obj`.
+ function keyInObj(value, key, obj) {
+ return key in obj;
+ }
+
+ // Return a copy of the object only containing the allowed properties.
+ var pick = restArguments(function(obj, keys) {
+ var result = {}, iteratee = keys[0];
+ if (obj == null) return result;
+ if (isFunction$1(iteratee)) {
+ if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);
+ keys = allKeys(obj);
+ } else {
+ iteratee = keyInObj;
+ keys = flatten$1(keys, false, false);
+ obj = Object(obj);
+ }
+ for (var i = 0, length = keys.length; i < length; i++) {
+ var key = keys[i];
+ var value = obj[key];
+ if (iteratee(value, key, obj)) result[key] = value;
+ }
+ return result;
+ });
+
+ // Return a copy of the object without the disallowed properties.
+ var omit = restArguments(function(obj, keys) {
+ var iteratee = keys[0], context;
+ if (isFunction$1(iteratee)) {
+ iteratee = negate(iteratee);
+ if (keys.length > 1) context = keys[1];
+ } else {
+ keys = map(flatten$1(keys, false, false), String);
+ iteratee = function(value, key) {
+ return !contains(keys, key);
+ };
+ }
+ return pick(obj, iteratee, context);
+ });
+
+ // Returns everything but the last entry of the array. Especially useful on
+ // the arguments object. Passing **n** will return all the values in
+ // the array, excluding the last N.
+ function initial(array, n, guard) {
+ return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
+ }
+
+ // Get the first element of an array. Passing **n** will return the first N
+ // values in the array. The **guard** check allows it to work with `_.map`.
+ function first(array, n, guard) {
+ if (array == null || array.length < 1) return n == null || guard ? void 0 : [];
+ if (n == null || guard) return array[0];
+ return initial(array, array.length - n);
+ }
+
+ // Returns everything but the first entry of the `array`. Especially useful on
+ // the `arguments` object. Passing an **n** will return the rest N values in the
+ // `array`.
+ function rest(array, n, guard) {
+ return slice.call(array, n == null || guard ? 1 : n);
+ }
+
+ // Get the last element of an array. Passing **n** will return the last N
+ // values in the array.
+ function last(array, n, guard) {
+ if (array == null || array.length < 1) return n == null || guard ? void 0 : [];
+ if (n == null || guard) return array[array.length - 1];
+ return rest(array, Math.max(0, array.length - n));
+ }
+
+ // Trim out all falsy values from an array.
+ function compact(array) {
+ return filter(array, Boolean);
+ }
+
+ // Flatten out an array, either recursively (by default), or up to `depth`.
+ // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.
+ function flatten(array, depth) {
+ return flatten$1(array, depth, false);
+ }
+
+ // Take the difference between one array and a number of other arrays.
+ // Only the elements present in just the first array will remain.
+ var difference = restArguments(function(array, rest) {
+ rest = flatten$1(rest, true, true);
+ return filter(array, function(value){
+ return !contains(rest, value);
+ });
+ });
+
+ // Return a version of the array that does not contain the specified value(s).
+ var without = restArguments(function(array, otherArrays) {
+ return difference(array, otherArrays);
+ });
+
+ // Produce a duplicate-free version of the array. If the array has already
+ // been sorted, you have the option of using a faster algorithm.
+ // The faster algorithm will not work with an iteratee if the iteratee
+ // is not a one-to-one function, so providing an iteratee will disable
+ // the faster algorithm.
+ function uniq(array, isSorted, iteratee, context) {
+ if (!isBoolean(isSorted)) {
+ context = iteratee;
+ iteratee = isSorted;
+ isSorted = false;
+ }
+ if (iteratee != null) iteratee = cb(iteratee, context);
+ var result = [];
+ var seen = [];
+ for (var i = 0, length = getLength(array); i < length; i++) {
+ var value = array[i],
+ computed = iteratee ? iteratee(value, i, array) : value;
+ if (isSorted && !iteratee) {
+ if (!i || seen !== computed) result.push(value);
+ seen = computed;
+ } else if (iteratee) {
+ if (!contains(seen, computed)) {
+ seen.push(computed);
+ result.push(value);
+ }
+ } else if (!contains(result, value)) {
+ result.push(value);
+ }
+ }
+ return result;
+ }
+
+ // Produce an array that contains the union: each distinct element from all of
+ // the passed-in arrays.
+ var union = restArguments(function(arrays) {
+ return uniq(flatten$1(arrays, true, true));
+ });
+
+ // Produce an array that contains every item shared between all the
+ // passed-in arrays.
+ function intersection(array) {
+ var result = [];
+ var argsLength = arguments.length;
+ for (var i = 0, length = getLength(array); i < length; i++) {
+ var item = array[i];
+ if (contains(result, item)) continue;
+ var j;
+ for (j = 1; j < argsLength; j++) {
+ if (!contains(arguments[j], item)) break;
+ }
+ if (j === argsLength) result.push(item);
+ }
+ return result;
+ }
+
+ // Complement of zip. Unzip accepts an array of arrays and groups
+ // each array's elements on shared indices.
+ function unzip(array) {
+ var length = array && max(array, getLength).length || 0;
+ var result = Array(length);
+
+ for (var index = 0; index < length; index++) {
+ result[index] = pluck(array, index);
+ }
+ return result;
+ }
+
+ // Zip together multiple lists into a single array -- elements that share
+ // an index go together.
+ var zip = restArguments(unzip);
+
+ // Converts lists into objects. Pass either a single array of `[key, value]`
+ // pairs, or two parallel arrays of the same length -- one of keys, and one of
+ // the corresponding values. Passing by pairs is the reverse of `_.pairs`.
+ function object(list, values) {
+ var result = {};
+ for (var i = 0, length = getLength(list); i < length; i++) {
+ if (values) {
+ result[list[i]] = values[i];
+ } else {
+ result[list[i][0]] = list[i][1];
+ }
+ }
+ return result;
+ }
+
+ // Generate an integer Array containing an arithmetic progression. A port of
+ // the native Python `range()` function. See
+ // [the Python documentation](https://docs.python.org/library/functions.html#range).
+ function range(start, stop, step) {
+ if (stop == null) {
+ stop = start || 0;
+ start = 0;
+ }
+ if (!step) {
+ step = stop < start ? -1 : 1;
+ }
+
+ var length = Math.max(Math.ceil((stop - start) / step), 0);
+ var range = Array(length);
+
+ for (var idx = 0; idx < length; idx++, start += step) {
+ range[idx] = start;
+ }
+
+ return range;
+ }
+
+ // Chunk a single array into multiple arrays, each containing `count` or fewer
+ // items.
+ function chunk(array, count) {
+ if (count == null || count < 1) return [];
+ var result = [];
+ var i = 0, length = array.length;
+ while (i < length) {
+ result.push(slice.call(array, i, i += count));
+ }
+ return result;
+ }
// Helper function to continue chaining intermediate results.
- var chainResult = function(instance, obj) {
- return instance._chain ? _(obj).chain() : obj;
- };
+ function chainResult(instance, obj) {
+ return instance._chain ? _$1(obj).chain() : obj;
+ }
// Add your own custom functions to the Underscore object.
- _.mixin = function(obj) {
- _.each(_.functions(obj), function(name) {
- var func = _[name] = obj[name];
- _.prototype[name] = function() {
+ function mixin(obj) {
+ each(functions(obj), function(name) {
+ var func = _$1[name] = obj[name];
+ _$1.prototype[name] = function() {
var args = [this._wrapped];
push.apply(args, arguments);
- return chainResult(this, func.apply(_, args));
+ return chainResult(this, func.apply(_$1, args));
};
});
- return _;
- };
-
- // Add all of the Underscore functions to the wrapper object.
- _.mixin(_);
+ return _$1;
+ }
- // Add all mutator Array functions to the wrapper.
- _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
+ // Add all mutator `Array` functions to the wrapper.
+ each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
var method = ArrayProto[name];
- _.prototype[name] = function() {
+ _$1.prototype[name] = function() {
var obj = this._wrapped;
- method.apply(obj, arguments);
- if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];
+ if (obj != null) {
+ method.apply(obj, arguments);
+ if ((name === 'shift' || name === 'splice') && obj.length === 0) {
+ delete obj[0];
+ }
+ }
return chainResult(this, obj);
};
});
- // Add all accessor Array functions to the wrapper.
- _.each(['concat', 'join', 'slice'], function(name) {
+ // Add all accessor `Array` functions to the wrapper.
+ each(['concat', 'join', 'slice'], function(name) {
var method = ArrayProto[name];
- _.prototype[name] = function() {
- return chainResult(this, method.apply(this._wrapped, arguments));
+ _$1.prototype[name] = function() {
+ var obj = this._wrapped;
+ if (obj != null) obj = method.apply(obj, arguments);
+ return chainResult(this, obj);
};
});
- // Extracts the result from a wrapped and chained object.
- _.prototype.value = function() {
- return this._wrapped;
- };
+ // Named Exports
+
+ var allExports = {
+ __proto__: null,
+ VERSION: VERSION,
+ restArguments: restArguments,
+ isObject: isObject,
+ isNull: isNull,
+ isUndefined: isUndefined,
+ isBoolean: isBoolean,
+ isElement: isElement,
+ isString: isString,
+ isNumber: isNumber,
+ isDate: isDate,
+ isRegExp: isRegExp,
+ isError: isError,
+ isSymbol: isSymbol,
+ isArrayBuffer: isArrayBuffer,
+ isDataView: isDataView$1,
+ isArray: isArray,
+ isFunction: isFunction$1,
+ isArguments: isArguments$1,
+ isFinite: isFinite$1,
+ isNaN: isNaN$1,
+ isTypedArray: isTypedArray$1,
+ isEmpty: isEmpty,
+ isMatch: isMatch,
+ isEqual: isEqual,
+ isMap: isMap,
+ isWeakMap: isWeakMap,
+ isSet: isSet,
+ isWeakSet: isWeakSet,
+ keys: keys,
+ allKeys: allKeys,
+ values: values,
+ pairs: pairs,
+ invert: invert,
+ functions: functions,
+ methods: functions,
+ extend: extend,
+ extendOwn: extendOwn,
+ assign: extendOwn,
+ defaults: defaults,
+ create: create,
+ clone: clone,
+ tap: tap,
+ get: get,
+ has: has,
+ mapObject: mapObject,
+ identity: identity,
+ constant: constant,
+ noop: noop,
+ toPath: toPath$1,
+ property: property,
+ propertyOf: propertyOf,
+ matcher: matcher,
+ matches: matcher,
+ times: times,
+ random: random,
+ now: now,
+ escape: _escape,
+ unescape: _unescape,
+ templateSettings: templateSettings,
+ template: template,
+ result: result,
+ uniqueId: uniqueId,
+ chain: chain,
+ iteratee: iteratee,
+ partial: partial,
+ bind: bind,
+ bindAll: bindAll,
+ memoize: memoize,
+ delay: delay,
+ defer: defer,
+ throttle: throttle,
+ debounce: debounce,
+ wrap: wrap,
+ negate: negate,
+ compose: compose,
+ after: after,
+ before: before,
+ once: once,
+ findKey: findKey,
+ findIndex: findIndex,
+ findLastIndex: findLastIndex,
+ sortedIndex: sortedIndex,
+ indexOf: indexOf,
+ lastIndexOf: lastIndexOf,
+ find: find,
+ detect: find,
+ findWhere: findWhere,
+ each: each,
+ forEach: each,
+ map: map,
+ collect: map,
+ reduce: reduce,
+ foldl: reduce,
+ inject: reduce,
+ reduceRight: reduceRight,
+ foldr: reduceRight,
+ filter: filter,
+ select: filter,
+ reject: reject,
+ every: every,
+ all: every,
+ some: some,
+ any: some,
+ contains: contains,
+ includes: contains,
+ include: contains,
+ invoke: invoke,
+ pluck: pluck,
+ where: where,
+ max: max,
+ min: min,
+ shuffle: shuffle,
+ sample: sample,
+ sortBy: sortBy,
+ groupBy: groupBy,
+ indexBy: indexBy,
+ countBy: countBy,
+ partition: partition,
+ toArray: toArray,
+ size: size,
+ pick: pick,
+ omit: omit,
+ first: first,
+ head: first,
+ take: first,
+ initial: initial,
+ last: last,
+ rest: rest,
+ tail: rest,
+ drop: rest,
+ compact: compact,
+ flatten: flatten,
+ without: without,
+ uniq: uniq,
+ unique: uniq,
+ union: union,
+ intersection: intersection,
+ difference: difference,
+ unzip: unzip,
+ transpose: unzip,
+ zip: zip,
+ object: object,
+ range: range,
+ chunk: chunk,
+ mixin: mixin,
+ 'default': _$1
+ };
+
+ // Default Export
- // Provide unwrapping proxy for some methods used in engine operations
- // such as arithmetic and JSON stringification.
- _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
+ // Add all of the Underscore functions to the wrapper object.
+ var _ = mixin(allExports);
+ // Legacy Node.js API.
+ _._ = _;
- _.prototype.toString = function() {
- return String(this._wrapped);
- };
+ return _;
- // AMD registration happens at the end for compatibility with AMD loaders
- // that may not enforce next-turn semantics on modules. Even though general
- // practice for AMD registration is to be anonymous, underscore registers
- // as a named module because, like jQuery, it is a base library that is
- // popular enough to be bundled in a third party lib, but not be part of
- // an AMD load request. Those cases could generate an error when an
- // anonymous define() is called outside of a loader request.
- if (typeof define == 'function' && define.amd) {
- define('underscore', [], function() {
- return _;
- });
- }
-}());
+})));
+//# sourceMappingURL=underscore-umd.js.map
diff --git a/doc/bmc.html b/doc/bmc.html
index 2047d63..fbf3aea 100644
--- a/doc/bmc.html
+++ b/doc/bmc.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL &lt;–&gt; BMC interactions &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL &lt;–&gt; BMC interactions &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="error-logging.html" title="How to log errors on OPAL"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL &lt;–&gt; BMC interactions</a></li>
</ul>
</div>
@@ -44,18 +44,18 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-bmc-interactions">
+ <section id="opal-bmc-interactions">
<h1>OPAL &lt;–&gt; BMC interactions<a class="headerlink" href="#opal-bmc-interactions" title="Permalink to this headline">¶</a></h1>
<p>This document provides information about some of the user-visible interactions
that skiboot performs with the BMC.</p>
-<div class="section" id="ipmi-sensors">
+<section id="ipmi-sensors">
<h2>IPMI sensors<a class="headerlink" href="#ipmi-sensors" title="Permalink to this headline">¶</a></h2>
<p>OPAL will interact with a few IPMI sensors during the boot process. These
are:</p>
<blockquote>
<div><ul class="simple">
-<li>Boot Count [type 0xc3: OEM reserved]</li>
-<li>FW Boot progress [type 0x0f: System Firmware Progress]</li>
+<li><p>Boot Count [type 0xc3: OEM reserved]</p></li>
+<li><p>FW Boot progress [type 0x0f: System Firmware Progress]</p></li>
</ul>
</div></blockquote>
<p>Boot Count: assertion type. When OPAL reaches a late stage of boot, it sets the
@@ -65,35 +65,32 @@ or aborted boot, for switching to a known-good firmware image.</p>
to one of the IPMI-defined progress codes. The codes use by skiboot are:</p>
<blockquote>
<div><ul class="simple">
-<li><dl class="first docutils">
-<dt>PCI Resource configuration (0x01)</dt>
-<dd><ul class="first last">
-<li>asserted as the PCI devices have been probed and resources allocated</li>
+<li><dl class="simple">
+<dt>PCI Resource configuration (0x01)</dt><dd><ul>
+<li><p>asserted as the PCI devices have been probed and resources allocated</p></li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>Motherboard init (0x14)</dt>
-<dd><ul class="first last">
-<li>asserted as the platform-specific components have been initialised</li>
+<li><dl class="simple">
+<dt>Motherboard init (0x14)</dt><dd><ul>
+<li><p>asserted as the platform-specific components have been initialised</p></li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>OS boot (0x13)</dt>
-<dd><ul class="first last">
-<li>asserted after skiboot has loaded the PAYLOAD image, and is about to
-boot it.</li>
+<li><dl class="simple">
+<dt>OS boot (0x13)</dt><dd><ul>
+<li><p>asserted after skiboot has loaded the PAYLOAD image, and is about to
+boot it.</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
</div></blockquote>
-</div>
-<div class="section" id="chassis-control-messages">
+</section>
+<section id="chassis-control-messages">
<h2>Chassis control messages<a class="headerlink" href="#chassis-control-messages" title="Permalink to this headline">¶</a></h2>
<p>OPAL uses chassis control messages to instruct the BMC to remove power from
the host. These messages are sent during graceful reboot and shutdown processes
@@ -102,18 +99,18 @@ initiated by the host.</p>
an OEM-defined SEL message, using a SMS_ATN to trigger a BMC-to-host
notification. This SEL has a type of 0xc0, and command of 0x04. The data0 field
of the SEL indicates shutdown (0x0) or reboot (0x1).</p>
-</div>
-<div class="section" id="watchdog-support">
+</section>
+<section id="watchdog-support">
<h2>Watchdog support<a class="headerlink" href="#watchdog-support" title="Permalink to this headline">¶</a></h2>
<p>OPAL supports a BMC watchdog during the boot process. This will be disabled
before entering the OS.</p>
-</div>
-<div class="section" id="real-time-clock">
+</section>
+<section id="real-time-clock">
<h2>Real-time clock<a class="headerlink" href="#real-time-clock" title="Permalink to this headline">¶</a></h2>
<p>On platforms where a real-time-clock is not available, skiboot may use the
IPMI SEL Time as a real-time-clock device.</p>
-</div>
-<div class="section" id="sbe-validation">
+</section>
+<section id="sbe-validation">
<h2>SBE validation<a class="headerlink" href="#sbe-validation" title="Permalink to this headline">¶</a></h2>
<p>On some P8 platforms with an AMI or SMC BMC (ie. astbmc) SBE validation is done
by a tool on the BMC. This is done to inspect the SBE and detect if a malicious
@@ -138,10 +135,11 @@ this process Skiboot will print:</p>
state. Once the validation is complete Skiboot will reboot to reset everything
to a good state and normal booting can resume. No such reboot is required if
the flag is not set and validation doesn’t occur.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -173,17 +171,15 @@ the flag is not set and validation doesn’t occur.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -200,13 +196,14 @@ the flag is not set and validation doesn’t occur.</p>
<li class="right" >
<a href="error-logging.html" title="How to log errors on OPAL"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL &lt;–&gt; BMC interactions</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/console-log.html b/doc/console-log.html
index a5c0766..4691fa0 100644
--- a/doc/console-log.html
+++ b/doc/console-log.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>SkiBoot Console Log &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>SkiBoot Console Log &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="process/versioning.html" title="Versioning Scheme of skiboot"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">SkiBoot Console Log</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-console-log">
+ <section id="skiboot-console-log">
<h1>SkiBoot Console Log<a class="headerlink" href="#skiboot-console-log" title="Permalink to this headline">¶</a></h1>
<p>Skiboot maintains a circular textual log buffer in memory.</p>
<p>It can be accessed using any debugging method that can peek at
@@ -53,21 +53,20 @@ of the memory console, we’re pretty keen on keeping its location
static.</p>
<p>Events are logged in the following format:
<code class="docutils literal notranslate"><span class="pre">[S.T,L]</span> <span class="pre">message</span></code> where:</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">S:</th><td class="field-body">Seconds, which is the timebase divided by 512,000,000.
+<dl class="field-list simple">
+<dt class="field-odd">S</dt>
+<dd class="field-odd"><p>Seconds, which is the timebase divided by 512,000,000.
<strong>NOTE</strong>: The timebase is reset during boot, so zero is a few dozen
-messages into skiboot booting.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">T:</th><td class="field-body">Remaining Timebase. It is <em>NOT</em> a fraction of a second, but rather
-timebase%512000000</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">L:</th><td class="field-body">Log level (see below)</td>
-</tr>
-</tbody>
-</table>
+messages into skiboot booting.</p>
+</dd>
+<dt class="field-even">T</dt>
+<dd class="field-even"><p>Remaining Timebase. It is <em>NOT</em> a fraction of a second, but rather
+timebase%512000000</p>
+</dd>
+<dt class="field-odd">L</dt>
+<dd class="field-odd"><p>Log level (see below)</p>
+</dd>
+</dl>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">2.223466021</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">FLASH</span><span class="p">:</span> <span class="n">Found</span> <span class="n">system</span> <span class="n">flash</span><span class="p">:</span> <span class="n">Macronix</span> <span class="n">MXxxL51235F</span> <span class="nb">id</span><span class="p">:</span><span class="mi">0</span>
<span class="p">[</span> <span class="mf">3.494892796</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">FLASH</span><span class="p">:</span> <span class="n">flash</span> <span class="n">subpartition</span> <span class="n">eyecatcher</span> <span class="n">CAPP</span>
@@ -78,51 +77,51 @@ log level/priority appropriately.</p>
<p>printf() is mapped to PR_PRINTF and should be phased out and replaced
with prlog() calls.</p>
<p>See timebase.h for full timebase explanation.</p>
-<div class="section" id="log-levels">
+<section id="log-levels">
<h2>Log levels<a class="headerlink" href="#log-levels" title="Permalink to this headline">¶</a></h2>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="60%" />
-<col width="40%" />
+<col style="width: 60%" />
+<col style="width: 40%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Define</th>
-<th class="head">Value</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Define</p></th>
+<th class="head"><p>Value</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>PR_EMERG</td>
-<td>0</td>
+<tbody>
+<tr class="row-even"><td><p>PR_EMERG</p></td>
+<td><p>0</p></td>
</tr>
-<tr class="row-odd"><td>PR_ALERT</td>
-<td>1</td>
+<tr class="row-odd"><td><p>PR_ALERT</p></td>
+<td><p>1</p></td>
</tr>
-<tr class="row-even"><td>PR_CRIT</td>
-<td>2</td>
+<tr class="row-even"><td><p>PR_CRIT</p></td>
+<td><p>2</p></td>
</tr>
-<tr class="row-odd"><td>PR_ERR</td>
-<td>3</td>
+<tr class="row-odd"><td><p>PR_ERR</p></td>
+<td><p>3</p></td>
</tr>
-<tr class="row-even"><td>PR_WARNING</td>
-<td>4</td>
+<tr class="row-even"><td><p>PR_WARNING</p></td>
+<td><p>4</p></td>
</tr>
-<tr class="row-odd"><td>PR_NOTICE</td>
-<td>5</td>
+<tr class="row-odd"><td><p>PR_NOTICE</p></td>
+<td><p>5</p></td>
</tr>
-<tr class="row-even"><td>PR_PRINTF</td>
-<td>PR_NOTICE</td>
+<tr class="row-even"><td><p>PR_PRINTF</p></td>
+<td><p>PR_NOTICE</p></td>
</tr>
-<tr class="row-odd"><td>PR_INFO</td>
-<td>6</td>
+<tr class="row-odd"><td><p>PR_INFO</p></td>
+<td><p>6</p></td>
</tr>
-<tr class="row-even"><td>PR_DEBUG</td>
-<td>7</td>
+<tr class="row-even"><td><p>PR_DEBUG</p></td>
+<td><p>7</p></td>
</tr>
-<tr class="row-odd"><td>PR_TRACE</td>
-<td>8</td>
+<tr class="row-odd"><td><p>PR_TRACE</p></td>
+<td><p>8</p></td>
</tr>
-<tr class="row-even"><td>PR_INSANE</td>
-<td>9</td>
+<tr class="row-even"><td><p>PR_INSANE</p></td>
+<td><p>9</p></td>
</tr>
</tbody>
</table>
@@ -133,9 +132,9 @@ what level is just written to the in memory console (or not at all).</p>
at runtime in the memory console and through console drivers (fsp/uart)</p>
<p>You can vary two things by poking in the debug descriptor:</p>
<ol class="arabic simple">
-<li>what log level is printed at all
-e.g. only turn on PR_TRACE at specific points during runtime</li>
-<li>what log level goes out the fsp/uart console, defaults to PR_PRINTF</li>
+<li><p>what log level is printed at all
+e.g. only turn on PR_TRACE at specific points during runtime</p></li>
+<li><p>what log level goes out the fsp/uart console, defaults to PR_PRINTF</p></li>
</ol>
<p>We use two 4bit numbers (1 byte) for this in debug descriptor (saving
some space, not needlessly wasting space that we may want in future).</p>
@@ -144,8 +143,8 @@ some space, not needlessly wasting space that we may want in future).</p>
well as in memory. If you write 0x95 you get PR_INSANE in memory but
still only PR_NOTICE through drivers.</p>
<p>People who write something like 0x1f will get a very quiet boot indeed.</p>
-</div>
-<div class="section" id="debugging">
+</section>
+<section id="debugging">
<h2>Debugging<a class="headerlink" href="#debugging" title="Permalink to this headline">¶</a></h2>
<p>You can change the log level of what goes to the in memory buffer and whta
goes to the driver (i.e. serial port / IPMI Serial over LAN) at boot time
@@ -160,10 +159,11 @@ warning, notice, printf, info, debug, trace or insane. ie.</p>
</pre></div>
</div>
<p>You an also write to the debug_descriptor to change it at runtime.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -192,17 +192,15 @@ warning, notice, printf, info, debug, trace or insane. ie.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -219,13 +217,14 @@ warning, notice, printf, info, debug, trace or insane. ie.</p>
<li class="right" >
<a href="process/versioning.html" title="Versioning Scheme of skiboot"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">SkiBoot Console Log</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree.html b/doc/device-tree.html
index c00f89e..82bed7f 100644
--- a/doc/device-tree.html
+++ b/doc/device-tree.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Device Tree &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Device Tree &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="stb.html" title="Secure and Trusted Boot Library (LibSTB) Documentation"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Device Tree</a></li>
</ul>
</div>
@@ -44,34 +44,34 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="device-tree">
+ <section id="device-tree">
<span id="id1"></span><h1>Device Tree<a class="headerlink" href="#device-tree" title="Permalink to this headline">¶</a></h1>
<p>General notes on the Device Tree produced by skiboot. This chapter
<strong>needs updating</strong>.</p>
-<div class="section" id="general-comments">
+<section id="general-comments">
<h2>General comments<a class="headerlink" href="#general-comments" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>skiboot does not require nodes to have phandle properties, but
+<li><p>skiboot does not require nodes to have phandle properties, but
if you have them then <em>all</em> nodes must have them including the
root of the device-tree (currently a HB bug !). It is recommended
-to have them since they are needed to represent the cache levels.</li>
-<li><strong>NOTE</strong>: The example tree below only has phandle properties for
+to have them since they are needed to represent the cache levels.</p></li>
+<li><p><strong>NOTE</strong>: The example tree below only has phandle properties for
nodes that are referenced by other nodes. This is <em>not</em> correct
and is purely done for keeping this document smaller, make sure
-to follow the rule above.</li>
-<li>Only the “phandle” property is required. Sapphire also generates
+to follow the rule above.</p></li>
+<li><p>Only the “phandle” property is required. Sapphire also generates
a “linux,phandle” for backward compatibility but doesn’t require
-it as an input</li>
-<li>Any property not specifically documented must be put in “as is”</li>
-<li>All ibm,chip-id properties contain a HW chip ID which correspond
+it as an input</p></li>
+<li><p>Any property not specifically documented must be put in “as is”</p></li>
+<li><p>All ibm,chip-id properties contain a HW chip ID which correspond
on P8 to the PIR value shifted right by 7 bits, ie. it’s a 6-bit
-value made of a 3-bit node number and a 3-bit chip number.</li>
-<li>Unit addresses (&#64;xxxx part of node names) should if possible use
+value made of a 3-bit node number and a 3-bit chip number.</p></li>
+<li><p>Unit addresses (&#64;xxxx part of node names) should if possible use
lower case hexadecimal to be consistent with what skiboot does
-and to help some stupid parsers out there…</li>
+and to help some stupid parsers out there…</p></li>
</ul>
-</div>
-<div class="section" id="reserve-map">
+</section>
+<section id="reserve-map">
<h2>Reserve Map<a class="headerlink" href="#reserve-map" title="Permalink to this headline">¶</a></h2>
<p>Here are the reserve map entries. They should exactly match the
reserved-ranges property of the root node (see documentation
@@ -86,12 +86,12 @@ of that property)</p>
<span class="k">/memreserve/</span> <span class="mh">0x0000000400000000</span> <span class="mh">0x0000000000600450</span><span class="p">;</span>
</pre></div>
</div>
-</div>
-<div class="section" id="root-node">
+</section>
+<section id="root-node">
<h2>Root Node<a class="headerlink" href="#root-node" title="Permalink to this headline">¶</a></h2>
<p>Root node of device tree. There are a few required and a few optional properties
that sit in the root node. They’re described here.</p>
-<div class="section" id="compatible">
+<section id="compatible">
<h3>compatible<a class="headerlink" href="#compatible" title="Permalink to this headline">¶</a></h3>
<p>The “compatible” properties are string lists indicating the overall
compatibility from the more specific to the least specific.</p>
@@ -108,8 +108,8 @@ would work. Or even better: <cite>compatible = “goog,rhesus-v1”,”goog,rhes
<span class="p">};</span>
</pre></div>
</div>
-</div>
-<div class="section" id="example">
+</section>
+<section id="example">
<h3>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h3>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="k">/dts-v1/;</span>
<span class="k">/</span> <span class="p">{</span>
@@ -537,11 +537,12 @@ would work. Or even better: <cite>compatible = “goog,rhesus-v1”,”goog,rhes
<span class="p">};</span>
</pre></div>
</div>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -575,17 +576,15 @@ would work. Or even better: <cite>compatible = “goog,rhesus-v1”,”goog,rhes
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -602,13 +601,14 @@ would work. Or even better: <cite>compatible = “goog,rhesus-v1”,”goog,rhes
<li class="right" >
<a href="stb.html" title="Secure and Trusted Boot Library (LibSTB) Documentation"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Device Tree</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,cvc.html b/doc/device-tree/ibm,cvc.html
index f0d0b7b..8f07369 100644
--- a/doc/device-tree/ibm,cvc.html
+++ b/doc/device-tree/ibm,cvc.html
@@ -1,25 +1,24 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,cvc &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,cvc &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="ibm,firmware-versions node" href="ibm,firmware-versions.html" />
+ <link rel="next" title="ibm,firmware-versions node" href="ibm%2Cfirmware-versions.html" />
<link rel="prev" title="Device Tree" href="index.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
@@ -29,14 +28,15 @@
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="ibm,firmware-versions.html" title="ibm,firmware-versions node"
+ <a href="ibm%2Cfirmware-versions.html" title="ibm,firmware-versions node"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="index.html" title="Device Tree"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,cvc</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-cvc">
+ <section id="ibm-cvc">
<span id="device-tree-ibm-cvc"></span><h1>ibm,cvc<a class="headerlink" href="#ibm-cvc" title="Permalink to this headline">¶</a></h1>
<p>This describes the code (a.k.a container verification code) that skiboot uses
to verify signed firmware blobs. Each ibm,cvc child node describes CVC service,
which has a version and offset (reg).</p>
<p>Added in the device tree from <code class="docutils literal notranslate"><span class="pre">ibm,secureboot-v2</span></code>.</p>
-<div class="section" id="required-properties">
+<section id="required-properties">
<h2>Required properties<a class="headerlink" href="#required-properties" title="Permalink to this headline">¶</a></h2>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>compatible: should be &quot;ibm,container-verification-code&quot;
@@ -59,8 +59,8 @@ memory-region: this points to the reserved memory where the
container-verification-code is stored.
</pre></div>
</div>
-</div>
-<div class="section" id="example">
+</section>
+<section id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">ibm,cvc</span> <span class="p">{</span>
<span class="nf">phandle</span> <span class="o">=</span> <span class="p">&lt;</span><span class="mh">0x10f</span><span class="p">&gt;;</span>
@@ -85,10 +85,11 @@ memory-region: this points to the reserved memory where the
<span class="p">};</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -107,7 +108,7 @@ memory-region: this points to the reserved memory where the
<p class="topless"><a href="index.html"
title="previous chapter">Device Tree</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="ibm,firmware-versions.html"
+ <p class="topless"><a href="ibm%2Cfirmware-versions.html"
title="next chapter">ibm,firmware-versions node</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
@@ -117,17 +118,15 @@ memory-region: this points to the reserved memory where the
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -139,19 +138,20 @@ memory-region: this points to the reserved memory where the
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="ibm,firmware-versions.html" title="ibm,firmware-versions node"
+ <a href="ibm%2Cfirmware-versions.html" title="ibm,firmware-versions node"
>next</a> |</li>
<li class="right" >
<a href="index.html" title="Device Tree"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,cvc</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,firmware-versions.html b/doc/device-tree/ibm,firmware-versions.html
index 996761c..d6450c9 100644
--- a/doc/device-tree/ibm,firmware-versions.html
+++ b/doc/device-tree/ibm,firmware-versions.html
@@ -1,26 +1,25 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,firmware-versions node &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,firmware-versions node &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="ibm,opal" href="ibm,opal.html" />
- <link rel="prev" title="ibm,cvc" href="ibm,cvc.html" />
+ <link rel="next" title="ibm,opal" href="ibm%2Copal.html" />
+ <link rel="prev" title="ibm,cvc" href="ibm%2Ccvc.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
@@ -29,14 +28,15 @@
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="ibm,opal.html" title="ibm,opal"
+ <a href="ibm%2Copal.html" title="ibm,opal"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="ibm,cvc.html" title="ibm,cvc"
+ <a href="ibm%2Ccvc.html" title="ibm,cvc"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,firmware-versions node</a></li>
</ul>
</div>
@@ -45,72 +45,72 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-firmware-versions-node">
+ <section id="ibm-firmware-versions-node">
<h1>ibm,firmware-versions node<a class="headerlink" href="#ibm-firmware-versions-node" title="Permalink to this headline">¶</a></h1>
<p>The <cite>ibm,firmware-versions</cite> node contains information on the versions of
various firmware components as they were <strong>during boot</strong>. It <strong>does not</strong>
change if there are pending or runtime updates. It represents (to the best
of boot firmware’s ability) what versions of firmware were during this boot.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="25%" />
-<col width="12%" />
-<col width="64%" />
+<col style="width: 25%" />
+<col style="width: 12%" />
+<col style="width: 64%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Property</th>
-<th class="head">Required</th>
-<th class="head">Value</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Property</p></th>
+<th class="head"><p>Required</p></th>
+<th class="head"><p>Value</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>version</td>
-<td>POWER9</td>
-<td>See below</td>
+<tbody>
+<tr class="row-even"><td><p>version</p></td>
+<td><p>POWER9</p></td>
+<td><p>See below</p></td>
</tr>
-<tr class="row-odd"><td>skiboot</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-odd"><td><p>skiboot</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
-<tr class="row-even"><td>occ</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-even"><td><p>occ</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
-<tr class="row-odd"><td>buildroot</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-odd"><td><p>buildroot</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
-<tr class="row-even"><td>capp-ucode</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-even"><td><p>capp-ucode</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
-<tr class="row-odd"><td>petitboot</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-odd"><td><p>petitboot</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
-<tr class="row-even"><td>open-power</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-even"><td><p>open-power</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
-<tr class="row-odd"><td>hostboot-binaries</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-odd"><td><p>hostboot-binaries</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
-<tr class="row-even"><td>MACHINE-xml</td>
-<td>N</td>
-<td>MACHINE (e.g. habanero) machine XML version</td>
+<tr class="row-even"><td><p>MACHINE-xml</p></td>
+<td><p>N</p></td>
+<td><p>MACHINE (e.g. habanero) machine XML version</p></td>
</tr>
-<tr class="row-odd"><td>hostboot</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-odd"><td><p>hostboot</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
-<tr class="row-even"><td>linux</td>
-<td>N</td>
-<td>component version number</td>
+<tr class="row-even"><td><p>linux</p></td>
+<td><p>N</p></td>
+<td><p>component version number</p></td>
</tr>
</tbody>
</table>
-<div class="section" id="version-property">
+<section id="version-property">
<h2><code class="docutils literal notranslate"><span class="pre">version</span></code> property<a class="headerlink" href="#version-property" title="Permalink to this headline">¶</a></h2>
<p>This property <strong>must</strong> exist on POWER9 and above systems. It <strong>may</strong> exist
on POWER8 systems.</p>
@@ -121,9 +121,9 @@ That is, the version that is applicable when determining if a machine
requires a firmware update.</p>
<p>Examples (for three different platforms):</p>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">IBM-sandwich-20170217</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">open-power-habanero-v1.14-45-g78d89280c3f9-dirty</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">open-power-SUPERMICRO-P8DTU-V2.00.GA2-20161028</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">IBM-sandwich-20170217</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">open-power-habanero-v1.14-45-g78d89280c3f9-dirty</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">open-power-SUPERMICRO-P8DTU-V2.00.GA2-20161028</span></code></p></li>
</ul>
<p>To compare two versions (for the purpose of determining if the current
installed firmware is in need of updating to the one being compared against)
@@ -131,16 +131,16 @@ we need a defined set of rules on how to do this comparison.</p>
<p>Version numbers are <strong>not</strong> intended to be compared across platforms.</p>
<p>The version string may include a description at the start of it. This
description can contain any set of characters but <strong>must not</strong> contain
-a ‘-‘ followed by a digit. It also <strong>must not</strong> contain ‘-v’ or ‘-V’ followed
+a ‘-’ followed by a digit. It also <strong>must not</strong> contain ‘-v’ or ‘-V’ followed
by a digit.</p>
-<p>Each part of the version string is separated by a ‘-‘ character. Leading
+<p>Each part of the version string is separated by a ‘-’ character. Leading
sections are ignored, until one starts with a digit (0-9) or a ‘v’ or ‘V’,
followed by a digit. Where there is a leading ‘v’ or ‘V’, it is also stripped.</p>
<p>For the above three examples, we’d be left with:</p>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">20170217</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">1.14-45-g78d89280c3f9-dirty</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">2.00.GA2-20161028</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">20170217</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1.14-45-g78d89280c3f9-dirty</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">2.00.GA2-20161028</span></code></p></li>
</ul>
<p>Each section is now compared until a difference is found. All comparisons
are done <em>lexically</em>. The lexical comparison sorts in this order: tilde (~),
@@ -165,63 +165,63 @@ sections “-g78d89280c3f9” and “-g123456789abc” differ and for all compar
familiar to those who are familiar with RPM and Debian package versioning.</p>
<p>The below table shows comparisons between versions and what the result should
be:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="36%" />
-<col width="36%" />
-<col width="27%" />
+<col style="width: 36%" />
+<col style="width: 36%" />
+<col style="width: 27%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">A</th>
-<th class="head">B</th>
-<th class="head">Result</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>A</p></th>
+<th class="head"><p>B</p></th>
+<th class="head"><p>Result</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>1.14-45-g78d89280c3f9-dirty</td>
-<td>1.14-45-g78d89280c3f9-dirty</td>
-<td>Equal</td>
+<tbody>
+<tr class="row-even"><td><p>1.14-45-g78d89280c3f9-dirty</p></td>
+<td><p>1.14-45-g78d89280c3f9-dirty</p></td>
+<td><p>Equal</p></td>
</tr>
-<tr class="row-odd"><td>1.14-45-g78d89280c3f9-dirty</td>
-<td>1.14-45-g78d89280c3f9</td>
-<td>A &gt; B</td>
+<tr class="row-odd"><td><p>1.14-45-g78d89280c3f9-dirty</p></td>
+<td><p>1.14-45-g78d89280c3f9</p></td>
+<td><p>A &gt; B</p></td>
</tr>
-<tr class="row-even"><td>1.14-45-g78d89280c3f9-dirty</td>
-<td>1.14-45-g123456789abc</td>
-<td>A &lt; B, A &gt; B, A != B</td>
+<tr class="row-even"><td><p>1.14-45-g78d89280c3f9-dirty</p></td>
+<td><p>1.14-45-g123456789abc</p></td>
+<td><p>A &lt; B, A &gt; B, A != B</p></td>
</tr>
-<tr class="row-odd"><td>1.14-45-g78d89280c3f9-dirty</td>
-<td>1.14-46</td>
-<td>A &lt; B</td>
+<tr class="row-odd"><td><p>1.14-45-g78d89280c3f9-dirty</p></td>
+<td><p>1.14-46</p></td>
+<td><p>A &lt; B</p></td>
</tr>
-<tr class="row-even"><td>1.14-45-g78d89280c3f9-dirty</td>
-<td>1.15</td>
-<td>A &lt; B</td>
+<tr class="row-even"><td><p>1.14-45-g78d89280c3f9-dirty</p></td>
+<td><p>1.15</p></td>
+<td><p>A &lt; B</p></td>
</tr>
-<tr class="row-odd"><td>1.14-45-g78d89280c3f9-dirty</td>
-<td>1:1.0</td>
-<td>A &lt; B</td>
+<tr class="row-odd"><td><p>1.14-45-g78d89280c3f9-dirty</p></td>
+<td><p>1:1.0</p></td>
+<td><p>A &lt; B</p></td>
</tr>
-<tr class="row-even"><td>1.0</td>
-<td>1.0~daily20170201</td>
-<td>A &gt; B</td>
+<tr class="row-even"><td><p>1.0</p></td>
+<td><p>1.0~daily20170201</p></td>
+<td><p>A &gt; B</p></td>
</tr>
-<tr class="row-odd"><td>1.0.1</td>
-<td>1.0~daily20170201</td>
-<td>A &gt; B</td>
+<tr class="row-odd"><td><p>1.0.1</p></td>
+<td><p>1.0~daily20170201</p></td>
+<td><p>A &gt; B</p></td>
</tr>
-<tr class="row-even"><td>1.0</td>
-<td>1.0.1</td>
-<td>A &lt; B</td>
+<tr class="row-even"><td><p>1.0</p></td>
+<td><p>1.0.1</p></td>
+<td><p>A &lt; B</p></td>
</tr>
-<tr class="row-odd"><td>1.0</td>
-<td>1.0beta</td>
-<td>A &lt; B</td>
+<tr class="row-odd"><td><p>1.0</p></td>
+<td><p>1.0beta</p></td>
+<td><p>A &lt; B</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="examples">
+</section>
+<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
<p>New style (required for POWER9 and above):</p>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">ibm,firmware-versions</span> <span class="p">{</span>
@@ -248,10 +248,11 @@ be:</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -267,10 +268,10 @@ be:</p>
</ul>
<h4>Previous topic</h4>
- <p class="topless"><a href="ibm,cvc.html"
+ <p class="topless"><a href="ibm%2Ccvc.html"
title="previous chapter">ibm,cvc</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="ibm,opal.html"
+ <p class="topless"><a href="ibm%2Copal.html"
title="next chapter">ibm,opal</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
@@ -280,17 +281,15 @@ be:</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -302,19 +301,20 @@ be:</p>
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="ibm,opal.html" title="ibm,opal"
+ <a href="ibm%2Copal.html" title="ibm,opal"
>next</a> |</li>
<li class="right" >
- <a href="ibm,cvc.html" title="ibm,cvc"
+ <a href="ibm%2Ccvc.html" title="ibm,cvc"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,firmware-versions node</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal.html b/doc/device-tree/ibm,opal.html
index f4ffdc4..005db3e 100644
--- a/doc/device-tree/ibm,opal.html
+++ b/doc/device-tree/ibm,opal.html
@@ -1,26 +1,25 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,opal &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,opal &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="ibm,opal/diagnostics device tree entries" href="ibm,opal/diagnostics.html" />
- <link rel="prev" title="ibm,firmware-versions node" href="ibm,firmware-versions.html" />
+ <link rel="next" title="ibm,opal/diagnostics device tree entries" href="ibm%2Copal/diagnostics.html" />
+ <link rel="prev" title="ibm,firmware-versions node" href="ibm%2Cfirmware-versions.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
@@ -29,14 +28,15 @@
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="ibm,opal/diagnostics.html" title="ibm,opal/diagnostics device tree entries"
+ <a href="ibm%2Copal/diagnostics.html" title="ibm,opal/diagnostics device tree entries"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="ibm,firmware-versions.html" title="ibm,firmware-versions node"
+ <a href="ibm%2Cfirmware-versions.html" title="ibm,firmware-versions node"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal</a></li>
</ul>
</div>
@@ -45,25 +45,25 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-opal">
+ <section id="ibm-opal">
<span id="device-tree-ibm-opal"></span><h1>ibm,opal<a class="headerlink" href="#ibm-opal" title="Permalink to this headline">¶</a></h1>
<div class="toctree-wrapper compound">
<ul>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/diagnostics.html">ibm,opal/diagnostics device tree entries</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/dump.html">Dump (MPIPL) Device Tree Binding</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/firmware.html">System Firmware</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/flash.html">ibm,opal/flash device tree entries</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/led.html">Service Indicators (LEDS)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/nvram.html">nvram Device Tree Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/oppanel.html">Operator Panel (oppanel)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/power-mgt.html">ibm,opal/power-mgt device tree entries</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/secvar.html">Secvar Binding</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/sensor-groups.html">ibm,opal/sensor-groups</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/sensors.html">ibm,opal/sensors/ device tree nodes</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal/sysparams.html">sysparams</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/diagnostics.html">ibm,opal/diagnostics device tree entries</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/dump.html">Dump (MPIPL) Device Tree Binding</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/firmware.html">System Firmware</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/flash.html">ibm,opal/flash device tree entries</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/led.html">Service Indicators (LEDS)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/nvram.html">nvram Device Tree Node</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/oppanel.html">Operator Panel (oppanel)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/power-mgt.html">ibm,opal/power-mgt device tree entries</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/secvar.html">Secvar Binding</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/sensor-groups.html">ibm,opal/sensor-groups</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/sensors.html">ibm,opal/sensors/ device tree nodes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal/sysparams.html">sysparams</a></li>
</ul>
</div>
-<div class="section" id="top-level-ibm-opal-node">
+<section id="top-level-ibm-opal-node">
<h2>Top level ibm,opal node<a class="headerlink" href="#top-level-ibm-opal-node" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">ibm,opal</span> <span class="p">{</span>
<span class="nf">#address-cells</span> <span class="o">=</span> <span class="p">&lt;</span><span class="mh">0x0</span><span class="p">&gt;;</span>
@@ -102,7 +102,7 @@
<span class="p">};</span>
</pre></div>
</div>
-<div class="section" id="ibm-heartbeat-ms">
+<section id="ibm-heartbeat-ms">
<h3>ibm,heartbeat-ms<a class="headerlink" href="#ibm-heartbeat-ms" title="Permalink to this headline">¶</a></h3>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">ibm,opal</span> <span class="p">{</span>
<span class="nf">ibm,heartbeat-ms</span> <span class="o">=</span> <span class="p">&lt;</span><span class="mh">0x7d0</span><span class="p">&gt;;</span>
@@ -115,19 +115,20 @@ supported POWER8 systems.</p>
<p>On the earliest POWER8 OPAL systems, there was <cite>ibm,heartbeat-freq</cite> instead.
However, no OS at the time ever looked at that value, so it can be ignored
by any new operating systems.</p>
-</div>
-<div class="section" id="fast-reboot-property">
+</section>
+<section id="fast-reboot-property">
<h3>fast-reboot property<a class="headerlink" href="#fast-reboot-property" title="Permalink to this headline">¶</a></h3>
<p>This property of the <cite>ibm,opal</cite> node is an option property that will either be
the string <cite>okay</cite> or the reason the fast reboot feature was disabled on boot.</p>
<p>The motivation behind adding this property is to help the OPAL test suite work
out if it should even try the fast reboot test on a particular platform
(without it having to resort to grepping firmware logs).</p>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -146,10 +147,10 @@ out if it should even try the fast reboot test on a particular platform
</ul>
<h4>Previous topic</h4>
- <p class="topless"><a href="ibm,firmware-versions.html"
+ <p class="topless"><a href="ibm%2Cfirmware-versions.html"
title="previous chapter">ibm,firmware-versions node</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="ibm,opal/diagnostics.html"
+ <p class="topless"><a href="ibm%2Copal/diagnostics.html"
title="next chapter">ibm,opal/diagnostics device tree entries</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
@@ -159,17 +160,15 @@ out if it should even try the fast reboot test on a particular platform
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -181,19 +180,20 @@ out if it should even try the fast reboot test on a particular platform
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="ibm,opal/diagnostics.html" title="ibm,opal/diagnostics device tree entries"
+ <a href="ibm%2Copal/diagnostics.html" title="ibm,opal/diagnostics device tree entries"
>next</a> |</li>
<li class="right" >
- <a href="ibm,firmware-versions.html" title="ibm,firmware-versions node"
+ <a href="ibm%2Cfirmware-versions.html" title="ibm,firmware-versions node"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/diagnostics.html b/doc/device-tree/ibm,opal/diagnostics.html
index f8eedc8..5e0bd7f 100644
--- a/doc/device-tree/ibm,opal/diagnostics.html
+++ b/doc/device-tree/ibm,opal/diagnostics.html
@@ -1,26 +1,25 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,opal/diagnostics device tree entries &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,opal/diagnostics device tree entries &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Dump (MPIPL) Device Tree Binding" href="dump.html" />
- <link rel="prev" title="ibm,opal" href="../ibm,opal.html" />
+ <link rel="prev" title="ibm,opal" href="../ibm%2Copal.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
@@ -32,12 +31,13 @@
<a href="dump.html" title="Dump (MPIPL) Device Tree Binding"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="../ibm,opal.html" title="ibm,opal"
+ <a href="../ibm%2Copal.html" title="ibm,opal"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/diagnostics device tree entries</a></li>
</ul>
</div>
@@ -46,7 +46,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-opal-diagnostics-device-tree-entries">
+ <section id="ibm-opal-diagnostics-device-tree-entries">
<h1>ibm,opal/diagnostics device tree entries<a class="headerlink" href="#ibm-opal-diagnostics-device-tree-entries" title="Permalink to this headline">¶</a></h1>
<p>The diagnostics node under ibm,opal describes a userspace-to-firmware
interface, supporting the runtime processor recovery diagnostics functions.</p>
@@ -62,16 +62,17 @@ interface, supporting the runtime processor recovery diagnostics functions.</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
- <p class="topless"><a href="../ibm,opal.html"
+ <p class="topless"><a href="../ibm%2Copal.html"
title="previous chapter">ibm,opal</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="dump.html"
@@ -84,17 +85,15 @@ interface, supporting the runtime processor recovery diagnostics functions.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -109,17 +108,18 @@ interface, supporting the runtime processor recovery diagnostics functions.</p>
<a href="dump.html" title="Dump (MPIPL) Device Tree Binding"
>next</a> |</li>
<li class="right" >
- <a href="../ibm,opal.html" title="ibm,opal"
+ <a href="../ibm%2Copal.html" title="ibm,opal"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/diagnostics device tree entries</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/dump.html b/doc/device-tree/ibm,opal/dump.html
index 3b596ba..c4731a4 100644
--- a/doc/device-tree/ibm,opal/dump.html
+++ b/doc/device-tree/ibm,opal/dump.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Dump (MPIPL) Device Tree Binding &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Dump (MPIPL) Device Tree Binding &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="diagnostics.html" title="ibm,opal/diagnostics device tree entries"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Dump (MPIPL) Device Tree Binding</a></li>
</ul>
</div>
@@ -46,10 +46,10 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="dump-mpipl-device-tree-binding">
+ <section id="dump-mpipl-device-tree-binding">
<span id="device-tree-ibm-opal-dump"></span><h1>Dump (MPIPL) Device Tree Binding<a class="headerlink" href="#dump-mpipl-device-tree-binding" title="Permalink to this headline">¶</a></h1>
<p>See <a class="reference internal" href="../../mpipl.html#mpipl"><span class="std std-ref">MPIPL (aka FADUMP) Overview</span></a> for general MPIPL information.</p>
-<div class="section" id="dump-node">
+<section id="dump-node">
<h2>dump node<a class="headerlink" href="#dump-node" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">dump</span> <span class="p">{</span>
<span class="cm">/*</span>
@@ -79,10 +79,11 @@
<span class="p">};</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -110,17 +111,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -137,15 +136,16 @@
<li class="right" >
<a href="diagnostics.html" title="ibm,opal/diagnostics device tree entries"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Dump (MPIPL) Device Tree Binding</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/firmware.html b/doc/device-tree/ibm,opal/firmware.html
index 353b107..0826506 100644
--- a/doc/device-tree/ibm,opal/firmware.html
+++ b/doc/device-tree/ibm,opal/firmware.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>System Firmware &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>System Firmware &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="dump.html" title="Dump (MPIPL) Device Tree Binding"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">System Firmware</a></li>
</ul>
</div>
@@ -46,7 +46,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="system-firmware">
+ <section id="system-firmware">
<h1>System Firmware<a class="headerlink" href="#system-firmware" title="Permalink to this headline">¶</a></h1>
<p>The ‘firmware’ node under ‘ibm,opal’ lists system and OPAL firmware version.</p>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">firmware</span> <span class="p">{</span>
@@ -60,34 +60,34 @@
<span class="p">};</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt>
-<dd>property describes OPAL compatibility.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">symbol-map</span></code></dt>
-<dd>property describes OPAL symbol start address and size.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">version</span></code></dt>
-<dd><p class="first">property describes OPAL version. It replaced a property named ‘git-id’ early
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt><dd><p>property describes OPAL compatibility.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">symbol-map</span></code></dt><dd><p>property describes OPAL symbol start address and size.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">version</span></code></dt><dd><p>property describes OPAL version. It replaced a property named ‘git-id’ early
in the POWER8 lifecycle, so may not always be present. It will be absent on
IBM FSP based systems running firmware prior to FW840. The ‘version’ property
is present on all GA POWER8 BMC systems.</p>
-<p class="last">On POWER9 and above, it is always present.</p>
+<p>On POWER9 and above, it is always present.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">mi-version</span></code></dt><dd><p>property describes Microcode Image. Only on IBM FSP systems.
+Will (likely) not be present on POWER9 systems.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">ml-version</span></code></dt><dd><p>property describes Microcode Level. Only on IBM FSP systems.
+Will (likely) not be present on POWER9 systems.</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">mi-version</span></code></dt>
-<dd>property describes Microcode Image. Only on IBM FSP systems.
-Will (likely) not be present on POWER9 systems.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">ml-version</span></code></dt>
-<dd>property describes Microcode Level. Only on IBM FSP systems.
-Will (likely) not be present on POWER9 systems.</dd>
</dl>
-<div class="section" id="mi-ml-format">
+<section id="mi-ml-format">
<h2>MI/ML format<a class="headerlink" href="#mi-ml-format" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">&lt;</span><span class="n">ML</span><span class="o">/</span><span class="n">MI</span><span class="o">&gt;</span> <span class="o">&lt;</span><span class="n">T</span> <span class="n">side</span> <span class="n">version</span><span class="o">&gt;</span> <span class="o">&lt;</span><span class="n">P</span> <span class="n">side</span> <span class="n">version</span><span class="o">&gt;</span> <span class="o">&lt;</span><span class="n">boot</span> <span class="n">side</span> <span class="n">version</span><span class="o">&gt;</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -115,17 +115,15 @@ Will (likely) not be present on POWER9 systems.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -142,15 +140,16 @@ Will (likely) not be present on POWER9 systems.</dd>
<li class="right" >
<a href="dump.html" title="Dump (MPIPL) Device Tree Binding"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">System Firmware</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/flash.html b/doc/device-tree/ibm,opal/flash.html
index 199d279..f66a0dd 100644
--- a/doc/device-tree/ibm,opal/flash.html
+++ b/doc/device-tree/ibm,opal/flash.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,opal/flash device tree entries &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,opal/flash device tree entries &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="firmware.html" title="System Firmware"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/flash device tree entries</a></li>
</ul>
</div>
@@ -46,7 +46,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-opal-flash-device-tree-entries">
+ <section id="ibm-opal-flash-device-tree-entries">
<span id="device-tree-ibm-opal-flash"></span><h1>ibm,opal/flash device tree entries<a class="headerlink" href="#ibm-opal-flash-device-tree-entries" title="Permalink to this headline">¶</a></h1>
<p>The flash&#64;&lt;n&gt; nodes under ibm,opal describe flash devices that can be
accessed through the OPAL_FLASH_{READ,ERASE,WRITE} interface.</p>
@@ -54,19 +54,19 @@ accessed through the OPAL_FLASH_{READ,ERASE,WRITE} interface.</p>
property of the node.</p>
<p>The properties under a flash node are:</p>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">compatible</span> <span class="pre">=</span> <span class="pre">&quot;ibm,opal-flash&quot;</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">compatible</span> <span class="pre">=</span> <span class="pre">&quot;ibm,opal-flash&quot;</span></code></p></li>
</ul>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">ibm,opal-id</span> <span class="pre">=</span> <span class="pre">&lt;id&gt;</span></code></dt>
-<dd>provides the index used for the OPAL_FLASH_XXX calls to reference this
-flash device</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">reg</span> <span class="pre">=</span> <span class="pre">&lt;0</span> <span class="pre">size&gt;</span></code></dt>
-<dd>the offset and size of the flash device</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">ibm,flash-block-size</span></code></dt>
-<dd>the read/write/erase block size for the flash interface. Calls
-to read/write/erase must be aligned to the block size.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">#address-cells</span> <span class="pre">=</span> <span class="pre">&lt;1&gt;</span></code>, <code class="docutils literal notranslate"><span class="pre">#size-cells</span> <span class="pre">=</span> <span class="pre">&lt;1&gt;</span></code></dt>
-<dd>flash devices are currently 32-bit addressable</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">ibm,opal-id</span> <span class="pre">=</span> <span class="pre">&lt;id&gt;</span></code></dt><dd><p>provides the index used for the OPAL_FLASH_XXX calls to reference this
+flash device</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">reg</span> <span class="pre">=</span> <span class="pre">&lt;0</span> <span class="pre">size&gt;</span></code></dt><dd><p>the offset and size of the flash device</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">ibm,flash-block-size</span></code></dt><dd><p>the read/write/erase block size for the flash interface. Calls
+to read/write/erase must be aligned to the block size.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">#address-cells</span> <span class="pre">=</span> <span class="pre">&lt;1&gt;</span></code>, <code class="docutils literal notranslate"><span class="pre">#size-cells</span> <span class="pre">=</span> <span class="pre">&lt;1&gt;</span></code></dt><dd><p>flash devices are currently 32-bit addressable</p>
+</dd>
</dl>
<p>If valid partitions are found on the flash device, then <code class="docutils literal notranslate"><span class="pre">partition&#64;&lt;offset&gt;</span></code>
sub-nodes are added to the flash node. These match the Linux binding for
@@ -84,9 +84,10 @@ partition.</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -106,17 +107,15 @@ partition.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -133,15 +132,16 @@ partition.</p>
<li class="right" >
<a href="firmware.html" title="System Firmware"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/flash device tree entries</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/led.html b/doc/device-tree/ibm,opal/led.html
index 726d45b..fe3a084 100644
--- a/doc/device-tree/ibm,opal/led.html
+++ b/doc/device-tree/ibm,opal/led.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Service Indicators (LEDS) &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Service Indicators (LEDS) &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="flash.html" title="ibm,opal/flash device tree entries"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Service Indicators (LEDS)</a></li>
</ul>
</div>
@@ -46,7 +46,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="service-indicators-leds">
+ <section id="service-indicators-leds">
<span id="device-tree-ibm-opal-leds"></span><h1>Service Indicators (LEDS)<a class="headerlink" href="#service-indicators-leds" title="Permalink to this headline">¶</a></h1>
<p>The ‘leds’ node under ‘ibm,opal’ lists service indicators available in the
system and their capabilities.</p>
@@ -65,23 +65,24 @@ system and their capabilities.</p>
<span class="p">};</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt>compatible</dt>
-<dd>property describes LEDs compatibility.</dd>
-<dt>led-mode</dt>
-<dd>property describes service indicator mode (lightpath/guidinglight).</dd>
+<dl class="simple">
+<dt>compatible</dt><dd><p>property describes LEDs compatibility.</p>
+</dd>
+<dt>led-mode</dt><dd><p>property describes service indicator mode (lightpath/guidinglight).</p>
+</dd>
</dl>
<p>Each node under ‘leds’ node describes location code of FRU/Enclosure.</p>
<p>The properties under each node:</p>
-<dl class="docutils">
-<dt>led-types</dt>
-<dd>Supported indicators (attention/identify/fault).</dd>
+<dl class="simple">
+<dt>led-types</dt><dd><p>Supported indicators (attention/identify/fault).</p>
+</dd>
</dl>
<p>These LEDs can be accessed through OPAL_LEDS_{GET/SET}_INDICATOR interfaces.
Refer to <a class="reference internal" href="../../opal-api/opal-led-get-set-114-115.html#opal-api-leds"><span class="std std-ref">Service Indicators (LEDS)</span></a> for interface details.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -101,17 +102,15 @@ Refer to <a class="reference internal" href="../../opal-api/opal-led-get-set-114
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -128,15 +127,16 @@ Refer to <a class="reference internal" href="../../opal-api/opal-led-get-set-114
<li class="right" >
<a href="flash.html" title="ibm,opal/flash device tree entries"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Service Indicators (LEDS)</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/nvram.html b/doc/device-tree/ibm,opal/nvram.html
index 4060293..545c59e 100644
--- a/doc/device-tree/ibm,opal/nvram.html
+++ b/doc/device-tree/ibm,opal/nvram.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>nvram Device Tree Node &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>nvram Device Tree Node &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="led.html" title="Service Indicators (LEDS)"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">nvram Device Tree Node</a></li>
</ul>
</div>
@@ -46,7 +46,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="nvram-device-tree-node">
+ <section id="nvram-device-tree-node">
<span id="device-tree-ibm-opal-nvram"></span><h1>nvram Device Tree Node<a class="headerlink" href="#nvram-device-tree-node" title="Permalink to this headline">¶</a></h1>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">nvram</span> <span class="p">{</span>
<span class="nf">compatible</span> <span class="o">=</span> <span class="s">&quot;ibm,opal-nvram&quot;</span><span class="p">;</span>
@@ -55,9 +55,10 @@
</pre></div>
</div>
<p>Indicates support (and size of) the <a class="reference internal" href="../../opal-api/opal-nvram-read-write-7-8.html#nvram"><span class="std std-ref">OPAL NVRAM</span></a> facility.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -77,17 +78,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -104,15 +103,16 @@
<li class="right" >
<a href="led.html" title="Service Indicators (LEDS)"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">nvram Device Tree Node</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/oppanel.html b/doc/device-tree/ibm,opal/oppanel.html
index 36deeca..02216a7 100644
--- a/doc/device-tree/ibm,opal/oppanel.html
+++ b/doc/device-tree/ibm,opal/oppanel.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Operator Panel (oppanel) &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Operator Panel (oppanel) &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="nvram.html" title="nvram Device Tree Node"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Operator Panel (oppanel)</a></li>
</ul>
</div>
@@ -46,7 +46,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="operator-panel-oppanel">
+ <section id="operator-panel-oppanel">
<span id="device-tree-ibm-opal-oppanel"></span><h1>Operator Panel (oppanel)<a class="headerlink" href="#operator-panel-oppanel" title="Permalink to this headline">¶</a></h1>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">oppanel</span> <span class="p">{</span>
<span class="nf">compatible</span> <span class="o">=</span> <span class="s">&quot;ibm,opal-oppanel&quot;</span><span class="p">;</span>
@@ -64,9 +64,10 @@ panel.</p>
<p>If it is, there are OPAL calls to read and write to it.</p>
<p>The device tree entry is so that the host OS knows the size of the panel
and can pass buffers of the appropriate size to the OPAL calls.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -86,17 +87,15 @@ and can pass buffers of the appropriate size to the OPAL calls.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -113,15 +112,16 @@ and can pass buffers of the appropriate size to the OPAL calls.</p>
<li class="right" >
<a href="nvram.html" title="nvram Device Tree Node"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Operator Panel (oppanel)</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/power-mgt.html b/doc/device-tree/ibm,opal/power-mgt.html
index 25e570f..4ce156a 100644
--- a/doc/device-tree/ibm,opal/power-mgt.html
+++ b/doc/device-tree/ibm,opal/power-mgt.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,opal/power-mgt device tree entries &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,opal/power-mgt device tree entries &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="oppanel.html" title="Operator Panel (oppanel)"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/power-mgt device tree entries</a></li>
</ul>
</div>
@@ -46,7 +46,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-opal-power-mgt-device-tree-entries">
+ <section id="ibm-opal-power-mgt-device-tree-entries">
<span id="power-mgt-devtree"></span><h1>ibm,opal/power-mgt device tree entries<a class="headerlink" href="#ibm-opal-power-mgt-device-tree-entries" title="Permalink to this headline">¶</a></h1>
<div class="toctree-wrapper compound">
<ul>
@@ -106,7 +106,7 @@ values for optimal power efficiency.</p>
<span class="p">};</span>
</pre></div>
</div>
-<div class="section" id="ibm-cpu-idle-state-pmicr-ibm-cpu-idle-state-pmicr-mask">
+<section id="ibm-cpu-idle-state-pmicr-ibm-cpu-idle-state-pmicr-mask">
<h2>ibm,cpu-idle-state-pmicr ibm,cpu-idle-state-pmicr-mask<a class="headerlink" href="#ibm-cpu-idle-state-pmicr-ibm-cpu-idle-state-pmicr-mask" title="Permalink to this headline">¶</a></h2>
<p>In POWER8, idle states sleep and winkle have 2 modes- fast and deep. In fast
mode, idle state puts the core into threshold voltage whereas deep mode
@@ -115,38 +115,38 @@ can be done either via PM_GP1 scom or by writing to PMICR special register.
If using the PMICR path to choose fast/deep mode then ibm,cpu-idle-state-pmicr
and ibm,cpu-idle-state-pmicr-mask properties expose relevant PMICR bits and
values for corresponding idle states.</p>
-</div>
-<div class="section" id="ibm-cpu-idle-state-psscr-ibm-cpu-idle-state-psscr-mask">
+</section>
+<section id="ibm-cpu-idle-state-psscr-ibm-cpu-idle-state-psscr-mask">
<h2>ibm,cpu-idle-state-psscr ibm,cpu-idle-state-psscr-mask<a class="headerlink" href="#ibm-cpu-idle-state-psscr-ibm-cpu-idle-state-psscr-mask" title="Permalink to this headline">¶</a></h2>
<p>In POWER ISA v3, there is a common instruction ‘stop’ to enter any idle state
and SPR PSSCR is used to specify which idle state needs to be entered upon
executing stop instruction. Properties ibm,cpu-idle-state-psscr and
ibm,cpu-idle-state-psscr-mask expose the relevant PSSCR bits and values for
corresponding idle states.</p>
-</div>
-<div class="section" id="ibm-cpu-idle-state-flags">
+</section>
+<section id="ibm-cpu-idle-state-flags">
<h2>ibm,cpu-idle-state-flags<a class="headerlink" href="#ibm-cpu-idle-state-flags" title="Permalink to this headline">¶</a></h2>
<p>These flags are used to describe the characteristics of the idle states like
the kind of core state loss caused. These flags are used by the kernel to
save/restore appropriate context while using the idle states.</p>
-</div>
-<div class="section" id="ibm-pstate-ids">
+</section>
+<section id="ibm-pstate-ids">
<h2>ibm,pstate-ids<a class="headerlink" href="#ibm-pstate-ids" title="Permalink to this headline">¶</a></h2>
<p>This property lists the available pstate identifiers, as signed 32-bit
big-endian values. While the identifiers are somewhat arbitrary, these define
the order of the pstates in other ibm,pstate-* properties.</p>
-</div>
-<div class="section" id="ibm-pstate-frequencies-mhz">
+</section>
+<section id="ibm-pstate-frequencies-mhz">
<h2>ibm,pstate-frequencies-mhz<a class="headerlink" href="#ibm-pstate-frequencies-mhz" title="Permalink to this headline">¶</a></h2>
<p>This property lists the frequency, in MHz, of each of the pstates listed in the
ibm,pstate-ids file. Each frequency is a 32-bit big-endian word.</p>
-</div>
-<div class="section" id="ibm-pstate-max-ibm-pstate-min-ibm-pstate-nominal">
+</section>
+<section id="ibm-pstate-max-ibm-pstate-min-ibm-pstate-nominal">
<h2>ibm,pstate-max ibm,pstate-min ibm,pstate-nominal<a class="headerlink" href="#ibm-pstate-max-ibm-pstate-min-ibm-pstate-nominal" title="Permalink to this headline">¶</a></h2>
<p>These properties give the maximum, minimum and nominal pstate values, as an id
specified in the ibm,pstate-ids file.</p>
-</div>
-<div class="section" id="ibm-pstate-ultra-turbo-ibm-pstate-turbo">
+</section>
+<section id="ibm-pstate-ultra-turbo-ibm-pstate-turbo">
<h2>ibm,pstate-ultra-turbo ibm,pstate-turbo<a class="headerlink" href="#ibm-pstate-ultra-turbo-ibm-pstate-turbo" title="Permalink to this headline">¶</a></h2>
<p>These properties are added when ultra-turbo(WOF) is enabled. These properties
give the max turbo and max ultra-turbo pstate-id as specified in the
@@ -161,22 +161,23 @@ favourable environmental conditions, low workloads and low active core counts.</
<span class="p">};</span>
</pre></div>
</div>
-</div>
-<div class="section" id="ibm-pstate-core-max">
+</section>
+<section id="ibm-pstate-core-max">
<h2>ibm,pstate-core-max<a class="headerlink" href="#ibm-pstate-core-max" title="Permalink to this headline">¶</a></h2>
<p>This property is added when ultra_turbo(WOF) is enabled. This property gives
the list of max pstate for each ‘n’ number of active cores in the chip.</p>
-</div>
-<div class="section" id="ibm-pstate-base">
+</section>
+<section id="ibm-pstate-base">
<h2>ibm,pstate-base<a class="headerlink" href="#ibm-pstate-base" title="Permalink to this headline">¶</a></h2>
<p>This pstate points to the base frequency of the chip. POWER9 base frequency is
the highest frequency that is guaranteed when ALL cores are active in ANY
operating condition (ie. workloads, environmental conditions such as max
ambient temperature, active core counts)</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -212,17 +213,15 @@ ambient temperature, active core counts)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -239,15 +238,16 @@ ambient temperature, active core counts)</p>
<li class="right" >
<a href="oppanel.html" title="Operator Panel (oppanel)"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/power-mgt device tree entries</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/power-mgt/occ.html b/doc/device-tree/ibm,opal/power-mgt/occ.html
index 3728c76..6e0dbf7 100644
--- a/doc/device-tree/ibm,opal/power-mgt/occ.html
+++ b/doc/device-tree/ibm,opal/power-mgt/occ.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,opal/power-mgt/occ device tree entries &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,opal/power-mgt/occ device tree entries &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../_static/language_data.js"></script>
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
@@ -34,11 +33,12 @@
<li class="right" >
<a href="../power-mgt.html" title="ibm,opal/power-mgt device tree entries"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../../ibm,opal.html" >ibm,opal</a> &#187;</li>
- <li class="nav-item nav-item-3"><a href="../power-mgt.html" accesskey="U">ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-3"><a href="../power-mgt.html" accesskey="U">ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/power-mgt/occ device tree entries</a></li>
</ul>
</div>
@@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-opal-power-mgt-occ-device-tree-entries">
+ <section id="ibm-opal-power-mgt-occ-device-tree-entries">
<h1>ibm,opal/power-mgt/occ device tree entries<a class="headerlink" href="#ibm-opal-power-mgt-occ-device-tree-entries" title="Permalink to this headline">¶</a></h1>
<p>This node exports the per-chip pstate table properties to kernel.</p>
<p>Example:</p>
@@ -60,11 +60,11 @@
<span class="p">};</span>
</pre></div>
</div>
-<div class="section" id="ibm-chip-id">
+<section id="ibm-chip-id">
<h2>ibm,chip-id<a class="headerlink" href="#ibm-chip-id" title="Permalink to this headline">¶</a></h2>
<p>This property denotes the ID of chip to which OCC belongs to.</p>
-</div>
-<div class="section" id="reg">
+</section>
+<section id="reg">
<h2>reg<a class="headerlink" href="#reg" title="Permalink to this headline">¶</a></h2>
<p>This tuple gives the statring address of the OPAL data in HOMER and
the size of the OPAL data.</p>
@@ -73,14 +73,14 @@ the size of the OPAL data.</p>
<span class="c1">#address-cells = &lt;2&gt;</span>
</pre></div>
</div>
-</div>
-<div class="section" id="ibm-pstate-vcss-ibm-pstate-vdds">
+</section>
+<section id="ibm-pstate-vcss-ibm-pstate-vdds">
<h2>ibm,pstate-vcss ibm,pstate-vdds<a class="headerlink" href="#ibm-pstate-vcss-ibm-pstate-vdds" title="Permalink to this headline">¶</a></h2>
<p>These properties list a voltage-identifier of each of the pstates listed in
ibm,pstate-ids for the Vcs and Vdd values used for that pstate in that chip.
Each VID is a single byte.</p>
-</div>
-<div class="section" id="ibm-opal-power-mgt-freq-domain-mask">
+</section>
+<section id="ibm-opal-power-mgt-freq-domain-mask">
<h2>ibm,opal/power-mgt/freq-domain-mask<a class="headerlink" href="#ibm-opal-power-mgt-freq-domain-mask" title="Permalink to this headline">¶</a></h2>
<p>This property is a bitmask which will have different value depending upon the
generation of the processor. Frequency domain would indicate group of CPUs
@@ -95,8 +95,8 @@ distribution as last 3 bits have been masked which represent the threads.</p>
<p>For POWER9, 0xFFF0 indicates quad wide frequency domain. Taking AND with
the PIR of CPUs will yield us frequency domain which is quad wise
distribution as last 4 bits have been masked which represent the cores.</p>
-</div>
-<div class="section" id="ibm-opal-power-mgt-domain-runs-at">
+</section>
+<section id="ibm-opal-power-mgt-domain-runs-at">
<h2>ibm,opal/power-mgt/domain-runs-at<a class="headerlink" href="#ibm-opal-power-mgt-domain-runs-at" title="Permalink to this headline">¶</a></h2>
<p>There are two strategies in which the OCC can change the frequency of the cores
in the quad on P9.
@@ -110,10 +110,11 @@ However on P9, the domain is quad and the strategy is FREQ_MAX_IN_DOMAIN since
each core has its own PMCR.</p>
<p>domain-runs-at denotes the strategy which OCC is using to change the frequency
of a frequency domain.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -145,17 +146,15 @@ of a frequency domain.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -172,16 +171,17 @@ of a frequency domain.</p>
<li class="right" >
<a href="../power-mgt.html" title="ibm,opal/power-mgt device tree entries"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../../ibm,opal.html" >ibm,opal</a> &#187;</li>
- <li class="nav-item nav-item-3"><a href="../power-mgt.html" >ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-3"><a href="../power-mgt.html" >ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/power-mgt/occ device tree entries</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/power-mgt/powercap.html b/doc/device-tree/ibm,opal/power-mgt/powercap.html
index 9a2a506..19e1bd8 100644
--- a/doc/device-tree/ibm,opal/power-mgt/powercap.html
+++ b/doc/device-tree/ibm,opal/power-mgt/powercap.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>power-mgt/powercap &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>power-mgt/powercap &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../_static/language_data.js"></script>
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
@@ -34,11 +33,12 @@
<li class="right" >
<a href="occ.html" title="ibm,opal/power-mgt/occ device tree entries"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../../ibm,opal.html" >ibm,opal</a> &#187;</li>
- <li class="nav-item nav-item-3"><a href="../power-mgt.html" accesskey="U">ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-3"><a href="../power-mgt.html" accesskey="U">ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">power-mgt/powercap</a></li>
</ul>
</div>
@@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="power-mgt-powercap">
+ <section id="power-mgt-powercap">
<span id="device-tree-ibm-opal-power-mgt-powercap"></span><h1>power-mgt/powercap<a class="headerlink" href="#power-mgt-powercap" title="Permalink to this headline">¶</a></h1>
<p>The powercap sensors are populated in this node. Each child node in
the “powercap” node represents a power-cappable component.</p>
@@ -60,18 +60,18 @@ what powercap property to get/set which is defined in the child node.</p>
<p>The compatible property for the linux driver which will be
“ibm,opal-powercap”</p>
<p>Each child node has below properties:</p>
-<dl class="docutils">
-<dt><cite>powercap-current</cite></dt>
-<dd>Handle to indicate the current powercap</dd>
-<dt><cite>powercap-min</cite></dt>
-<dd>Absolute minimum possible powercap. This points to the soft powercap minimum
+<dl class="simple">
+<dt><cite>powercap-current</cite></dt><dd><p>Handle to indicate the current powercap</p>
+</dd>
+<dt><cite>powercap-min</cite></dt><dd><p>Absolute minimum possible powercap. This points to the soft powercap minimum
limit as exported by OCC. The powercap set in the soft powercap range may or
-may not be maintained.</dd>
-<dt><cite>powercap-max</cite></dt>
-<dd>Maximum possible powercap</dd>
-<dt><cite>powercap-hard-min</cite></dt>
-<dd>This value points to the hard minimum powercap limit. The powercap set above
-this limit is guaranteed unless there is a hardware failure</dd>
+may not be maintained.</p>
+</dd>
+<dt><cite>powercap-max</cite></dt><dd><p>Maximum possible powercap</p>
+</dd>
+<dt><cite>powercap-hard-min</cite></dt><dd><p>This value points to the hard minimum powercap limit. The powercap set above
+this limit is guaranteed unless there is a hardware failure</p>
+</dd>
</dl>
<p>Powercap handle uses the following encoding:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">|</span> <span class="n">Class</span> <span class="o">|</span> <span class="n">Reserved</span> <span class="o">|</span> <span class="n">Attribute</span> <span class="o">|</span>
@@ -95,9 +95,10 @@ the future.</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -117,17 +118,15 @@ the future.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -144,16 +143,17 @@ the future.</p>
<li class="right" >
<a href="occ.html" title="ibm,opal/power-mgt/occ device tree entries"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../../ibm,opal.html" >ibm,opal</a> &#187;</li>
- <li class="nav-item nav-item-3"><a href="../power-mgt.html" >ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-3"><a href="../power-mgt.html" >ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">power-mgt/powercap</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/power-mgt/psr.html b/doc/device-tree/ibm,opal/power-mgt/psr.html
index 997efd0..3384d46 100644
--- a/doc/device-tree/ibm,opal/power-mgt/psr.html
+++ b/doc/device-tree/ibm,opal/power-mgt/psr.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>power-mgt/psr &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>power-mgt/psr &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../_static/language_data.js"></script>
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
@@ -34,11 +33,12 @@
<li class="right" >
<a href="powercap.html" title="power-mgt/powercap"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../../ibm,opal.html" >ibm,opal</a> &#187;</li>
- <li class="nav-item nav-item-3"><a href="../power-mgt.html" accesskey="U">ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-3"><a href="../power-mgt.html" accesskey="U">ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">power-mgt/psr</a></li>
</ul>
</div>
@@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="power-mgt-psr">
+ <section id="power-mgt-psr">
<h1>power-mgt/psr<a class="headerlink" href="#power-mgt-psr" title="Permalink to this headline">¶</a></h1>
<p>Some systems allow modification of how power consumption throttling
is balanced between entities in a system. A typical one may be how the power
@@ -58,17 +58,17 @@ tree.</p>
versus GPU.</p>
<p>Each child node in the “psr” node represents a configurable psr
sensor.</p>
-<dl class="docutils">
-<dt>For example <span class="classifier-delimiter">:</span> <span class="classifier">::</span></dt>
-<dd>cpu-to-gpu&#64;1</dd>
+<dl class="simple">
+<dt>For example<span class="classifier">::</span></dt><dd><p>cpu-to-gpu&#64;1</p>
+</dd>
</dl>
<p>The compatible property is set to “ibm,opal-power-shift-ratio”.</p>
<p>Each child node has below properties:</p>
-<dl class="docutils">
-<dt><cite>handle</cite></dt>
-<dd>Handle to indicate the type of psr</dd>
-<dt><cite>label</cite></dt>
-<dd>Name of the psr sensor</dd>
+<dl class="simple">
+<dt><cite>handle</cite></dt><dd><p>Handle to indicate the type of psr</p>
+</dd>
+<dt><cite>label</cite></dt><dd><p>Name of the psr sensor</p>
+</dd>
</dl>
<p>The format of the handle is internal, and <code class="docutils literal notranslate"><span class="pre">not</span></code> ABI, although
currently it uses the following encoding</p>
@@ -95,9 +95,10 @@ currently it uses the following encoding</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -117,17 +118,15 @@ currently it uses the following encoding</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -144,16 +143,17 @@ currently it uses the following encoding</p>
<li class="right" >
<a href="powercap.html" title="power-mgt/powercap"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../../ibm,opal.html" >ibm,opal</a> &#187;</li>
- <li class="nav-item nav-item-3"><a href="../power-mgt.html" >ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-3"><a href="../power-mgt.html" >ibm,opal/power-mgt device tree entries</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">power-mgt/psr</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/secvar.html b/doc/device-tree/ibm,opal/secvar.html
index d163e7d..184785c 100644
--- a/doc/device-tree/ibm,opal/secvar.html
+++ b/doc/device-tree/ibm,opal/secvar.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Secvar Binding &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Secvar Binding &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="power-mgt/psr.html" title="power-mgt/psr"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Secvar Binding</a></li>
</ul>
</div>
@@ -46,12 +46,12 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="secvar-binding">
+ <section id="secvar-binding">
<span id="device-tree-ibm-opal-secvar"></span><h1>Secvar Binding<a class="headerlink" href="#secvar-binding" title="Permalink to this headline">¶</a></h1>
<p>This device tree binding describes the status of secure variable support,
including any size values, or values relating to the secure state of the
system.</p>
-<div class="section" id="ibm-opal-secvar-node-bindings">
+<section id="ibm-opal-secvar-node-bindings">
<h2>/ibm,opal/secvar node bindings<a class="headerlink" href="#ibm-opal-secvar-node-bindings" title="Permalink to this headline">¶</a></h2>
<p>Node: secvar</p>
<p>Description: Container of secvar related properties.</p>
@@ -61,13 +61,11 @@ system.</p>
variables. It will not be created if the system does not.</p>
<p>Properties:</p>
<ul>
-<li><p class="first">compatible</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>compatible</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">string</p>
+<dt>Value type:</dt><dd><p>string</p>
</dd>
</dl>
<p>Definition:</p>
@@ -85,13 +83,11 @@ which defines the basic-level compatibility of the secvar implementation.
This includes the basic behavior of the API (excluding the data format),
and the expected device tree properties contained in this node.</p>
</li>
-<li><p class="first">format</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>format</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">string</p>
+<dt>Value type:</dt><dd><p>string</p>
</dd>
</dl>
<p>This property defines the format of data passed in and out of the secvar
@@ -100,13 +96,11 @@ string in compatible.</p>
<p>The format defined by this string should be documented by the corresponding
backend.</p>
</li>
-<li><p class="first">status</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>status</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">string</p>
+<dt>Value type:</dt><dd><p>string</p>
</dd>
</dl>
<p>Definition:</p>
@@ -120,13 +114,11 @@ are inaccessible for some reason.</p>
<p>Failures are NOT caused by malformed data loaded or processed in either
storage or backend drivers, as these are faults correctable by a user.</p>
</li>
-<li><p class="first">update-status</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>update-status</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u64&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;u64&gt;</p>
</dd>
</dl>
<p>Definition:</p>
@@ -138,13 +130,11 @@ intended.</p>
Any additional error states that may be specific to a backend should
be stored in the backend node.</p>
</li>
-<li><p class="first">max-var-size</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>max-var-size</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u64&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;u64&gt;</p>
</dd>
</dl>
<p>Definition:</p>
@@ -155,13 +145,11 @@ reject loading variables larger than this value.</p>
value is determined by the storage driver, and may differ across
platforms.</p>
</li>
-<li><p class="first">max-var-key-len</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>max-var-key-len</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u64&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;u64&gt;</p>
</dd>
</dl>
<p>Definition:</p>
@@ -170,8 +158,8 @@ value is a constant, it should be the same across platforms unless
changed in code.</p>
</li>
</ul>
-</div>
-<div class="section" id="example">
+</section>
+<section id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="err">/ibm,opal/</span><span class="nc">secvar</span> <span class="p">{</span>
<span class="nf">compatible</span> <span class="o">=</span> <span class="s">&quot;ibm,secvar-backend&quot; &quot;ibm,edk2-compat-v1&quot;</span><span class="p">;</span>
@@ -182,47 +170,47 @@ changed in code.</p>
<span class="err">}</span><span class="p">;</span>
</pre></div>
</div>
-</div>
-<div class="section" id="update-status-code-table">
+</section>
+<section id="update-status-code-table">
<h2>Update Status Code Table<a class="headerlink" href="#update-status-code-table" title="Permalink to this headline">¶</a></h2>
<p>The update status property should be set by the backend driver to a value
that best fits its error condition. The following table defines the
general intent of each error code, check backend specific documentation
for more detail.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="27%" />
-<col width="73%" />
+<col style="width: 27%" />
+<col style="width: 73%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>update-status</td>
-<td>Generic Reason</td>
+<tbody>
+<tr class="row-odd"><td><p>update-status</p></td>
+<td><p>Generic Reason</p></td>
</tr>
-<tr class="row-even"><td>OPAL_SUCCESS</td>
-<td>Updates were found and processed successfully</td>
+<tr class="row-even"><td><p>OPAL_SUCCESS</p></td>
+<td><p>Updates were found and processed successfully</p></td>
</tr>
-<tr class="row-odd"><td>OPAL_EMPTY</td>
-<td>No updates were found, none processed</td>
+<tr class="row-odd"><td><p>OPAL_EMPTY</p></td>
+<td><p>No updates were found, none processed</p></td>
</tr>
-<tr class="row-even"><td>OPAL_PARAMETER</td>
-<td>Malformed, or unexpected update data blob</td>
+<tr class="row-even"><td><p>OPAL_PARAMETER</p></td>
+<td><p>Malformed, or unexpected update data blob</p></td>
</tr>
-<tr class="row-odd"><td>OPAL_PERMISSION</td>
-<td>Update failed to apply, possible auth failure</td>
+<tr class="row-odd"><td><p>OPAL_PERMISSION</p></td>
+<td><p>Update failed to apply, possible auth failure</p></td>
</tr>
-<tr class="row-even"><td>OPAL_HARDWARE</td>
-<td>Misc. storage-related error</td>
+<tr class="row-even"><td><p>OPAL_HARDWARE</p></td>
+<td><p>Misc. storage-related error</p></td>
</tr>
-<tr class="row-odd"><td>OPAL_RESOURCE</td>
-<td>Out of space (reported by storage</td>
+<tr class="row-odd"><td><p>OPAL_RESOURCE</p></td>
+<td><p>Out of space (reported by storage</p></td>
</tr>
-<tr class="row-even"><td>OPAL_NO_MEM</td>
-<td>Out of memory</td>
+<tr class="row-even"><td><p>OPAL_NO_MEM</p></td>
+<td><p>Out of memory</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="on-enforcing-secure-mode">
+</section>
+<section id="on-enforcing-secure-mode">
<h2>On Enforcing Secure Mode<a class="headerlink" href="#on-enforcing-secure-mode" title="Permalink to this headline">¶</a></h2>
<p>The os-secureboot-enforcing property in /ibm,secureboot/ is created by the
backend if the owner has expressed a desire for boot loaders, kernels, etc
@@ -234,10 +222,11 @@ be to enter this mode.</p>
level “Platform Key”, so this property is created by the backend if
by the end of update processing, a “PK” variable exists. By enrolling a
PK, the system will be in “secure mode” until the PK is deleted.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -268,17 +257,15 @@ PK, the system will be in “secure mode” until the PK is deleted.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -295,15 +282,16 @@ PK, the system will be in “secure mode” until the PK is deleted.</p>
<li class="right" >
<a href="power-mgt/psr.html" title="power-mgt/psr"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Secvar Binding</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/sensor-groups.html b/doc/device-tree/ibm,opal/sensor-groups.html
index 93645bc..ee31e9f 100644
--- a/doc/device-tree/ibm,opal/sensor-groups.html
+++ b/doc/device-tree/ibm,opal/sensor-groups.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,opal/sensor-groups &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,opal/sensor-groups &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="secvar.html" title="Secvar Binding"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/sensor-groups</a></li>
</ul>
</div>
@@ -46,28 +46,28 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-opal-sensor-groups">
+ <section id="ibm-opal-sensor-groups">
<span id="device-tree-ibm-opal-sensor-groups"></span><h1>ibm,opal/sensor-groups<a class="headerlink" href="#ibm-opal-sensor-groups" title="Permalink to this headline">¶</a></h1>
<p>This node contains all sensor groups defined in the system.
Each child node here represents a sensor group.</p>
-<dl class="docutils">
-<dt>For example <span class="classifier-delimiter">:</span> <span class="classifier">::</span></dt>
-<dd><a class="reference external" href="mailto:occ-csm&#37;&#52;&#48;1c00020/">occ-csm<span>&#64;</span>1c00020/</a></dd>
+<dl class="simple">
+<dt>For example<span class="classifier">::</span></dt><dd><p><a class="reference external" href="mailto:occ-csm&#37;&#52;&#48;1c00020/">occ-csm<span>&#64;</span>1c00020/</a></p>
+</dd>
</dl>
<p>The compatible property is set to “ibm,opal-sensor-group”</p>
<p>Each child node has below properties:</p>
-<dl class="docutils">
-<dt><cite>type</cite></dt>
-<dd>string to indicate the sensor group</dd>
-<dt><cite>sensor-group-id</cite></dt>
-<dd>Uniquely identifies a sensor group.</dd>
-<dt><cite>ibm,chip-id</cite></dt>
-<dd>This property is added if the sensor group is chip specific</dd>
-<dt><cite>sensors</cite></dt>
-<dd>Phandles of all sensors belonging to this sensor group</dd>
-<dt><cite>ops</cite></dt>
-<dd>Array of opal call numbers to indicate the available sensor group
-operations</dd>
+<dl class="simple">
+<dt><cite>type</cite></dt><dd><p>string to indicate the sensor group</p>
+</dd>
+<dt><cite>sensor-group-id</cite></dt><dd><p>Uniquely identifies a sensor group.</p>
+</dd>
+<dt><cite>ibm,chip-id</cite></dt><dd><p>This property is added if the sensor group is chip specific</p>
+</dd>
+<dt><cite>sensors</cite></dt><dd><p>Phandles of all sensors belonging to this sensor group</p>
+</dd>
+<dt><cite>ops</cite></dt><dd><p>Array of opal call numbers to indicate the available sensor group
+operations</p>
+</dd>
</dl>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">ibm,opal</span> <span class="p">{</span>
<span class="nc">sensor-groups</span> <span class="p">{</span>
@@ -85,9 +85,10 @@ operations</dd>
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -107,17 +108,15 @@ operations</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -134,15 +133,16 @@ operations</dd>
<li class="right" >
<a href="secvar.html" title="Secvar Binding"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/sensor-groups</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/sensors.html b/doc/device-tree/ibm,opal/sensors.html
index 0aa25db..e86f653 100644
--- a/doc/device-tree/ibm,opal/sensors.html
+++ b/doc/device-tree/ibm,opal/sensors.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,opal/sensors/ device tree nodes &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,opal/sensors/ device tree nodes &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,10 +33,11 @@
<li class="right" >
<a href="sensor-groups.html" title="ibm,opal/sensor-groups"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/sensors/ device tree nodes</a></li>
</ul>
</div>
@@ -46,7 +46,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-opal-sensors-device-tree-nodes">
+ <section id="ibm-opal-sensors-device-tree-nodes">
<h1>ibm,opal/sensors/ device tree nodes<a class="headerlink" href="#ibm-opal-sensors-device-tree-nodes" title="Permalink to this headline">¶</a></h1>
<p>All sensors of a POWER8 system are made available to the OS in the
ibm,opal/sensors/ directory. Each sensor is identified with a node
@@ -55,19 +55,17 @@ which name follows this pattern :</p>
</pre></div>
</div>
<p>For example :</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="nd">@20</span><span class="o">/</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="o">@</span><span class="mi">20</span><span class="o">/</span>
</pre></div>
</div>
<p>Each node has a minimum set of properties describing the sensor :</p>
<ul>
-<li><p class="first">a “compatible” property which should be “ibm,opal-sensor”</p>
-</li>
-<li><p class="first">a “sensor-type” property, which can be “temp”, “fan”, “power”.
+<li><p>a “compatible” property which should be “ibm,opal-sensor”</p></li>
+<li><p>a “sensor-type” property, which can be “temp”, “fan”, “power”.
More will be added when new resources are supported. This type
is used “as is” by the Linux driver to map sensors in the sysfs
-interface of the hwmon framework of Linux.</p>
-</li>
-<li><p class="first">a “sensor-data” property giving a unique handler for the
+interface of the hwmon framework of Linux.</p></li>
+<li><p>a “sensor-data” property giving a unique handler for the
OPAL_SENSOR_READ call to be used by Linux to get the value of
a sensor attribute. This value is opaque to the OS but is <em>currently</em>
constructed using the following encoding :</p>
@@ -79,12 +77,10 @@ constructed using the following encoding :</p>
<p>The sensor family (FSP, DTS, etc) is used to dispatch the call to
the appriopriate skiboot component.</p>
</li>
-<li><p class="first">a “sensor-status” property giving the state of the sensor. The
+<li><p>a “sensor-status” property giving the state of the sensor. The
status bits have the slightly meanings depending on the resource
-type but testing against 0x6 should raise an alarm.</p>
-</li>
-<li><p class="first">an optional “label” property</p>
-</li>
+type but testing against 0x6 should raise an alarm.</p></li>
+<li><p>an optional “label” property</p></li>
</ul>
<p>Each node can have some extra properties depending on the resource
they represent. See the tree below for more information.</p>
@@ -144,9 +140,10 @@ they represent. See the tree below for more information.</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -166,17 +163,15 @@ they represent. See the tree below for more information.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -193,15 +188,16 @@ they represent. See the tree below for more information.</p>
<li class="right" >
<a href="sensor-groups.html" title="ibm,opal/sensor-groups"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,opal/sensors/ device tree nodes</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,opal/sysparams.html b/doc/device-tree/ibm,opal/sysparams.html
index ec476b4..c4b3d2c 100644
--- a/doc/device-tree/ibm,opal/sysparams.html
+++ b/doc/device-tree/ibm,opal/sysparams.html
@@ -1,25 +1,24 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>sysparams &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>sysparams &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
- <link rel="next" title="ibm,secureboot" href="../ibm,secureboot.html" />
+ <link rel="next" title="ibm,secureboot" href="../ibm%2Csecureboot.html" />
<link rel="prev" title="ibm,opal/sensors/ device tree nodes" href="sensors.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
@@ -29,15 +28,16 @@
<a href="../../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="../ibm,secureboot.html" title="ibm,secureboot"
+ <a href="../ibm%2Csecureboot.html" title="ibm,secureboot"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="sensors.html" title="ibm,opal/sensors/ device tree nodes"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" accesskey="U">ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">sysparams</a></li>
</ul>
</div>
@@ -46,14 +46,14 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="sysparams">
+ <section id="sysparams">
<span id="device-tree-ibm-opal-sysparams"></span><h1>sysparams<a class="headerlink" href="#sysparams" title="Permalink to this headline">¶</a></h1>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* System parameter permission */</span>
-<span class="k">enum</span> <span class="n">OpalSysparamPerm</span> <span class="p">{</span>
- <span class="n">OPAL_SYSPARAM_READ</span> <span class="o">=</span> <span class="mh">0x1</span><span class="p">,</span>
- <span class="n">OPAL_SYSPARAM_WRITE</span> <span class="o">=</span> <span class="mh">0x2</span><span class="p">,</span>
- <span class="n">OPAL_SYSPARAM_RW</span> <span class="o">=</span> <span class="p">(</span><span class="n">OPAL_SYSPARAM_READ</span> <span class="o">|</span> <span class="n">OPAL_SYSPARAM_WRITE</span><span class="p">),</span>
-<span class="p">};</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* System parameter permission */</span><span class="w"></span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalSysparamPerm</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSPARAM_READ</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSPARAM_WRITE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSPARAM_RW</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">OPAL_SYSPARAM_READ</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">OPAL_SYSPARAM_WRITE</span><span class="p">),</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">sysparams</span> <span class="p">{</span>
@@ -75,9 +75,10 @@ set a different way.</p>
<p>Some parameters may be set Read Only, so the <cite>param-perm</cite> property indicates
permissions.</p>
<p>Currently, this is only something that exists on FSP based systems.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -87,7 +88,7 @@ permissions.</p>
<p class="topless"><a href="sensors.html"
title="previous chapter">ibm,opal/sensors/ device tree nodes</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="../ibm,secureboot.html"
+ <p class="topless"><a href="../ibm%2Csecureboot.html"
title="next chapter">ibm,secureboot</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
@@ -97,17 +98,15 @@ permissions.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -119,20 +118,21 @@ permissions.</p>
<a href="../../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="../ibm,secureboot.html" title="ibm,secureboot"
+ <a href="../ibm%2Csecureboot.html" title="ibm,secureboot"
>next</a> |</li>
<li class="right" >
<a href="sensors.html" title="ibm,opal/sensors/ device tree nodes"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
- <li class="nav-item nav-item-2"><a href="../ibm,opal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-2"><a href="../ibm%2Copal.html" >ibm,opal</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">sysparams</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,powerpc-cpu-features/binding.html b/doc/device-tree/ibm,powerpc-cpu-features/binding.html
index 2a8849d..e5edc9c 100644
--- a/doc/device-tree/ibm,powerpc-cpu-features/binding.html
+++ b/doc/device-tree/ibm,powerpc-cpu-features/binding.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,powerpc-cpu-features Binding &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,powerpc-cpu-features Binding &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="../vpd.html" title="VPD (Vital Product Data)"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,powerpc-cpu-features Binding</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-powerpc-cpu-features-binding">
+ <section id="ibm-powerpc-cpu-features-binding">
<h1>ibm,powerpc-cpu-features Binding<a class="headerlink" href="#ibm-powerpc-cpu-features-binding" title="Permalink to this headline">¶</a></h1>
<p>This device tree binding describes CPU features available to software, with
enablement, privilege, and compatibility metadata.</p>
<p>More general description of design and implementation of this binding is
found in design.txt, which also points to documentation of specific features.</p>
-<div class="section" id="cpus-ibm-powerpc-cpu-features-node-binding">
+<section id="cpus-ibm-powerpc-cpu-features-node-binding">
<h2>/cpus/ibm,powerpc-cpu-features node binding<a class="headerlink" href="#cpus-ibm-powerpc-cpu-features-node-binding" title="Permalink to this headline">¶</a></h2>
<p>Node: ibm,powerpc-cpu-features</p>
<p>Description: Container of CPU feature nodes.</p>
@@ -61,29 +61,23 @@ assumed by parsers.</p>
<p>The node is optional but should be provided by new OPAL firmware.</p>
<p>Properties:</p>
<ul>
-<li><p class="first">device_type</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>device_type</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">string</p>
+<dt>Value type:</dt><dd><p>string</p>
</dd>
-<dt>Definition:</dt>
-<dd><p class="first last">“cpu-features”</p>
+<dt>Definition:</dt><dd><p>“cpu-features”</p>
</dd>
</dl>
</li>
-<li><p class="first">compatible</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>compatible</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">string</p>
+<dt>Value type:</dt><dd><p>string</p>
</dd>
-<dt>Definition:</dt>
-<dd><p class="first last">“ibm,powerpc-cpu-features”</p>
+<dt>Definition:</dt><dd><p>“ibm,powerpc-cpu-features”</p>
</dd>
</dl>
<p>This compatibility refers to backwards compatibility of the overall
@@ -91,13 +85,11 @@ design with parsers that behave according to these guidelines. This can
be extended in a backward compatible manner which would not warrant a
revision of the compatible property.</p>
</li>
-<li><p class="first">isa</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>isa</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u32&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;u32&gt;</p>
</dd>
</dl>
<p>Definition:</p>
@@ -110,8 +102,8 @@ For example, &lt;3000&gt; corresponds to Version 3.0, &lt;2070&gt; to Version 2.
The minor digit is available for revisions.</p>
</li>
</ul>
-</div>
-<div class="section" id="cpus-ibm-powerpc-cpu-features-example-feature-node-bindings">
+</section>
+<section id="cpus-ibm-powerpc-cpu-features-example-feature-node-bindings">
<h2>/cpus/ibm,powerpc-cpu-features/example-feature node bindings<a class="headerlink" href="#cpus-ibm-powerpc-cpu-features-example-feature-node-bindings" title="Permalink to this headline">¶</a></h2>
<p>Each child node of cpu-features represents a CPU feature / capability.</p>
<p>Node: A string describing an architected CPU feature, e.g., “floating-point”.</p>
@@ -122,13 +114,11 @@ in the code where they are implemented in skiboot/core/cpufeatures.c</p>
<p>Presence of the node indicates the feature is available.</p>
<p>Properties:</p>
<ul>
-<li><p class="first">isa</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>isa</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u32&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;u32&gt;</p>
</dd>
</dl>
<p>Definition:</p>
@@ -137,50 +127,40 @@ Software should filter out features when constraining the
environment to a particular ISA version.</p>
<p>Value is defined similarly to /cpus/features/isa</p>
</li>
-<li><p class="first">usable-privilege</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">required</p>
+<li><p>usable-privilege</p>
+<dl>
+<dt>Usage:</dt><dd><p>required</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u32&gt; bit mask</p>
+<dt>Value type:</dt><dd><p>&lt;u32&gt; bit mask</p>
</dd>
-<dt>Definition:</dt>
-<dd><p class="first">Bit numbers are LSB0</p>
-<dl class="docutils">
-<dt>bit 0:</dt>
-<dd><p class="first last">PR (problem state / user mode)</p>
+<dt>Definition:</dt><dd><p>Bit numbers are LSB0</p>
+<dl class="simple">
+<dt>bit 0:</dt><dd><p>PR (problem state / user mode)</p>
</dd>
-<dt>bit 1:</dt>
-<dd><p class="first last">OS (privileged state)</p>
+<dt>bit 1:</dt><dd><p>OS (privileged state)</p>
</dd>
-<dt>bit 2:</dt>
-<dd><p class="first last">HV (hypervisor state)</p>
+<dt>bit 2:</dt><dd><p>HV (hypervisor state)</p>
</dd>
</dl>
-<p class="last">All other bits reserved and should be zero.</p>
+<p>All other bits reserved and should be zero.</p>
</dd>
</dl>
<p>This property describes the privilege levels and/or software components
that can use the feature.</p>
<p>If bit 0 is set, then the hwcap-bit-nr property will exist.</p>
</li>
-<li><p class="first">hv-support</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">optional</p>
+<li><p>hv-support</p>
+<dl>
+<dt>Usage:</dt><dd><p>optional</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u32&gt; bit mask</p>
+<dt>Value type:</dt><dd><p>&lt;u32&gt; bit mask</p>
</dd>
-<dt>Definition:</dt>
-<dd><p class="first">Bit numbers are LSB0</p>
-<dl class="docutils">
-<dt>bit 0:</dt>
-<dd><p class="first last">HFSCR</p>
+<dt>Definition:</dt><dd><p>Bit numbers are LSB0</p>
+<dl class="simple">
+<dt>bit 0:</dt><dd><p>HFSCR</p>
</dd>
</dl>
-<p class="last">All other bits reserved and should be zero.</p>
+<p>All other bits reserved and should be zero.</p>
</dd>
</dl>
<p>This property describes the HV privilege support required to enable the
@@ -191,22 +171,18 @@ this feature.</p>
<p>If the HFSCR bit is set, then the hfscr-bit-nr property will exist and
the feature may be enabled by setting this bit in the HFSCR register.</p>
</li>
-<li><p class="first">os-support</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">optional</p>
+<li><p>os-support</p>
+<dl>
+<dt>Usage:</dt><dd><p>optional</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u32&gt; bit mask</p>
+<dt>Value type:</dt><dd><p>&lt;u32&gt; bit mask</p>
</dd>
-<dt>Definition:</dt>
-<dd><p class="first">Bit numbers are LSB0</p>
-<dl class="docutils">
-<dt>bit 0:</dt>
-<dd><p class="first last">FSCR</p>
+<dt>Definition:</dt><dd><p>Bit numbers are LSB0</p>
+<dl class="simple">
+<dt>bit 0:</dt><dd><p>FSCR</p>
</dd>
</dl>
-<p class="last">All other bits reserved and should be zero.</p>
+<p>All other bits reserved and should be zero.</p>
</dd>
</dl>
<p>This property describes the OS privilege support required to enable the
@@ -217,16 +193,13 @@ for this feature.</p>
<p>If the FSCR bit is set, then the fscr-bit-nr property will exist and
the feature may be enabled by setting this bit in the FSCR register.</p>
</li>
-<li><p class="first">hfscr-bit-nr</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">optional</p>
+<li><p>hfscr-bit-nr</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>optional</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u32&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;u32&gt;</p>
</dd>
-<dt>Definition:</dt>
-<dd><p class="first last">HFSCR bit position (LSB0)</p>
+<dt>Definition:</dt><dd><p>HFSCR bit position (LSB0)</p>
</dd>
</dl>
<p>This property exists when the hv-support property HFSCR bit is set. This
@@ -235,16 +208,13 @@ hypervisor must set in order to enable this feature.</p>
<p>This property also exists if an HFSCR bit corresponds with this feature.
This makes CPU feature parsing slightly simpler.</p>
</li>
-<li><p class="first">fscr-bit-nr</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">optional</p>
+<li><p>fscr-bit-nr</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>optional</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u32&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;u32&gt;</p>
</dd>
-<dt>Definition:</dt>
-<dd><p class="first last">FSCR bit position (LSB0)</p>
+<dt>Definition:</dt><dd><p>FSCR bit position (LSB0)</p>
</dd>
</dl>
<p>This property exists when the os-support property FSCR bit is set. This
@@ -253,16 +223,13 @@ operating system must set in order to enable this feature.</p>
<p>This property also exists if an FSCR bit corresponds with this feature.
This makes CPU feature parsing slightly simpler.</p>
</li>
-<li><p class="first">hwcap-bit-nr</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">optional</p>
+<li><p>hwcap-bit-nr</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>optional</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;u32&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;u32&gt;</p>
</dd>
-<dt>Definition:</dt>
-<dd><p class="first last">Linux ELF AUX vector bit position (LSB0)</p>
+<dt>Definition:</dt><dd><p>Linux ELF AUX vector bit position (LSB0)</p>
</dd>
</dl>
<p>This property may exist when the usable-privilege property value has PR bit set.
@@ -278,31 +245,28 @@ advertised to userspace without a one-to-one hwcap bit number may not specify
this bit. Operating system will handle those bits specifically. All new
features usable by userspace will have a hwcap-bit-nr property.</p>
</li>
-<li><p class="first">dependencies</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">optional</p>
+<li><p>dependencies</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>optional</p>
</dd>
-<dt>Value type:</dt>
-<dd><p class="first last">&lt;prop-encoded-array&gt;</p>
+<dt>Value type:</dt><dd><p>&lt;prop-encoded-array&gt;</p>
</dd>
</dl>
<p>Definition:</p>
<p>If this property exists then it is a list of phandles to cpu feature
nodes that must be enabled for this feature to be enabled.</p>
</li>
-<li><p class="first">Custom properties of the feature</p>
-<dl class="docutils">
-<dt>Usage:</dt>
-<dd><p class="first last">optional</p>
+<li><p>Custom properties of the feature</p>
+<dl class="simple">
+<dt>Usage:</dt><dd><p>optional</p>
</dd>
</dl>
<p>Definition:</p>
<p>Particular features may define their own properties.</p>
</li>
</ul>
-</div>
-<div class="section" id="example">
+</section>
+<section id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="err">/cpus/</span><span class="nc">ibm,powerpc-cpu-features</span> <span class="p">{</span>
<span class="nf">device_type</span> <span class="o">=</span> <span class="s">&quot;ibm,powerpc-cpu-features&quot;</span><span class="p">;</span>
@@ -349,10 +313,11 @@ nodes that must be enabled for this feature to be enabled.</p>
<span class="err">};</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -382,17 +347,15 @@ nodes that must be enabled for this feature to be enabled.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -409,14 +372,15 @@ nodes that must be enabled for this feature to be enabled.</p>
<li class="right" >
<a href="../vpd.html" title="VPD (Vital Product Data)"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,powerpc-cpu-features Binding</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,powerpc-cpu-features/design.html b/doc/device-tree/ibm,powerpc-cpu-features/design.html
index a723766..6278324 100644
--- a/doc/device-tree/ibm,powerpc-cpu-features/design.html
+++ b/doc/device-tree/ibm,powerpc-cpu-features/design.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,powerpc-cpu-features Design &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,powerpc-cpu-features Design &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="binding.html" title="ibm,powerpc-cpu-features Binding"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,powerpc-cpu-features Design</a></li>
</ul>
</div>
@@ -45,12 +45,12 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-powerpc-cpu-features-design">
+ <section id="ibm-powerpc-cpu-features-design">
<h1>ibm,powerpc-cpu-features Design<a class="headerlink" href="#ibm-powerpc-cpu-features-design" title="Permalink to this headline">¶</a></h1>
<p>The OPAL / skiboot code is the canonical location for this specification. All
definitions of features, constant, bit positions, etc. must be documented here
before being deployed in Linux. This is not presently part of LoPAPR.</p>
-<div class="section" id="interfaces">
+<section id="interfaces">
<h2>Interfaces<a class="headerlink" href="#interfaces" title="Permalink to this headline">¶</a></h2>
<p>This specification describes the ibm,powerpc-cpu-features binding (the formal
definition of binding can be found in binding.txt in this directory).</p>
@@ -61,8 +61,8 @@ done in coordination with OPAL / skiboot, Linux, and glibc projects.</p>
build a subset with unsupported/disabled features and hypervisor specifics
removed, and pass that to a guest OS. The OS may advertise features to
userspace.</p>
-</div>
-<div class="section" id="background">
+</section>
+<section id="background">
<h2>Background<a class="headerlink" href="#background" title="Permalink to this headline">¶</a></h2>
<p>The cpu-features binding (subsequently “cpu-features”) aims to provide an
extensible metadata and protocol between different levels of system software
@@ -82,8 +82,8 @@ all levels of the stack (firmware, hypervisor, OS, userspace), with the
ability for new CPU features to be used by some components without all
components being upgraded (e.g., a new floating point instruction could be
used by userspace math library without upgrading kernel and hypervisor).</p>
-</div>
-<div class="section" id="overview">
+</section>
+<section id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<p>The cpu-features node is created by firmware and passed to the hypervisor.
The hypervisor may create cpu-features node to be passed to guest, based on
@@ -110,24 +110,24 @@ for this privilege level is implicit: if the software know how to use a
feature, it also knows how to enable it).</p>
<p>Feature node properties:</p>
<ul class="simple">
-<li>“isa”, the Power ISA version where this feature first became available.
-In case of an implementation specific feature</li>
-<li>“usable-privilege”, a bitmask (HV, OS, PR/user) specifying which privilege
-levels this feature may be used in.</li>
-<li>“hv-support”, a bitmask. If this exists, the hypervisor must do some work
+<li><p>“isa”, the Power ISA version where this feature first became available.
+In case of an implementation specific feature</p></li>
+<li><p>“usable-privilege”, a bitmask (HV, OS, PR/user) specifying which privilege
+levels this feature may be used in.</p></li>
+<li><p>“hv-support”, a bitmask. If this exists, the hypervisor must do some work
to enable support for lesser privilege levels. Bits can be set in this mask
to specify prescription/recipes to enable the feature without custom code.
If no bits are set, no recipe exists and custom code must be used. HFSCR
-register enable bit is the only such recipe currently.</li>
-<li>“os-support”, similar to hv-support. FSCR recipe.</li>
-<li>Features may have additional properties associated, must be documented with
-the feature.</li>
-<li>Recipes may have additional properties associated. HFSCR recipe has
-hfscr-bit-nr, and FSCR recipe has fscr-bit-nr.</li>
-<li>“dependencies” array of phandles. If this exists, it links to the
-features that must be enabled in order for this feature to be enabled.</li>
-<li>“hwcap-bit-nr” if it exists provides a Linux ELF AUXV HWCAP bit number that
-can be used to advertise this feature to userspace.</li>
+register enable bit is the only such recipe currently.</p></li>
+<li><p>“os-support”, similar to hv-support. FSCR recipe.</p></li>
+<li><p>Features may have additional properties associated, must be documented with
+the feature.</p></li>
+<li><p>Recipes may have additional properties associated. HFSCR recipe has
+hfscr-bit-nr, and FSCR recipe has fscr-bit-nr.</p></li>
+<li><p>“dependencies” array of phandles. If this exists, it links to the
+features that must be enabled in order for this feature to be enabled.</p></li>
+<li><p>“hwcap-bit-nr” if it exists provides a Linux ELF AUXV HWCAP bit number that
+can be used to advertise this feature to userspace.</p></li>
</ul>
<p>Together, these compatibility, support, and dependencies properties allow
unknown features to be enabled and advertised to lesser privilege levels
@@ -138,18 +138,18 @@ recipes. Unknown properties should also be ignored. This allows extensibility
for additional methods and metadata for enablement and advertisement.</p>
<p>The policy for selecting and configuring which features to advertise and use
is left for implementations.</p>
-</div>
-<div class="section" id="guidelines-for-defining-features">
+</section>
+<section id="guidelines-for-defining-features">
<h2>Guidelines for defining features<a class="headerlink" href="#guidelines-for-defining-features" title="Permalink to this headline">¶</a></h2>
<p>As a rough guide, features should be based on functional groups of changes
to the ISA, or related performance characteristics.</p>
<p>Grouping should be made by one or a combination of those that:</p>
<ul class="simple">
-<li>Share common enablement requirements (e.g., share particular registers or
-firmware setup requirements).</li>
-<li>Share common usage patterns (e..g, likely to be used together).</li>
-<li>Are implemented with a particular new hardware unit.</li>
-<li>Are optional in the ISA.</li>
+<li><p>Share common enablement requirements (e.g., share particular registers or
+firmware setup requirements).</p></li>
+<li><p>Share common usage patterns (e..g, likely to be used together).</p></li>
+<li><p>Are implemented with a particular new hardware unit.</p></li>
+<li><p>Are optional in the ISA.</p></li>
</ul>
<p>Granularity can be debated, but fine grained and encompassing is generally
preferable. For example, memory management unit may be considered fundamental,
@@ -171,10 +171,11 @@ a feature should indicate the presence of an additional CPU feature (e.g., a
new instruction or register). This requires some anticipation and foresight
for defining CPU features. “Negative” features may be unavoidable in some
cases.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -205,17 +206,15 @@ cases.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -232,14 +231,15 @@ cases.</p>
<li class="right" >
<a href="binding.html" title="ibm,powerpc-cpu-features Binding"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="../index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,powerpc-cpu-features Design</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/ibm,secureboot.html b/doc/device-tree/ibm,secureboot.html
index 4912766..4385300 100644
--- a/doc/device-tree/ibm,secureboot.html
+++ b/doc/device-tree/ibm,secureboot.html
@@ -1,26 +1,25 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ibm,secureboot &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>ibm,secureboot &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="IMC Device Tree Bindings" href="imc.html" />
- <link rel="prev" title="sysparams" href="ibm,opal/sysparams.html" />
+ <link rel="prev" title="sysparams" href="ibm%2Copal/sysparams.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
@@ -32,11 +31,12 @@
<a href="imc.html" title="IMC Device Tree Bindings"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="ibm,opal/sysparams.html" title="sysparams"
+ <a href="ibm%2Copal/sysparams.html" title="sysparams"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,secureboot</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="ibm-secureboot">
+ <section id="ibm-secureboot">
<span id="device-tree-ibm-secureboot"></span><h1>ibm,secureboot<a class="headerlink" href="#ibm-secureboot" title="Permalink to this headline">¶</a></h1>
<p>The <code class="docutils literal notranslate"><span class="pre">ìbm,secureboot</span></code> node provides secure boot and trusted boot information
up to the target OS. Further information can be found in <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a>.</p>
-<div class="section" id="required-properties">
+<section id="required-properties">
<h2>Required properties<a class="headerlink" href="#required-properties" title="Permalink to this headline">¶</a></h2>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>compatible: Either one of the following values:
@@ -97,15 +97,15 @@ clear-mfg-keys: this property exists only during manufacturing process
drivers.
</pre></div>
</div>
-</div>
-<div class="section" id="obsolete-properties">
+</section>
+<section id="obsolete-properties">
<h2>Obsolete properties<a class="headerlink" href="#obsolete-properties" title="Permalink to this headline">¶</a></h2>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>hash-algo: Superseded by the hw-key-hash-size property in
&#39;ibm,secureboot-v2&#39;.
</pre></div>
</div>
-</div>
-<div class="section" id="example">
+</section>
+<section id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">ibm,secureboot</span> <span class="p">{</span>
<span class="nf">compatible</span> <span class="o">=</span> <span class="s">&quot;ibm,secureboot-v2&quot;</span><span class="p">;</span>
@@ -121,10 +121,11 @@ clear-mfg-keys: this property exists only during manufacturing process
<span class="p">};</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -141,7 +142,7 @@ clear-mfg-keys: this property exists only during manufacturing process
</ul>
<h4>Previous topic</h4>
- <p class="topless"><a href="ibm,opal/sysparams.html"
+ <p class="topless"><a href="ibm%2Copal/sysparams.html"
title="previous chapter">sysparams</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="imc.html"
@@ -154,17 +155,15 @@ clear-mfg-keys: this property exists only during manufacturing process
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -179,16 +178,17 @@ clear-mfg-keys: this property exists only during manufacturing process
<a href="imc.html" title="IMC Device Tree Bindings"
>next</a> |</li>
<li class="right" >
- <a href="ibm,opal/sysparams.html" title="sysparams"
+ <a href="ibm%2Copal/sysparams.html" title="sysparams"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">ibm,secureboot</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/imc.html b/doc/device-tree/imc.html
index 0aecbdb..99b6df8 100644
--- a/doc/device-tree/imc.html
+++ b/doc/device-tree/imc.html
@@ -1,26 +1,25 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>IMC Device Tree Bindings &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>IMC Device Tree Bindings &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="P9 memory hierarchy" href="memory-hierarchy.html" />
- <link rel="prev" title="ibm,secureboot" href="ibm,secureboot.html" />
+ <link rel="prev" title="ibm,secureboot" href="ibm%2Csecureboot.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
@@ -32,11 +31,12 @@
<a href="memory-hierarchy.html" title="P9 memory hierarchy"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="ibm,secureboot.html" title="ibm,secureboot"
+ <a href="ibm%2Csecureboot.html" title="ibm,secureboot"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">IMC Device Tree Bindings</a></li>
</ul>
</div>
@@ -45,10 +45,10 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="imc-device-tree-bindings">
+ <section id="imc-device-tree-bindings">
<span id="device-tree-imc"></span><h1>IMC Device Tree Bindings<a class="headerlink" href="#imc-device-tree-bindings" title="Permalink to this headline">¶</a></h1>
<p>See <a class="reference internal" href="../imc.html#imc"><span class="std std-ref">OPAL/Skiboot In-Memory Collection (IMC) interface Documentation</span></a> for general In-Memory Collection (IMC) counter information.</p>
-<div class="section" id="imc-counters-top-level-node">
+<section id="imc-counters-top-level-node">
<h2>imc-counters top-level node<a class="headerlink" href="#imc-counters-top-level-node" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">imc-counters</span> <span class="p">{</span>
<span class="nf">compatible</span> <span class="o">=</span> <span class="s">&quot;ibm,opal-in-memory-counters&quot;</span><span class="p">;</span>
@@ -61,8 +61,8 @@
<span class="p">};</span>
</pre></div>
</div>
-</div>
-<div class="section" id="imc-device-units-bindings">
+</section>
+<section id="imc-device-units-bindings">
<h2>IMC device/units bindings<a class="headerlink" href="#imc-device-units-bindings" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">mcs3</span> <span class="p">{</span>
<span class="nf">compatible</span> <span class="o">=</span> <span class="s">&quot;ibm,imc-counters&quot;</span><span class="p">;</span>
@@ -95,8 +95,8 @@
<span class="p">};</span>
</pre></div>
</div>
-</div>
-<div class="section" id="imc-device-event-bindings">
+</section>
+<section id="imc-device-event-bindings">
<h2>IMC device event bindings<a class="headerlink" href="#imc-device-event-bindings" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">nest-mcs-events</span> <span class="p">{</span>
<span class="nf">#address-cells</span> <span class="o">=</span> <span class="p">&lt;</span><span class="mh">0x1</span><span class="p">&gt;;</span>
@@ -129,30 +129,32 @@
<span class="p">};</span>
</pre></div>
</div>
-</div>
-<div class="section" id="trace-mode-scom">
+</section>
+<section id="trace-mode-scom">
<h2>Trace-mode SCOM<a class="headerlink" href="#trace-mode-scom" title="Permalink to this headline">¶</a></h2>
<p>Trace scom is a 64 bit value which contains the event information for
IMC-trace mode. Following is the trace-scom layout.</p>
<p><strong>TRACE_IMC_SCOM bit representation</strong></p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">0-1:</th><td class="field-body">SAMPSEL</td>
-</tr>
-<tr class="field-even field"><th class="field-name">2-33:</th><td class="field-body">CPMC_LOAD</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">34-40:</th><td class="field-body">CPMC1SEL</td>
-</tr>
-<tr class="field-even field"><th class="field-name">41-47:</th><td class="field-body">CPMC2SEL</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">48-50:</th><td class="field-body">BUFFERSIZE</td>
-</tr>
-<tr class="field-even field"><th class="field-name">51-63:</th><td class="field-body">RESERVED</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">0-1</dt>
+<dd class="field-odd"><p>SAMPSEL</p>
+</dd>
+<dt class="field-even">2-33</dt>
+<dd class="field-even"><p>CPMC_LOAD</p>
+</dd>
+<dt class="field-odd">34-40</dt>
+<dd class="field-odd"><p>CPMC1SEL</p>
+</dd>
+<dt class="field-even">41-47</dt>
+<dd class="field-even"><p>CPMC2SEL</p>
+</dd>
+<dt class="field-odd">48-50</dt>
+<dd class="field-odd"><p>BUFFERSIZE</p>
+</dd>
+<dt class="field-even">51-63</dt>
+<dd class="field-even"><p>RESERVED</p>
+</dd>
+</dl>
<p><em>CPMC_LOAD</em> contains the sampling duration. <em>SAMPSEL</em> and <em>CPMC*SEL</em>
determines the event to count. <em>BUFFRSIZE</em> indicates the memory range.</p>
<p><em>BUFFERSIZE</em> can be</p>
@@ -163,10 +165,11 @@ b’011’ - 32K entries * 64 per entry = 2M
b’100’ - 64K entries * 64 per entry = 4M
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -184,7 +187,7 @@ b’100’ - 64K entries * 64 per entry = 4M
</ul>
<h4>Previous topic</h4>
- <p class="topless"><a href="ibm,secureboot.html"
+ <p class="topless"><a href="ibm%2Csecureboot.html"
title="previous chapter">ibm,secureboot</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="memory-hierarchy.html"
@@ -197,17 +200,15 @@ b’100’ - 64K entries * 64 per entry = 4M
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -222,16 +223,17 @@ b’100’ - 64K entries * 64 per entry = 4M
<a href="memory-hierarchy.html" title="P9 memory hierarchy"
>next</a> |</li>
<li class="right" >
- <a href="ibm,secureboot.html" title="ibm,secureboot"
+ <a href="ibm%2Csecureboot.html" title="ibm,secureboot"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">IMC Device Tree Bindings</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/index.html b/doc/device-tree/index.html
index 639ee3c..46a7fdb 100644
--- a/doc/device-tree/index.html
+++ b/doc/device-tree/index.html
@@ -1,25 +1,24 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Device Tree &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Device Tree &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="ibm,cvc" href="ibm,cvc.html" />
+ <link rel="next" title="ibm,cvc" href="ibm%2Ccvc.html" />
<link rel="prev" title="Device Tree" href="../device-tree.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
@@ -29,13 +28,14 @@
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="ibm,cvc.html" title="ibm,cvc"
+ <a href="ibm%2Ccvc.html" title="ibm,cvc"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../device-tree.html" title="Device Tree"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Device Tree</a></li>
</ul>
</div>
@@ -44,15 +44,15 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="device-tree">
+ <section id="device-tree">
<h1>Device Tree<a class="headerlink" href="#device-tree" title="Permalink to this headline">¶</a></h1>
<p>Device Tree for OPAL. Please refer to Device Tree Spec.</p>
<div class="toctree-wrapper compound">
<ul>
-<li class="toctree-l1"><a class="reference internal" href="ibm,cvc.html">ibm,cvc</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,firmware-versions.html">ibm,firmware-versions node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,opal.html">ibm,opal</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,secureboot.html">ibm,secureboot</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Ccvc.html">ibm,cvc</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Cfirmware-versions.html">ibm,firmware-versions node</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Copal.html">ibm,opal</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Csecureboot.html">ibm,secureboot</a></li>
<li class="toctree-l1"><a class="reference internal" href="imc.html">IMC Device Tree Bindings</a></li>
<li class="toctree-l1"><a class="reference internal" href="memory-hierarchy.html">P9 memory hierarchy</a></li>
<li class="toctree-l1"><a class="reference internal" href="nvlink.html">Nvlink Device Tree Bindings</a></li>
@@ -63,13 +63,14 @@
<li class="toctree-l1"><a class="reference internal" href="tpm.html">Trusted Platform Module (TPM)</a></li>
<li class="toctree-l1"><a class="reference internal" href="vas.html">Virtual Accelerator Switchboard (VAS)</a></li>
<li class="toctree-l1"><a class="reference internal" href="vpd.html">VPD (Vital Product Data)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,powerpc-cpu-features/binding.html">ibm,powerpc-cpu-features Binding</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ibm,powerpc-cpu-features/design.html">ibm,powerpc-cpu-features Design</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Cpowerpc-cpu-features/binding.html">ibm,powerpc-cpu-features Binding</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ibm%2Cpowerpc-cpu-features/design.html">ibm,powerpc-cpu-features Design</a></li>
</ul>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -79,7 +80,7 @@
<p class="topless"><a href="../device-tree.html"
title="previous chapter">Device Tree</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="ibm,cvc.html"
+ <p class="topless"><a href="ibm%2Ccvc.html"
title="next chapter">ibm,cvc</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
@@ -89,17 +90,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -111,18 +110,19 @@
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="ibm,cvc.html" title="ibm,cvc"
+ <a href="ibm%2Ccvc.html" title="ibm,cvc"
>next</a> |</li>
<li class="right" >
<a href="../device-tree.html" title="Device Tree"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Device Tree</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/memory-hierarchy.html b/doc/device-tree/memory-hierarchy.html
index b1366af..ee735f3 100644
--- a/doc/device-tree/memory-hierarchy.html
+++ b/doc/device-tree/memory-hierarchy.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>P9 memory hierarchy &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>P9 memory hierarchy &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="imc.html" title="IMC Device Tree Bindings"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">P9 memory hierarchy</a></li>
</ul>
</div>
@@ -45,13 +45,14 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="p9-memory-hierarchy">
+ <section id="p9-memory-hierarchy">
<h1>P9 memory hierarchy<a class="headerlink" href="#p9-memory-hierarchy" title="Permalink to this headline">¶</a></h1>
<p>P9 Nimbus supports direct attached DDR memory through 4 DDR ports per side
of the processor. Device tree contains memory hierarchy so that one can
traverse from chip to DIMM like below:</p>
<blockquote>
-<div>xscom&#64;&lt;addr&gt;/mcbist&#64;&lt;mcbist_id&gt;/mcs&#64;&lt;mcs_id&gt;/mca&#64;&lt;mca_id&gt;/dimm&#64;&lt;resource_id&gt;</div></blockquote>
+<div><p>xscom&#64;&lt;addr&gt;/mcbist&#64;&lt;mcbist_id&gt;/mcs&#64;&lt;mcs_id&gt;/mca&#64;&lt;mca_id&gt;/dimm&#64;&lt;resource_id&gt;</p>
+</div></blockquote>
<p>Example of dimm node:</p>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">dimm</span><span class="nf">@d00e</span> <span class="p">{</span>
<span class="nf">memory-id</span> <span class="o">=</span> <span class="p">&lt;</span><span class="mh">0xc</span><span class="p">&gt;;</span> <span class="cm">/* DRAM Device Type. 0xc = DDR4 */</span>
@@ -68,9 +69,10 @@ traverse from chip to DIMM like below:</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -90,17 +92,15 @@ traverse from chip to DIMM like below:</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -117,14 +117,15 @@ traverse from chip to DIMM like below:</p>
<li class="right" >
<a href="imc.html" title="IMC Device Tree Bindings"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">P9 memory hierarchy</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/nvlink.html b/doc/device-tree/nvlink.html
index 605ba39..745bae0 100644
--- a/doc/device-tree/nvlink.html
+++ b/doc/device-tree/nvlink.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Nvlink Device Tree Bindings &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Nvlink Device Tree Bindings &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="memory-hierarchy.html" title="P9 memory hierarchy"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Nvlink Device Tree Bindings</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="nvlink-device-tree-bindings">
+ <section id="nvlink-device-tree-bindings">
<span id="device-tree-nvlink"></span><h1>Nvlink Device Tree Bindings<a class="headerlink" href="#nvlink-device-tree-bindings" title="Permalink to this headline">¶</a></h1>
<p>See <a class="reference internal" href="../nvlink.html#nvlink"><span class="std std-ref">OPAL/Skiboot Nvlink Interface Documentation</span></a> for general Nvlink information.</p>
<p>NPU bindings:</p>
@@ -106,7 +106,7 @@
<span class="p">};</span>
</pre></div>
</div>
-<div class="section" id="gpu-memory-bindings">
+<section id="gpu-memory-bindings">
<h2>GPU memory bindings<a class="headerlink" href="#gpu-memory-bindings" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">memory</span><span class="nf">@100000000</span> <span class="p">{</span>
<span class="nf">device_type</span> <span class="o">=</span> <span class="s">&quot;memory&quot;</span>
@@ -125,8 +125,8 @@
<span class="p">};</span>
</pre></div>
</div>
-</div>
-<div class="section" id="emulated-pci-device-bindings">
+</section>
+<section id="emulated-pci-device-bindings">
<h2>Emulated PCI device bindings<a class="headerlink" href="#emulated-pci-device-bindings" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">pciex</span><span class="nf">@3fff000400000</span> <span class="p">{</span>
<span class="nf">ibm,npcq</span> <span class="o">=</span> <span class="p">&lt;</span><span class="mh">0x100002bc</span><span class="p">&gt;;</span> <span class="cm">/* phandle to the NPU node. Used to find associated PCI GPU devices. */</span>
@@ -193,10 +193,11 @@
<span class="p">};</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -225,17 +226,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -252,14 +251,15 @@
<li class="right" >
<a href="memory-hierarchy.html" title="P9 memory hierarchy"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Nvlink Device Tree Bindings</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/nx.html b/doc/device-tree/nx.html
index ecd0887..a663e3d 100644
--- a/doc/device-tree/nx.html
+++ b/doc/device-tree/nx.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Nest (NX) Accelerator Coprocessor &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Nest (NX) Accelerator Coprocessor &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="nvlink.html" title="Nvlink Device Tree Bindings"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Nest (NX) Accelerator Coprocessor</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="nest-nx-accelerator-coprocessor">
+ <section id="nest-nx-accelerator-coprocessor">
<h1>Nest (NX) Accelerator Coprocessor<a class="headerlink" href="#nest-nx-accelerator-coprocessor" title="Permalink to this headline">¶</a></h1>
<p>The NX coprocessor is present in P7+ or later processors. Each NX node
represents a unique NX coprocessor. The nodes are located under an
@@ -55,7 +55,7 @@ xscom node, as:</p>
</div>
<p>With unique xscom and nx addresses. Their compatible node contains
“ibm,power-nx”.</p>
-<div class="section" id="nx-compression-coprocessor">
+<section id="nx-compression-coprocessor">
<h2>NX Compression Coprocessor<a class="headerlink" href="#nx-compression-coprocessor" title="Permalink to this headline">¶</a></h2>
<p>This is the memory compression coprocessor. which uses the IBM proprietary
842 compression algorithm and format. Each NX node contains an 842 engine.</p>
@@ -99,8 +99,8 @@ normal FIFOs for each 842 and GZIP engines.</p>
<p>During initialization, the driver invokes VAS interface for each coprocessor
type (842 and gzip) to configure the RxFIFO with rx_fifo_address, lpid, pid
and tid for high and nornmal priority FIFOs.</p>
-</div>
-<div class="section" id="nx-rng-coprocessor">
+</section>
+<section id="nx-rng-coprocessor">
<h2>NX RNG Coprocessor<a class="headerlink" href="#nx-rng-coprocessor" title="Permalink to this headline">¶</a></h2>
<p>This is the Random Number Generator (RNG) coprocessor, which is a part
of each NX coprocessor. Each node represents a unique RNG coprocessor.
@@ -111,10 +111,11 @@ Its nodes are not under the main nx node, they are located at:</p>
</pre></div>
</div>
<p>Each read from the RNG register will provide a new random number.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -143,17 +144,15 @@ Its nodes are not under the main nx node, they are located at:</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -170,14 +169,15 @@ Its nodes are not under the main nx node, they are located at:</p>
<li class="right" >
<a href="nvlink.html" title="Nvlink Device Tree Bindings"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Nest (NX) Accelerator Coprocessor</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/opencapi.html b/doc/device-tree/opencapi.html
index e9f17e3..2cb7a73 100644
--- a/doc/device-tree/opencapi.html
+++ b/doc/device-tree/opencapi.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OpenCAPI Device Tree Bindings &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OpenCAPI Device Tree Bindings &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="nx.html" title="Nest (NX) Accelerator Coprocessor"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OpenCAPI Device Tree Bindings</a></li>
</ul>
</div>
@@ -45,9 +45,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opencapi-device-tree-bindings">
+ <section id="opencapi-device-tree-bindings">
<span id="device-tree-opencapi"></span><h1>OpenCAPI Device Tree Bindings<a class="headerlink" href="#opencapi-device-tree-bindings" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="npu-bindings">
+<section id="npu-bindings">
<h2>NPU bindings<a class="headerlink" href="#npu-bindings" title="Permalink to this headline">¶</a></h2>
<p>The NPU nodes are similar to those in <a class="reference internal" href="nvlink.html"><span class="doc">Nvlink Device Tree Bindings</span></a>.</p>
<p>We distinguish between OpenCAPI and NVLink links using the
@@ -88,8 +88,8 @@ NVLink links are currently unsupported.</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
-<div class="section" id="pci-device-bindings">
+</section>
+<section id="pci-device-bindings">
<h2>PCI device bindings<a class="headerlink" href="#pci-device-bindings" title="Permalink to this headline">¶</a></h2>
<p>The PCI devices mostly look like regular PCI devices (see <a class="reference internal" href="pci.html"><span class="doc">PCI Device Tree Bindings</span></a>),
but have a few additional fields to allow the devices to be associated
@@ -105,10 +105,11 @@ anything but may be used in future.</p>
<span class="err">}</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -137,17 +138,15 @@ anything but may be used in future.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -164,14 +163,15 @@ anything but may be used in future.</p>
<li class="right" >
<a href="nx.html" title="Nest (NX) Accelerator Coprocessor"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OpenCAPI Device Tree Bindings</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/pci.html b/doc/device-tree/pci.html
index 1c86c68..8846795 100644
--- a/doc/device-tree/pci.html
+++ b/doc/device-tree/pci.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>PCI Device Tree Bindings &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>PCI Device Tree Bindings &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opencapi.html" title="OpenCAPI Device Tree Bindings"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">PCI Device Tree Bindings</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="pci-device-tree-bindings">
+ <section id="pci-device-tree-bindings">
<span id="device-tree-pci"></span><h1>PCI Device Tree Bindings<a class="headerlink" href="#pci-device-tree-bindings" title="Permalink to this headline">¶</a></h1>
<p>The following is an example PCI host bridge and device from a POWER9 machine.</p>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">pciex</span><span class="nf">@600c3c0300000</span> <span class="p">{</span>
@@ -109,9 +109,10 @@
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -131,17 +132,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -158,14 +157,15 @@
<li class="right" >
<a href="opencapi.html" title="OpenCAPI Device Tree Bindings"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">PCI Device Tree Bindings</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/reserved-memory.html b/doc/device-tree/reserved-memory.html
index a142520..2b9f44a 100644
--- a/doc/device-tree/reserved-memory.html
+++ b/doc/device-tree/reserved-memory.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>reserved-memory device tree nodes &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>reserved-memory device tree nodes &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="pci.html" title="PCI Device Tree Bindings"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">reserved-memory device tree nodes</a></li>
</ul>
</div>
@@ -45,38 +45,40 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="reserved-memory-device-tree-nodes">
+ <section id="reserved-memory-device-tree-nodes">
<h1>reserved-memory device tree nodes<a class="headerlink" href="#reserved-memory-device-tree-nodes" title="Permalink to this headline">¶</a></h1>
<p>OPAL exposes reserved memory through a top-level reserved-memory node,
containing subnodes that represent each reserved memory region.</p>
<p>This follows the Linux specification for the /reserved-memory node,
described in the kernel source tree, in:</p>
<blockquote>
-<div>Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt</div></blockquote>
+<div><p>Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt</p>
+</div></blockquote>
<p>The top-level /reserved-memory node contains:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#size-cells = &lt;2&gt;</span>
<span class="c1">#address-cells = &lt;2&gt;</span>
</pre></div>
</div>
<p>Addresses and sizes are all 64-bits.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">ranges</span></code></dt>
-<dd>the empty ranges node indicates no translation of physical
-addresses in the subnodes.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">ranges</span></code></dt><dd><p>the empty ranges node indicates no translation of physical
+addresses in the subnodes.</p>
+</dd>
</dl>
<p>The sub-nodes under the /reserved-memory node contain:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">reg</span> <span class="pre">=</span> <span class="pre">&lt;address</span> <span class="pre">size&gt;</span></code></dt>
-<dd>the address and size of the reserved memory region. The address
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">reg</span> <span class="pre">=</span> <span class="pre">&lt;address</span> <span class="pre">size&gt;</span></code></dt><dd><p>the address and size of the reserved memory region. The address
and size values are two cells each, as signified by the top-level
-<code class="docutils literal notranslate"><span class="pre">#{address,size}-cells</span></code></dd>
-<dt><code class="docutils literal notranslate"><span class="pre">ibm,prd-label</span> <span class="pre">=</span> <span class="pre">&quot;string&quot;</span></code></dt>
-<dd>a string token for use by the prd system. Specific ranges may be
-used by prd - those will be referenced by this label.</dd>
+<code class="docutils literal notranslate"><span class="pre">#{address,size}-cells</span></code></p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">ibm,prd-label</span> <span class="pre">=</span> <span class="pre">&quot;string&quot;</span></code></dt><dd><p>a string token for use by the prd system. Specific ranges may be
+used by prd - those will be referenced by this label.</p>
+</dd>
</dl>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -96,17 +98,15 @@ used by prd - those will be referenced by this label.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -123,14 +123,15 @@ used by prd - those will be referenced by this label.</dd>
<li class="right" >
<a href="pci.html" title="PCI Device Tree Bindings"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">reserved-memory device tree nodes</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/tpm.html b/doc/device-tree/tpm.html
index 3ce2a61..df38e87 100644
--- a/doc/device-tree/tpm.html
+++ b/doc/device-tree/tpm.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Trusted Platform Module (TPM) &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Trusted Platform Module (TPM) &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="reserved-memory.html" title="reserved-memory device tree nodes"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Trusted Platform Module (TPM)</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="trusted-platform-module-tpm">
+ <section id="trusted-platform-module-tpm">
<span id="device-tree-tpm"></span><h1>Trusted Platform Module (TPM)<a class="headerlink" href="#trusted-platform-module-tpm" title="Permalink to this headline">¶</a></h1>
<p>The tpm node describes a TPM device present in the platform. It also includes
event log information.</p>
-<div class="section" id="required-properties">
+<section id="required-properties">
<h2>Required properties<a class="headerlink" href="#required-properties" title="Permalink to this headline">¶</a></h2>
<p>All these properties are consumed by skiboot and the linux kernel (tpm and
vtpm codes)</p>
@@ -61,15 +61,15 @@ vtpm codes)</p>
<span class="n">linux</span><span class="p">,</span><span class="n">sml</span><span class="o">-</span><span class="n">size</span><span class="p">:</span> <span class="n">size</span> <span class="n">of</span> <span class="n">the</span> <span class="n">memory</span> <span class="n">allocated</span> <span class="k">for</span> <span class="n">firmware</span> <span class="n">event</span> <span class="n">log</span><span class="o">.</span>
</pre></div>
</div>
-</div>
-<div class="section" id="optional-properties">
+</section>
+<section id="optional-properties">
<h2>Optional properties<a class="headerlink" href="#optional-properties" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">status</span><span class="p">:</span> <span class="n">indicates</span> <span class="n">whether</span> <span class="n">the</span> <span class="n">device</span> <span class="ow">is</span> <span class="n">enabled</span> <span class="ow">or</span> <span class="n">disabled</span><span class="o">.</span> <span class="s2">&quot;okay&quot;</span> <span class="k">for</span>
<span class="n">enabled</span> <span class="ow">and</span> <span class="s2">&quot;disabled&quot;</span> <span class="k">for</span> <span class="n">disabled</span><span class="o">.</span>
</pre></div>
</div>
-</div>
-<div class="section" id="example">
+</section>
+<section id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">tpm</span><span class="nf">@57</span> <span class="p">{</span>
<span class="nf">reg</span> <span class="o">=</span> <span class="p">&lt;</span><span class="mh">0x57</span><span class="p">&gt;;</span>
@@ -82,10 +82,11 @@ vtpm codes)</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -115,17 +116,15 @@ vtpm codes)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -142,14 +141,15 @@ vtpm codes)</p>
<li class="right" >
<a href="reserved-memory.html" title="reserved-memory device tree nodes"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Trusted Platform Module (TPM)</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/vas.html b/doc/device-tree/vas.html
index 4dff75b..7a1982d 100644
--- a/doc/device-tree/vas.html
+++ b/doc/device-tree/vas.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Virtual Accelerator Switchboard (VAS) &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Virtual Accelerator Switchboard (VAS) &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="tpm.html" title="Trusted Platform Module (TPM)"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Virtual Accelerator Switchboard (VAS)</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="virtual-accelerator-switchboard-vas">
+ <section id="virtual-accelerator-switchboard-vas">
<span id="device-tree-vas"></span><h1>Virtual Accelerator Switchboard (VAS)<a class="headerlink" href="#virtual-accelerator-switchboard-vas" title="Permalink to this headline">¶</a></h1>
<p>VAS is present in P9 or later processors. In P9, each chip has one
instance of VAS. Each instance of VAS is represented as a “platform
@@ -79,9 +79,10 @@ context address for the instance of VAS.</p>
<span class="n">be</span> <span class="n">encoded</span> <span class="n">when</span> <span class="n">computing</span> <span class="n">the</span> <span class="n">paste</span> <span class="n">address</span> <span class="k">for</span> <span class="n">the</span> <span class="n">window</span><span class="o">.</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -101,17 +102,15 @@ context address for the instance of VAS.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -128,14 +127,15 @@ context address for the instance of VAS.</p>
<li class="right" >
<a href="tpm.html" title="Trusted Platform Module (TPM)"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Virtual Accelerator Switchboard (VAS)</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/device-tree/vpd.html b/doc/device-tree/vpd.html
index d6fe366..789984e 100644
--- a/doc/device-tree/vpd.html
+++ b/doc/device-tree/vpd.html
@@ -1,25 +1,24 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>VPD (Vital Product Data) &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>VPD (Vital Product Data) &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="ibm,powerpc-cpu-features Binding" href="ibm,powerpc-cpu-features/binding.html" />
+ <link rel="next" title="ibm,powerpc-cpu-features Binding" href="ibm%2Cpowerpc-cpu-features/binding.html" />
<link rel="prev" title="Virtual Accelerator Switchboard (VAS)" href="vas.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
@@ -29,14 +28,15 @@
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="ibm,powerpc-cpu-features/binding.html" title="ibm,powerpc-cpu-features Binding"
+ <a href="ibm%2Cpowerpc-cpu-features/binding.html" title="ibm,powerpc-cpu-features Binding"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="vas.html" title="Virtual Accelerator Switchboard (VAS)"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">VPD (Vital Product Data)</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="vpd-vital-product-data">
+ <section id="vpd-vital-product-data">
<h1>VPD (Vital Product Data)<a class="headerlink" href="#vpd-vital-product-data" title="Permalink to this headline">¶</a></h1>
<p>VPD provides the information about the FRUs (Field Replaceable Unit) present in
the system and each vpd node in the device tree represents a FRU. These
@@ -117,9 +117,10 @@ FRUs having parent-child relationship.</p>
<span class="p">};</span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -129,7 +130,7 @@ FRUs having parent-child relationship.</p>
<p class="topless"><a href="vas.html"
title="previous chapter">Virtual Accelerator Switchboard (VAS)</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="ibm,powerpc-cpu-features/binding.html"
+ <p class="topless"><a href="ibm%2Cpowerpc-cpu-features/binding.html"
title="next chapter">ibm,powerpc-cpu-features Binding</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
@@ -139,17 +140,15 @@ FRUs having parent-child relationship.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -161,19 +160,20 @@ FRUs having parent-child relationship.</p>
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="ibm,powerpc-cpu-features/binding.html" title="ibm,powerpc-cpu-features Binding"
+ <a href="ibm%2Cpowerpc-cpu-features/binding.html" title="ibm,powerpc-cpu-features Binding"
>next</a> |</li>
<li class="right" >
<a href="vas.html" title="Virtual Accelerator Switchboard (VAS)"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Device Tree</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">VPD (Vital Product Data)</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/error-logging.html b/doc/error-logging.html
index c151951..ecc74bf 100644
--- a/doc/error-logging.html
+++ b/doc/error-logging.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>How to log errors on OPAL &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>How to log errors on OPAL &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="console-log.html" title="SkiBoot Console Log"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">How to log errors on OPAL</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="how-to-log-errors-on-opal">
+ <section id="how-to-log-errors-on-opal">
<h1>How to log errors on OPAL<a class="headerlink" href="#how-to-log-errors-on-opal" title="Permalink to this headline">¶</a></h1>
<p>Currently the errors reported by OPAL interfaces are in free form, where as
errors reported by service processor is in standard Platform Error Log (PEL)
@@ -58,22 +58,23 @@ error-logging interfaces outlined below. Following which, PEL structure is
generated based on the input and then passed on to service processor.</p>
<p>We do create eSEL error log format for some service processors but it’s just
a wrapper around PEL format. Actual data still stays in PEL format.</p>
-<div class="section" id="error-logging-interfaces-in-opal">
+<section id="error-logging-interfaces-in-opal">
<h2>Error logging interfaces in OPAL<a class="headerlink" href="#error-logging-interfaces-in-opal" title="Permalink to this headline">¶</a></h2>
<p>Interfaces are provided for the user to log/report an error in OPAL. Using
these interfaces relevant error information is collected and later converted
to PEL format and then pushed to service processor.</p>
<p>Step 1: To report an error, invoke <code class="docutils literal notranslate"><span class="pre">opal_elog_create()</span></code> with required argument.</p>
<blockquote>
-<div><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">errorlog</span> <span class="pre">*opal_elog_create(struct</span> <span class="pre">opal_err_info</span> <span class="pre">*e_info,</span> <span class="pre">uint32_t</span> <span class="pre">tag);</span></code></div></blockquote>
+<div><p><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">errorlog</span> <span class="pre">*opal_elog_create(struct</span> <span class="pre">opal_err_info</span> <span class="pre">*e_info,</span> <span class="pre">uint32_t</span> <span class="pre">tag);</span></code></p>
+</div></blockquote>
<p>Parameters:</p>
<blockquote>
<div><ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_err_info</span> <span class="pre">*e_info</span></code>
-Struct to hold information identifying error/event source.</li>
-<li><dl class="first docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">tag:</span></code> Unique value to identify the data.</dt>
-<dd>Ideal to have ASCII value for 4-byte string.</dd>
+<li><p><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_err_info</span> <span class="pre">*e_info</span></code>
+Struct to hold information identifying error/event source.</p></li>
+<li><dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">tag:</span></code> Unique value to identify the data.</dt><dd><p>Ideal to have ASCII value for 4-byte string.</p>
+</dd>
</dl>
</li>
</ul>
@@ -166,34 +167,31 @@ listed in <code class="docutils literal notranslate"><span class="pre">include/e
<span class="c1">#define OPAL_ABNORMAL_POWER_OFF 0xE0</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint8_t</span> <span class="pre">opal_srctype</span></code>: SRC type, value should be OPAL_SRC_TYPE_ERROR.</dt>
-<dd><p class="first">SRC refers to System Reference Code.
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">uint8_t</span> <span class="pre">opal_srctype</span></code>: SRC type, value should be OPAL_SRC_TYPE_ERROR.</dt><dd><p>SRC refers to System Reference Code.
It is 4 byte hexa-decimal number that reflects the
current system state.
Eg: BB821010,</p>
<ul class="simple">
-<li>1st byte -&gt; BB -&gt; SRC Type</li>
-<li>2nd byte -&gt; 82 -&gt; Subsystem</li>
-<li>3rd, 4th byte -&gt; Component ID and Reason Code</li>
+<li><p>1st byte -&gt; BB -&gt; SRC Type</p></li>
+<li><p>2nd byte -&gt; 82 -&gt; Subsystem</p></li>
+<li><p>3rd, 4th byte -&gt; Component ID and Reason Code</p></li>
</ul>
-<p class="last">SRC needs to be generated on the fly depending on the state
+<p>SRC needs to be generated on the fly depending on the state
of the system. All the parameters needed to generate a SRC
should be provided during reporting of an event/error.</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">reason_code</span></code>: Reason for failure as stated in <code class="docutils literal notranslate"><span class="pre">include/errorlog.h</span></code> for OPAL.</dt>
-<dd><p class="first">Eg: Reason code for code-update failures can be</p>
-<ul class="last simple">
-<li><code class="docutils literal notranslate"><span class="pre">OPAL_RC_CU_INIT</span></code> -&gt; Initialisation failure</li>
-<li><code class="docutils literal notranslate"><span class="pre">OPAL_RC_CU_FLASH</span></code> -&gt; Flash failure</li>
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">reason_code</span></code>: Reason for failure as stated in <code class="docutils literal notranslate"><span class="pre">include/errorlog.h</span></code> for OPAL.</dt><dd><p>Eg: Reason code for code-update failures can be</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">OPAL_RC_CU_INIT</span></code> -&gt; Initialisation failure</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">OPAL_RC_CU_FLASH</span></code> -&gt; Flash failure</p></li>
</ul>
</dd>
</dl>
</div></blockquote>
-<dl class="docutils">
-<dt>Step 2: Data can be appended to the user data section using the either of</dt>
-<dd><p class="first">the below two interfaces:</p>
-<div class="last highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">void</span> <span class="n">log_append_data</span><span class="p">(</span><span class="n">struct</span> <span class="n">errorlog</span> <span class="o">*</span><span class="n">buf</span><span class="p">,</span> <span class="n">unsigned</span> <span class="n">char</span> <span class="o">*</span><span class="n">data</span><span class="p">,</span>
+<dl>
+<dt>Step 2: Data can be appended to the user data section using the either of</dt><dd><p>the below two interfaces:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">void</span> <span class="n">log_append_data</span><span class="p">(</span><span class="n">struct</span> <span class="n">errorlog</span> <span class="o">*</span><span class="n">buf</span><span class="p">,</span> <span class="n">unsigned</span> <span class="n">char</span> <span class="o">*</span><span class="n">data</span><span class="p">,</span>
<span class="n">uint16_t</span> <span class="n">size</span><span class="p">);</span>
</pre></div>
</div>
@@ -221,16 +219,15 @@ user data section of the error log.</p>
<p>Parameters:</p>
<blockquote>
<div><p><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_errorlog</span> <span class="pre">*buf</span></code>: pointer returned by <code class="docutils literal notranslate"><span class="pre">opal_elog_create()</span></code> call.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">tag</span></code>: Unique value to identify the data.</dt>
-<dd>Ideal to have ASCII value for 4-byte string.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">tag</span></code>: Unique value to identify the data.</dt><dd><p>Ideal to have ASCII value for 4-byte string.</p>
+</dd>
</dl>
</div></blockquote>
-<dl class="docutils">
-<dt>Step 3: There is a platform hook for the OPAL error log to be committed on any</dt>
-<dd><p class="first">service processor(Currently used for FSP and BMC based machines).</p>
+<dl>
+<dt>Step 3: There is a platform hook for the OPAL error log to be committed on any</dt><dd><p>service processor(Currently used for FSP and BMC based machines).</p>
<p>Below is snippet of the code of how this hook is called.</p>
-<div class="last highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">void</span> <span class="n">log_commit</span><span class="p">(</span><span class="n">struct</span> <span class="n">errorlog</span> <span class="o">*</span><span class="n">elog</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">void</span> <span class="n">log_commit</span><span class="p">(</span><span class="n">struct</span> <span class="n">errorlog</span> <span class="o">*</span><span class="n">elog</span><span class="p">)</span>
<span class="p">{</span>
<span class="o">....</span>
<span class="o">....</span>
@@ -247,8 +244,7 @@ user data section of the error log.</p>
</pre></div>
</div>
</dd>
-<dt>Step 3.1 FSP:</dt>
-<dd><div class="first highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">elog_commit</span> <span class="o">=</span> <span class="n">elog_fsp_commit</span>
+<dt>Step 3.1 FSP:</dt><dd><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">elog_commit</span> <span class="o">=</span> <span class="n">elog_fsp_commit</span>
</pre></div>
</div>
<p>Once all the data for an error is logged in, the error needs to
@@ -257,12 +253,11 @@ be committed in FSP.</p>
internally converted to PEL format and then pushed to the FSP.
FSP then take cares of sending all logs including its own and
OPAL’s one to the POWERNV.</p>
-<p class="last">OPAL maintains timeout field for all error logs it is sending to
+<p>OPAL maintains timeout field for all error logs it is sending to
FSP. If it is not logged within allotted time period (e.g if FSP
is down), in that case OPAL sends those logs to POWERNV.</p>
</dd>
-<dt>Step 3.2 BMC:</dt>
-<dd><div class="first highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">elog_commit</span> <span class="o">=</span> <span class="n">ipmi_elog_commit</span>
+<dt>Step 3.2 BMC:</dt><dd><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">elog_commit</span> <span class="o">=</span> <span class="n">ipmi_elog_commit</span>
</pre></div>
</div>
<p>In case of BMC machines, error logs are first converted to eSEL format.
@@ -285,7 +280,7 @@ i.e:</p>
<span class="p">}</span>
</pre></div>
</div>
-<p class="last">After filling up the SEL header fields, OPAL copies the error log
+<p>After filling up the SEL header fields, OPAL copies the error log
PEL data after the header section in the error log buffer. Then using
IPMI interface, eSEL gets logged in BMC.</p>
</dd>
@@ -305,17 +300,17 @@ so using just the simple error logging interface.</p>
<p>Using the reason code, an error log is generated with the information derived
from the look-up table, populated and committed to service processor. All of it
is done with just one call.</p>
-</div>
-</div>
-<div class="section" id="error-logging-retrieval-from-fsp">
+</section>
+</section>
+<section id="error-logging-retrieval-from-fsp">
<h1>Error logging retrieval from FSP:<a class="headerlink" href="#error-logging-retrieval-from-fsp" title="Permalink to this headline">¶</a></h1>
<p>FSP sends error log notification to OPAL via mailbox protocol.</p>
<p>OPAL maintains below lists:</p>
<ul class="simple">
-<li>Free list : List of free nodes.</li>
-<li>Pending list : List of nodes which is yet to be read by the POWERNV.</li>
-<li>Processed list : List of nodes which has been read but still waiting for
-acknowledgement.</li>
+<li><p>Free list : List of free nodes.</p></li>
+<li><p>Pending list : List of nodes which is yet to be read by the POWERNV.</p></li>
+<li><p>Processed list : List of nodes which has been read but still waiting for
+acknowledgement.</p></li>
</ul>
<p>Below is the structure of the node:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">struct</span> <span class="n">fsp_log_entry</span> <span class="p">{</span>
@@ -353,7 +348,7 @@ moves to <code class="docutils literal notranslate"><span class="pre">ELOG_STATE
call to OPAL, which in turn sends the acknowledgement mbox message to FSP and
moves error log id from processed list to again back to free node list and this
process goes on every FSP error log.</p>
-<div class="section" id="design-constraints">
+<section id="design-constraints">
<h2>Design constraints:<a class="headerlink" href="#design-constraints" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#define ELOG_READ_MAX_RECORD 128</span>
</pre></div>
@@ -368,18 +363,18 @@ upto FSP when it notifies again to OPAL about the discarded error log.</p>
<p>There is also limitation on the number of OPAL error logs OPAL can hold is 64.
If it is run out of the buffers in the pool, it will log the message saying
‘Failed to get the buffer’.</p>
-</div>
-<div class="section" id="note">
+</section>
+<section id="note">
<h2>Note<a class="headerlink" href="#note" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>For more information regarding error logging and PEL format
-refer to PAPR doc and P7 PEL and SRC PLDD document.</li>
-<li>Refer to <code class="docutils literal notranslate"><span class="pre">include/errorlog.h</span></code> for all the error logging
+<li><p>For more information regarding error logging and PEL format
+refer to PAPR doc and P7 PEL and SRC PLDD document.</p></li>
+<li><p>Refer to <code class="docutils literal notranslate"><span class="pre">include/errorlog.h</span></code> for all the error logging
interface parameters and <code class="docutils literal notranslate"><span class="pre">include/pel.h</span></code> for PEL
-structures.</li>
+structures.</p></li>
</ul>
-</div>
-<div class="section" id="sample-error-logging">
+</section>
+<section id="sample-error-logging">
<h2>Sample error logging<a class="headerlink" href="#sample-error-logging" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">DEFINE_LOG_ENTRY</span><span class="p">(</span><span class="n">OPAL_RC_ATTN</span><span class="p">,</span> <span class="n">OPAL_PLATFORM_ERR_EVT</span><span class="p">,</span> <span class="n">OPAL_ATTN</span><span class="p">,</span>
<span class="n">OPAL_PLATFORM_FIRMWARE</span><span class="p">,</span> <span class="n">OPAL_PREDICTIVE_ERR_GENERAL</span><span class="p">,</span>
@@ -427,8 +422,8 @@ structures.</li>
<span class="p">}</span>
</pre></div>
</div>
-</div>
-<div class="section" id="sample-output-pel-dump-got-from-fsp">
+</section>
+<section id="sample-output-pel-dump-got-from-fsp">
<h2>Sample output PEL dump got from FSP<a class="headerlink" href="#sample-output-pel-dump-got-from-fsp" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ errl -d -x 0x533C9B37
| 00000000 50480030 01004154 20150728 02000500 PH.0..AT ..(.... |
@@ -562,10 +557,11 @@ structures.</li>
|------------------------------------------------------------------------------|
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -600,17 +596,15 @@ structures.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -627,13 +621,14 @@ structures.</li>
<li class="right" >
<a href="console-log.html" title="SkiBoot Console Log"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">How to log errors on OPAL</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/gcov.html b/doc/gcov.html
index ef197e7..6256944 100644
--- a/doc/gcov.html
+++ b/doc/gcov.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>GCOV for skiboot &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>GCOV for skiboot &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="bmc.html" title="OPAL &lt;–&gt; BMC interactions"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">GCOV for skiboot</a></li>
</ul>
</div>
@@ -44,9 +44,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="gcov-for-skiboot">
+ <section id="gcov-for-skiboot">
<h1>GCOV for skiboot<a class="headerlink" href="#gcov-for-skiboot" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="unit-tests">
+<section id="unit-tests">
<h2>Unit tests<a class="headerlink" href="#unit-tests" title="Permalink to this headline">¶</a></h2>
<p>All unit tests are built+run with gcov enabled.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">coverage</span><span class="o">-</span><span class="n">report</span>
@@ -54,14 +54,14 @@
</div>
<p>will generate a unit test coverage report like:
<a class="reference external" href="http://open-power.github.io/skiboot/coverage-report/">http://open-power.github.io/skiboot/coverage-report/</a></p>
-</div>
-<div class="section" id="skiboot">
+</section>
+<section id="skiboot">
<h2>Skiboot<a class="headerlink" href="#skiboot" title="Permalink to this headline">¶</a></h2>
<p>You can now build Skiboot itself with gcov support, boot it on a machine,
do things, and then extract out gcda files to generate coverage reports
from real hardware (or a simulator).</p>
-</div>
-<div class="section" id="building-skiboot-with-gcov">
+</section>
+<section id="building-skiboot-with-gcov">
<h2>Building Skiboot with GCOV<a class="headerlink" href="#building-skiboot-with-gcov" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">SKIBOOT_GCOV</span><span class="o">=</span><span class="mi">1</span> <span class="n">make</span>
</pre></div>
@@ -69,8 +69,8 @@ from real hardware (or a simulator).</p>
<p>You may need to <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">clean</span></code> first.</p>
<p>This will build a skiboot lid roughly <em>twice</em> the size.</p>
<p>Flash/Install the skiboot.lid and boot.</p>
-</div>
-<div class="section" id="extracting-gcov-data">
+</section>
+<section id="extracting-gcov-data">
<h2>Extracting GCOV data<a class="headerlink" href="#extracting-gcov-data" title="Permalink to this headline">¶</a></h2>
<p>The way we extract the gcov data from a system is by dumping the contents
of skiboot memory and then parsing the data structures in user space with
@@ -101,15 +101,16 @@ from the skiboot memory image.</p>
<p>You can then run lcov:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">lcov</span> <span class="o">-</span><span class="n">b</span> <span class="o">.</span> <span class="o">-</span><span class="n">q</span> <span class="o">-</span><span class="n">c</span> <span class="o">-</span><span class="n">d</span> <span class="o">.</span> <span class="o">-</span><span class="n">o</span> <span class="n">skiboot</span><span class="o">-</span><span class="n">boot</span><span class="o">.</span><span class="n">info</span>
<span class="o">--</span><span class="n">gcov</span><span class="o">-</span><span class="n">tool</span>
-<span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">cross</span><span class="o">/</span><span class="n">gcc</span><span class="o">-</span><span class="mf">4.8</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="n">nolibc</span><span class="o">/</span><span class="n">powerpc64</span><span class="o">-</span><span class="n">linux</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">powerpc64</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">gcov</span>
+<span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">cross</span><span class="o">/</span><span class="n">gcc</span><span class="o">-</span><span class="mf">4.8.0</span><span class="o">-</span><span class="n">nolibc</span><span class="o">/</span><span class="n">powerpc64</span><span class="o">-</span><span class="n">linux</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">powerpc64</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">gcov</span>
</pre></div>
</div>
<p><em>IMPORTANT</em> you should point lcov to the gcov for the compiler you used
to build skiboot, otherwise you’re likely to get errors.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -140,17 +141,15 @@ to build skiboot, otherwise you’re likely to get errors.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -167,13 +166,14 @@ to build skiboot, otherwise you’re likely to get errors.</p>
<li class="right" >
<a href="bmc.html" title="OPAL &lt;–&gt; BMC interactions"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">GCOV for skiboot</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/genindex.html b/doc/genindex.html
index e61c933..017b511 100644
--- a/doc/genindex.html
+++ b/doc/genindex.html
@@ -1,22 +1,19 @@
+<!DOCTYPE html>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Index &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>Index &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="#" />
<link rel="search" title="Search" href="search.html" />
@@ -27,8 +24,9 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
accesskey="I">index</a></li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Index</a></li>
</ul>
</div>
@@ -45,23 +43,22 @@
</div>
+ <div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -72,13 +69,14 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
>index</a></li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Index</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/imc.html b/doc/imc.html
index 05f98c3..a7e5b24 100644
--- a/doc/imc.html
+++ b/doc/imc.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL/Skiboot In-Memory Collection (IMC) interface Documentation &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL/Skiboot In-Memory Collection (IMC) interface Documentation &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="xive.html" title="P9 XIVE Exploitation"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL/Skiboot In-Memory Collection (IMC) interface Documentation</a></li>
</ul>
</div>
@@ -44,9 +44,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-skiboot-in-memory-collection-imc-interface-documentation">
+ <section id="opal-skiboot-in-memory-collection-imc-interface-documentation">
<span id="imc"></span><h1>OPAL/Skiboot In-Memory Collection (IMC) interface Documentation<a class="headerlink" href="#opal-skiboot-in-memory-collection-imc-interface-documentation" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="overview">
+<section id="overview">
<h2>Overview:<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<p>In-Memory-Collection (IMC) is performance monitoring infrastrcuture
for counters that (once started) can be read from memory at any time by
@@ -56,8 +56,8 @@ units, enabling continuous monitoring of resource utilisation on the chip.</p>
Nest units, they’re implemented by having microcode in an on-chip
microcontroller and for core units, they are implemented as part of core logic
to gather data and periodically write it to the memory locations.</p>
-</div>
-<div class="section" id="nest-on-chip-off-core-unit">
+</section>
+<section id="nest-on-chip-off-core-unit">
<h2>Nest (On-Chip, Off-Core) unit:<a class="headerlink" href="#nest-on-chip-off-core-unit" title="Permalink to this headline">¶</a></h2>
<p>Nest units have dedicated hardware counters which can be programmed
to monitor various chip resources such as memory bandwidth,
@@ -69,8 +69,8 @@ to memory are offloaded to a hardware engine part of OCC (On-Chip Controller).</
Nest unit PMUs and periodically accumulate the nest pmu counter values
to memory. List of supported events by the microcode is packages as a DTS
and stored in IMA_CATALOG partition.</p>
-</div>
-<div class="section" id="core-unit">
+</section>
+<section id="core-unit">
<h2>Core unit:<a class="headerlink" href="#core-unit" title="Permalink to this headline">¶</a></h2>
<p>Core IMC PMU counters are handled in the core-imc unit. Each core has
4 Core Performance Monitoring Counters (CPMCs) which are used by Core-IMC logic.
@@ -80,8 +80,8 @@ The 2 remaining CPMCs have to multiplex 128 events each.</p>
sampling duration) fetches the counter data and accumulate to main memory.
Memory to accumulate counter data are refered from “PDBAR” (per-core scom)
and “LDBAR” per-thread spr.</p>
-</div>
-<div class="section" id="trace-mode-of-imc">
+</section>
+<section id="trace-mode-of-imc">
<h2>Trace mode of IMC:<a class="headerlink" href="#trace-mode-of-imc" title="Permalink to this headline">¶</a></h2>
<p>POWER9 support two modes for IMC which are the Accumulation mode and
Trace mode. In Accumulation mode event counts are accumulated in system
@@ -138,17 +138,18 @@ PMI(Performance Monitoring Interrupts) processing overhead.</p>
</pre></div>
</div>
<p>Here the PMI interrupts count remains the same.</p>
-</div>
-<div class="section" id="opal-apis">
+</section>
+<section id="opal-apis">
<h2>OPAL APIs:<a class="headerlink" href="#opal-apis" title="Permalink to this headline">¶</a></h2>
<p>The OPAL API is simple: a call to init a counter type, and calls to
start and stop collection. The memory locations are described in the
device tree.</p>
<p>See <a class="reference internal" href="opal-api/opal-imc-counters.html#opal-imc-counters"><span class="std std-ref">OPAL_IMC_COUNTERS_INIT</span></a> and <a class="reference internal" href="device-tree/imc.html#device-tree-imc"><span class="std std-ref">IMC Device Tree Bindings</span></a></p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -180,17 +181,15 @@ device tree.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -207,13 +206,14 @@ device tree.</p>
<li class="right" >
<a href="xive.html" title="P9 XIVE Exploitation"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL/Skiboot In-Memory Collection (IMC) interface Documentation</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/index.html b/doc/index.html
index 6fe53fd..54109d2 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>SkiBoot Documentation &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>SkiBoot Documentation &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -30,8 +29,9 @@
<li class="right" >
<a href="overview.html" title="Skiboot overview"
accesskey="N">next</a> |</li>
- <li class="nav-item nav-item-0"><a href="#">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="#">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">SkiBoot Documentation</a></li>
</ul>
</div>
@@ -40,9 +40,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-documentation">
+ <section id="skiboot-documentation">
<h1>SkiBoot Documentation<a class="headerlink" href="#skiboot-documentation" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="overview">
+<section id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
@@ -75,8 +75,8 @@
</li>
</ul>
</div>
-</div>
-<div class="section" id="development-process">
+</section>
+<section id="development-process">
<h2>Development Process<a class="headerlink" href="#development-process" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
@@ -105,8 +105,8 @@
</li>
</ul>
</div>
-</div>
-<div class="section" id="developer-guide-and-internals">
+</section>
+<section id="developer-guide-and-internals">
<h2>Developer Guide and Internals<a class="headerlink" href="#developer-guide-and-internals" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
@@ -205,8 +205,8 @@
<li class="toctree-l1"><a class="reference internal" href="vas.html">Virtual Accelerator Switchboard (VAS)</a></li>
</ul>
</div>
-</div>
-<div class="section" id="opal-abi">
+</section>
+<section id="opal-abi">
<h2>OPAL ABI<a class="headerlink" href="#opal-abi" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
@@ -223,10 +223,10 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="device-tree/index.html">Device Tree</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm,cvc.html">ibm,cvc</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm,firmware-versions.html">ibm,firmware-versions node</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm,opal.html">ibm,opal</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm,secureboot.html">ibm,secureboot</a></li>
+<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm%2Ccvc.html">ibm,cvc</a></li>
+<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm%2Cfirmware-versions.html">ibm,firmware-versions node</a></li>
+<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm%2Copal.html">ibm,opal</a></li>
+<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm%2Csecureboot.html">ibm,secureboot</a></li>
<li class="toctree-l2"><a class="reference internal" href="device-tree/imc.html">IMC Device Tree Bindings</a></li>
<li class="toctree-l2"><a class="reference internal" href="device-tree/memory-hierarchy.html">P9 memory hierarchy</a></li>
<li class="toctree-l2"><a class="reference internal" href="device-tree/nvlink.html">Nvlink Device Tree Bindings</a></li>
@@ -237,8 +237,8 @@
<li class="toctree-l2"><a class="reference internal" href="device-tree/tpm.html">Trusted Platform Module (TPM)</a></li>
<li class="toctree-l2"><a class="reference internal" href="device-tree/vas.html">Virtual Accelerator Switchboard (VAS)</a></li>
<li class="toctree-l2"><a class="reference internal" href="device-tree/vpd.html">VPD (Vital Product Data)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm,powerpc-cpu-features/binding.html">ibm,powerpc-cpu-features Binding</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm,powerpc-cpu-features/design.html">ibm,powerpc-cpu-features Design</a></li>
+<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm%2Cpowerpc-cpu-features/binding.html">ibm,powerpc-cpu-features Binding</a></li>
+<li class="toctree-l2"><a class="reference internal" href="device-tree/ibm%2Cpowerpc-cpu-features/design.html">ibm,powerpc-cpu-features Design</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="opal-api/index.html">OPAL API Documentation</a><ul>
@@ -361,8 +361,8 @@
</li>
</ul>
</div>
-</div>
-<div class="section" id="skiboot-release-notes">
+</section>
+<section id="skiboot-release-notes">
<h2>skiboot Release Notes<a class="headerlink" href="#skiboot-release-notes" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
@@ -539,10 +539,11 @@
</li>
</ul>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -571,17 +572,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -595,13 +594,14 @@
<li class="right" >
<a href="overview.html" title="Skiboot overview"
>next</a> |</li>
- <li class="nav-item nav-item-0"><a href="#">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="#">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">SkiBoot Documentation</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/memory.html b/doc/memory.html
index 29c3472..8fd96da 100644
--- a/doc/memory.html
+++ b/doc/memory.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Memory in skiboot &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Memory in skiboot &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="gcov.html" title="GCOV for skiboot"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Memory in skiboot</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="memory-in-skiboot">
+ <section id="memory-in-skiboot">
<h1>Memory in skiboot<a class="headerlink" href="#memory-in-skiboot" title="Permalink to this headline">¶</a></h1>
<p>There are regions of memory we statically allocate for firmware as well as
a HEAP region for boot and runtime allocations.</p>
@@ -53,7 +53,7 @@ or at least keep it to a minimum, and not do so in any critical code path
for the system to remain running.</p>
<p>At no point during runtime should a skiboot memory allocation failure cause
the system to stop functioning.</p>
-<div class="section" id="heap">
+<section id="heap">
<h2>HEAP<a class="headerlink" href="#heap" title="Permalink to this headline">¶</a></h2>
<p>Dynamic memory allocations go in a single heap. This is identified as
Region ibm,firmware-heap and appears as a reserved section in the device tree.</p>
@@ -63,14 +63,14 @@ Now, it is 13631488 bytes after being bumped as part of the GCOV work.</p>
all the heap once skiboot became 2MB with GCOV.</p>
<p>Heap usage is printed before running the payload.</p>
<p>For example, as of writing, on a dual socket Tuleta:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mi">45215870591</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">SkiBoot</span> <span class="n">skiboot</span><span class="o">-</span><span class="mf">5.0</span><span class="o">.</span><span class="mi">1</span><span class="o">-</span><span class="mi">94</span><span class="o">-</span><span class="n">gb759ce2</span> <span class="n">starting</span><span class="o">...</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mi">45215870591</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">SkiBoot</span> <span class="n">skiboot</span><span class="o">-</span><span class="mf">5.0.1</span><span class="o">-</span><span class="mi">94</span><span class="o">-</span><span class="n">gb759ce2</span> <span class="n">starting</span><span class="o">...</span>
<span class="p">[</span><span class="mi">3680939340</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">CUPD</span><span class="p">:</span> <span class="n">T</span> <span class="n">side</span> <span class="n">MI</span> <span class="n">Keyword</span> <span class="o">=</span> <span class="n">SV830_027</span>
-<span class="p">[</span><span class="mi">3680942658</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">CUPD</span><span class="p">:</span> <span class="n">T</span> <span class="n">side</span> <span class="n">ML</span> <span class="n">Keyword</span> <span class="o">=</span> <span class="n">FW830</span><span class="o">.</span><span class="mi">00</span>
+<span class="p">[</span><span class="mi">3680942658</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">CUPD</span><span class="p">:</span> <span class="n">T</span> <span class="n">side</span> <span class="n">ML</span> <span class="n">Keyword</span> <span class="o">=</span> <span class="n">FW830</span><span class="mf">.00</span>
<span class="p">[</span><span class="mi">15404383291</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">Region</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">heap</span> <span class="n">free</span><span class="p">:</span> <span class="mi">5378072</span>
</pre></div>
</div>
<p>and on a palmetto:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mi">24748502575</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">SkiBoot</span> <span class="n">skiboot</span><span class="o">-</span><span class="mf">5.0</span><span class="o">.</span><span class="mi">1</span><span class="o">-</span><span class="mi">94</span><span class="o">-</span><span class="n">gb759ce2</span> <span class="n">starting</span><span class="o">...</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mi">24748502575</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">SkiBoot</span> <span class="n">skiboot</span><span class="o">-</span><span class="mf">5.0.1</span><span class="o">-</span><span class="mi">94</span><span class="o">-</span><span class="n">gb759ce2</span> <span class="n">starting</span><span class="o">...</span>
<span class="p">[</span><span class="mi">9870429550</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">Region</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">heap</span> <span class="n">free</span><span class="p">:</span> <span class="mi">10814856</span>
</pre></div>
</div>
@@ -82,10 +82,11 @@ all the heap once skiboot became 2MB with GCOV.</p>
</div>
<p>is likely to generate fragmentation, so it should generally be avoided
where possible.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -113,17 +114,15 @@ where possible.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -140,13 +139,14 @@ where possible.</p>
<li class="right" >
<a href="gcov.html" title="GCOV for skiboot"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Memory in skiboot</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/mpipl.html b/doc/mpipl.html
index 6a4d03f..df3ed0c 100644
--- a/doc/mpipl.html
+++ b/doc/mpipl.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>MPIPL (aka FADUMP) Overview &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>MPIPL (aka FADUMP) Overview &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="power-management.html" title="Power Management"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">MPIPL (aka FADUMP) Overview</a></li>
</ul>
</div>
@@ -44,28 +44,28 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="mpipl-aka-fadump-overview">
+ <section id="mpipl-aka-fadump-overview">
<span id="mpipl"></span><h1>MPIPL (aka FADUMP) Overview<a class="headerlink" href="#mpipl-aka-fadump-overview" title="Permalink to this headline">¶</a></h1>
<p>Memory Preserving Initial Program Load (MPIPL) is a Power feature where the
contents of memory are preserved while the system reboots after a failure.
This is accomplished by the firmware/OS publishing ranges of memory to be
preserved across boots.</p>
-<div class="section" id="registration">
+<section id="registration">
<h2>Registration<a class="headerlink" href="#registration" title="Permalink to this headline">¶</a></h2>
<p>In the OPAL context, OPAL and host Linux communicate the memory ranges to be
preserved via source descriptor tables in the HDAT (MDST and MDDT table inside
SPIRAH). Host Linux can register/unregister using OPAL_MPIPL_UPDATE API (see
<a class="reference internal" href="opal-api/opal-mpipl-173-174.html#opal-api-mpipl"><span class="std std-ref">OPAL MPIPL APIs</span></a>).</p>
-</div>
-<div class="section" id="initiating-dump">
+</section>
+<section id="initiating-dump">
<h2>Initiating dump<a class="headerlink" href="#initiating-dump" title="Permalink to this headline">¶</a></h2>
<p>Whenever Linux crashes, it makes reboot2 OPAL call with type as MPIPL. (see
<a class="reference internal" href="opal-api/opal-cec-reboot-6-116.html#opal-api-cec-reboot"><span class="std std-ref">OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2</span></a>). Depending on sevice processor type OPAL makes
appropriate call to initiate MPIPL. On FSP system we call <cite>attn</cite> instruction
(see <code class="docutils literal notranslate"><span class="pre">__trigger_attn()</span></code>) and on BMC system we call SBE <cite>S0 interrupt</cite>
(see <code class="docutils literal notranslate"><span class="pre">p9_sbe_terminate()</span></code>).</p>
-</div>
-<div class="section" id="dump-collection">
+</section>
+<section id="dump-collection">
<h2>Dump collection<a class="headerlink" href="#dump-collection" title="Permalink to this headline">¶</a></h2>
<p>Hostboot then re-IPLs the machine taking care to copy over contents of the
source memory to a alternate memory locations as specified in descriptor table.
@@ -74,23 +74,24 @@ inside SPIRAH structure). The success/failure of the copy is indicated by a
results table.</p>
<p>SBE/Hostboot also does the requisite procedures to gather hardware register
states for all active threads at the time of the crash.</p>
-</div>
-<div class="section" id="mpipl-boot">
+</section>
+<section id="mpipl-boot">
<h2>MPIPL boot<a class="headerlink" href="#mpipl-boot" title="Permalink to this headline">¶</a></h2>
<p>On MPIPL boot, OPAL adds device tree entry (<code class="docutils literal notranslate"><span class="pre">/ibm,opal/dump/mpipl-boot</span></code>)
to indicate its MPIPL boot. Kernel will use OPAL_MPIPL_QUERY_TAG API
(<a class="reference internal" href="opal-api/opal-mpipl-173-174.html#opal-api-mpipl"><span class="std std-ref">OPAL MPIPL APIs</span></a>) to retrieve metadata tag. Kernel then uses its
existing logic (kdump/fadump) to write out a core dump of OPAL and Linux
kernel in a format that GDB and crash can understand.</p>
-</div>
-<div class="section" id="device-tree">
+</section>
+<section id="device-tree">
<h2>Device tree<a class="headerlink" href="#device-tree" title="Permalink to this headline">¶</a></h2>
<p>We create new device tree node (<code class="docutils literal notranslate"><span class="pre">/ibm,opal/dump</span></code>) to pass dump details to Linux
-kernel from OPAL (see <a class="reference internal" href="device-tree/ibm,opal/dump.html#device-tree-ibm-opal-dump"><span class="std std-ref">Dump (MPIPL) Device Tree Binding</span></a>).</p>
-</div>
-</div>
+kernel from OPAL (see <a class="reference internal" href="device-tree/ibm%2Copal/dump.html#device-tree-ibm-opal-dump"><span class="std std-ref">Dump (MPIPL) Device Tree Binding</span></a>).</p>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -122,17 +123,15 @@ kernel from OPAL (see <a class="reference internal" href="device-tree/ibm,opal/d
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -149,13 +148,14 @@ kernel from OPAL (see <a class="reference internal" href="device-tree/ibm,opal/d
<li class="right" >
<a href="power-management.html" title="Power Management"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">MPIPL (aka FADUMP) Overview</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/nvlink.html b/doc/nvlink.html
index 7179b61..de5ed52 100644
--- a/doc/nvlink.html
+++ b/doc/nvlink.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL/Skiboot Nvlink Interface Documentation &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL/Skiboot Nvlink Interface Documentation &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="memory.html" title="Memory in skiboot"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL/Skiboot Nvlink Interface Documentation</a></li>
</ul>
</div>
@@ -44,9 +44,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-skiboot-nvlink-interface-documentation">
+ <section id="opal-skiboot-nvlink-interface-documentation">
<span id="nvlink"></span><h1>OPAL/Skiboot Nvlink Interface Documentation<a class="headerlink" href="#opal-skiboot-nvlink-interface-documentation" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="overview">
+<section id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<p>NV-Link is a high speed interconnect that is used in conjunction with
a PCI-E connection to create an interface between chips that provides
@@ -62,8 +62,8 @@ NV-Link.</p>
<p>Presently the NV-Link is only capable of data transfers initiated by
the target, thus the emulated PCI device will only handle registers
for link initialisation, DMA transfers and error reporting (EEH).</p>
-</div>
-<div class="section" id="emulated-pci-devices">
+</section>
+<section id="emulated-pci-devices">
<h2>Emulated PCI Devices<a class="headerlink" href="#emulated-pci-devices" title="Permalink to this headline">¶</a></h2>
<p>Each link will be exported as an emulated PCI device with a minimum of
two emulated PCI devices per GPU. Emulated PCI devices are grouped per
@@ -72,49 +72,49 @@ GPU.</p>
the Linux kernel. It has a standard PCI configuration space to expose
necessary device parameters. The only functionality available is
related to the setup of DMA windows.</p>
-<div class="section" id="configuration-space-parameters">
+<section id="configuration-space-parameters">
<h3>Configuration Space Parameters<a class="headerlink" href="#configuration-space-parameters" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="17%" />
-<col width="26%" />
-<col width="57%" />
+<col style="width: 17%" />
+<col style="width: 26%" />
+<col style="width: 57%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vendor ID</td>
-<td>0x1014</td>
-<td>(IBM)</td>
+<tbody>
+<tr class="row-even"><td><p>Vendor ID</p></td>
+<td><p>0x1014</p></td>
+<td><p>(IBM)</p></td>
</tr>
-<tr class="row-odd"><td>Device ID</td>
-<td>0x04ea</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p>Device ID</p></td>
+<td><p>0x04ea</p></td>
+<td></td>
</tr>
-<tr class="row-even"><td>Revision ID</td>
-<td>0x00</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>Revision ID</p></td>
+<td><p>0x00</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>Class</td>
-<td>0x068000 / 0x068001</td>
-<td>(Bridge Device Other, ProgIf = 0x0 / 0x1)</td>
+<tr class="row-odd"><td><p>Class</p></td>
+<td><p>0x068000 / 0x068001</p></td>
+<td><p>(Bridge Device Other, ProgIf = 0x0 / 0x1)</p></td>
</tr>
-<tr class="row-even"><td>BAR0/1</td>
-<td>TL/DL Registers</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>BAR0/1</p></td>
+<td><p>TL/DL Registers</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>BAR2/3</td>
-<td>GEN-ID Registers</td>
-<td>(Only for rev-id = 0x1)</td>
+<tr class="row-odd"><td><p>BAR2/3</p></td>
+<td><p>GEN-ID Registers</p></td>
+<td><p>(Only for rev-id = 0x1)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="tl-dl-registers">
+</section>
+<section id="tl-dl-registers">
<h3>TL/DL Registers<a class="headerlink" href="#tl-dl-registers" title="Permalink to this headline">¶</a></h3>
<p>Each link has 128KB of TL/DL registers. These will always be mapped
to 64-bit BAR#0 of the emulated PCI device configuration space.</p>
@@ -125,8 +125,8 @@ to 64-bit BAR#0 of the emulated PCI device configuration space.</p>
<span class="n">BAR</span><span class="c1">#0 +-----------+</span>
</pre></div>
</div>
-</div>
-<div class="section" id="generation-registers-gen-id">
+</section>
+<section id="generation-registers-gen-id">
<h3>Generation Registers (GEN-ID)<a class="headerlink" href="#generation-registers-gen-id" title="Permalink to this headline">¶</a></h3>
<p>On POWER9 each link has 64K of generation ID registers for the relaxed
ordering mode syncronisation. Refer to the programming guide for
@@ -134,8 +134,8 @@ details of the register layout in this BAR.</p>
<p>Relaxed ordering mode will be disabled by default as it requires
device driver support. Device drivers will need to request relaxed
ordering mode through some yet to be designed mechanism.</p>
-</div>
-<div class="section" id="vendor-specific-capabilities">
+</section>
+<section id="vendor-specific-capabilities">
<h3>Vendor Specific Capabilities<a class="headerlink" href="#vendor-specific-capabilities" title="Permalink to this headline">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">+-----------------+----------------+----------------+----------------+</span>
<span class="o">|</span> <span class="n">Version</span> <span class="p">(</span><span class="mh">0x02</span><span class="p">)</span> <span class="o">|</span> <span class="n">Cap</span> <span class="n">Length</span> <span class="o">|</span> <span class="n">Next</span> <span class="n">Cap</span> <span class="n">Ptr</span> <span class="o">|</span> <span class="n">Cap</span> <span class="n">ID</span> <span class="p">(</span><span class="mh">0x09</span><span class="p">)</span> <span class="o">|</span>
@@ -150,9 +150,10 @@ ordering mode through some yet to be designed mechanism.</p>
</div>
<p>Version</p>
<blockquote>
-<div>This refers to the version of the NPU config space. Used by device
+<div><p>This refers to the version of the NPU config space. Used by device
drivers to determine which fields of the config space they can
-expect to be available.</div></blockquote>
+expect to be available.</p>
+</div></blockquote>
<p>Procedure Control Register</p>
<blockquote>
<div><p>Used to start hardware procedures.</p>
@@ -165,20 +166,20 @@ procedure number depending on the procedure status field.</p>
<p>Procedure Numbers:</p>
<blockquote>
<div><ol class="arabic simple" start="0">
-<li>Abort in-progress procedure</li>
-<li>NOP</li>
-<li>Unsupported procedure</li>
-<li>Unsupported procedure</li>
-<li>Naples PHY - RESET</li>
-<li>Naples PHY - TX_ZCAL</li>
-<li>Naples PHY - RX_DCCAL</li>
-<li>Naples PHY - TX_RXCAL_ENABLE</li>
-<li>Naples PHY - TX_RXCAL_DISABLE</li>
-<li>Naples PHY - RX_TRAINING</li>
-<li>Naples NPU - RESET</li>
-<li>Naples PHY - PHY preterminate</li>
-<li>Naples PHY - PHY terminated</li>
-<li>Witherspoon TL credit validation</li>
+<li><p>Abort in-progress procedure</p></li>
+<li><p>NOP</p></li>
+<li><p>Unsupported procedure</p></li>
+<li><p>Unsupported procedure</p></li>
+<li><p>Naples PHY - RESET</p></li>
+<li><p>Naples PHY - TX_ZCAL</p></li>
+<li><p>Naples PHY - RX_DCCAL</p></li>
+<li><p>Naples PHY - TX_RXCAL_ENABLE</p></li>
+<li><p>Naples PHY - TX_RXCAL_DISABLE</p></li>
+<li><p>Naples PHY - RX_TRAINING</p></li>
+<li><p>Naples NPU - RESET</p></li>
+<li><p>Naples PHY - PHY preterminate</p></li>
+<li><p>Naples PHY - PHY terminated</p></li>
+<li><p>Witherspoon TL credit validation</p></li>
</ol>
</div></blockquote>
<p>Procedure 5 (TX_ZCAL) should only be run once. System firmware will
@@ -192,47 +193,51 @@ of the procedure number in the control register is complete and if
it completed successfully.</p>
<p>This register must be polled frequently to allow system firmware to
execute the procedures.</p>
-<dl class="docutils">
-<dt>Fields:</dt>
-<dd>Bit 31 - Procedure in progress
+<dl class="simple">
+<dt>Fields:</dt><dd><p>Bit 31 - Procedure in progress
Bit 30 - Procedure complete
-Bit 3-0 - Procedure completion code</dd>
-<dt>Procedure completion codes:</dt>
-<dd>0 - Procedure completed successfully.
+Bit 3-0 - Procedure completion code</p>
+</dd>
+<dt>Procedure completion codes:</dt><dd><p>0 - Procedure completed successfully.
1 - Transient failure. Procedure should be rerun.
2 - Permanent failure. Procedure will never complete successfully.
3 - Procedure aborted.
-4 - Unsupported procedure.</dd>
+4 - Unsupported procedure.</p>
+</dd>
</dl>
</div></blockquote>
<p>PCI Device Flag</p>
<blockquote>
-<div>Bit 0 - set if the GPU PCIe device associated with this nvlink was found.
-bit 1 - set if the DL has been taken out of reset.</div></blockquote>
+<div><p>Bit 0 - set if the GPU PCIe device associated with this nvlink was found.
+bit 1 - set if the DL has been taken out of reset.</p>
+</div></blockquote>
<p>Link Number</p>
<blockquote>
-<div>Physical link number this emulated PCI device is associated
-with. One of 0, 1, 4 or 5 (links 2 &amp; 3 do not exist on Naples).</div></blockquote>
+<div><p>Physical link number this emulated PCI device is associated
+with. One of 0, 1, 4 or 5 (links 2 &amp; 3 do not exist on Naples).</p>
+</div></blockquote>
<p>Reserved</p>
<blockquote>
-<div>These fields must be ignored and no value should be assumed.</div></blockquote>
-</div>
-<div class="section" id="interrupts">
+<div><p>These fields must be ignored and no value should be assumed.</p>
+</div></blockquote>
+</section>
+<section id="interrupts">
<h3>Interrupts<a class="headerlink" href="#interrupts" title="Permalink to this headline">¶</a></h3>
<p>Each link has a single DL/TL interrupt assigned to it. These will be
exposed as an LSI via the emulated PCI device. There are 4 links
consuming 4 LSI interrupts. The 4 remaining interrupts supported by the
corresponding PHB will be routed to OS platform for the purpose of error
reporting.</p>
-</div>
-</div>
-<div class="section" id="device-tree-bindings">
+</section>
+</section>
+<section id="device-tree-bindings">
<h2>Device Tree Bindings<a class="headerlink" href="#device-tree-bindings" title="Permalink to this headline">¶</a></h2>
<p>See <a class="reference internal" href="device-tree/nvlink.html#device-tree-nvlink"><span class="std std-ref">Nvlink Device Tree Bindings</span></a></p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -269,17 +274,15 @@ reporting.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -296,13 +299,14 @@ reporting.</p>
<li class="right" >
<a href="memory.html" title="Memory in skiboot"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL/Skiboot Nvlink Interface Documentation</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/objects.inv b/doc/objects.inv
index 73057d3..aace033 100644
--- a/doc/objects.inv
+++ b/doc/objects.inv
Binary files differ
diff --git a/doc/opal-api/index.html b/doc/opal-api/index.html
index 4de1815..326af24 100644
--- a/doc/opal-api/index.html
+++ b/doc/opal-api/index.html
@@ -1,26 +1,25 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL API Documentation &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL API Documentation &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="OPAL_CEC_POWER_DOWN" href="opal-cec-power-down-5.html" />
- <link rel="prev" title="ibm,powerpc-cpu-features Design" href="../device-tree/ibm,powerpc-cpu-features/design.html" />
+ <link rel="prev" title="ibm,powerpc-cpu-features Design" href="../device-tree/ibm%2Cpowerpc-cpu-features/design.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
@@ -32,10 +31,11 @@
<a href="opal-cec-power-down-5.html" title="OPAL_CEC_POWER_DOWN"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="../device-tree/ibm,powerpc-cpu-features/design.html" title="ibm,powerpc-cpu-features Design"
+ <a href="../device-tree/ibm%2Cpowerpc-cpu-features/design.html" title="ibm,powerpc-cpu-features Design"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL API Documentation</a></li>
</ul>
</div>
@@ -44,1124 +44,1124 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-api-documentation">
+ <section id="opal-api-documentation">
<span id="opal-api"></span><h1>OPAL API Documentation<a class="headerlink" href="#opal-api-documentation" title="Permalink to this headline">¶</a></h1>
<p>The OPAL API is the interface between an Operating System and OPAL.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="41%" />
-<col width="13%" />
-<col width="22%" />
-<col width="9%" />
-<col width="15%" />
+<col style="width: 41%" />
+<col style="width: 13%" />
+<col style="width: 22%" />
+<col style="width: 9%" />
+<col style="width: 15%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>Name</td>
-<td>API Token ID</td>
-<td>Introduced</td>
-<td>Required
-as of</td>
-<td>Notes</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-test-0.html#opal-test"><span class="std std-ref">OPAL_TEST</span></a></td>
-<td>0</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-console-read-write-1-2.html#opal-console-write"><span class="std std-ref">OPAL_CONSOLE_WRITE</span></a></td>
-<td>1</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-console-read-write-1-2.html#opal-console-read"><span class="std std-ref">OPAL_CONSOLE_READ</span></a></td>
-<td>2</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-rtc-read-write-3-4.html#opal-rtc-read"><span class="std std-ref">OPAL_RTC_READ</span></a></td>
-<td>3</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-rtc-read-write-3-4.html#opal-rtc-write"><span class="std std-ref">OPAL_RTC_WRITE</span></a></td>
-<td>4</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-cec-power-down-5.html#opal-cec-power-down"><span class="std std-ref">OPAL_CEC_POWER_DOWN</span></a></td>
-<td>5</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-cec-reboot-6-116.html#opal-cec-reboot"><span class="std std-ref">OPAL_CEC_REBOOT</span></a></td>
-<td>6</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-nvram-read-write-7-8.html#opal-read-nvram"><span class="std std-ref">OPAL_READ_NVRAM</span></a></td>
-<td>7</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-nvram-read-write-7-8.html#opal-write-nvram"><span class="std std-ref">OPAL_WRITE_NVRAM</span></a></td>
-<td>8</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-handle-interrupt.html#opal-handle-interrupt"><span class="std std-ref">OPAL_HANDLE_INTERRUPT</span></a></td>
-<td>9</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a></td>
-<td>10</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-pci-set-hub-tce-memory"><span class="std std-ref">OPAL_PCI_SET_HUB_TCE_MEMORY</span></a></td>
-<td>11</td>
-<td>N/A
+<tbody>
+<tr class="row-odd"><td><p>Name</p></td>
+<td><p>API Token ID</p></td>
+<td><p>Introduced</p></td>
+<td><p>Required
+as of</p></td>
+<td><p>Notes</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-test-0.html#opal-test"><span class="std std-ref">OPAL_TEST</span></a></p></td>
+<td><p>0</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-console-read-write-1-2.html#opal-console-write"><span class="std std-ref">OPAL_CONSOLE_WRITE</span></a></p></td>
+<td><p>1</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-console-read-write-1-2.html#opal-console-read"><span class="std std-ref">OPAL_CONSOLE_READ</span></a></p></td>
+<td><p>2</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-rtc-read-write-3-4.html#opal-rtc-read"><span class="std std-ref">OPAL_RTC_READ</span></a></p></td>
+<td><p>3</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-rtc-read-write-3-4.html#opal-rtc-write"><span class="std std-ref">OPAL_RTC_WRITE</span></a></p></td>
+<td><p>4</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-cec-power-down-5.html#opal-cec-power-down"><span class="std std-ref">OPAL_CEC_POWER_DOWN</span></a></p></td>
+<td><p>5</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-cec-reboot-6-116.html#opal-cec-reboot"><span class="std std-ref">OPAL_CEC_REBOOT</span></a></p></td>
+<td><p>6</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-nvram-read-write-7-8.html#opal-read-nvram"><span class="std std-ref">OPAL_READ_NVRAM</span></a></p></td>
+<td><p>7</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-nvram-read-write-7-8.html#opal-write-nvram"><span class="std std-ref">OPAL_WRITE_NVRAM</span></a></p></td>
+<td><p>8</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-handle-interrupt.html#opal-handle-interrupt"><span class="std std-ref">OPAL_HANDLE_INTERRUPT</span></a></p></td>
+<td><p>9</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a></p></td>
+<td><p>10</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-pci-set-hub-tce-memory"><span class="std std-ref">OPAL_PCI_SET_HUB_TCE_MEMORY</span></a></p></td>
+<td><p>11</p></td>
+<td><p>N/A
Present only on
-internal systems.</td>
-<td>&#160;</td>
-<td>Was POWER7
+internal systems.</p></td>
+<td></td>
+<td><p>Was POWER7
p5ioc specific.
No use outside
-IBM development</td>
+IBM development</p></td>
</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a></td>
-<td>12</td>
-<td>N/A
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a></p></td>
+<td><p>12</p></td>
+<td><p>N/A
Present only on
-internal systems.</td>
-<td>&#160;</td>
-<td>Was POWER7
+internal systems.</p></td>
+<td></td>
+<td><p>Was POWER7
p5ioc specific.
No use outside
-IBM development</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-read-byte"><span class="std std-ref">OPAL_PCI_CONFIG_READ_BYTE</span></a></td>
-<td>13</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-read-half-word"><span class="std std-ref">OPAL_PCI_CONFIG_READ_HALF_WORD</span></a></td>
-<td>14</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-read-word"><span class="std std-ref">OPAL_PCI_CONFIG_READ_WORD</span></a></td>
-<td>15</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-write-byte"><span class="std std-ref">OPAL_PCI_CONFIG_WRITE_BYTE</span></a></td>
-<td>16</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-write-half-word"><span class="std std-ref">OPAL_PCI_CONFIG_WRITE_HALF_WORD</span></a></td>
-<td>17</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-write-word"><span class="std std-ref">OPAL_PCI_CONFIG_WRITE_WORD</span></a></td>
-<td>18</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-set-xive-19.html#opal-set-xive"><span class="std std-ref">OPAL_SET_XIVE</span></a></td>
-<td>19</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-get-xive-20.html#opal-get-xive"><span class="std std-ref">OPAL_GET_XIVE</span></a></td>
-<td>20</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-get-completion-token-status"><span class="std std-ref">OPAL_GET_COMPLETION_TOKEN_STATUS</span></a></td>
-<td>21</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never
-Implemented</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-register-opal-exception-handler"><span class="std std-ref">OPAL_REGISTER_OPAL_EXCEPTION_HANDLER</span></a></td>
-<td>22</td>
-<td>v1.0 (Initial Release)</td>
-<td>&#160;</td>
-<td>Removed</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS</span></a></td>
-<td>23</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-shpc"><span class="std std-ref">OPAL_PCI_SHPC</span></a></td>
-<td>24</td>
-<td>Never</td>
-<td>POWER8</td>
-<td>Never
-Implemented</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-console-read-write-1-2.html#opal-console-write-buffer-space"><span class="std std-ref">OPAL_CONSOLE_WRITE_BUFFER_SPACE</span></a></td>
-<td>25</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-eeh-freeze-clear-26.html#opal-pci-eeh-freeze-clear"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_CLEAR</span></a></td>
-<td>26</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-phb-mmio-enable-27.html#opal-pci-phb-mmio-enable"><span class="std std-ref">OPAL_PCI_PHB_MMIO_ENABLE</span></a></td>
-<td>27</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-set-phb-mem-window-28.html#opal-pci-set-phb-mem-window"><span class="std std-ref">OPAL_PCI_SET_PHB_MEM_WINDOW</span></a></td>
-<td>28</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-map-pe-mmio-window-29.html#opal-pci-map-pe-mmio-window"><span class="std std-ref">OPAL_PCI_MAP_PE_MMIO_WINDOW</span></a></td>
-<td>29</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-set-phb-table-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TABLE_MEMORY</span></a></td>
-<td>30</td>
-<td>Never</td>
-<td>POWER8</td>
-<td>Never used or
-Implemented</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-set-pe-31.html#opal-pci-set-pe"><span class="std std-ref">OPAL_PCI_SET_PE</span></a></td>
-<td>31</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-set-peltv-32.html#opal-pci-set-peltv"><span class="std std-ref">OPAL_PCI_SET_PELTV</span></a></td>
-<td>32</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-set-mve-33.html#opal-pci-set-mve"><span class="std std-ref">OPAL_PCI_SET_MVE</span></a></td>
-<td>33</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-set-mve-enable-34.html#opal-pci-set-mve-enable"><span class="std std-ref">OPAL_PCI_SET_MVE_ENABLE</span></a></td>
-<td>34</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a></td>
-<td>35</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never used or
-Implemented</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-set-xive-reissue"><span class="std std-ref">OPAL_PCI_SET_XIVE_REISSUE</span></a></td>
-<td>36</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never used or
-Implemented</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-set-xive-pe-37.html#opal-pci-set-xive-pe"><span class="std std-ref">OPAL_PCI_SET_XIVE_PE</span></a></td>
-<td>37</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-get-xive-source"><span class="std std-ref">OPAL_GET_XIVE_SOURCE</span></a></td>
-<td>38</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>Never used,
-now removed.</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-get-msi-39-40.html#opal-get-msi-32"><span class="std std-ref">OPAL_GET_MSI_32</span></a></td>
-<td>39</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-get-msi-39-40.html#opal-get-msi-64"><span class="std std-ref">OPAL_GET_MSI_64</span></a></td>
-<td>40</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-start-return-cpu-41-69.html#opal-start-cpu"><span class="std std-ref">OPAL_START_CPU</span></a></td>
-<td>41</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-query-cpu-status-42.html#opal-query-cpu-status"><span class="std std-ref">OPAL_QUERY_CPU_STATUS</span></a></td>
-<td>42</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-write-oppanel"><span class="std std-ref">OPAL_WRITE_OPPANEL</span></a></td>
-<td>43</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>unimplemented</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-map-pe-dma-window-44.html#opal-pci-map-pe-dma-window"><span class="std std-ref">OPAL_PCI_MAP_PE_DMA_WINDOW</span></a></td>
-<td>44</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-map-pe-dma-window-real-45.html#opal-pci-map-pe-dma-window-real"><span class="std std-ref">OPAL_PCI_MAP_PE_DMA_WINDOW_REAL</span></a></td>
-<td>45</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>Never used</td>
-<td>46</td>
-<td>&#160;</td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td>Never used</td>
-<td>47</td>
-<td>&#160;</td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>Never used</td>
-<td>48</td>
-<td>&#160;</td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-reset-49.html#opal-pci-reset"><span class="std std-ref">OPAL_PCI_RESET</span></a></td>
-<td>49</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-get-hub-diag-data-50.html#opal-pci-get-hub-diag-data"><span class="std std-ref">OPAL_PCI_GET_HUB_DIAG_DATA</span></a></td>
-<td>50</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a></td>
-<td>51</td>
-<td>N/A</td>
-<td>&#160;</td>
-<td>Only
+IBM development</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-read-byte"><span class="std std-ref">OPAL_PCI_CONFIG_READ_BYTE</span></a></p></td>
+<td><p>13</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-read-half-word"><span class="std std-ref">OPAL_PCI_CONFIG_READ_HALF_WORD</span></a></p></td>
+<td><p>14</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-read-word"><span class="std std-ref">OPAL_PCI_CONFIG_READ_WORD</span></a></p></td>
+<td><p>15</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-write-byte"><span class="std std-ref">OPAL_PCI_CONFIG_WRITE_BYTE</span></a></p></td>
+<td><p>16</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-write-half-word"><span class="std std-ref">OPAL_PCI_CONFIG_WRITE_HALF_WORD</span></a></p></td>
+<td><p>17</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-config-read-write-13-14-15-16-17-18.html#opal-pci-config-write-word"><span class="std std-ref">OPAL_PCI_CONFIG_WRITE_WORD</span></a></p></td>
+<td><p>18</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-set-xive-19.html#opal-set-xive"><span class="std std-ref">OPAL_SET_XIVE</span></a></p></td>
+<td><p>19</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-get-xive-20.html#opal-get-xive"><span class="std std-ref">OPAL_GET_XIVE</span></a></p></td>
+<td><p>20</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-get-completion-token-status"><span class="std std-ref">OPAL_GET_COMPLETION_TOKEN_STATUS</span></a></p></td>
+<td><p>21</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never
+Implemented</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-register-opal-exception-handler"><span class="std std-ref">OPAL_REGISTER_OPAL_EXCEPTION_HANDLER</span></a></p></td>
+<td><p>22</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td></td>
+<td><p>Removed</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS</span></a></p></td>
+<td><p>23</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-shpc"><span class="std std-ref">OPAL_PCI_SHPC</span></a></p></td>
+<td><p>24</p></td>
+<td><p>Never</p></td>
+<td><p>POWER8</p></td>
+<td><p>Never
+Implemented</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-console-read-write-1-2.html#opal-console-write-buffer-space"><span class="std std-ref">OPAL_CONSOLE_WRITE_BUFFER_SPACE</span></a></p></td>
+<td><p>25</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-eeh-freeze-clear-26.html#opal-pci-eeh-freeze-clear"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_CLEAR</span></a></p></td>
+<td><p>26</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-phb-mmio-enable-27.html#opal-pci-phb-mmio-enable"><span class="std std-ref">OPAL_PCI_PHB_MMIO_ENABLE</span></a></p></td>
+<td><p>27</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-set-phb-mem-window-28.html#opal-pci-set-phb-mem-window"><span class="std std-ref">OPAL_PCI_SET_PHB_MEM_WINDOW</span></a></p></td>
+<td><p>28</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-map-pe-mmio-window-29.html#opal-pci-map-pe-mmio-window"><span class="std std-ref">OPAL_PCI_MAP_PE_MMIO_WINDOW</span></a></p></td>
+<td><p>29</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-set-phb-table-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TABLE_MEMORY</span></a></p></td>
+<td><p>30</p></td>
+<td><p>Never</p></td>
+<td><p>POWER8</p></td>
+<td><p>Never used or
+Implemented</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-set-pe-31.html#opal-pci-set-pe"><span class="std std-ref">OPAL_PCI_SET_PE</span></a></p></td>
+<td><p>31</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-set-peltv-32.html#opal-pci-set-peltv"><span class="std std-ref">OPAL_PCI_SET_PELTV</span></a></p></td>
+<td><p>32</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-set-mve-33.html#opal-pci-set-mve"><span class="std std-ref">OPAL_PCI_SET_MVE</span></a></p></td>
+<td><p>33</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-set-mve-enable-34.html#opal-pci-set-mve-enable"><span class="std std-ref">OPAL_PCI_SET_MVE_ENABLE</span></a></p></td>
+<td><p>34</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a></p></td>
+<td><p>35</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never used or
+Implemented</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-set-xive-reissue"><span class="std std-ref">OPAL_PCI_SET_XIVE_REISSUE</span></a></p></td>
+<td><p>36</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never used or
+Implemented</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-set-xive-pe-37.html#opal-pci-set-xive-pe"><span class="std std-ref">OPAL_PCI_SET_XIVE_PE</span></a></p></td>
+<td><p>37</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-get-xive-source"><span class="std std-ref">OPAL_GET_XIVE_SOURCE</span></a></p></td>
+<td><p>38</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td><p>Never used,
+now removed.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-get-msi-39-40.html#opal-get-msi-32"><span class="std std-ref">OPAL_GET_MSI_32</span></a></p></td>
+<td><p>39</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-get-msi-39-40.html#opal-get-msi-64"><span class="std std-ref">OPAL_GET_MSI_64</span></a></p></td>
+<td><p>40</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-start-return-cpu-41-69.html#opal-start-cpu"><span class="std std-ref">OPAL_START_CPU</span></a></p></td>
+<td><p>41</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-query-cpu-status-42.html#opal-query-cpu-status"><span class="std std-ref">OPAL_QUERY_CPU_STATUS</span></a></p></td>
+<td><p>42</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-write-oppanel"><span class="std std-ref">OPAL_WRITE_OPPANEL</span></a></p></td>
+<td><p>43</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td><p>unimplemented</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-map-pe-dma-window-44.html#opal-pci-map-pe-dma-window"><span class="std std-ref">OPAL_PCI_MAP_PE_DMA_WINDOW</span></a></p></td>
+<td><p>44</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-map-pe-dma-window-real-45.html#opal-pci-map-pe-dma-window-real"><span class="std std-ref">OPAL_PCI_MAP_PE_DMA_WINDOW_REAL</span></a></p></td>
+<td><p>45</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>Never used</p></td>
+<td><p>46</p></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>Never used</p></td>
+<td><p>47</p></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>Never used</p></td>
+<td><p>48</p></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-reset-49.html#opal-pci-reset"><span class="std std-ref">OPAL_PCI_RESET</span></a></p></td>
+<td><p>49</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-get-hub-diag-data-50.html#opal-pci-get-hub-diag-data"><span class="std std-ref">OPAL_PCI_GET_HUB_DIAG_DATA</span></a></p></td>
+<td><p>50</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a></p></td>
+<td><p>51</p></td>
+<td><p>N/A</p></td>
+<td></td>
+<td><p>Only
implemented
prior to public
-release.</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-fence-phb"><span class="std std-ref">OPAL_PCI_FENCE_PHB</span></a></td>
-<td>52</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never
-implemented</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-reinit-53.html#opal-pci-reinit"><span class="std std-ref">OPAL_PCI_REINIT</span></a></td>
-<td>53</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-mask-pe-error"><span class="std std-ref">OPAL_PCI_MASK_PE_ERROR</span></a></td>
-<td>54</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never
-implemented</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-set-slot-led-status"><span class="std std-ref">OPAL_SET_SLOT_LED_STATUS</span></a></td>
-<td>55</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never
-implemented</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-get-epow-status-56.html#opal-get-epow-status"><span class="std std-ref">OPAL_GET_EPOW_STATUS</span></a></td>
-<td>56</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-set-system-attention-led"><span class="std std-ref">OPAL_SET_SYSTEM_ATTENTION_LED</span></a></td>
-<td>57</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never
-implemented</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-reserved1"><span class="std std-ref">OPAL_RESERVED1</span></a></td>
-<td>58</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never
-implemented</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-reserved2"><span class="std std-ref">OPAL_RESERVED2</span></a></td>
-<td>59</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never
-implemented</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-next-error-60.html#opal-pci-next-error"><span class="std std-ref">OPAL_PCI_NEXT_ERROR</span></a></td>
-<td>60</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a></td>
-<td>61</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>Removed, never
-used!</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-poll-62.html#opal-pci-poll"><span class="std std-ref">OPAL_PCI_POLL</span></a></td>
-<td>62</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-msi-eoi-63.html#opal-pci-msi-eoi"><span class="std std-ref">OPAL_PCI_MSI_EOI</span></a></td>
-<td>63</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-get-phb-diag-data2-64.html#opal-pci-get-phb-diag-data2"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA2</span></a></td>
-<td>64</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-xscom-read-write-65-66.html#opal-xscom-read"><span class="std std-ref">OPAL_XSCOM_READ</span></a></td>
-<td>65</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-xscom-read-write-65-66.html#opal-xscom-write"><span class="std std-ref">OPAL_XSCOM_WRITE</span></a></td>
-<td>66</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-lpc-read-write-67-68.html#opal-lpc-read"><span class="std std-ref">OPAL_LPC_READ</span></a></td>
-<td>67</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-lpc-read-write-67-68.html#opal-lpc-write"><span class="std std-ref">OPAL_LPC_WRITE</span></a></td>
-<td>68</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-start-return-cpu-41-69.html#opal-return-cpu"><span class="std std-ref">OPAL_RETURN_CPU</span></a></td>
-<td>69</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-reinit-cpus-70.html#opal-reinit-cpus"><span class="std std-ref">OPAL_REINIT_CPUS</span></a></td>
-<td>70</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-read"><span class="std std-ref">OPAL_ELOG_READ</span></a></td>
-<td>71</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-elog-write"><span class="std std-ref">OPAL_ELOG_WRITE</span></a></td>
-<td>72</td>
-<td>N/A</td>
-<td>&#160;</td>
-<td>Currently
-unused.</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-ack"><span class="std std-ref">OPAL_ELOG_ACK</span></a></td>
-<td>73</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-resend"><span class="std std-ref">OPAL_ELOG_RESEND</span></a></td>
-<td>74</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-size"><span class="std std-ref">OPAL_ELOG_SIZE</span></a></td>
-<td>75</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-code-update-76-77-78.html#opal-flash-validate"><span class="std std-ref">OPAL_FLASH_VALIDATE</span></a></td>
-<td>76</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-code-update-76-77-78.html#opal-flash-manage"><span class="std std-ref">OPAL_FLASH_MANAGE</span></a></td>
-<td>77</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-code-update-76-77-78.html#opal-flash-update"><span class="std std-ref">OPAL_FLASH_UPDATE</span></a></td>
-<td>78</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-resync-timebase-79.html#opal-resync-timebase"><span class="std std-ref">OPAL_RESYNC_TIMEBASE</span></a></td>
-<td>79</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-check-token-80.html#opal-check-token"><span class="std std-ref">OPAL_CHECK_TOKEN</span></a></td>
-<td>80</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-init"><span class="std std-ref">OPAL_DUMP_INIT</span></a></td>
-<td>81</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-info"><span class="std std-ref">OPAL_DUMP_INFO</span></a></td>
-<td>82</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-read"><span class="std std-ref">OPAL_DUMP_READ</span></a></td>
-<td>83</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-ack"><span class="std std-ref">OPAL_DUMP_ACK</span></a></td>
-<td>84</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-get-msg-85.html#opal-get-msg"><span class="std std-ref">OPAL_GET_MSG</span></a></td>
-<td>85</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-check-async-completion-86.html#opal-check-async-completion"><span class="std std-ref">OPAL_CHECK_ASYNC_COMPLETION</span></a></td>
-<td>86</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-sync-host-reboot-87.html#opal-sync-host-reboot"><span class="std std-ref">OPAL_SYNC_HOST_REBOOT</span></a></td>
-<td>87</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-sensor-read-88.html#opal-sensor-read"><span class="std std-ref">OPAL_SENSOR_READ</span></a></td>
-<td>88</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-param-89-90.html#opal-get-param"><span class="std std-ref">OPAL_GET_PARAM</span></a></td>
-<td>89</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-param-89-90.html#opal-set-param"><span class="std std-ref">OPAL_SET_PARAM</span></a></td>
-<td>90</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-resend"><span class="std std-ref">OPAL_DUMP_RESEND</span></a></td>
-<td>91</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-elog-send"><span class="std std-ref">OPAL_ELOG_SEND</span></a></td>
-<td>92</td>
-<td>Never</td>
-<td>&#160;</td>
-<td>Never used</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-set-phb-capi-mode-93.html#opal-pci-set-phb-capi-mode"><span class="std std-ref">OPAL_PCI_SET_PHB_CAPI_MODE</span></a></td>
-<td>93</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-info2"><span class="std std-ref">OPAL_DUMP_INFO2</span></a></td>
-<td>94</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-write-oppanel-async-95.html#opal-write-oppanel-async"><span class="std std-ref">OPAL_WRITE_OPPANEL_ASYNC</span></a></td>
-<td>95</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-err-inject-96.html#opal-pci-err-inject"><span class="std std-ref">OPAL_PCI_ERR_INJECT</span></a></td>
-<td>96</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-eeh-freeze-set-97.html#opal-pci-eeh-freeze-set"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_SET</span></a></td>
-<td>97</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-handle-hmi-98-166.html#opal-handle-hmi"><span class="std std-ref">OPAL_HANDLE_HMI</span></a></td>
-<td>98</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-config-cpu-idle-state-99.html#opal-config-cpu-idle-state"><span class="std std-ref">OPAL_CONFIG_CPU_IDLE_STATE</span></a></td>
-<td>99</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-slw-set-reg-100.html#opal-slw-set-reg"><span class="std std-ref">OPAL_SLW_SET_REG</span></a></td>
-<td>100</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-register-dump-region"><span class="std std-ref">OPAL_REGISTER_DUMP_REGION</span></a></td>
-<td>101</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-unregister-dump-region"><span class="std std-ref">OPAL_UNREGISTER_DUMP_REGION</span></a></td>
-<td>102</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-read-write-tpo-dpo-103-104-105.html#opal-write-tpo"><span class="std std-ref">OPAL_WRITE_TPO</span></a></td>
-<td>103</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-read-write-tpo-dpo-103-104-105.html#opal-read-tpo"><span class="std std-ref">OPAL_READ_TPO</span></a></td>
-<td>104</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-read-write-tpo-dpo-103-104-105.html#opal-get-dpo-status"><span class="std std-ref">OPAL_GET_DPO_STATUS</span></a></td>
-<td>105</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-old-i2c-request"><span class="std std-ref">OPAL_OLD_I2C_REQUEST</span></a></td>
-<td>106</td>
-<td>Introduced and
+release.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-fence-phb"><span class="std std-ref">OPAL_PCI_FENCE_PHB</span></a></p></td>
+<td><p>52</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never
+implemented</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-reinit-53.html#opal-pci-reinit"><span class="std std-ref">OPAL_PCI_REINIT</span></a></p></td>
+<td><p>53</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-mask-pe-error"><span class="std std-ref">OPAL_PCI_MASK_PE_ERROR</span></a></p></td>
+<td><p>54</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never
+implemented</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-set-slot-led-status"><span class="std std-ref">OPAL_SET_SLOT_LED_STATUS</span></a></p></td>
+<td><p>55</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never
+implemented</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-get-epow-status-56.html#opal-get-epow-status"><span class="std std-ref">OPAL_GET_EPOW_STATUS</span></a></p></td>
+<td><p>56</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-set-system-attention-led"><span class="std std-ref">OPAL_SET_SYSTEM_ATTENTION_LED</span></a></p></td>
+<td><p>57</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never
+implemented</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-reserved1"><span class="std std-ref">OPAL_RESERVED1</span></a></p></td>
+<td><p>58</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never
+implemented</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-reserved2"><span class="std std-ref">OPAL_RESERVED2</span></a></p></td>
+<td><p>59</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never
+implemented</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-next-error-60.html#opal-pci-next-error"><span class="std std-ref">OPAL_PCI_NEXT_ERROR</span></a></p></td>
+<td><p>60</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a></p></td>
+<td><p>61</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td><p>Removed, never
+used!</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-poll-62.html#opal-pci-poll"><span class="std std-ref">OPAL_PCI_POLL</span></a></p></td>
+<td><p>62</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-msi-eoi-63.html#opal-pci-msi-eoi"><span class="std std-ref">OPAL_PCI_MSI_EOI</span></a></p></td>
+<td><p>63</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-get-phb-diag-data2-64.html#opal-pci-get-phb-diag-data2"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA2</span></a></p></td>
+<td><p>64</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-xscom-read-write-65-66.html#opal-xscom-read"><span class="std std-ref">OPAL_XSCOM_READ</span></a></p></td>
+<td><p>65</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-xscom-read-write-65-66.html#opal-xscom-write"><span class="std std-ref">OPAL_XSCOM_WRITE</span></a></p></td>
+<td><p>66</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-lpc-read-write-67-68.html#opal-lpc-read"><span class="std std-ref">OPAL_LPC_READ</span></a></p></td>
+<td><p>67</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-lpc-read-write-67-68.html#opal-lpc-write"><span class="std std-ref">OPAL_LPC_WRITE</span></a></p></td>
+<td><p>68</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-start-return-cpu-41-69.html#opal-return-cpu"><span class="std std-ref">OPAL_RETURN_CPU</span></a></p></td>
+<td><p>69</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-reinit-cpus-70.html#opal-reinit-cpus"><span class="std std-ref">OPAL_REINIT_CPUS</span></a></p></td>
+<td><p>70</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-read"><span class="std std-ref">OPAL_ELOG_READ</span></a></p></td>
+<td><p>71</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-elog-write"><span class="std std-ref">OPAL_ELOG_WRITE</span></a></p></td>
+<td><p>72</p></td>
+<td><p>N/A</p></td>
+<td></td>
+<td><p>Currently
+unused.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-ack"><span class="std std-ref">OPAL_ELOG_ACK</span></a></p></td>
+<td><p>73</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-resend"><span class="std std-ref">OPAL_ELOG_RESEND</span></a></p></td>
+<td><p>74</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-size"><span class="std std-ref">OPAL_ELOG_SIZE</span></a></p></td>
+<td><p>75</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-code-update-76-77-78.html#opal-flash-validate"><span class="std std-ref">OPAL_FLASH_VALIDATE</span></a></p></td>
+<td><p>76</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-code-update-76-77-78.html#opal-flash-manage"><span class="std std-ref">OPAL_FLASH_MANAGE</span></a></p></td>
+<td><p>77</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-code-update-76-77-78.html#opal-flash-update"><span class="std std-ref">OPAL_FLASH_UPDATE</span></a></p></td>
+<td><p>78</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-resync-timebase-79.html#opal-resync-timebase"><span class="std std-ref">OPAL_RESYNC_TIMEBASE</span></a></p></td>
+<td><p>79</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-check-token-80.html#opal-check-token"><span class="std std-ref">OPAL_CHECK_TOKEN</span></a></p></td>
+<td><p>80</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-init"><span class="std std-ref">OPAL_DUMP_INIT</span></a></p></td>
+<td><p>81</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-info"><span class="std std-ref">OPAL_DUMP_INFO</span></a></p></td>
+<td><p>82</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-read"><span class="std std-ref">OPAL_DUMP_READ</span></a></p></td>
+<td><p>83</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-ack"><span class="std std-ref">OPAL_DUMP_ACK</span></a></p></td>
+<td><p>84</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-get-msg-85.html#opal-get-msg"><span class="std std-ref">OPAL_GET_MSG</span></a></p></td>
+<td><p>85</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-check-async-completion-86.html#opal-check-async-completion"><span class="std std-ref">OPAL_CHECK_ASYNC_COMPLETION</span></a></p></td>
+<td><p>86</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-sync-host-reboot-87.html#opal-sync-host-reboot"><span class="std std-ref">OPAL_SYNC_HOST_REBOOT</span></a></p></td>
+<td><p>87</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-sensor-read-88.html#opal-sensor-read"><span class="std std-ref">OPAL_SENSOR_READ</span></a></p></td>
+<td><p>88</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-param-89-90.html#opal-get-param"><span class="std std-ref">OPAL_GET_PARAM</span></a></p></td>
+<td><p>89</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-param-89-90.html#opal-set-param"><span class="std std-ref">OPAL_SET_PARAM</span></a></p></td>
+<td><p>90</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-resend"><span class="std std-ref">OPAL_DUMP_RESEND</span></a></p></td>
+<td><p>91</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-elog-send"><span class="std std-ref">OPAL_ELOG_SEND</span></a></p></td>
+<td><p>92</p></td>
+<td><p>Never</p></td>
+<td></td>
+<td><p>Never used</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-set-phb-capi-mode-93.html#opal-pci-set-phb-capi-mode"><span class="std std-ref">OPAL_PCI_SET_PHB_CAPI_MODE</span></a></p></td>
+<td><p>93</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dump-info2"><span class="std std-ref">OPAL_DUMP_INFO2</span></a></p></td>
+<td><p>94</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-write-oppanel-async-95.html#opal-write-oppanel-async"><span class="std std-ref">OPAL_WRITE_OPPANEL_ASYNC</span></a></p></td>
+<td><p>95</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-err-inject-96.html#opal-pci-err-inject"><span class="std std-ref">OPAL_PCI_ERR_INJECT</span></a></p></td>
+<td><p>96</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-eeh-freeze-set-97.html#opal-pci-eeh-freeze-set"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_SET</span></a></p></td>
+<td><p>97</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-handle-hmi-98-166.html#opal-handle-hmi"><span class="std std-ref">OPAL_HANDLE_HMI</span></a></p></td>
+<td><p>98</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-config-cpu-idle-state-99.html#opal-config-cpu-idle-state"><span class="std std-ref">OPAL_CONFIG_CPU_IDLE_STATE</span></a></p></td>
+<td><p>99</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-slw-set-reg-100.html#opal-slw-set-reg"><span class="std std-ref">OPAL_SLW_SET_REG</span></a></p></td>
+<td><p>100</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-register-dump-region"><span class="std std-ref">OPAL_REGISTER_DUMP_REGION</span></a></p></td>
+<td><p>101</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-unregister-dump-region"><span class="std std-ref">OPAL_UNREGISTER_DUMP_REGION</span></a></p></td>
+<td><p>102</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-read-write-tpo-dpo-103-104-105.html#opal-write-tpo"><span class="std std-ref">OPAL_WRITE_TPO</span></a></p></td>
+<td><p>103</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-read-write-tpo-dpo-103-104-105.html#opal-read-tpo"><span class="std std-ref">OPAL_READ_TPO</span></a></p></td>
+<td><p>104</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-read-write-tpo-dpo-103-104-105.html#opal-get-dpo-status"><span class="std std-ref">OPAL_GET_DPO_STATUS</span></a></p></td>
+<td><p>105</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-old-i2c-request"><span class="std std-ref">OPAL_OLD_I2C_REQUEST</span></a></p></td>
+<td><p>106</p></td>
+<td><p>Introduced and
deprecated in
<a class="reference internal" href="../release-notes/skiboot-4.0.html#skiboot-4-0"><span class="std std-ref">skiboot 4.0</span></a>.
Should be completely
-unused.</td>
-<td>&#160;</td>
-<td>Do not use.</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-ipmi-send-recv-107-108.html#opal-ipmi-send"><span class="std std-ref">OPAL_IPMI_SEND</span></a></td>
-<td>107</td>
-<td><a class="reference internal" href="../release-notes/skiboot-4.0.html#skiboot-4-0"><span class="std std-ref">skiboot 4.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-ipmi-send-recv-107-108.html#opal-ipmi-recv"><span class="std std-ref">OPAL_IPMI_RECV</span></a></td>
-<td>108</td>
-<td><a class="reference internal" href="../release-notes/skiboot-4.0.html#skiboot-4-0"><span class="std std-ref">skiboot 4.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-i2c-request-109.html#opal-i2c-request"><span class="std std-ref">OPAL_I2C_REQUEST</span></a></td>
-<td>109</td>
-<td><a class="reference internal" href="../release-notes/skiboot-4.0.html#skiboot-4-0"><span class="std std-ref">skiboot 4.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-flash-110-111-112.html#opal-flash-read"><span class="std std-ref">OPAL_FLASH_READ</span></a></td>
-<td>110</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-flash-110-111-112.html#opal-flash-write"><span class="std std-ref">OPAL_FLASH_WRITE</span></a></td>
-<td>111</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-flash-110-111-112.html#opal-flash-erase"><span class="std std-ref">OPAL_FLASH_ERASE</span></a></td>
-<td>112</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-prd-msg-113.html#opal-prd-msg"><span class="std std-ref">OPAL_PRD_MSG</span></a></td>
-<td>113</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-led-get-set-114-115.html#opal-leds-get-indicator"><span class="std std-ref">OPAL_LEDS_GET_INDICATOR</span></a></td>
-<td>114</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-led-get-set-114-115.html#opal-leds-set-indicator"><span class="std std-ref">OPAL_LEDS_SET_INDICATOR</span></a></td>
-<td>115</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-cec-reboot-6-116.html#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a></td>
-<td>116</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-console-read-write-1-2.html#opal-console-flush"><span class="std std-ref">OPAL_CONSOLE_FLUSH</span></a></td>
-<td>117</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.13.html#skiboot-5-1-13"><span class="std std-ref">skiboot-5.1.13</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-get-device-tree-118.html#opal-get-device-tree"><span class="std std-ref">OPAL_GET_DEVICE_TREE</span></a></td>
-<td>118</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-get-presence-state-119.html#opal-pci-get-presence-state"><span class="std std-ref">OPAL_PCI_GET_PRESENCE_STATE</span></a></td>
-<td>119</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-get-power-state-120.html#opal-pci-get-power-state"><span class="std std-ref">OPAL_PCI_GET_POWER_STATE</span></a></td>
-<td>120</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-set-power-state-121.html#opal-pci-set-power-state"><span class="std std-ref">OPAL_PCI_SET_POWER_STATE</span></a></td>
-<td>121</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-int-get-xirr-122.html#opal-int-get-xirr"><span class="std std-ref">OPAL_INT_GET_XIRR</span></a></td>
-<td>122</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-int-set-cppr-123.html#opal-int-set-cppr"><span class="std std-ref">OPAL_INT_SET_CPPR</span></a></td>
-<td>123</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-int-eoi-124.html#opal-int-eoi"><span class="std std-ref">OPAL_INT_EOI</span></a></td>
-<td>124</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-int-set-mfrr-125.html#opal-int-set-mfrr"><span class="std std-ref">OPAL_INT_SET_MFRR</span></a></td>
-<td>125</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-tce-kill-126.html#opal-pci-tce-kill"><span class="std std-ref">OPAL_PCI_TCE_KILL</span></a></td>
-<td>126</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-nmmu-set-ptcr-127.html#opal-nmmu-set-ptcr"><span class="std std-ref">OPAL_NMMU_SET_PTCR</span></a></td>
-<td>127</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-reset"><span class="std std-ref">OPAL_XIVE_RESET</span></a></td>
-<td>128</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="../xive.html#opal-xive-get-irq-info"><span class="std std-ref">OPAL_XIVE_GET_IRQ_INFO</span></a></td>
-<td>129</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-get-irq-config"><span class="std std-ref">OPAL_XIVE_GET_IRQ_CONFIG</span></a></td>
-<td>130</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="../xive.html#opal-xive-set-irq-config"><span class="std std-ref">OPAL_XIVE_SET_IRQ_CONFIG</span></a></td>
-<td>131</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-get-queue-info"><span class="std std-ref">OPAL_XIVE_GET_QUEUE_INFO</span></a></td>
-<td>132</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="../xive.html#opal-xive-set-queue-info"><span class="std std-ref">OPAL_XIVE_SET_QUEUE_INFO</span></a></td>
-<td>133</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-donate-page"><span class="std std-ref">OPAL_XIVE_DONATE_PAGE</span></a></td>
-<td>134</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="../xive.html#opal-xive-allocate-vp-block"><span class="std std-ref">OPAL_XIVE_ALLOCATE_VP_BLOCK</span></a></td>
-<td>135</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-free-vp-block"><span class="std std-ref">OPAL_XIVE_FREE_VP_BLOCK</span></a></td>
-<td>136</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="../xive.html#opal-xive-get-vp-info"><span class="std std-ref">OPAL_XIVE_GET_VP_INFO</span></a></td>
-<td>137</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-set-vp-info"><span class="std std-ref">OPAL_XIVE_SET_VP_INFO</span></a></td>
-<td>138</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="../xive.html#opal-xive-allocate-irq"><span class="std std-ref">OPAL_XIVE_ALLOCATE_IRQ</span></a></td>
-<td>139</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-free-irq"><span class="std std-ref">OPAL_XIVE_FREE_IRQ</span></a></td>
-<td>140</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="../xive.html#opal-xive-sync"><span class="std std-ref">OPAL_XIVE_SYNC</span></a></td>
-<td>141</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-dump"><span class="std std-ref">OPAL_XIVE_DUMP</span></a></td>
-<td>142</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="../xive.html#opal-xive-get-queue-state"><span class="std std-ref">OPAL_XIVE_GET_QUEUE_STATE</span></a></td>
-<td>143</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.3.html#skiboot-6-3"><span class="std std-ref">skiboot-6.3</span></a></td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-set-queue-state"><span class="std std-ref">OPAL_XIVE_SET_QUEUE_STATE</span></a></td>
-<td>144</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.3.html#skiboot-6-3"><span class="std std-ref">skiboot-6.3</span></a></td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-signal-system-reset-145.html#opal-signal-system-reset"><span class="std std-ref">OPAL_SIGNAL_SYSTEM_RESET</span></a></td>
-<td>145</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-npu2-146-147-148.html#opal-npu-init-context"><span class="std std-ref">OPAL_NPU_INIT_CONTEXT</span></a></td>
-<td>146</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-npu2-146-147-148.html#opal-npu-destroy-context"><span class="std std-ref">OPAL_NPU_DESTROY_CONTEXT</span></a></td>
-<td>147</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-npu2-146-147-148.html#opal-npu-map-lpar"><span class="std std-ref">OPAL_NPU_MAP_LPAR</span></a></td>
-<td>148</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-imc-counters.html#opal-imc-counters-init"><span class="std std-ref">OPAL_IMC_COUNTERS_INIT</span></a></td>
-<td>149</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-imc-counters.html#opal-imc-counters-start"><span class="std std-ref">OPAL_IMC_COUNTERS_START</span></a></td>
-<td>150</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-imc-counters.html#opal-imc-counters-stop"><span class="std std-ref">OPAL_IMC_COUNTERS_STOP</span></a></td>
-<td>151</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-powercap.html#opal-get-powercap"><span class="std std-ref">OPAL_GET_POWERCAP</span></a></td>
-<td>152</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-powercap.html#opal-set-powercap"><span class="std std-ref">OPAL_SET_POWERCAP</span></a></td>
-<td>153</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-power-shift-ratio.html#opal-get-power-shift-ratio"><span class="std std-ref">OPAL_GET_POWER_SHIFT_RATIO</span></a></td>
-<td>154</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-power-shift-ratio.html#opal-set-power-shift-ratio"><span class="std std-ref">OPAL_SET_POWER_SHIFT_RATIO</span></a></td>
-<td>155</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-sensor-group-enable-clear-163-156.html#opal-sensor-group-clear"><span class="std std-ref">OPAL_SENSOR_GROUP_CLEAR</span></a></td>
-<td>156</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-set-p2p-157.html#opal-pci-set-p2p"><span class="std std-ref">OPAL_PCI_SET_P2P</span></a></td>
-<td>157</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-quiesce-158.html#opal-quiesce"><span class="std std-ref">OPAL_QUIESCE</span></a></td>
-<td>158</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-spa-setup"><span class="std std-ref">OPAL_NPU_SPA_SETUP</span></a></td>
-<td>159</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-spa-clear-cache"><span class="std std-ref">OPAL_NPU_SPA_CLEAR_CACHE</span></a></td>
-<td>160</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-tl-set"><span class="std std-ref">OPAL_NPU_TL_SET</span></a></td>
-<td>161</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-sensor-read-88.html#opal-sensor-read-u64"><span class="std std-ref">OPAL_SENSOR_READ_U64</span></a></td>
-<td>162</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-sensor-group-enable-clear-163-156.html#opal-sensor-group-enable"><span class="std std-ref">OPAL_SENSOR_GROUP_ENABLE</span></a></td>
-<td>163</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-pci-get-set-pbcq-tunnel-bar-164-165.html#opal-pci-get-pbcq-tunnel-bar"><span class="std std-ref">OPAL_PCI_GET_PBCQ_TUNNEL_BAR</span></a></td>
-<td>164</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-get-set-pbcq-tunnel-bar-164-165.html#opal-pci-set-pbcq-tunnel-bar"><span class="std std-ref">OPAL_PCI_SET_PBCQ_TUNNEL_BAR</span></a></td>
-<td>165</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-handle-hmi-98-166.html#opal-handle-hmi2"><span class="std std-ref">OPAL_HANDLE_HMI2</span></a></td>
-<td>166</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.0.html#skiboot-6-0"><span class="std std-ref">skiboot-6.0</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal_nx_coproc_init-167.html#opal-nx-coproc-init"><span class="std std-ref">OPAL_NX_COPROC_INIT</span></a></td>
-<td>167</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.1.html#skiboot-6-1"><span class="std std-ref">skiboot-6.1</span></a>
-<a class="reference internal" href="../release-notes/skiboot-6.0.5.html#skiboot-6-0-5"><span class="std std-ref">skiboot-6.0.5</span></a></td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-npu2-get-set-relaxed-order-168-169.html#opal-npu-set-relaxed-order"><span class="std std-ref">OPAL_NPU_SET_RELAXED_ORDER</span></a></td>
-<td>168</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.2.html#skiboot-6-2"><span class="std std-ref">skiboot-6.2</span></a></td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-npu2-get-set-relaxed-order-168-169.html#opal-npu-get-relaxed-order"><span class="std std-ref">OPAL_NPU_GET_RELAXED_ORDER</span></a></td>
-<td>169</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.2.html#skiboot-6-2"><span class="std std-ref">skiboot-6.2</span></a></td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="../xive.html#opal-xive-get-vp-state"><span class="std std-ref">OPAL_XIVE_GET_VP_STATE</span></a></td>
-<td>170</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.3.html#skiboot-6-3"><span class="std std-ref">skiboot-6.3</span></a></td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-mem-alloc"><span class="std std-ref">OPAL_NPU_MEM_ALLOC</span></a></td>
-<td>171</td>
-<td>Future, likely 6.4</td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-mem-release"><span class="std std-ref">OPAL_NPU_MEM_RELEASE</span></a></td>
-<td>172</td>
-<td>Future, likely 6.4</td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-mpipl-173-174.html#opal-mpipl-update"><span class="std std-ref">OPAL_MPIPL_UPDATE</span></a></td>
-<td>173</td>
-<td>Future, likely 6.4</td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-mpipl-173-174.html#opal-mpipl-register-tag"><span class="std std-ref">OPAL_MPIPL_REGISTER_TAG</span></a></td>
-<td>174</td>
-<td>Future, likely 6.4</td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-mpipl-173-174.html#opal-mpipl-query-tag"><span class="std std-ref">OPAL_MPIPL_QUERY_TAG</span></a></td>
-<td>175</td>
-<td>Future, likely 6.4</td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="opal-phb-flag-set-get-179-180.html#opal-phb-set-option"><span class="std std-ref">OPAL_PHB_SET_OPTION</span></a></td>
-<td>179</td>
-<td>Future, likely 6.6</td>
-<td>POWER9</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-phb-flag-set-get-179-180.html#opal-phb-get-option"><span class="std std-ref">OPAL_PHB_GET_OPTION</span></a></td>
-<td>180</td>
-<td>Future, likely 6.6</td>
-<td>POWER9</td>
-<td>&#160;</td>
+unused.</p></td>
+<td></td>
+<td><p>Do not use.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-ipmi-send-recv-107-108.html#opal-ipmi-send"><span class="std std-ref">OPAL_IPMI_SEND</span></a></p></td>
+<td><p>107</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-4.0.html#skiboot-4-0"><span class="std std-ref">skiboot 4.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-ipmi-send-recv-107-108.html#opal-ipmi-recv"><span class="std std-ref">OPAL_IPMI_RECV</span></a></p></td>
+<td><p>108</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-4.0.html#skiboot-4-0"><span class="std std-ref">skiboot 4.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-i2c-request-109.html#opal-i2c-request"><span class="std std-ref">OPAL_I2C_REQUEST</span></a></p></td>
+<td><p>109</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-4.0.html#skiboot-4-0"><span class="std std-ref">skiboot 4.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-flash-110-111-112.html#opal-flash-read"><span class="std std-ref">OPAL_FLASH_READ</span></a></p></td>
+<td><p>110</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-flash-110-111-112.html#opal-flash-write"><span class="std std-ref">OPAL_FLASH_WRITE</span></a></p></td>
+<td><p>111</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-flash-110-111-112.html#opal-flash-erase"><span class="std std-ref">OPAL_FLASH_ERASE</span></a></p></td>
+<td><p>112</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-prd-msg-113.html#opal-prd-msg"><span class="std std-ref">OPAL_PRD_MSG</span></a></p></td>
+<td><p>113</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-led-get-set-114-115.html#opal-leds-get-indicator"><span class="std std-ref">OPAL_LEDS_GET_INDICATOR</span></a></p></td>
+<td><p>114</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-led-get-set-114-115.html#opal-leds-set-indicator"><span class="std std-ref">OPAL_LEDS_SET_INDICATOR</span></a></p></td>
+<td><p>115</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-cec-reboot-6-116.html#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a></p></td>
+<td><p>116</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-console-read-write-1-2.html#opal-console-flush"><span class="std std-ref">OPAL_CONSOLE_FLUSH</span></a></p></td>
+<td><p>117</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.13.html#skiboot-5-1-13"><span class="std std-ref">skiboot-5.1.13</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-get-device-tree-118.html#opal-get-device-tree"><span class="std std-ref">OPAL_GET_DEVICE_TREE</span></a></p></td>
+<td><p>118</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-get-presence-state-119.html#opal-pci-get-presence-state"><span class="std std-ref">OPAL_PCI_GET_PRESENCE_STATE</span></a></p></td>
+<td><p>119</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-get-power-state-120.html#opal-pci-get-power-state"><span class="std std-ref">OPAL_PCI_GET_POWER_STATE</span></a></p></td>
+<td><p>120</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-set-power-state-121.html#opal-pci-set-power-state"><span class="std std-ref">OPAL_PCI_SET_POWER_STATE</span></a></p></td>
+<td><p>121</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-int-get-xirr-122.html#opal-int-get-xirr"><span class="std std-ref">OPAL_INT_GET_XIRR</span></a></p></td>
+<td><p>122</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-int-set-cppr-123.html#opal-int-set-cppr"><span class="std std-ref">OPAL_INT_SET_CPPR</span></a></p></td>
+<td><p>123</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-int-eoi-124.html#opal-int-eoi"><span class="std std-ref">OPAL_INT_EOI</span></a></p></td>
+<td><p>124</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-int-set-mfrr-125.html#opal-int-set-mfrr"><span class="std std-ref">OPAL_INT_SET_MFRR</span></a></p></td>
+<td><p>125</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-tce-kill-126.html#opal-pci-tce-kill"><span class="std std-ref">OPAL_PCI_TCE_KILL</span></a></p></td>
+<td><p>126</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.3.0.html#skiboot-5-3-0"><span class="std std-ref">skiboot-5.3.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-nmmu-set-ptcr-127.html#opal-nmmu-set-ptcr"><span class="std std-ref">OPAL_NMMU_SET_PTCR</span></a></p></td>
+<td><p>127</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-reset"><span class="std std-ref">OPAL_XIVE_RESET</span></a></p></td>
+<td><p>128</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../xive.html#opal-xive-get-irq-info"><span class="std std-ref">OPAL_XIVE_GET_IRQ_INFO</span></a></p></td>
+<td><p>129</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-get-irq-config"><span class="std std-ref">OPAL_XIVE_GET_IRQ_CONFIG</span></a></p></td>
+<td><p>130</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../xive.html#opal-xive-set-irq-config"><span class="std std-ref">OPAL_XIVE_SET_IRQ_CONFIG</span></a></p></td>
+<td><p>131</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-get-queue-info"><span class="std std-ref">OPAL_XIVE_GET_QUEUE_INFO</span></a></p></td>
+<td><p>132</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../xive.html#opal-xive-set-queue-info"><span class="std std-ref">OPAL_XIVE_SET_QUEUE_INFO</span></a></p></td>
+<td><p>133</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-donate-page"><span class="std std-ref">OPAL_XIVE_DONATE_PAGE</span></a></p></td>
+<td><p>134</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../xive.html#opal-xive-allocate-vp-block"><span class="std std-ref">OPAL_XIVE_ALLOCATE_VP_BLOCK</span></a></p></td>
+<td><p>135</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-free-vp-block"><span class="std std-ref">OPAL_XIVE_FREE_VP_BLOCK</span></a></p></td>
+<td><p>136</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../xive.html#opal-xive-get-vp-info"><span class="std std-ref">OPAL_XIVE_GET_VP_INFO</span></a></p></td>
+<td><p>137</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-set-vp-info"><span class="std std-ref">OPAL_XIVE_SET_VP_INFO</span></a></p></td>
+<td><p>138</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../xive.html#opal-xive-allocate-irq"><span class="std std-ref">OPAL_XIVE_ALLOCATE_IRQ</span></a></p></td>
+<td><p>139</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-free-irq"><span class="std std-ref">OPAL_XIVE_FREE_IRQ</span></a></p></td>
+<td><p>140</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../xive.html#opal-xive-sync"><span class="std std-ref">OPAL_XIVE_SYNC</span></a></p></td>
+<td><p>141</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-dump"><span class="std std-ref">OPAL_XIVE_DUMP</span></a></p></td>
+<td><p>142</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../xive.html#opal-xive-get-queue-state"><span class="std std-ref">OPAL_XIVE_GET_QUEUE_STATE</span></a></p></td>
+<td><p>143</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.3.html#skiboot-6-3"><span class="std std-ref">skiboot-6.3</span></a></p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-set-queue-state"><span class="std std-ref">OPAL_XIVE_SET_QUEUE_STATE</span></a></p></td>
+<td><p>144</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.3.html#skiboot-6-3"><span class="std std-ref">skiboot-6.3</span></a></p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-signal-system-reset-145.html#opal-signal-system-reset"><span class="std std-ref">OPAL_SIGNAL_SYSTEM_RESET</span></a></p></td>
+<td><p>145</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-npu2-146-147-148.html#opal-npu-init-context"><span class="std std-ref">OPAL_NPU_INIT_CONTEXT</span></a></p></td>
+<td><p>146</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-npu2-146-147-148.html#opal-npu-destroy-context"><span class="std std-ref">OPAL_NPU_DESTROY_CONTEXT</span></a></p></td>
+<td><p>147</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-npu2-146-147-148.html#opal-npu-map-lpar"><span class="std std-ref">OPAL_NPU_MAP_LPAR</span></a></p></td>
+<td><p>148</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-imc-counters.html#opal-imc-counters-init"><span class="std std-ref">OPAL_IMC_COUNTERS_INIT</span></a></p></td>
+<td><p>149</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-imc-counters.html#opal-imc-counters-start"><span class="std std-ref">OPAL_IMC_COUNTERS_START</span></a></p></td>
+<td><p>150</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-imc-counters.html#opal-imc-counters-stop"><span class="std std-ref">OPAL_IMC_COUNTERS_STOP</span></a></p></td>
+<td><p>151</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-powercap.html#opal-get-powercap"><span class="std std-ref">OPAL_GET_POWERCAP</span></a></p></td>
+<td><p>152</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-powercap.html#opal-set-powercap"><span class="std std-ref">OPAL_SET_POWERCAP</span></a></p></td>
+<td><p>153</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-power-shift-ratio.html#opal-get-power-shift-ratio"><span class="std std-ref">OPAL_GET_POWER_SHIFT_RATIO</span></a></p></td>
+<td><p>154</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-power-shift-ratio.html#opal-set-power-shift-ratio"><span class="std std-ref">OPAL_SET_POWER_SHIFT_RATIO</span></a></p></td>
+<td><p>155</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-sensor-group-enable-clear-163-156.html#opal-sensor-group-clear"><span class="std std-ref">OPAL_SENSOR_GROUP_CLEAR</span></a></p></td>
+<td><p>156</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-set-p2p-157.html#opal-pci-set-p2p"><span class="std std-ref">OPAL_PCI_SET_P2P</span></a></p></td>
+<td><p>157</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-quiesce-158.html#opal-quiesce"><span class="std std-ref">OPAL_QUIESCE</span></a></p></td>
+<td><p>158</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-spa-setup"><span class="std std-ref">OPAL_NPU_SPA_SETUP</span></a></p></td>
+<td><p>159</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-spa-clear-cache"><span class="std std-ref">OPAL_NPU_SPA_CLEAR_CACHE</span></a></p></td>
+<td><p>160</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-tl-set"><span class="std std-ref">OPAL_NPU_TL_SET</span></a></p></td>
+<td><p>161</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-sensor-read-88.html#opal-sensor-read-u64"><span class="std std-ref">OPAL_SENSOR_READ_U64</span></a></p></td>
+<td><p>162</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-sensor-group-enable-clear-163-156.html#opal-sensor-group-enable"><span class="std std-ref">OPAL_SENSOR_GROUP_ENABLE</span></a></p></td>
+<td><p>163</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-pci-get-set-pbcq-tunnel-bar-164-165.html#opal-pci-get-pbcq-tunnel-bar"><span class="std std-ref">OPAL_PCI_GET_PBCQ_TUNNEL_BAR</span></a></p></td>
+<td><p>164</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-get-set-pbcq-tunnel-bar-164-165.html#opal-pci-set-pbcq-tunnel-bar"><span class="std std-ref">OPAL_PCI_SET_PBCQ_TUNNEL_BAR</span></a></p></td>
+<td><p>165</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.11.html#skiboot-5-11"><span class="std std-ref">skiboot-5.11</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-handle-hmi-98-166.html#opal-handle-hmi2"><span class="std std-ref">OPAL_HANDLE_HMI2</span></a></p></td>
+<td><p>166</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.0.html#skiboot-6-0"><span class="std std-ref">skiboot-6.0</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal_nx_coproc_init-167.html#opal-nx-coproc-init"><span class="std std-ref">OPAL_NX_COPROC_INIT</span></a></p></td>
+<td><p>167</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.1.html#skiboot-6-1"><span class="std std-ref">skiboot-6.1</span></a>
+<a class="reference internal" href="../release-notes/skiboot-6.0.5.html#skiboot-6-0-5"><span class="std std-ref">skiboot-6.0.5</span></a></p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-npu2-get-set-relaxed-order-168-169.html#opal-npu-set-relaxed-order"><span class="std std-ref">OPAL_NPU_SET_RELAXED_ORDER</span></a></p></td>
+<td><p>168</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.2.html#skiboot-6-2"><span class="std std-ref">skiboot-6.2</span></a></p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-npu2-get-set-relaxed-order-168-169.html#opal-npu-get-relaxed-order"><span class="std std-ref">OPAL_NPU_GET_RELAXED_ORDER</span></a></p></td>
+<td><p>169</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.2.html#skiboot-6-2"><span class="std std-ref">skiboot-6.2</span></a></p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../xive.html#opal-xive-get-vp-state"><span class="std std-ref">OPAL_XIVE_GET_VP_STATE</span></a></p></td>
+<td><p>170</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.3.html#skiboot-6-3"><span class="std std-ref">skiboot-6.3</span></a></p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-mem-alloc"><span class="std std-ref">OPAL_NPU_MEM_ALLOC</span></a></p></td>
+<td><p>171</p></td>
+<td><p>Future, likely 6.4</p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-mem-release"><span class="std std-ref">OPAL_NPU_MEM_RELEASE</span></a></p></td>
+<td><p>172</p></td>
+<td><p>Future, likely 6.4</p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-mpipl-173-174.html#opal-mpipl-update"><span class="std std-ref">OPAL_MPIPL_UPDATE</span></a></p></td>
+<td><p>173</p></td>
+<td><p>Future, likely 6.4</p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-mpipl-173-174.html#opal-mpipl-register-tag"><span class="std std-ref">OPAL_MPIPL_REGISTER_TAG</span></a></p></td>
+<td><p>174</p></td>
+<td><p>Future, likely 6.4</p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-mpipl-173-174.html#opal-mpipl-query-tag"><span class="std std-ref">OPAL_MPIPL_QUERY_TAG</span></a></p></td>
+<td><p>175</p></td>
+<td><p>Future, likely 6.4</p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="opal-phb-flag-set-get-179-180.html#opal-phb-set-option"><span class="std std-ref">OPAL_PHB_SET_OPTION</span></a></p></td>
+<td><p>179</p></td>
+<td><p>Future, likely 6.6</p></td>
+<td><p>POWER9</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-phb-flag-set-get-179-180.html#opal-phb-get-option"><span class="std std-ref">OPAL_PHB_GET_OPTION</span></a></p></td>
+<td><p>180</p></td>
+<td><p>Future, likely 6.6</p></td>
+<td><p>POWER9</p></td>
+<td></td>
</tr>
</tbody>
</table>
@@ -1282,187 +1282,187 @@ unused.</td>
<li class="toctree-l1"><a class="reference internal" href="return-codes.html">OPAL API Return Codes</a></li>
</ul>
</div>
-<div class="section" id="removed-calls">
+<section id="removed-calls">
<h2>Removed Calls<a class="headerlink" href="#removed-calls" title="Permalink to this headline">¶</a></h2>
<p>Under <strong>very</strong> specific and careful circumstances, an OPAL call has been
removed and no longer supported.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="46%" />
-<col width="7%" />
-<col width="23%" />
-<col width="23%" />
+<col style="width: 46%" />
+<col style="width: 7%" />
+<col style="width: 23%" />
+<col style="width: 23%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>Name</td>
-<td>API
-Token</td>
-<td>Introduced</td>
-<td>Removed</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-get-completion-token-status"><span class="std std-ref">OPAL_GET_COMPLETION_TOKEN_STATUS</span></a></td>
-<td>21</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-pci-shpc"><span class="std std-ref">OPAL_PCI_SHPC</span></a></td>
-<td>24</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-set-phb-table-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TABLE_MEMORY</span></a></td>
-<td>30</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a></td>
-<td>35</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a></td>
-<td>36</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-pci-fence-phb"><span class="std std-ref">OPAL_PCI_FENCE_PHB</span></a></td>
-<td>52</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-mask-pe-error"><span class="std std-ref">OPAL_PCI_MASK_PE_ERROR</span></a></td>
-<td>54</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-set-slot-led-status"><span class="std std-ref">OPAL_SET_SLOT_LED_STATUS</span></a></td>
-<td>55</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-set-system-attention-led"><span class="std std-ref">OPAL_SET_SYSTEM_ATTENTION_LED</span></a></td>
-<td>57</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-reserved1"><span class="std std-ref">OPAL_RESERVED1</span></a></td>
-<td>58</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-reserved2"><span class="std std-ref">OPAL_RESERVED2</span></a></td>
-<td>59</td>
-<td>Never</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-elog-send"><span class="std std-ref">OPAL_ELOG_SEND</span></a></td>
-<td>92</td>
-<td>pre-v1.0</td>
-<td>pre-v1.0</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a></td>
-<td>51</td>
-<td>pre-v1.0</td>
-<td>pre-v1.0, with last
+<tbody>
+<tr class="row-odd"><td><p>Name</p></td>
+<td><p>API
+Token</p></td>
+<td><p>Introduced</p></td>
+<td><p>Removed</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-get-completion-token-status"><span class="std std-ref">OPAL_GET_COMPLETION_TOKEN_STATUS</span></a></p></td>
+<td><p>21</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-pci-shpc"><span class="std std-ref">OPAL_PCI_SHPC</span></a></p></td>
+<td><p>24</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-set-phb-table-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TABLE_MEMORY</span></a></p></td>
+<td><p>30</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a></p></td>
+<td><p>35</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a></p></td>
+<td><p>36</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-pci-fence-phb"><span class="std std-ref">OPAL_PCI_FENCE_PHB</span></a></p></td>
+<td><p>52</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-mask-pe-error"><span class="std std-ref">OPAL_PCI_MASK_PE_ERROR</span></a></p></td>
+<td><p>54</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-set-slot-led-status"><span class="std std-ref">OPAL_SET_SLOT_LED_STATUS</span></a></p></td>
+<td><p>55</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-set-system-attention-led"><span class="std std-ref">OPAL_SET_SYSTEM_ATTENTION_LED</span></a></p></td>
+<td><p>57</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-reserved1"><span class="std std-ref">OPAL_RESERVED1</span></a></p></td>
+<td><p>58</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-reserved2"><span class="std std-ref">OPAL_RESERVED2</span></a></p></td>
+<td><p>59</p></td>
+<td><p>Never</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-elog-send"><span class="std std-ref">OPAL_ELOG_SEND</span></a></p></td>
+<td><p>92</p></td>
+<td><p>pre-v1.0</p></td>
+<td><p>pre-v1.0</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a></p></td>
+<td><p>51</p></td>
+<td><p>pre-v1.0</p></td>
+<td><p>pre-v1.0, with last
remnants removed in
-<a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-get-xive-source"><span class="std std-ref">OPAL_GET_XIVE_SOURCE</span></a></td>
-<td>38</td>
-<td>v1.0 Initial Release</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-write-oppanel"><span class="std std-ref">OPAL_WRITE_OPPANEL</span></a></td>
-<td>43</td>
-<td>pre-v1.0</td>
-<td>pre-v1.0</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-old-i2c-request"><span class="std std-ref">OPAL_OLD_I2C_REQUEST</span></a></td>
-<td>106</td>
-<td>v4.0</td>
-<td>v4.0</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-register-opal-exception-handler"><span class="std std-ref">OPAL_REGISTER_OPAL_EXCEPTION_HANDLER</span></a></td>
-<td>22</td>
-<td>v1.0 Initial Release</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-pci-set-hub-tce-memory"><span class="std std-ref">OPAL_PCI_SET_HUB_TCE_MEMORY</span></a></td>
-<td>11</td>
-<td>pre-v1.0</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.2.0.html#skiboot-5-2-0"><span class="std std-ref">skiboot-5.2.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a></td>
-<td>12</td>
-<td>pre-v1.0</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.2.0.html#skiboot-5-2-0"><span class="std std-ref">skiboot-5.2.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a></td>
-<td>61</td>
-<td>v1.0 Initial Release</td>
-<td><a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a></td>
+<a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-get-xive-source"><span class="std std-ref">OPAL_GET_XIVE_SOURCE</span></a></p></td>
+<td><p>38</p></td>
+<td><p>v1.0 Initial Release</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-write-oppanel"><span class="std std-ref">OPAL_WRITE_OPPANEL</span></a></p></td>
+<td><p>43</p></td>
+<td><p>pre-v1.0</p></td>
+<td><p>pre-v1.0</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-old-i2c-request"><span class="std std-ref">OPAL_OLD_I2C_REQUEST</span></a></p></td>
+<td><p>106</p></td>
+<td><p>v4.0</p></td>
+<td><p>v4.0</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-register-opal-exception-handler"><span class="std std-ref">OPAL_REGISTER_OPAL_EXCEPTION_HANDLER</span></a></p></td>
+<td><p>22</p></td>
+<td><p>v1.0 Initial Release</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-pci-set-hub-tce-memory"><span class="std std-ref">OPAL_PCI_SET_HUB_TCE_MEMORY</span></a></p></td>
+<td><p>11</p></td>
+<td><p>pre-v1.0</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.2.0.html#skiboot-5-2-0"><span class="std std-ref">skiboot-5.2.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a></p></td>
+<td><p>12</p></td>
+<td><p>pre-v1.0</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.2.0.html#skiboot-5-2-0"><span class="std std-ref">skiboot-5.2.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a></p></td>
+<td><p>61</p></td>
+<td><p>v1.0 Initial Release</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a></p></td>
</tr>
</tbody>
</table>
-<div class="section" id="opal-get-completion-token-status">
+<section id="opal-get-completion-token-status">
<span id="id1"></span><h3>OPAL_GET_COMPLETION_TOKEN_STATUS<a class="headerlink" href="#opal-get-completion-token-status" title="Permalink to this headline">¶</a></h3>
<p>In the before time, long-long ago, there existed something called OPAL before
the incarnation we know today. Presumably, this long forgotten incarnation
had a call called this.</p>
<p>This call has never been implemented, and never will be.</p>
-</div>
-<div class="section" id="opal-pci-shpc">
+</section>
+<section id="opal-pci-shpc">
<span id="id2"></span><h3>OPAL_PCI_SHPC<a class="headerlink" href="#opal-pci-shpc" title="Permalink to this headline">¶</a></h3>
<p>A remnant of a long forgotten incarnation of OPAL. Never implemented, never
will be.</p>
-</div>
-<div class="section" id="opal-pci-set-phb-table-memory">
+</section>
+<section id="opal-pci-set-phb-table-memory">
<span id="id3"></span><h3>OPAL_PCI_SET_PHB_TABLE_MEMORY<a class="headerlink" href="#opal-pci-set-phb-table-memory" title="Permalink to this headline">¶</a></h3>
<p>A remnant of an old API design. Never implemented, never used. Only ever
returned <a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a>, now the call is not implemented at all.</p>
-</div>
-<div class="section" id="opal-pci-get-xive-reissue">
+</section>
+<section id="opal-pci-get-xive-reissue">
<span id="id4"></span><h3>OPAL_PCI_GET_XIVE_REISSUE<a class="headerlink" href="#opal-pci-get-xive-reissue" title="Permalink to this headline">¶</a></h3>
<p>A remnant of something prior to OPALv3. Never implemented in skiboot and never
used by anyone. Returend <a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a> until <a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a>, where
it was removed.</p>
-</div>
-<div class="section" id="opal-pci-set-xive-reissue">
+</section>
+<section id="opal-pci-set-xive-reissue">
<span id="id5"></span><h3>OPAL_PCI_SET_XIVE_REISSUE<a class="headerlink" href="#opal-pci-set-xive-reissue" title="Permalink to this headline">¶</a></h3>
<p>A remnant of something prior to OPALv3. Never implemented in skiboot and never
used by anyone. Returend <a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a> until <a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a>, where
it was removed.</p>
-</div>
-<div class="section" id="opal-pci-fence-phb">
+</section>
+<section id="opal-pci-fence-phb">
<span id="id6"></span><h3>OPAL_PCI_FENCE_PHB<a class="headerlink" href="#opal-pci-fence-phb" title="Permalink to this headline">¶</a></h3>
<p>Never implemented.</p>
-</div>
-<div class="section" id="opal-pci-mask-pe-error">
+</section>
+<section id="opal-pci-mask-pe-error">
<span id="id7"></span><h3>OPAL_PCI_MASK_PE_ERROR<a class="headerlink" href="#opal-pci-mask-pe-error" title="Permalink to this headline">¶</a></h3>
<p>Never implemented.</p>
-</div>
-<div class="section" id="opal-set-slot-led-status">
+</section>
+<section id="opal-set-slot-led-status">
<span id="id8"></span><h3>OPAL_SET_SLOT_LED_STATUS<a class="headerlink" href="#opal-set-slot-led-status" title="Permalink to this headline">¶</a></h3>
<p>Never implemented.</p>
-</div>
-<div class="section" id="opal-set-system-attention-led">
+</section>
+<section id="opal-set-system-attention-led">
<span id="id9"></span><h3>OPAL_SET_SYSTEM_ATTENTION_LED<a class="headerlink" href="#opal-set-system-attention-led" title="Permalink to this headline">¶</a></h3>
<p>Never implemented.</p>
-</div>
-<div class="section" id="opal-reserved1">
+</section>
+<section id="opal-reserved1">
<span id="id10"></span><h3>OPAL_RESERVED1<a class="headerlink" href="#opal-reserved1" title="Permalink to this headline">¶</a></h3>
<p>Reserved for future use, but never used.</p>
-</div>
-<div class="section" id="opal-reserved2">
+</section>
+<section id="opal-reserved2">
<span id="id11"></span><h3>OPAL_RESERVED2<a class="headerlink" href="#opal-reserved2" title="Permalink to this headline">¶</a></h3>
<p>Reserved for future use, but never used.</p>
-</div>
-<div class="section" id="opal-elog-send">
+</section>
+<section id="opal-elog-send">
<span id="id12"></span><h3>OPAL_ELOG_SEND<a class="headerlink" href="#opal-elog-send" title="Permalink to this headline">¶</a></h3>
<p>Brielfy present prior to the first public release of OPAL. Never used in any
public kernel tree. If this functionality were to ever be implemented, it’d
appear as <a class="reference internal" href="#opal-elog-write"><span class="std std-ref">OPAL_ELOG_WRITE</span></a> rather than this call.</p>
-<div class="section" id="opal-pci-get-phb-diag-data">
+<section id="opal-pci-get-phb-diag-data">
<span id="id13"></span><h4>OPAL_PCI_GET_PHB_DIAG_DATA<a class="headerlink" href="#opal-pci-get-phb-diag-data" title="Permalink to this headline">¶</a></h4>
<p>This call was introduced and functionally removed (all backends for it were)
before the first public opal release. It has not been used since Linux 3.11-rc1.
@@ -1471,32 +1471,32 @@ remnants of this call is considered safe. If for some bizarre reason such an
old kernel is run on <a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a> or later, an <a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> error
will be returned instead of <a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a>.</p>
<p>It is replaced by <a class="reference internal" href="opal-pci-get-phb-diag-data2-64.html#opal-pci-get-phb-diag-data2"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA2</span></a> instead.</p>
-</div>
-</div>
-<div class="section" id="opal-get-xive-source">
+</section>
+</section>
+<section id="opal-get-xive-source">
<span id="id14"></span><h3>OPAL_GET_XIVE_SOURCE<a class="headerlink" href="#opal-get-xive-source" title="Permalink to this headline">¶</a></h3>
<p>While this call was technically implemented by skiboot, no code has ever called
it, and it was only ever implemented for the p7ioc-phb back-end (i.e. POWER7).
Since this call was unused in Linux, and that POWER7 with OPAL was only ever
available internally, it was determined that it was safe to remove this call as
of <a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a>.</p>
-</div>
-<div class="section" id="opal-write-oppanel">
+</section>
+<section id="opal-write-oppanel">
<span id="id15"></span><h3>OPAL_WRITE_OPPANEL<a class="headerlink" href="#opal-write-oppanel" title="Permalink to this headline">¶</a></h3>
<p>Never in a released version, use <a class="reference internal" href="opal-write-oppanel-async-95.html#opal-write-oppanel-async"><span class="std std-ref">OPAL_WRITE_OPPANEL_ASYNC</span></a>.</p>
-</div>
-<div class="section" id="opal-old-i2c-request">
+</section>
+<section id="opal-old-i2c-request">
<span id="id16"></span><h3>OPAL_OLD_I2C_REQUEST<a class="headerlink" href="#opal-old-i2c-request" title="Permalink to this headline">¶</a></h3>
<p>Never used. Only existing briefly in the <a class="reference internal" href="../release-notes/skiboot-4.0.html#skiboot-4-0"><span class="std std-ref">skiboot 4.0</span></a> development cycle.</p>
-</div>
-<div class="section" id="opal-register-opal-exception-handler">
+</section>
+<section id="opal-register-opal-exception-handler">
<span id="id17"></span><h3>OPAL_REGISTER_OPAL_EXCEPTION_HANDLER<a class="headerlink" href="#opal-register-opal-exception-handler" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_REGISTER_OPAL_EXCEPTION_HANDLER 22</span>
-<span class="kt">int64_t</span> <span class="nf">opal_register_exc_handler</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">opal_exception</span> <span class="n">__unused</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">handler_address</span> <span class="n">__unused</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">glue_cache_line</span> <span class="n">__unused</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_register_exc_handler</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">opal_exception</span><span class="w"> </span><span class="n">__unused</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">handler_address</span><span class="w"> </span><span class="n">__unused</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">glue_cache_line</span><span class="w"> </span><span class="n">__unused</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call existed for a very short period of time and only ever worked with Big
@@ -1509,14 +1509,14 @@ that had <a class="reference internal" href="opal-handle-hmi-98-166.html#opal-ha
<p>This call was removed in <a class="reference internal" href="../release-notes/skiboot-5.0.html#skiboot-5-0"><span class="std std-ref">skiboot 5.0</span></a> and now just
returns <a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a>.</p>
<p>Use of the <a class="reference internal" href="opal-handle-hmi-98-166.html#opal-handle-hmi"><span class="std std-ref">OPAL_HANDLE_HMI</span></a> call was introduced in Linux 3.17.</p>
-</div>
-<div class="section" id="opal-pci-set-hub-tce-memory">
+</section>
+<section id="opal-pci-set-hub-tce-memory">
<span id="id18"></span><h3>OPAL_PCI_SET_HUB_TCE_MEMORY<a class="headerlink" href="#opal-pci-set-hub-tce-memory" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_HUB_TCE_MEMORY 11</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_hub_tce_memory</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">hub_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">tce_mem_addr</span> <span class="n">__unused</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">tce_mem_size</span> <span class="n">__unused</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_hub_tce_memory</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">hub_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tce_mem_addr</span><span class="w"> </span><span class="n">__unused</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tce_mem_size</span><span class="w"> </span><span class="n">__unused</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call was only ever relevant for p5ioc based POWER7 systems. These were
@@ -1525,14 +1525,14 @@ never available with OPAL outside of IBM development.</p>
and these systems were only ever used with OPAL inside IBM for development
and bring-up purposes.</p>
<p>Support for p5ioc was removed from the Linux kernel in v4.6-rc1.</p>
-</div>
-<div class="section" id="opal-pci-set-phb-tce-memory">
+</section>
+<section id="opal-pci-set-phb-tce-memory">
<span id="id19"></span><h3>OPAL_PCI_SET_PHB_TCE_MEMORY<a class="headerlink" href="#opal-pci-set-phb-tce-memory" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_PHB_TCE_MEMORY 12</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_phb_tce_memory</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">tce_mem_addr</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">tce_mem_size</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_phb_tce_memory</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tce_mem_addr</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tce_mem_size</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call was only ever relevant for p5ioc based POWER7 systems. These were
@@ -1541,18 +1541,19 @@ never available with OPAL outside of IBM development.</p>
and these systems were only ever used with OPAL inside IBM for development
and bring-up purposes.</p>
<p>Support for p5ioc was removed from the Linux kernel in v4.6-rc1.</p>
-</div>
-</div>
-<div class="section" id="future-calls">
+</section>
+</section>
+<section id="future-calls">
<h2>Future Calls<a class="headerlink" href="#future-calls" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="opal-elog-write">
+<section id="opal-elog-write">
<span id="id20"></span><h3>OPAL_ELOG_WRITE<a class="headerlink" href="#opal-elog-write" title="Permalink to this headline">¶</a></h3>
<p>May be implemented in the future to complement the <a class="reference internal" href="opal-elog-71-72-73-74-75.html#opal-elog-read"><span class="std std-ref">OPAL_ELOG_READ</span></a> call.</p>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1594,7 +1595,7 @@ and bring-up purposes.</p>
</ul>
<h4>Previous topic</h4>
- <p class="topless"><a href="../device-tree/ibm,powerpc-cpu-features/design.html"
+ <p class="topless"><a href="../device-tree/ibm%2Cpowerpc-cpu-features/design.html"
title="previous chapter">ibm,powerpc-cpu-features Design</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="opal-cec-power-down-5.html"
@@ -1607,17 +1608,15 @@ and bring-up purposes.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1632,15 +1631,16 @@ and bring-up purposes.</p>
<a href="opal-cec-power-down-5.html" title="OPAL_CEC_POWER_DOWN"
>next</a> |</li>
<li class="right" >
- <a href="../device-tree/ibm,powerpc-cpu-features/design.html" title="ibm,powerpc-cpu-features Design"
+ <a href="../device-tree/ibm%2Cpowerpc-cpu-features/design.html" title="ibm,powerpc-cpu-features Design"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL API Documentation</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-cec-power-down-5.html b/doc/opal-api/opal-cec-power-down-5.html
index 321af83..01026a1 100644
--- a/doc/opal-api/opal-cec-power-down-5.html
+++ b/doc/opal-api/opal-cec-power-down-5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_CEC_POWER_DOWN &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_CEC_POWER_DOWN &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="index.html" title="OPAL API Documentation"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CEC_POWER_DOWN</a></li>
</ul>
</div>
@@ -45,73 +45,73 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-cec-power-down">
+ <section id="opal-cec-power-down">
<span id="id1"></span><h1>OPAL_CEC_POWER_DOWN<a class="headerlink" href="#opal-cec-power-down" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_CEC_POWER_DOWN 5</span>
-<span class="n">int64</span> <span class="n">opal_cec_power_down</span><span class="p">(</span><span class="n">uint64</span> <span class="n">request</span><span class="p">)</span>
+<span class="n">int64</span><span class="w"> </span><span class="n">opal_cec_power_down</span><span class="p">(</span><span class="n">uint64</span><span class="w"> </span><span class="n">request</span><span class="p">)</span><span class="w"></span>
</pre></div>
</div>
<p>As powering down the system is likely an asynchronous operation that we
have to wait for a service processor to do, <a class="reference internal" href="#opal-cec-power-down"><span class="std std-ref">OPAL_CEC_POWER_DOWN</span></a>
should be called like the example code below:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">rc</span> <span class="o">=</span> <span class="n">OPAL_BUSY</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OPAL_BUSY</span><span class="p">;</span><span class="w"></span>
-<span class="k">do</span> <span class="p">{</span>
- <span class="n">rc</span> <span class="o">=</span> <span class="n">opal_cec_power_down</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">rc</span> <span class="o">==</span> <span class="n">OPAL_BUSY_EVENT</span><span class="p">)</span>
- <span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
-<span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">rc</span> <span class="o">==</span> <span class="n">OPAL_BUSY</span> <span class="o">||</span> <span class="n">rc</span> <span class="o">==</span> <span class="n">OPAL_BUSY_EVENT</span><span class="p">);</span>
+<span class="k">do</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">opal_cec_power_down</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OPAL_BUSY_EVENT</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span><span class="w"></span>
+<span class="p">}</span><span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OPAL_BUSY</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OPAL_BUSY_EVENT</span><span class="p">);</span><span class="w"></span>
-<span class="k">for</span> <span class="p">(;;)</span>
- <span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<span class="k">for</span><span class="w"> </span><span class="p">(;;)</span><span class="w"></span>
+<span class="w"> </span><span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="arguments">
+<section id="arguments">
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">¶</a></h2>
<p><cite>uint64 request</cite> values as follows:</p>
-<dl class="docutils">
-<dt>0</dt>
-<dd>Power down normally</dd>
-<dt>1</dt>
-<dd>Power down immediately</dd>
+<dl class="simple">
+<dt>0</dt><dd><p>Power down normally</p>
+</dd>
+<dt>1</dt><dd><p>Power down immediately</p>
+</dd>
</dl>
<p>This OPAL call requests OPAL to power down the system. The exact difference
between a normal and immediate shutdown is platform specific.</p>
<p>Current Linux kernels just use power down normally (0). It is valid for a
platform to only support some types of power down operations.</p>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>the power down request was successful.
+<dl>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>the power down request was successful.
This may/may not result in immediate power down. An OS should
spin in a loop after getting <a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a> as it is likely that there
-will be a delay before instructions stop being executed.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>unable to power down, try again later.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt>
-<dd>Unable to power down, call <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> and try again.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>a parameter was incorrect</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd><p class="first">Something went wrong, and waiting and trying again is unlikely to be
+will be a delay before instructions stop being executed.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>unable to power down, try again later.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt><dd><p>Unable to power down, call <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> and try again.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>a parameter was incorrect</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Something went wrong, and waiting and trying again is unlikely to be
successful. Although, considering that in a shutdown code path, there’s
unlikely to be any other valid option to take, retrying is perfectly valid.</p>
-<p class="last">In older OPAL versions (prior to skiboot v5.9), on IBM FSP systems, this
+<p>In older OPAL versions (prior to skiboot v5.9), on IBM FSP systems, this
return code was returned erroneously instead of <a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a> during an
FSP Reset/Reload.</p>
</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>this platform does not support being powered off. Practically speaking, this
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>this platform does not support being powered off. Practically speaking, this
should <strong>never</strong> be returned, but in various simulation or bring-up situations,
-it’s plausible it is, so code should handle this gracefully.</dd>
+it’s plausible it is, so code should handle this gracefully.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -140,17 +140,15 @@ it’s plausible it is, so code should handle this gracefully.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -167,14 +165,15 @@ it’s plausible it is, so code should handle this gracefully.</dd>
<li class="right" >
<a href="index.html" title="OPAL API Documentation"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CEC_POWER_DOWN</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-cec-reboot-6-116.html b/doc/opal-api/opal-cec-reboot-6-116.html
index 4e1c535..d6bb7d0 100644
--- a/doc/opal-api/opal-cec-reboot-6-116.html
+++ b/doc/opal-api/opal-cec-reboot-6-116.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-cec-power-down-5.html" title="OPAL_CEC_POWER_DOWN"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2</a></li>
</ul>
</div>
@@ -45,28 +45,28 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-cec-reboot-and-opal-cec-reboot2">
+ <section id="opal-cec-reboot-and-opal-cec-reboot2">
<span id="opal-api-cec-reboot"></span><h1>OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2<a class="headerlink" href="#opal-cec-reboot-and-opal-cec-reboot2" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_CEC_REBOOT 6</span>
<span class="cp">#define OPAL_CEC_REBOOT2 116</span>
</pre></div>
</div>
<p>There are two opal calls to invoke system reboot.</p>
-<dl class="docutils">
-<dt><a class="reference internal" href="#opal-cec-reboot"><span class="std std-ref">OPAL_CEC_REBOOT</span></a></dt>
-<dd>Original reboot call for a normal reboot.
+<dl class="simple">
+<dt><a class="reference internal" href="#opal-cec-reboot"><span class="std std-ref">OPAL_CEC_REBOOT</span></a></dt><dd><p>Original reboot call for a normal reboot.
It is recommended to first try <a class="reference internal" href="#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a>
(use <a class="reference internal" href="opal-check-token-80.html#opal-check-token"><span class="std std-ref">OPAL_CHECK_TOKEN</span></a> first), and then, if not available,
fall back to <a class="reference internal" href="#opal-cec-reboot"><span class="std std-ref">OPAL_CEC_REBOOT</span></a>.
All POWER9 systems shipped with support for <a class="reference internal" href="#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a>,
so it is safe to exclusively call the new call if an OS only targets POWER9
-and above.</dd>
-<dt><a class="reference internal" href="#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a></dt>
-<dd>Newer call for rebooting a system, supporting different types of reboots.
+and above.</p>
+</dd>
+<dt><a class="reference internal" href="#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a></dt><dd><p>Newer call for rebooting a system, supporting different types of reboots.
For example, the OS may request a reboot due to a platform or OS error,
-which may trigger host or BMC firmware to save debugging information.</dd>
+which may trigger host or BMC firmware to save debugging information.</p>
+</dd>
</dl>
-<div class="section" id="opal-cec-reboot">
+<section id="opal-cec-reboot">
<span id="id1"></span><h2>OPAL_CEC_REBOOT<a class="headerlink" href="#opal-cec-reboot" title="Permalink to this headline">¶</a></h2>
<p>Syntax:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">int64_t</span> <span class="n">opal_cec_reboot</span><span class="p">(</span><span class="n">void</span><span class="p">)</span>
@@ -75,11 +75,11 @@ which may trigger host or BMC firmware to save debugging information.</dd>
<p>System reboots normally, equivalent to <a class="reference internal" href="#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a>. See
<a class="reference internal" href="#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a> for details, as both OPAL calls should be called
in the same way.</p>
-</div>
-<div class="section" id="opal-cec-reboot2">
+</section>
+<section id="opal-cec-reboot2">
<span id="id2"></span><h2>OPAL_CEC_REBOOT2<a class="headerlink" href="#opal-cec-reboot2" title="Permalink to this headline">¶</a></h2>
<p>Syntax:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="n">opal_cec_reboot2</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">reboot_type</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">diag</span><span class="p">)</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="n">opal_cec_reboot2</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">reboot_type</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">diag</span><span class="p">)</span><span class="w"></span>
</pre></div>
</div>
<p>A reboot call is likely going to involve talking to a service processor to
@@ -89,84 +89,81 @@ to crank any state machine needed for the reboot until the machine reboots
from underneath the OS.</p>
<p>For example, the below code could be part of an OS calling to do any type
of reboot, and falling back to a normal reboot if that type is not supported.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">rc</span><span class="p">;</span>
-<span class="kt">int</span> <span class="n">reboot_type</span> <span class="o">=</span> <span class="n">OPAL_REBOOT_NORMAL</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="n">rc</span><span class="p">;</span><span class="w"></span>
+<span class="kt">int</span><span class="w"> </span><span class="n">reboot_type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OPAL_REBOOT_NORMAL</span><span class="p">;</span><span class="w"></span>
-<span class="k">do</span> <span class="p">{</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">opal_check_token</span><span class="p">(</span><span class="n">OPAL_CEC_REBOOT2</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">rc</span> <span class="o">=</span> <span class="n">opal_cec_reboot2</span><span class="p">(</span><span class="n">reboot_type</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
- <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n">rc</span> <span class="o">=</span> <span class="n">opal_cec_reboot</span><span class="p">();</span>
- <span class="p">}</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">rc</span> <span class="o">==</span> <span class="n">OPAL_UNSUPPORTED</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Falling back to normal reboot</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
- <span class="n">reboot_type</span> <span class="o">=</span> <span class="n">OPAL_REBOOT_NORMAL</span><span class="p">;</span>
- <span class="n">rc</span> <span class="o">=</span> <span class="n">OPAL_BUSY</span><span class="p">;</span>
- <span class="p">}</span>
- <span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
-<span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">rc</span> <span class="o">==</span> <span class="n">OPAL_BUSY</span> <span class="o">||</span> <span class="n">rc</span> <span class="o">==</span> <span class="n">OPAL_BUSY_EVENT</span><span class="p">);</span>
+<span class="k">do</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">opal_check_token</span><span class="p">(</span><span class="n">OPAL_CEC_REBOOT2</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">opal_cec_reboot2</span><span class="p">(</span><span class="n">reboot_type</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">opal_cec_reboot</span><span class="p">();</span><span class="w"></span>
+<span class="w"> </span><span class="p">}</span><span class="w"></span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OPAL_UNSUPPORTED</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;Falling back to normal reboot</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="n">reboot_type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OPAL_REBOOT_NORMAL</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OPAL_BUSY</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="p">}</span><span class="w"></span>
+<span class="w"> </span><span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span><span class="w"></span>
+<span class="p">}</span><span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OPAL_BUSY</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OPAL_BUSY_EVENT</span><span class="p">);</span><span class="w"></span>
-<span class="k">for</span> <span class="p">(;;)</span>
- <span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<span class="k">for</span><span class="w"> </span><span class="p">(;;)</span><span class="w"></span>
+<span class="w"> </span><span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="input-parameters">
+<section id="input-parameters">
<h3>Input parameters<a class="headerlink" href="#input-parameters" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">reboot_type</span></code></dt>
-<dd>Type of reboot. (see below)</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">diag</span></code></dt>
-<dd>Null-terminated string.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">reboot_type</span></code></dt><dd><p>Type of reboot. (see below)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">diag</span></code></dt><dd><p>Null-terminated string.</p>
+</dd>
</dl>
<p>Depending on reboot type, this call will carry out additional steps
before triggering a reboot.</p>
-</div>
-<div class="section" id="return-codes">
+</section>
+<section id="return-codes">
<h3>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>The system will soon reboot. The OS should loop on <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a>
-in case there’s any work for OPAL to do.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a> or <a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt>
-<dd>OPAL is currently busy and can’t issue a reboot, call
-<a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> and retry reboot call.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Unsupported reboot type (applicable to <a class="reference internal" href="#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a> only), retry
-with other reboot type.</dd>
-<dt>Other error codes</dt>
-<dd>Keep calling reboot and hope for the best? In theory this should never happen.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>The system will soon reboot. The OS should loop on <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a>
+in case there’s any work for OPAL to do.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a> or <a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt><dd><p>OPAL is currently busy and can’t issue a reboot, call
+<a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> and retry reboot call.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Unsupported reboot type (applicable to <a class="reference internal" href="#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a> only), retry
+with other reboot type.</p>
+</dd>
+<dt>Other error codes</dt><dd><p>Keep calling reboot and hope for the best? In theory this should never happen.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="supported-reboot-types">
+</section>
+</section>
+<section id="supported-reboot-types">
<h2>Supported reboot types:<a class="headerlink" href="#supported-reboot-types" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>OPAL_REBOOT_NORMAL = 0</dt>
-<dd>Behavior is as similar to that of opal_cec_reboot()</dd>
-<dt>OPAL_REBOOT_PLATFORM_ERROR = 1</dt>
-<dd><p class="first">Log an error to the BMC and then trigger a system checkstop, using
+<dl>
+<dt>OPAL_REBOOT_NORMAL = 0</dt><dd><p>Behavior is as similar to that of opal_cec_reboot()</p>
+</dd>
+<dt>OPAL_REBOOT_PLATFORM_ERROR = 1</dt><dd><p>Log an error to the BMC and then trigger a system checkstop, using
the information provided by ‘ibm,sw-checkstop-fir’ property in the
device-tree. Post the checkstop trigger, OCC/BMC will collect
relevant data for error analysis and trigger a reboot.</p>
-<p class="last">In absence of ‘ibm,sw-checkstop-fir’ device property, this function
+<p>In absence of ‘ibm,sw-checkstop-fir’ device property, this function
will return with OPAL_UNSUPPORTED and no reboot will be triggered.</p>
</dd>
-<dt>OPAL_REBOOT_FULL_IPL = 2</dt>
-<dd><p class="first">Force a full IPL reboot rather than using fast reboot.</p>
-<p class="last">On platforms that don’t support fast reboot, this is equivalent to a
+<dt>OPAL_REBOOT_FULL_IPL = 2</dt><dd><p>Force a full IPL reboot rather than using fast reboot.</p>
+<p>On platforms that don’t support fast reboot, this is equivalent to a
normal reboot.</p>
</dd>
-<dt>OPAL_REBOOT_MPIPL = 3</dt>
-<dd><p class="first">Request for MPIPL reboot. Firmware will reboot the system and collect
+<dt>OPAL_REBOOT_MPIPL = 3</dt><dd><p>Request for MPIPL reboot. Firmware will reboot the system and collect
dump.</p>
-<p class="last">On platforms that don’t support MPIPL, this is equivalent to a
+<p>On platforms that don’t support MPIPL, this is equivalent to a
normal assert.</p>
</dd>
-<dt>Unsupported Reboot type</dt>
-<dd>For unsupported reboot type, this function will return with
-OPAL_UNSUPPORTED and no reboot will be triggered.</dd>
+<dt>Unsupported Reboot type</dt><dd><p>For unsupported reboot type, this function will return with
+OPAL_UNSUPPORTED and no reboot will be triggered.</p>
+</dd>
</dl>
-<div class="section" id="debugging">
+<section id="debugging">
<h3>Debugging<a class="headerlink" href="#debugging" title="Permalink to this headline">¶</a></h3>
<p>This is <strong>not</strong> ABI and may change or be removed at any time.</p>
<p>You can change if the software checkstop trigger is used or not by an NVRAM
@@ -175,11 +172,12 @@ variable:</p>
<span class="n">nvram</span> <span class="o">-</span><span class="n">p</span> <span class="n">ibm</span><span class="p">,</span><span class="n">skiboot</span> <span class="o">--</span><span class="n">update</span><span class="o">-</span><span class="n">config</span> <span class="n">opal</span><span class="o">-</span><span class="n">sw</span><span class="o">-</span><span class="n">xstop</span><span class="o">=</span><span class="n">disable</span>
</pre></div>
</div>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -216,17 +214,15 @@ variable:</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -243,14 +239,15 @@ variable:</p>
<li class="right" >
<a href="opal-cec-power-down-5.html" title="OPAL_CEC_POWER_DOWN"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-check-async-completion-86.html b/doc/opal-api/opal-check-async-completion-86.html
index 0288318..e5764f4 100644
--- a/doc/opal-api/opal-check-async-completion-86.html
+++ b/doc/opal-api/opal-check-async-completion-86.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_CHECK_ASYNC_COMPLETION &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_CHECK_ASYNC_COMPLETION &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-cec-reboot-6-116.html" title="OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CHECK_ASYNC_COMPLETION</a></li>
</ul>
</div>
@@ -45,39 +45,40 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-check-async-completion">
+ <section id="opal-check-async-completion">
<span id="id1"></span><h1>OPAL_CHECK_ASYNC_COMPLETION<a class="headerlink" href="#opal-check-async-completion" title="Permalink to this headline">¶</a></h1>
<p><a class="reference internal" href="#opal-check-async-completion"><span class="std std-ref">OPAL_CHECK_ASYNC_COMPLETION</span></a> checks if an async OPAL pending message was
completed. (see <a class="reference internal" href="opal-messages.html#opal-messages"><span class="std std-ref">OPAL_MESSAGE</span></a>).</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_CHECK_ASYNC_COMPLETION 86</span>
-<span class="kt">int64_t</span> <span class="nf">opal_check_completion</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="o">*</span><span class="n">buffer</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">token</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_check_completion</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">token</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Parameters:</p>
-<dl class="docutils">
-<dt>buffer</dt>
-<dd>buffer to copy message into</dd>
-<dt>size</dt>
-<dd>sizeof buffer to copy message into</dd>
-<dt>token</dt>
-<dd>async message token</dd>
+<dl class="simple">
+<dt>buffer</dt><dd><p>buffer to copy message into</p>
+</dd>
+<dt>size</dt><dd><p>sizeof buffer to copy message into</p>
+</dd>
+<dt>token</dt><dd><p>async message token</p>
+</dd>
</dl>
<p>Currently unused by Linux, but it is used by FreeBSD.</p>
-<div class="section" id="return-values">
+<section id="return-values">
<h2>Return values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>buffer parameter is an invalid pointer (NULL or &gt; top of RAM).</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>message successfully copied to buffer.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>message is still pending and should be re-checked later.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>buffer parameter is an invalid pointer (NULL or &gt; top of RAM).</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>message successfully copied to buffer.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>message is still pending and should be re-checked later.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -105,17 +106,15 @@ completed. (see <a class="reference internal" href="opal-messages.html#opal-mess
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -132,14 +131,15 @@ completed. (see <a class="reference internal" href="opal-messages.html#opal-mess
<li class="right" >
<a href="opal-cec-reboot-6-116.html" title="OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CHECK_ASYNC_COMPLETION</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-check-token-80.html b/doc/opal-api/opal-check-token-80.html
index 6f39830..b471e14 100644
--- a/doc/opal-api/opal-check-token-80.html
+++ b/doc/opal-api/opal-check-token-80.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_CHECK_TOKEN &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_CHECK_TOKEN &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-check-async-completion-86.html" title="OPAL_CHECK_ASYNC_COMPLETION"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CHECK_TOKEN</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-check-token">
+ <section id="opal-check-token">
<span id="id1"></span><h1>OPAL_CHECK_TOKEN<a class="headerlink" href="#opal-check-token" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_CHECK_TOKEN 80</span>
-<span class="kt">int64_t</span> <span class="nf">opal_check_token</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">token</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_check_token</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">token</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This OPAL call allows the host OS to determine if a particular OPAL call is present
@@ -68,9 +68,10 @@ OPAL implementations/platforms.</p>
<p>For skiboot, only positively ancient internal-to-IBM versions were missing
OPAL_CHECK_TOKEN. In this case, OPAL_PARAMETER would be returned. There is no
reason for a host OS to support this behaviour.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -90,17 +91,15 @@ reason for a host OS to support this behaviour.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -117,14 +116,15 @@ reason for a host OS to support this behaviour.</p>
<li class="right" >
<a href="opal-check-async-completion-86.html" title="OPAL_CHECK_ASYNC_COMPLETION"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CHECK_TOKEN</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-code-update-76-77-78.html b/doc/opal-api/opal-code-update-76-77-78.html
index d49cfe1..2d31633 100644
--- a/doc/opal-api/opal-code-update-76-77-78.html
+++ b/doc/opal-api/opal-code-update-76-77-78.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Code Update on FSP based machine &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Code Update on FSP based machine &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-check-token-80.html" title="OPAL_CHECK_TOKEN"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Code Update on FSP based machine</a></li>
</ul>
</div>
@@ -45,90 +45,90 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="code-update-on-fsp-based-machine">
+ <section id="code-update-on-fsp-based-machine">
<h1>Code Update on FSP based machine<a class="headerlink" href="#code-update-on-fsp-based-machine" title="Permalink to this headline">¶</a></h1>
<p>There are three OPAL calls for code update. These are currently only
implemented on FSP based machines.</p>
-<div class="section" id="opal-flash-validate">
+<section id="opal-flash-validate">
<span id="id1"></span><h2>OPAL_FLASH_VALIDATE<a class="headerlink" href="#opal-flash-validate" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_FLASH_VALIDATE 76</span>
-<span class="kt">int64_t</span> <span class="nf">fsp_opal_validate_flash</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">buffer</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">size</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">result</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">fsp_opal_validate_flash</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">size</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">result</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Validate new image is valid for this platform or not. We do below
validation in OPAL:</p>
<blockquote>
<div><ul class="simple">
-<li>We do below sys parameters validation to confirm inband
+<li><p>We do below sys parameters validation to confirm inband
update is allowed.
- Platform is managed by HMC or not?.
-- Code update policy (inband code update allowed?).</li>
-<li>We parse candidate image header (first 4k bytes) to perform
+- Code update policy (inband code update allowed?).</p></li>
+<li><p>We parse candidate image header (first 4k bytes) to perform
below validations.
- Image magic number.
-- Image version to confirm image is valid for this platform.</li>
+- Image version to confirm image is valid for this platform.</p></li>
</ul>
</div></blockquote>
-<div class="section" id="input">
+<section id="input">
<h3>Input<a class="headerlink" href="#input" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt>buffer</dt>
-<dd>First 4k bytes of new image</dd>
-<dt>size</dt>
-<dd>Input buffer size</dd>
+<dl class="simple">
+<dt>buffer</dt><dd><p>First 4k bytes of new image</p>
+</dd>
+<dt>size</dt><dd><p>Input buffer size</p>
+</dd>
</dl>
-</div>
-<div class="section" id="output">
+</section>
+<section id="output">
<h3>Output<a class="headerlink" href="#output" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt>buffer</dt>
-<dd>Output result (current and new image version details)</dd>
-<dt>size</dt>
-<dd>Output buffer size</dd>
-<dt>result</dt>
-<dd>Token to identify what will happen if update is attempted
-See hw/fsp/fsp-codeupdate.h for token values.</dd>
+<dl class="simple">
+<dt>buffer</dt><dd><p>Output result (current and new image version details)</p>
+</dd>
+<dt>size</dt><dd><p>Output buffer size</p>
+</dd>
+<dt>result</dt><dd><p>Token to identify what will happen if update is attempted
+See hw/fsp/fsp-codeupdate.h for token values.</p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-value">
+</section>
+<section id="return-value">
<h3>Return value<a class="headerlink" href="#return-value" title="Permalink to this headline">¶</a></h3>
<p>Validation status</p>
-</div>
-</div>
-<div class="section" id="opal-flash-manage">
+</section>
+</section>
+<section id="opal-flash-manage">
<span id="id2"></span><h2>OPAL_FLASH_MANAGE<a class="headerlink" href="#opal-flash-manage" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_FLASH_MANAGE 77</span>
-<span class="kt">int64_t</span> <span class="nf">fsp_opal_manage_flash</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">op</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">fsp_opal_manage_flash</span><span class="p">(</span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">op</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Commit/Reject image.</p>
<blockquote>
<div><ul class="simple">
-<li>We can commit new image (T -&gt; P), if system is running with T side image.</li>
-<li>We can reject T side image, if system is running with P side image.</li>
+<li><p>We can commit new image (T -&gt; P), if system is running with T side image.</p></li>
+<li><p>We can reject T side image, if system is running with P side image.</p></li>
</ul>
</div></blockquote>
<p><strong>Note:</strong> If a platform is running from a T side image when an update is to be
applied, then the platform may automatically commit the current T side
image to the P side to allow the new image to be updated to the
temporary image area.</p>
-<div class="section" id="id3">
+<section id="id3">
<h3>Input<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt>op</dt>
-<dd>Operation (1 : Commit /0 : Reject)</dd>
-<dt>Return value</dt>
-<dd>Commit operation status (0 : Success)</dd>
+<dl class="simple">
+<dt>op</dt><dd><p>Operation (1 : Commit /0 : Reject)</p>
+</dd>
+<dt>Return value</dt><dd><p>Commit operation status (0 : Success)</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-flash-update">
+</section>
+</section>
+<section id="opal-flash-update">
<span id="id4"></span><h2>OPAL_FLASH_UPDATE<a class="headerlink" href="#opal-flash-update" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_FLASH_UPDATE 78</span>
-<span class="kt">int64_t</span> <span class="nf">fsp_opal_update_flash</span><span class="p">(</span><span class="k">struct</span> <span class="n">opal_sg_list</span> <span class="o">*</span><span class="n">list</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">fsp_opal_update_flash</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">opal_sg_list</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Update new image. It only sets the flag, actual update happens
@@ -139,31 +139,32 @@ via MBOX command.</p>
<p>FW update flow :</p>
<blockquote>
<div><ul class="simple">
-<li><dl class="first docutils">
-<dt>if (running side == T)</dt>
-<dd>Swap P &amp; T side</dd>
+<li><dl class="simple">
+<dt>if (running side == T)</dt><dd><p>Swap P &amp; T side</p>
+</dd>
</dl>
</li>
-<li>Start code update</li>
-<li>Delete T side LIDs</li>
-<li>Write LIDs</li>
-<li>Code update complete</li>
-<li>Deep IPL</li>
+<li><p>Start code update</p></li>
+<li><p>Delete T side LIDs</p></li>
+<li><p>Write LIDs</p></li>
+<li><p>Code update complete</p></li>
+<li><p>Deep IPL</p></li>
</ul>
</div></blockquote>
-<div class="section" id="id5">
+<section id="id5">
<h3>Input<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt>list</dt>
-<dd>Real address of image scatter/gather list of the FW image</dd>
-<dt>Return value:</dt>
-<dd>Update operation status (0: update requested)</dd>
+<dl class="simple">
+<dt>list</dt><dd><p>Real address of image scatter/gather list of the FW image</p>
+</dd>
+<dt>Return value:</dt><dd><p>Update operation status (0: update requested)</p>
+</dd>
</dl>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -204,17 +205,15 @@ via MBOX command.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -231,14 +230,15 @@ via MBOX command.</p>
<li class="right" >
<a href="opal-check-token-80.html" title="OPAL_CHECK_TOKEN"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Code Update on FSP based machine</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-config-cpu-idle-state-99.html b/doc/opal-api/opal-config-cpu-idle-state-99.html
index 398ef0f..bf63180 100644
--- a/doc/opal-api/opal-config-cpu-idle-state-99.html
+++ b/doc/opal-api/opal-config-cpu-idle-state-99.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_CONFIG_CPU_IDLE_STATE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_CONFIG_CPU_IDLE_STATE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-code-update-76-77-78.html" title="Code Update on FSP based machine"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CONFIG_CPU_IDLE_STATE</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-config-cpu-idle-state">
+ <section id="opal-config-cpu-idle-state">
<span id="id1"></span><h1>OPAL_CONFIG_CPU_IDLE_STATE<a class="headerlink" href="#opal-config-cpu-idle-state" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_CONFIG_CPU_IDLE_STATE 99</span>
@@ -54,29 +54,30 @@
<span class="cm"> * state = 1 fast-sleep</span>
<span class="cm"> * enter = 1 Enter state</span>
<span class="cm"> * exit = 0 Exit state</span>
-<span class="cm"> */</span>
+<span class="cm"> */</span><span class="w"></span>
<span class="cp">#define OPAL_PM_SLEEP_ENABLED_ER1 0x00080000 </span><span class="cm">/* with workaround */</span><span class="cp"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_config_cpu_idle_state</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">state</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">enter</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_config_cpu_idle_state</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">state</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">enter</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>If the <cite>OPAL_PM_SLEEP_ENABLED_ER1</cite> bit is set on a stop state, then this OPAL
call needs to be made upon entry and exit of stop state.
This is currently needed for the <cite>fastsleep_</cite> idle state, present on POWER8
systems.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Applied workaround</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid state or enter/exit.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Applied workaround</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid state or enter/exit.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -104,17 +105,15 @@ systems.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -131,14 +130,15 @@ systems.</p>
<li class="right" >
<a href="opal-code-update-76-77-78.html" title="Code Update on FSP based machine"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_CONFIG_CPU_IDLE_STATE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-console-read-write-1-2.html b/doc/opal-api/opal-console-read-write-1-2.html
index c144094..9e43d64 100644
--- a/doc/opal-api/opal-console-read-write-1-2.html
+++ b/doc/opal-api/opal-console-read-write-1-2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Console calls &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Console calls &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-config-cpu-idle-state-99.html" title="OPAL_CONFIG_CPU_IDLE_STATE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Console calls</a></li>
</ul>
</div>
@@ -45,48 +45,48 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-console-calls">
+ <section id="opal-console-calls">
<h1>OPAL Console calls<a class="headerlink" href="#opal-console-calls" title="Permalink to this headline">¶</a></h1>
<p>There are four OPAL calls relating to the OPAL console:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="41%" />
-<col width="13%" />
-<col width="22%" />
-<col width="9%" />
-<col width="15%" />
+<col style="width: 41%" />
+<col style="width: 13%" />
+<col style="width: 22%" />
+<col style="width: 9%" />
+<col style="width: 15%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>Name</td>
-<td>API Token ID</td>
-<td>Introduced</td>
-<td>Required
-as of</td>
-<td>Notes</td>
+<tbody>
+<tr class="row-odd"><td><p>Name</p></td>
+<td><p>API Token ID</p></td>
+<td><p>Introduced</p></td>
+<td><p>Required
+as of</p></td>
+<td><p>Notes</p></td>
</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-console-write"><span class="std std-ref">OPAL_CONSOLE_WRITE</span></a></td>
-<td>1</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-console-write"><span class="std std-ref">OPAL_CONSOLE_WRITE</span></a></p></td>
+<td><p>1</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-console-read"><span class="std std-ref">OPAL_CONSOLE_READ</span></a></td>
-<td>2</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-console-read"><span class="std std-ref">OPAL_CONSOLE_READ</span></a></p></td>
+<td><p>2</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-console-write-buffer-space"><span class="std std-ref">OPAL_CONSOLE_WRITE_BUFFER_SPACE</span></a></td>
-<td>25</td>
-<td>v1.0 (Initial Release)</td>
-<td>POWER8</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-console-write-buffer-space"><span class="std std-ref">OPAL_CONSOLE_WRITE_BUFFER_SPACE</span></a></p></td>
+<td><p>25</p></td>
+<td><p>v1.0 (Initial Release)</p></td>
+<td><p>POWER8</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-console-flush"><span class="std std-ref">OPAL_CONSOLE_FLUSH</span></a></td>
-<td>117</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.13.html#skiboot-5-1-13"><span class="std std-ref">skiboot-5.1.13</span></a></td>
-<td>POWER9</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-console-flush"><span class="std std-ref">OPAL_CONSOLE_FLUSH</span></a></p></td>
+<td><p>117</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.13.html#skiboot-5-1-13"><span class="std std-ref">skiboot-5.1.13</span></a></p></td>
+<td><p>POWER9</p></td>
+<td></td>
</tr>
</tbody>
</table>
@@ -95,7 +95,7 @@ be represented in the device tree.</p>
<p>A conforming implementation SHOULD have at least one console. It is valid
for it to simply be an in-memory buffer and only support writing.</p>
<p>[TODO: details on device tree specs for console]</p>
-<div class="section" id="opal-console-write">
+<section id="opal-console-write">
<span id="id1"></span><h2>OPAL_CONSOLE_WRITE<a class="headerlink" href="#opal-console-write" title="Permalink to this headline">¶</a></h2>
<p>Parameters:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">int64_t</span> <span class="n">term_number</span>
@@ -106,18 +106,18 @@ for it to simply be an in-memory buffer and only support writing.</p>
<p>Returns:</p>
<blockquote>
<div><ul class="simple">
-<li><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></li>
-<li><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> on invalid term_number</li>
-<li><a class="reference internal" href="return-codes.html#opal-closed"><span class="std std-ref">OPAL_CLOSED</span></a> if console device closed</li>
-<li><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a> if unable to write any of buffer</li>
+<li><p><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> on invalid term_number</p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-closed"><span class="std std-ref">OPAL_CLOSED</span></a> if console device closed</p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a> if unable to write any of buffer</p></li>
</ul>
</div></blockquote>
<p><code class="docutils literal notranslate"><span class="pre">term_number</span></code> is the terminal number as represented in the device tree.
<code class="docutils literal notranslate"><span class="pre">length</span></code> is a pointer to the length of buffer.</p>
<p>A conforming implementation SHOULD try to NOT do partial writes, although
partial writes and not writing anything are valid.</p>
-</div>
-<div class="section" id="opal-console-write-buffer-space">
+</section>
+<section id="opal-console-write-buffer-space">
<span id="id2"></span><h2>OPAL_CONSOLE_WRITE_BUFFER_SPACE<a class="headerlink" href="#opal-console-write-buffer-space" title="Permalink to this headline">¶</a></h2>
<p>Parameters:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">int64_t</span> <span class="n">term_number</span>
@@ -127,15 +127,15 @@ partial writes and not writing anything are valid.</p>
<p>Returns:</p>
<blockquote>
<div><ul class="simple">
-<li><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></li>
-<li><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> on invalid term_number</li>
+<li><p><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> on invalid term_number</p></li>
</ul>
</div></blockquote>
<p>Returns the available buffer length for OPAL_CONSOLE_WRITE in <code class="docutils literal notranslate"><span class="pre">length</span></code>.
This call can be used to help work out if there is sufficient buffer
space to write your full message to the console with OPAL_CONSOLE_WRITE.</p>
-</div>
-<div class="section" id="opal-console-read">
+</section>
+<section id="opal-console-read">
<span id="id3"></span><h2>OPAL_CONSOLE_READ<a class="headerlink" href="#opal-console-read" title="Permalink to this headline">¶</a></h2>
<p>Parameters:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">int64_t</span> <span class="n">term_number</span>
@@ -146,14 +146,14 @@ space to write your full message to the console with OPAL_CONSOLE_WRITE.</p>
<p>Returns:</p>
<blockquote>
<div><ul class="simple">
-<li><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></li>
-<li><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> on invalid term_number</li>
-<li><a class="reference internal" href="return-codes.html#opal-closed"><span class="std std-ref">OPAL_CLOSED</span></a></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> on invalid term_number</p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-closed"><span class="std std-ref">OPAL_CLOSED</span></a></p></li>
</ul>
</div></blockquote>
<p>Use <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> for how to determine</p>
-</div>
-<div class="section" id="opal-console-flush">
+</section>
+<section id="opal-console-flush">
<span id="id4"></span><h2>OPAL_CONSOLE_FLUSH<a class="headerlink" href="#opal-console-flush" title="Permalink to this headline">¶</a></h2>
<p>Parameters:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">int64_t</span> <span class="n">term_number</span>
@@ -162,17 +162,18 @@ space to write your full message to the console with OPAL_CONSOLE_WRITE.</p>
<p>Returns:</p>
<blockquote>
<div><ul class="simple">
-<li><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></li>
-<li><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a> if the console does not implement a flush call</li>
-<li><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> on invalid term_number</li>
-<li><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a> if more to flush, call again</li>
-<li><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a> if nothing was flushed this call</li>
+<li><p><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a> if the console does not implement a flush call</p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> on invalid term_number</p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a> if more to flush, call again</p></li>
+<li><p><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a> if nothing was flushed this call</p></li>
</ul>
</div></blockquote>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -203,17 +204,15 @@ space to write your full message to the console with OPAL_CONSOLE_WRITE.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -230,14 +229,15 @@ space to write your full message to the console with OPAL_CONSOLE_WRITE.</p>
<li class="right" >
<a href="opal-config-cpu-idle-state-99.html" title="OPAL_CONFIG_CPU_IDLE_STATE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Console calls</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-dump-81-82-83-84-94-101-102.html b/doc/opal-api/opal-dump-81-82-83-84-94-101-102.html
index 630687a..167b722 100644
--- a/doc/opal-api/opal-dump-81-82-83-84-94-101-102.html
+++ b/doc/opal-api/opal-dump-81-82-83-84-94-101-102.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Dumps &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Dumps &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-console-read-write-1-2.html" title="OPAL Console calls"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Dumps</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-dumps">
+ <section id="opal-dumps">
<span id="id1"></span><h1>OPAL Dumps<a class="headerlink" href="#opal-dumps" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_REGISTER_DUMP_REGION 101</span>
<span class="cp">#define OPAL_UNREGISTER_DUMP_REGION 102</span>
-<span class="kt">int64_t</span> <span class="nf">opal_register_dump_region</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">addr</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">);</span>
-<span class="kt">int64_t</span> <span class="nf">opal_unregister_dump_region</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">id</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_register_dump_region</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">addr</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">);</span><span class="w"></span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_unregister_dump_region</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">id</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>In the event of crashes, some service processors and firmware support gathering
@@ -80,19 +80,19 @@ used by it.</p>
<span class="cp">#define OPAL_DUMP_RESEND 91</span>
<span class="cp">#define OPAL_DUMP_INFO2 94</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_init</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">dump_type</span><span class="p">);</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_info</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_size</span><span class="p">);</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_read</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">dump_id</span><span class="p">,</span> <span class="k">struct</span> <span class="n">opal_sg_list</span> <span class="o">*</span><span class="n">list</span><span class="p">);</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_ack</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">dump_id</span><span class="p">);</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_resend_notification</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_info2</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_size</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_type</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_init</span><span class="p">(</span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">dump_type</span><span class="p">);</span><span class="w"></span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_info</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_size</span><span class="p">);</span><span class="w"></span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_read</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">dump_id</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">opal_sg_list</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="p">);</span><span class="w"></span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_ack</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">dump_id</span><span class="p">);</span><span class="w"></span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_resend_notification</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span><span class="w"></span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_info2</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_size</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_type</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="opal-register-dump-region">
+<section id="opal-register-dump-region">
<span id="id2"></span><h2>OPAL_REGISTER_DUMP_REGION<a class="headerlink" href="#opal-register-dump-region" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_REGISTER_DUMP_REGION 101</span>
-<span class="kt">int64_t</span> <span class="nf">opal_register_dump_region</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">addr</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_register_dump_region</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">addr</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call is used to register regions of memory for a service processor to capture
@@ -103,9 +103,9 @@ memory into some kind of crash dump for further analysis.</p>
<a class="reference internal" href="opal-check-token-80.html#opal-check-token"><span class="std std-ref">OPAL_CHECK_TOKEN</span></a> call to find out if <a class="reference internal" href="#opal-register-dump-region"><span class="std std-ref">OPAL_REGISTER_DUMP_REGION</span></a> is supported.</p>
<p><a class="reference internal" href="#opal-register-dump-region"><span class="std std-ref">OPAL_REGISTER_DUMP_REGION</span></a> accepts 3 parameters:</p>
<ul class="simple">
-<li>region ID</li>
-<li>address</li>
-<li>length</li>
+<li><p>region ID</p></li>
+<li><p>address</p></li>
+<li><p>length</p></li>
</ul>
<p>There is a range of region IDs that can be used by the host OS. A host OS should
start from OPAL_DUMP_REGION_HOST_END and work down if it wants to add a not well
@@ -125,19 +125,19 @@ the system doesn’t support registering regions to be dumped.</p>
return <a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a>.</p>
<p>Systems likely have a limit as to how many regions they can support being dumped. If
this limit is reached, <a class="reference internal" href="#opal-register-dump-region"><span class="std std-ref">OPAL_REGISTER_DUMP_REGION</span></a> will return <a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a>.</p>
-<div class="section" id="bugs">
+<section id="bugs">
<h3>BUGS<a class="headerlink" href="#bugs" title="Permalink to this headline">¶</a></h3>
<p>Some skiboot versions incorrectly returned <a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a> in the case of
<a class="reference internal" href="#opal-register-dump-region"><span class="std std-ref">OPAL_REGISTER_DUMP_REGION</span></a> being supported on a platform (so the call was present)
but the call being unsupported for some reason (e.g. on an IBM POWER7 machine).</p>
<p>See also: <a class="reference internal" href="#opal-unregister-dump-region"><span class="std std-ref">OPAL_UNREGISTER_DUMP_REGION</span></a></p>
-</div>
-</div>
-<div class="section" id="opal-unregister-dump-region">
+</section>
+</section>
+<section id="opal-unregister-dump-region">
<span id="id3"></span><h2>OPAL_UNREGISTER_DUMP_REGION<a class="headerlink" href="#opal-unregister-dump-region" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_UNREGISTER_DUMP_REGION 102</span>
-<span class="kt">int64_t</span> <span class="nf">opal_unregister_dump_region</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">id</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_unregister_dump_region</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">id</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>While <a class="reference internal" href="#opal-register-dump-region"><span class="std std-ref">OPAL_REGISTER_DUMP_REGION</span></a> registers a region, <a class="reference internal" href="#opal-unregister-dump-region"><span class="std std-ref">OPAL_UNREGISTER_DUMP_REGION</span></a>
@@ -147,14 +147,14 @@ will unregister a region by region ID.</p>
<a class="reference internal" href="opal-check-token-80.html#opal-check-token"><span class="std std-ref">OPAL_CHECK_TOKEN</span></a>.</p>
<p>If <a class="reference internal" href="#opal-unregister-dump-region"><span class="std std-ref">OPAL_UNREGISTER_DUMP_REGION</span></a> is called on a system where the call is present but
unsupported, it will return <a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a>.</p>
-<div class="section" id="id4">
+<section id="id4">
<h3>BUGS<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
<p>Some skiboot versions incorrectly returned <a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a> in the case of
<a class="reference internal" href="#opal-unregister-dump-region"><span class="std std-ref">OPAL_UNREGISTER_DUMP_REGION</span></a> being supported on a platform (so the call was present)
but the call being unsupported for some reason (e.g. on an IBM POWER7 machine).</p>
-</div>
-</div>
-<div class="section" id="opal-dump-init">
+</section>
+</section>
+<section id="opal-dump-init">
<span id="id5"></span><h2>OPAL_DUMP_INIT<a class="headerlink" href="#opal-dump-init" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_DUMP_INIT 81</span>
@@ -162,107 +162,107 @@ but the call being unsupported for some reason (e.g. on an IBM POWER7 machine).<
<span class="cp">#define DUMP_TYPE_SYS 0x02</span>
<span class="cp">#define DUMP_TYPE_SMA 0x03</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_init</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">dump_type</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_init</span><span class="p">(</span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">dump_type</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Ask the service processor to initiate a dump. Currently, only <code class="docutils literal notranslate"><span class="pre">DUMP_TYPE_FSP</span></code>
is supported.</p>
<p>Currently only implemented on FSP based systems. Use <a class="reference internal" href="opal-check-token-80.html#opal-check-token"><span class="std std-ref">OPAL_CHECK_TOKEN</span></a> to
ensure the call is valid.</p>
-<div class="section" id="returns">
+<section id="returns">
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Dump initiated</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Unsupported dump type. Currently only <code class="docutils literal notranslate"><span class="pre">DUMP_TYPE_FSP</span></code> is supported and
-only on FSP based platforms.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Failed to ask service processor to initiated dump.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Dump initiated</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Unsupported dump type. Currently only <code class="docutils literal notranslate"><span class="pre">DUMP_TYPE_FSP</span></code> is supported and
+only on FSP based platforms.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Failed to ask service processor to initiated dump.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-dump-info">
+</section>
+</section>
+<section id="opal-dump-info">
<span id="id6"></span><h2>OPAL_DUMP_INFO<a class="headerlink" href="#opal-dump-info" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_DUMP_INFO 82</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_info</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_size</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_info</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_size</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Obsolete, use <a class="reference internal" href="#opal-dump-info2"><span class="std std-ref">OPAL_DUMP_INFO2</span></a> instead.</p>
<p>No upstream Linux code ever used <a class="reference internal" href="#opal-dump-info"><span class="std std-ref">OPAL_DUMP_INFO</span></a>, although early PowerKVM
trees did. <a class="reference internal" href="#opal-dump-info"><span class="std std-ref">OPAL_DUMP_INFO</span></a> is implemented as a wrapper around
<a class="reference internal" href="#opal-dump-info2"><span class="std std-ref">OPAL_DUMP_INFO2</span></a>.</p>
-</div>
-<div class="section" id="opal-dump-read">
+</section>
+<section id="opal-dump-read">
<span id="id7"></span><h2>OPAL_DUMP_READ<a class="headerlink" href="#opal-dump-read" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_DUMP_READ 83</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_read</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">dump_id</span><span class="p">,</span> <span class="k">struct</span> <span class="n">opal_sg_list</span> <span class="o">*</span><span class="n">list</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_read</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">dump_id</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">opal_sg_list</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Read <code class="docutils literal notranslate"><span class="pre">dump_id</span></code> dump from the service processor into memory.</p>
-<div class="section" id="id8">
+<section id="id8">
<h3>Returns<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Invalid Dump ID or internal error.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Insuffcient space to store dump.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt>
-<dd>Fetching dump, call <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> to crank the state machine,
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Invalid Dump ID or internal error.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Insuffcient space to store dump.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt><dd><p>Fetching dump, call <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> to crank the state machine,
and call <a class="reference internal" href="#opal-dump-read"><span class="std std-ref">OPAL_DUMP_READ</span></a> again until neither <a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a>
-nor <a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a> are returned.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></dt>
-<dd>Only part of the dump was read.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Dump successfully read.</dd>
+nor <a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a> are returned.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></dt><dd><p>Only part of the dump was read.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Dump successfully read.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-dump-ack">
+</section>
+</section>
+<section id="opal-dump-ack">
<span id="id9"></span><h2>OPAL_DUMP_ACK<a class="headerlink" href="#opal-dump-ack" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_DUMP_ACK 84</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_ack</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">dump_id</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_ack</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">dump_id</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Acknowledge the dump to the service processor. This means the service processor
can re-claim the storage space used by the dump. Effectively, this is an
<code class="docutils literal notranslate"><span class="pre">unlink</span></code> style operation.</p>
-<div class="section" id="id10">
+<section id="id10">
<h3>Returns<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Dump successfully acknowledged.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Failed to acknowledge the dump, e.g. could not communicate with service
-processor.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid dump ID.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Dump successfully acknowledged.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Failed to acknowledge the dump, e.g. could not communicate with service
+processor.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid dump ID.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-dump-resend">
+</section>
+</section>
+<section id="opal-dump-resend">
<span id="id11"></span><h2>OPAL_DUMP_RESEND<a class="headerlink" href="#opal-dump-resend" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_DUMP_RESEND 91</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_resend_notification</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_resend_notification</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Resend notification to the OS if there is a dump available. This will
cause OPAL to check if a dump is available and set the
<a class="reference internal" href="opal-poll-events.html#opal-event-dump-avail"><span class="std std-ref">OPAL_EVENT_DUMP_AVAIL = 0x400</span></a> bit in the next <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> call.</p>
-<div class="section" id="id12">
+<section id="id12">
<h3>Returns<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Successfully reset <a class="reference internal" href="opal-poll-events.html#opal-event-dump-avail"><span class="std std-ref">OPAL_EVENT_DUMP_AVAIL = 0x400</span></a> bit.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Successfully reset <a class="reference internal" href="opal-poll-events.html#opal-event-dump-avail"><span class="std std-ref">OPAL_EVENT_DUMP_AVAIL = 0x400</span></a> bit.</p>
+</dd>
</dl>
<p>In future, this may return other standard OPAL error codes.</p>
-</div>
-</div>
-<div class="section" id="opal-dump-info2">
+</section>
+</section>
+<section id="opal-dump-info2">
<span id="id13"></span><h2>OPAL_DUMP_INFO2<a class="headerlink" href="#opal-dump-info2" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_DUMP_INFO2 94</span>
@@ -270,7 +270,7 @@ cause OPAL to check if a dump is available and set the
<span class="cp">#define DUMP_TYPE_SYS 0x02</span>
<span class="cp">#define DUMP_TYPE_SMA 0x03</span>
-<span class="kt">int64_t</span> <span class="nf">opal_dump_info2</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_size</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">dump_type</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_dump_info2</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_size</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">dump_type</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Retreives information about a dump, notably it’s <code class="docutils literal notranslate"><span class="pre">dump_id</span></code>, size, and type.
@@ -279,19 +279,20 @@ Call this after the <a class="reference internal" href="opal-poll-events.html#op
dump to be retreived and/or ACKed, even though there may be more than one dump
available for retreiving.</p>
<p>This call replaces <a class="reference internal" href="#opal-dump-info"><span class="std std-ref">OPAL_DUMP_INFO</span></a>.</p>
-<div class="section" id="id14">
+<section id="id14">
<h3>Returns<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Information retreived.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>No dump available or internal error.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Information retreived.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>No dump available or internal error.</p>
+</dd>
</dl>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -347,17 +348,15 @@ available for retreiving.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -374,14 +373,15 @@ available for retreiving.</p>
<li class="right" >
<a href="opal-console-read-write-1-2.html" title="OPAL Console calls"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Dumps</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-elog-71-72-73-74-75.html b/doc/opal-api/opal-elog-71-72-73-74-75.html
index 1c7c671..372b2c7 100644
--- a/doc/opal-api/opal-elog-71-72-73-74-75.html
+++ b/doc/opal-api/opal-elog-71-72-73-74-75.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_ELOG: Error logging &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_ELOG: Error logging &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-dump-81-82-83-84-94-101-102.html" title="OPAL Dumps"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_ELOG: Error logging</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-elog-error-logging">
+ <section id="opal-elog-error-logging">
<span id="opal-elog"></span><h1>OPAL_ELOG: Error logging<a class="headerlink" href="#opal-elog-error-logging" title="Permalink to this headline">¶</a></h1>
<p>OPAL provides an abstraction to platform specific methods of storing and
retrieving error logs. Some service processors may be able to store information
@@ -70,7 +70,7 @@ then the rest of that group is also present. The presence of <a class="reference
must be checked separately.</p>
<p><strong>TODO</strong>: we need a good explanation of the notification mechanism and in
what order and <em>when</em> to call each of the OPAL APIs.</p>
-<div class="section" id="opal-elog-read">
+<section id="opal-elog-read">
<span id="id1"></span><h2>OPAL_ELOG_READ<a class="headerlink" href="#opal-elog-read" title="Permalink to this headline">¶</a></h2>
<p>The <a class="reference internal" href="#opal-elog-read"><span class="std std-ref">OPAL_ELOG_READ</span></a> call will copy the error log identified by <code class="docutils literal notranslate"><span class="pre">id</span></code> into
the <code class="docutils literal notranslate"><span class="pre">buffer</span></code> of size <code class="docutils literal notranslate"><span class="pre">size</span></code>.</p>
@@ -81,19 +81,19 @@ the <code class="docutils literal notranslate"><span class="pre">buffer</span></
</pre></div>
</div>
<p>Returns:</p>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt>
-<dd>When there are no error logs to read, or <code class="docutils literal notranslate"><span class="pre">OPAL_ELOG</span></code> calls are done in the
-wrong order.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">id</span></code> does not match the log id that is available.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Error log is copied to <code class="docutils literal notranslate"><span class="pre">buffer</span></code>.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt><dd><p>When there are no error logs to read, or <code class="docutils literal notranslate"><span class="pre">OPAL_ELOG</span></code> calls are done in the
+wrong order.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">id</span></code> does not match the log id that is available.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Error log is copied to <code class="docutils literal notranslate"><span class="pre">buffer</span></code>.</p>
+</dd>
</dl>
<p>Other generic OPAL error codes may also be returned and should be treated
like <a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a>.</p>
-</div>
-<div class="section" id="opal-elog-ack">
+</section>
+<section id="opal-elog-ack">
<span id="id2"></span><h2>OPAL_ELOG_ACK<a class="headerlink" href="#opal-elog-ack" title="Permalink to this headline">¶</a></h2>
<p>Acknowledging (ACKing) an error log tells OPAL and the service processor that
the host operating system has dealt with the error log successfully. This allows
@@ -104,24 +104,24 @@ memory/storage.</p>
</pre></div>
</div>
<p>Returns:</p>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>OPAL failed to send acknowledgement to the error log creator.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success!</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>OPAL failed to send acknowledgement to the error log creator.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success!</p>
+</dd>
</dl>
<p>Other generic OPAL error codes may also be returned, and should be treated
like <a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a>.</p>
-</div>
-<div class="section" id="opal-elog-resend">
+</section>
+<section id="opal-elog-resend">
<span id="id3"></span><h2>OPAL_ELOG_RESEND<a class="headerlink" href="#opal-elog-resend" title="Permalink to this headline">¶</a></h2>
<p>The <a class="reference internal" href="#opal-elog-resend"><span class="std std-ref">OPAL_ELOG_RESEND</span></a> call will cause OPAL to resend notification to the
host operating system of all outstanding error logs. This is commonly used
(although doesn’t have to be) in a kexec scenario.</p>
<p>The call registered with this token accepts no parameter and returns type is
void.</p>
-</div>
-<div class="section" id="opal-elog-size">
+</section>
+<section id="opal-elog-size">
<span id="id4"></span><h2>OPAL_ELOG_SIZE<a class="headerlink" href="#opal-elog-size" title="Permalink to this headline">¶</a></h2>
<p>The <a class="reference internal" href="#opal-elog-size"><span class="std std-ref">OPAL_ELOG_SIZE</span></a> call retrieves information about an error log.</p>
<p>Here, <code class="docutils literal notranslate"><span class="pre">type</span></code> specifies error log format. Supported types are :</p>
@@ -135,17 +135,18 @@ void.</p>
</pre></div>
</div>
<p>Returns:</p>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt>
-<dd>There is no error log to fetch information about.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt><dd><p>There is no error log to fetch information about.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success.</p>
+</dd>
</dl>
<p>Other general OPAL errors may be returned.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -176,17 +177,15 @@ void.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -203,14 +202,15 @@ void.</p>
<li class="right" >
<a href="opal-dump-81-82-83-84-94-101-102.html" title="OPAL Dumps"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_ELOG: Error logging</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-flash-110-111-112.html b/doc/opal-api/opal-flash-110-111-112.html
index 911dbae..27086e1 100644
--- a/doc/opal-api/opal-flash-110-111-112.html
+++ b/doc/opal-api/opal-flash-110-111-112.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Flash calls &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Flash calls &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-elog-71-72-73-74-75.html" title="OPAL_ELOG: Error logging"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Flash calls</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-flash-calls">
+ <section id="opal-flash-calls">
<h1>OPAL Flash calls<a class="headerlink" href="#opal-flash-calls" title="Permalink to this headline">¶</a></h1>
<p>There are three OPAL calls for interacting with flash devices:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_FLASH_READ 110</span>
@@ -55,7 +55,7 @@
</div>
<p>Multiple flash devices are supported by OPAL - each of these calls takes an id
parameter, which must match an ID found in the corresponding <code class="docutils literal notranslate"><span class="pre">ibm,opal/flash&#64;n</span></code>
-device tree node. See <a class="reference internal" href="../device-tree/ibm,opal/flash.html#device-tree-ibm-opal-flash"><span class="std std-ref">ibm,opal/flash device tree entries</span></a> for details of
+device tree node. See <a class="reference internal" href="../device-tree/ibm%2Copal/flash.html#device-tree-ibm-opal-flash"><span class="std std-ref">ibm,opal/flash device tree entries</span></a> for details of
the device tree bindings.</p>
<p>All operations on the flash device must be aligned to the block size of the
flash. This applies to both offset and size arguments.</p>
@@ -64,8 +64,8 @@ success, the calls will return <a class="reference internal" href="return-codes.
opal_async_completion message will be sent (with the appropriate token
argument) when the operation completes.</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">These calls can have higher than normal latency, spending many
+<p class="admonition-title">Note</p>
+<p>These calls can have higher than normal latency, spending many
<strong>milliseconds</strong> inside OPAL. This is due to the OPAL_FLASH_* calls
typically being backed by flash on the other side of the LPC bus,
which has a maximum transfer rate of 5MB/sec, or to/from flash attached
@@ -73,55 +73,56 @@ to the ast2400/ast2500 (the typical setup for OpenPOWER systems) of
only 1.75MB/sec.</p>
</div>
<p>All calls share the same return values:</p>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>operation started, an async completion will be triggered with the <code class="docutils literal notranslate"><span class="pre">token</span></code> argument</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>invalid flash id</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>invalid size or offset (alignment, or access beyond end of device)</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>flash in use</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>error accessing flash device</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>operation started, an async completion will be triggered with the <code class="docutils literal notranslate"><span class="pre">token</span></code> argument</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>invalid flash id</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>invalid size or offset (alignment, or access beyond end of device)</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>flash in use</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>error accessing flash device</p>
+</dd>
</dl>
-<div class="section" id="opal-flash-read">
+<section id="opal-flash-read">
<span id="id1"></span><h2>OPAL_FLASH_READ<a class="headerlink" href="#opal-flash-read" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_FLASH_READ 110</span>
-<span class="kt">int64_t</span> <span class="nf">opal_flash_read</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">buf</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">token</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_flash_read</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">buf</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">token</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Reads from the specified flash id, at the specified offset, into the buffer.
Will trigger an async completion with token when completed.</p>
-</div>
-<div class="section" id="opal-flash-erase">
+</section>
+<section id="opal-flash-erase">
<span id="id2"></span><h2>OPAL_FLASH_ERASE<a class="headerlink" href="#opal-flash-erase" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_FLASH_ERASE 112</span>
-<span class="kt">int64_t</span> <span class="nf">opal_flash_erase</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">token</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_flash_erase</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">token</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Erases the specified flash id, at the specified offset and size. Will trigger
an async completion with token when completed.</p>
-</div>
-<div class="section" id="opal-flash-write">
+</section>
+<section id="opal-flash-write">
<span id="id3"></span><h2>OPAL_FLASH_WRITE<a class="headerlink" href="#opal-flash-write" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_FLASH_WRITE 111</span>
-<span class="kt">int64_t</span> <span class="nf">opal_flash_write</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">buf</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">token</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_flash_write</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">buf</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">token</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Writes buffer to the specified flash id, at the specified offset and size. The
flash must be erased before being written. Will trigger an async completion with
token when completed.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -151,17 +152,15 @@ token when completed.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -178,14 +177,15 @@ token when completed.</p>
<li class="right" >
<a href="opal-elog-71-72-73-74-75.html" title="OPAL_ELOG: Error logging"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Flash calls</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-get-device-tree-118.html b/doc/opal-api/opal-get-device-tree-118.html
index 42ee1b3..998b42e 100644
--- a/doc/opal-api/opal-get-device-tree-118.html
+++ b/doc/opal-api/opal-get-device-tree-118.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_GET_DEVICE_TREE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_GET_DEVICE_TREE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-flash-110-111-112.html" title="OPAL Flash calls"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_DEVICE_TREE</a></li>
</ul>
</div>
@@ -45,45 +45,46 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-get-device-tree">
+ <section id="opal-get-device-tree">
<span id="id1"></span><h1>OPAL_GET_DEVICE_TREE<a class="headerlink" href="#opal-get-device-tree" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_DEVICE_TREE 118</span>
-<span class="kt">int64_t</span> <span class="nf">opal_get_device_tree</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">phandle</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">buf</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">len</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_device_tree</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">phandle</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">buf</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">len</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Get device sub-tree.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">phandle</span></code></dt>
-<dd>root device node phandle of the device sub-tree</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">buf</span></code></dt>
-<dd>FDT blob buffer or NULL</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">len</span></code></dt>
-<dd>length of the FDT blob buffer</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">phandle</span></code></dt><dd><p>root device node phandle of the device sub-tree</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">buf</span></code></dt><dd><p>FDT blob buffer or NULL</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">len</span></code></dt><dd><p>length of the FDT blob buffer</p>
+</dd>
</dl>
<p>Retrieve device sub-tree. The root node’s phandle is identified by &#64;phandle.
The typical use is for the kernel to update its device tree following a change
in hardware (e.g. PCI hotplug).</p>
-<div class="section" id="return-codes">
+<section id="return-codes">
<h2>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>FDT blob size</dt>
-<dd>returned FDT blob buffer size when <code class="docutils literal notranslate"><span class="pre">buf</span></code> is NULL</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>FDT blob is created successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>invalid argument &#64;phandle or &#64;len</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>failure creating FDT blob when calculating its size</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt>
-<dd>not enough room in buffer for device sub-tree</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-empty"><span class="std std-ref">OPAL_EMPTY</span></a></dt>
-<dd>failure creating FDT blob</dd>
+<dl class="simple">
+<dt>FDT blob size</dt><dd><p>returned FDT blob buffer size when <code class="docutils literal notranslate"><span class="pre">buf</span></code> is NULL</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>FDT blob is created successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>invalid argument &#64;phandle or &#64;len</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>failure creating FDT blob when calculating its size</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt><dd><p>not enough room in buffer for device sub-tree</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-empty"><span class="std std-ref">OPAL_EMPTY</span></a></dt><dd><p>failure creating FDT blob</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -111,17 +112,15 @@ in hardware (e.g. PCI hotplug).</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -138,14 +137,15 @@ in hardware (e.g. PCI hotplug).</p>
<li class="right" >
<a href="opal-flash-110-111-112.html" title="OPAL Flash calls"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_DEVICE_TREE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-get-epow-status-56.html b/doc/opal-api/opal-get-epow-status-56.html
index 9be0cac..9c340ed 100644
--- a/doc/opal-api/opal-get-epow-status-56.html
+++ b/doc/opal-api/opal-get-epow-status-56.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_GET_EPOW_STATUS &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_GET_EPOW_STATUS &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-get-device-tree-118.html" title="OPAL_GET_DEVICE_TREE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_EPOW_STATUS</a></li>
</ul>
</div>
@@ -45,46 +45,46 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-get-epow-status">
+ <section id="opal-get-epow-status">
<span id="id1"></span><h1>OPAL_GET_EPOW_STATUS<a class="headerlink" href="#opal-get-epow-status" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_EPOW_STATUS 56</span>
-<span class="k">enum</span> <span class="n">OpalEpowStatus</span> <span class="p">{</span>
- <span class="n">OPAL_EPOW_NONE</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_EPOW_UPS</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EPOW_OVER_AMBIENT_TEMP</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EPOW_OVER_INTERNAL_TEMP</span> <span class="o">=</span> <span class="mi">3</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalEpowStatus</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EPOW_NONE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EPOW_UPS</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EPOW_OVER_AMBIENT_TEMP</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EPOW_OVER_INTERNAL_TEMP</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="cm">/* System EPOW type */</span>
-<span class="k">enum</span> <span class="n">OpalSysEpow</span> <span class="p">{</span>
- <span class="n">OPAL_SYSEPOW_POWER</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="cm">/* Power EPOW */</span>
- <span class="n">OPAL_SYSEPOW_TEMP</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="cm">/* Temperature EPOW */</span>
- <span class="n">OPAL_SYSEPOW_COOLING</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span> <span class="cm">/* Cooling EPOW */</span>
- <span class="n">OPAL_SYSEPOW_MAX</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span> <span class="cm">/* Max EPOW categories */</span>
-<span class="p">};</span>
+<span class="cm">/* System EPOW type */</span><span class="w"></span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalSysEpow</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSEPOW_POWER</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="cm">/* Power EPOW */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSEPOW_TEMP</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="cm">/* Temperature EPOW */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSEPOW_COOLING</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="cm">/* Cooling EPOW */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSEPOW_MAX</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="cm">/* Max EPOW categories */</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="cm">/* Power EPOW */</span>
-<span class="k">enum</span> <span class="n">OpalSysPower</span> <span class="p">{</span>
- <span class="n">OPAL_SYSPOWER_UPS</span> <span class="o">=</span> <span class="mh">0x0001</span><span class="p">,</span> <span class="cm">/* System on UPS power */</span>
- <span class="n">OPAL_SYSPOWER_CHNG</span> <span class="o">=</span> <span class="mh">0x0002</span><span class="p">,</span> <span class="cm">/* System power configuration change */</span>
- <span class="n">OPAL_SYSPOWER_FAIL</span> <span class="o">=</span> <span class="mh">0x0004</span><span class="p">,</span> <span class="cm">/* System impending power failure */</span>
- <span class="n">OPAL_SYSPOWER_INCL</span> <span class="o">=</span> <span class="mh">0x0008</span><span class="p">,</span> <span class="cm">/* System incomplete power */</span>
- <span class="p">};</span>
+<span class="cm">/* Power EPOW */</span><span class="w"></span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalSysPower</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSPOWER_UPS</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0001</span><span class="p">,</span><span class="w"> </span><span class="cm">/* System on UPS power */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSPOWER_CHNG</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0002</span><span class="p">,</span><span class="w"> </span><span class="cm">/* System power configuration change */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSPOWER_FAIL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0004</span><span class="p">,</span><span class="w"> </span><span class="cm">/* System impending power failure */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSPOWER_INCL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0008</span><span class="p">,</span><span class="w"> </span><span class="cm">/* System incomplete power */</span><span class="w"></span>
+<span class="w"> </span><span class="p">};</span><span class="w"></span>
-<span class="cm">/* Temperature EPOW */</span>
-<span class="k">enum</span> <span class="n">OpalSysTemp</span> <span class="p">{</span>
- <span class="n">OPAL_SYSTEMP_AMB</span> <span class="o">=</span> <span class="mh">0x0001</span><span class="p">,</span> <span class="cm">/* System over ambient temperature */</span>
- <span class="n">OPAL_SYSTEMP_INT</span> <span class="o">=</span> <span class="mh">0x0002</span><span class="p">,</span> <span class="cm">/* System over internal temperature */</span>
- <span class="n">OPAL_SYSTEMP_HMD</span> <span class="o">=</span> <span class="mh">0x0004</span><span class="p">,</span> <span class="cm">/* System over ambient humidity */</span>
-<span class="p">};</span>
+<span class="cm">/* Temperature EPOW */</span><span class="w"></span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalSysTemp</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSTEMP_AMB</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0001</span><span class="p">,</span><span class="w"> </span><span class="cm">/* System over ambient temperature */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSTEMP_INT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0002</span><span class="p">,</span><span class="w"> </span><span class="cm">/* System over internal temperature */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSTEMP_HMD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0004</span><span class="p">,</span><span class="w"> </span><span class="cm">/* System over ambient humidity */</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="cm">/* Cooling EPOW */</span>
-<span class="k">enum</span> <span class="n">OpalSysCooling</span> <span class="p">{</span>
- <span class="n">OPAL_SYSCOOL_INSF</span> <span class="o">=</span> <span class="mh">0x0001</span><span class="p">,</span> <span class="cm">/* System insufficient cooling */</span>
-<span class="p">};</span>
+<span class="cm">/* Cooling EPOW */</span><span class="w"></span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalSysCooling</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_SYSCOOL_INSF</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0001</span><span class="p">,</span><span class="w"> </span><span class="cm">/* System insufficient cooling */</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_get_epow_status</span><span class="p">(</span><span class="kt">int16_t</span> <span class="o">*</span><span class="n">out_epow</span><span class="p">,</span> <span class="kt">int16_t</span> <span class="o">*</span><span class="n">length</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_epow_status</span><span class="p">(</span><span class="kt">int16_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_epow</span><span class="p">,</span><span class="w"> </span><span class="kt">int16_t</span><span class="w"> </span><span class="o">*</span><span class="n">length</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The <a class="reference internal" href="#opal-get-epow-status"><span class="std std-ref">OPAL_GET_EPOW_STATUS</span></a> call gets the Environmental and Power Warnings
@@ -96,18 +96,19 @@ status bits, and passes in the length of this array. OPAL will return the
maximum length it filled out. Thus, new classes can be added and backwards
compatibility is maintained.</p>
<p>At time of writing, this call is only implemented on FSP based systems.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Successfully retreived status. Note, success is returned even if only
-able to retreive a subset of the EPOW classes.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Successfully retreived status. Note, success is returned even if only
+able to retreive a subset of the EPOW classes.</p>
+</dd>
</dl>
<p>Other return codes may be returned in the future.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -135,17 +136,15 @@ able to retreive a subset of the EPOW classes.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -162,14 +161,15 @@ able to retreive a subset of the EPOW classes.</dd>
<li class="right" >
<a href="opal-get-device-tree-118.html" title="OPAL_GET_DEVICE_TREE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_EPOW_STATUS</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-get-msg-85.html b/doc/opal-api/opal-get-msg-85.html
index 2fb3449..cda9435 100644
--- a/doc/opal-api/opal-get-msg-85.html
+++ b/doc/opal-api/opal-get-msg-85.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_GET_MSG &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_GET_MSG &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-get-epow-status-56.html" title="OPAL_GET_EPOW_STATUS"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_MSG</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-get-msg">
+ <section id="opal-get-msg">
<span id="id1"></span><h1>OPAL_GET_MSG<a class="headerlink" href="#opal-get-msg" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_MSG 85</span>
-<span class="kt">int64_t</span> <span class="nf">opal_get_msg</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="o">*</span><span class="n">buffer</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_msg</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><a class="reference internal" href="#opal-get-msg"><span class="std std-ref">OPAL_GET_MSG</span></a> will get the next pending OPAL Message (see <a class="reference internal" href="opal-messages.html#opal-messages"><span class="std std-ref">OPAL_MESSAGE</span></a>).</p>
@@ -66,29 +66,30 @@ if it correctly uses opal-msg-size. Any OPAL message &gt; 72 bytes, a host OS
may safely ignore.</p>
<p>A host OS <em>SHOULD</em> always supply a buffer to OPAL_GET_MSG of either 72
bytes or opal-msg-size. It MUST NOT supply a buffer of &lt; 72 bytes.</p>
-<div class="section" id="return-values">
+<section id="return-values">
<h2>Return values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-resource"><span class="std std-ref">OPAL_RESOURCE</span></a></dt>
-<dd>no available message.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>buffer is NULL or size is &lt; 72 bytes.
-If buffer size &lt; 72 bytes, the message will NOT be discarded by OPAL.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></dt>
-<dd>If pending opal message is greater than supplied buffer.
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-resource"><span class="std std-ref">OPAL_RESOURCE</span></a></dt><dd><p>no available message.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>buffer is NULL or size is &lt; 72 bytes.
+If buffer size &lt; 72 bytes, the message will NOT be discarded by OPAL.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></dt><dd><p>If pending opal message is greater than supplied buffer.
In this case the message is <em>DISCARDED</em> by OPAL.
This is to keep compatibility with host Operating Systems
with a hard coded opal-msg-size of 72 bytes.
<strong>NOT CURRENTLY IMPLEMENTED</strong>. Specified so that host OS can
prepare for the possible future with either a sensible
-error message or by gracefully ignoring such OPAL messages.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>message successfully copied to buffer.</dd>
+error message or by gracefully ignoring such OPAL messages.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>message successfully copied to buffer.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -116,17 +117,15 @@ error message or by gracefully ignoring such OPAL messages.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -143,14 +142,15 @@ error message or by gracefully ignoring such OPAL messages.</dd>
<li class="right" >
<a href="opal-get-epow-status-56.html" title="OPAL_GET_EPOW_STATUS"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_MSG</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-get-msi-39-40.html b/doc/opal-api/opal-get-msi-39-40.html
index 6e5c76c..2eb6a39 100644
--- a/doc/opal-api/opal-get-msi-39-40.html
+++ b/doc/opal-api/opal-get-msi-39-40.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_GET_MSI_32 and OPAL_GET_MSI_64 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_GET_MSI_32 and OPAL_GET_MSI_64 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-get-msg-85.html" title="OPAL_GET_MSG"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_MSI_32 and OPAL_GET_MSI_64</a></li>
</ul>
</div>
@@ -45,38 +45,38 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-get-msi-32-and-opal-get-msi-64">
+ <section id="opal-get-msi-32-and-opal-get-msi-64">
<h1>OPAL_GET_MSI_32 and OPAL_GET_MSI_64<a class="headerlink" href="#opal-get-msi-32-and-opal-get-msi-64" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_MSI_32 39</span>
<span class="cp">#define OPAL_GET_MSI_64 40</span>
-<span class="kt">int64_t</span> <span class="nf">opal_get_msi_32</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">mve_number</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">xive_num</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">msi_range</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">msi_address</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">message_data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_msi_32</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">mve_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">xive_num</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">msi_range</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">msi_address</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">message_data</span><span class="p">);</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_get_msi_64</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">mve_number</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">xive_num</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">msi_range</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">msi_address</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">message_data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_msi_64</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">mve_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">xive_num</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">msi_range</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">msi_address</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">message_data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="opal-get-msi-32">
+<section id="opal-get-msi-32">
<span id="id1"></span><h2>OPAL_GET_MSI_32<a class="headerlink" href="#opal-get-msi-32" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_MSI_32 39</span>
-<span class="kt">int64_t</span> <span class="nf">opal_get_msi_32</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">mve_number</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">xive_num</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">msi_range</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">msi_address</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">message_data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_msi_32</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">mve_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">xive_num</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">msi_range</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">msi_address</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">message_data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>See <a class="reference internal" href="#opal-get-msi-64"><span class="std std-ref">OPAL_GET_MSI_64</span></a>.</p>
-</div>
-<div class="section" id="opal-get-msi-64">
+</section>
+<section id="opal-get-msi-64">
<span id="id2"></span><h2>OPAL_GET_MSI_64<a class="headerlink" href="#opal-get-msi-64" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_MSI_64 40</span>
-<span class="kt">int64_t</span> <span class="nf">opal_get_msi_64</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">mve_number</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">xive_num</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">msi_range</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">msi_address</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">message_data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_msi_64</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">mve_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">xive_num</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">msi_range</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">msi_address</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">message_data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><strong>WARNING:</strong> the following documentation is from old sources, and is possibly
@@ -87,24 +87,24 @@ The host calls these functions to determine the PHB MSI DMA address and message
data to program into a PE PCIE function for a particular MVE and XIVE. The
msi_address parameter returns the MSI DMA address and the msi_data parameter
returns the MSI DMA message data value the PE uses to signal that interrupt.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">phb_id</span></code> parameter is the value from the PHB node <code class="docutils literal notranslate"><span class="pre">ibm,opal-phbid</span></code>
-property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">mve_number</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">mve_number</span></code> is the index of an MVE used to authorize this PE to this
-MSI. For <code class="docutils literal notranslate"><span class="pre">ibm,opal-ioda2</span></code> PHBs, the MVE number argument is ignored.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">xive_number</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">xive_number</span></code> is the index of an XIVE that corresponds to a particular
-DMA address and message data value this PE will signal as an MSI ro MSI-X.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">msi_range</span></code></dt>
-<dd>The msi_range parameter specifies the number of MSIs associated with the
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">phb_id</span></code> parameter is the value from the PHB node <code class="docutils literal notranslate"><span class="pre">ibm,opal-phbid</span></code>
+property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">mve_number</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">mve_number</span></code> is the index of an MVE used to authorize this PE to this
+MSI. For <code class="docutils literal notranslate"><span class="pre">ibm,opal-ioda2</span></code> PHBs, the MVE number argument is ignored.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">xive_number</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">xive_number</span></code> is the index of an XIVE that corresponds to a particular
+DMA address and message data value this PE will signal as an MSI ro MSI-X.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">msi_range</span></code></dt><dd><p>The msi_range parameter specifies the number of MSIs associated with the
in put MVE and XIVE, primarily for MSI-conventional Multiple Message
Enable &gt; 1 MSI. MSI requires consecutive MSIs per MSI address, and each
MSI DMA address must be unique for any given consecutive power of 2 set
of 32 message data values,. which in turn select particular PHB XIVEs.
This value must be a power of 2 value in the range of 0 to 32. OPAL
-returns <a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> for values outside of this range.</dd>
+returns <a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a> for values outside of this range.</p>
+</dd>
</dl>
<p>For MSI conventional, the MSI address and message data returned apply to a
power of 2 sequential set of XIVRs starting from the xive_number for the
@@ -118,10 +118,11 @@ number. For MSI conventional, the host should specify either a value of 0 or 1,
for an MSI Capability MME value of 1 MSI. For MSI-X XIVRs, the host should
specify a value of ‘1’ for the msi_range argument and call this function for
each MSI-X uniquely.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -150,17 +151,15 @@ each MSI-X uniquely.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -177,14 +176,15 @@ each MSI-X uniquely.</p>
<li class="right" >
<a href="opal-get-msg-85.html" title="OPAL_GET_MSG"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_MSI_32 and OPAL_GET_MSI_64</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-get-xive-20.html b/doc/opal-api/opal-get-xive-20.html
index b992289..e69596e 100644
--- a/doc/opal-api/opal-get-xive-20.html
+++ b/doc/opal-api/opal-get-xive-20.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_GET_XIVE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_GET_XIVE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-get-msi-39-40.html" title="OPAL_GET_MSI_32 and OPAL_GET_MSI_64"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_XIVE</a></li>
</ul>
</div>
@@ -45,31 +45,32 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-get-xive">
+ <section id="opal-get-xive">
<span id="id1"></span><h1>OPAL_GET_XIVE<a class="headerlink" href="#opal-get-xive" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_XIVE 20</span>
-<span class="kt">int64_t</span> <span class="nf">opal_get_xive</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">isn</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">server</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">priority</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_xive</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">isn</span><span class="p">,</span><span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="o">*</span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="o">*</span><span class="n">priority</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The host calls this function to return the configuration of an
interrupt source. See <a class="reference internal" href="opal-set-xive-19.html#opal-set-xive"><span class="std std-ref">OPAL_SET_XIVE</span></a> for details.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">isn</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">isn</span></code> is the global interrupt number being queried</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">server_number</span></code></dt>
-<dd>the <code class="docutils literal notranslate"><span class="pre">server_number</span></code> returns the mangled server (processor)
-that is set to receive that interrupt.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt>
-<dd>the <code class="docutils literal notranslate"><span class="pre">priority</span></code> returns the current interrupt priority setting
-for that interrupt.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">isn</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">isn</span></code> is the global interrupt number being queried</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">server_number</span></code></dt><dd><p>the <code class="docutils literal notranslate"><span class="pre">server_number</span></code> returns the mangled server (processor)
+that is set to receive that interrupt.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt><dd><p>the <code class="docutils literal notranslate"><span class="pre">priority</span></code> returns the current interrupt priority setting
+for that interrupt.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -97,17 +98,15 @@ for that interrupt.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -124,14 +123,15 @@ for that interrupt.</dd>
<li class="right" >
<a href="opal-get-msi-39-40.html" title="OPAL_GET_MSI_32 and OPAL_GET_MSI_64"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_GET_XIVE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-handle-hmi-98-166.html b/doc/opal-api/opal-handle-hmi-98-166.html
index a64ba24..9308e27 100644
--- a/doc/opal-api/opal-handle-hmi-98-166.html
+++ b/doc/opal-api/opal-handle-hmi-98-166.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Hypervisor Maintenance Interrupt (HMI) &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Hypervisor Maintenance Interrupt (HMI) &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-get-xive-20.html" title="OPAL_GET_XIVE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Hypervisor Maintenance Interrupt (HMI)</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="hypervisor-maintenance-interrupt-hmi">
+ <section id="hypervisor-maintenance-interrupt-hmi">
<h1>Hypervisor Maintenance Interrupt (HMI)<a class="headerlink" href="#hypervisor-maintenance-interrupt-hmi" title="Permalink to this headline">¶</a></h1>
<p>Hypervisor Maintenance Interrupt usually reports error related to processor
recovery/checkstop, NX/NPU checkstop and Timer facility. Hypervisor then
@@ -62,43 +62,43 @@ be enabled by the corresponding bits in the HMEER in order to cause an HMI.</p>
specific copies. Each thread can only clear bits in its own HMER. OPAL
handler from each thread clears the respective bit from HMER register
after handling the error.</p>
-</div>
-<div class="section" id="list-of-errors-that-causes-hmi">
+</section>
+<section id="list-of-errors-that-causes-hmi">
<h1>List of errors that causes HMI<a class="headerlink" href="#list-of-errors-that-causes-hmi" title="Permalink to this headline">¶</a></h1>
<blockquote>
<div><ul>
-<li><p class="first">CPU Errors</p>
+<li><p>CPU Errors</p>
<ul class="simple">
-<li>Processor Core checkstop</li>
-<li>Processor retry recovery</li>
-<li>NX/NPU/CAPP checkstop.</li>
+<li><p>Processor Core checkstop</p></li>
+<li><p>Processor retry recovery</p></li>
+<li><p>NX/NPU/CAPP checkstop.</p></li>
</ul>
</li>
-<li><p class="first">Timer facility Errors</p>
+<li><p>Timer facility Errors</p>
<ul class="simple">
-<li>ChipTOD Errors</li>
+<li><p>ChipTOD Errors</p></li>
</ul>
<blockquote>
<div><ul class="simple">
-<li>ChipTOD sync check and parity errors</li>
-<li>ChipTOD configuration register parity errors</li>
-<li>ChiTOD topology failover</li>
+<li><p>ChipTOD sync check and parity errors</p></li>
+<li><p>ChipTOD configuration register parity errors</p></li>
+<li><p>ChiTOD topology failover</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">Timebase (TB) errors</p>
+<li><p>Timebase (TB) errors</p>
<blockquote>
<div><ul class="simple">
-<li>TB parity/residue error</li>
-<li>TFMR parity and firmware control error</li>
-<li>DEC/HDEC/PURR/SPURR parity errors</li>
+<li><p>TB parity/residue error</p></li>
+<li><p>TFMR parity and firmware control error</p></li>
+<li><p>DEC/HDEC/PURR/SPURR parity errors</p></li>
</ul>
</div></blockquote>
</li>
</ul>
</div></blockquote>
-</div>
-<div class="section" id="hmi-handling">
+</section>
+<section id="hmi-handling">
<h1>HMI handling<a class="headerlink" href="#hmi-handling" title="Permalink to this headline">¶</a></h1>
<p>A core/NX/NPU checkstops are reported as malfunction alert (HMER bit 0).
OPAL handler scans through Fault Isolation Register (FIR) for each
@@ -128,12 +128,12 @@ recovery OPAL hmi handler clears the TOD error and then requests new TOD
value from another running chipTOD in the system. Sometimes, if a primary
chipTOD is in error, it may need a TOD topology switch to recover from
error. A TOD topology switch basically makes a backup as new active master.</p>
-</div>
-<div class="section" id="opal-handle-hmi">
+</section>
+<section id="opal-handle-hmi">
<span id="id1"></span><h1>OPAL_HANDLE_HMI<a class="headerlink" href="#opal-handle-hmi" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_HANDLE_HMI 98</span>
-<span class="kt">int64_t</span> <span class="nf">opal_handle_hmi</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_handle_hmi</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Superseded by <a class="reference internal" href="#opal-handle-hmi2"><span class="std std-ref">OPAL_HANDLE_HMI2</span></a>, meaning that <a class="reference internal" href="#opal-handle-hmi"><span class="std std-ref">OPAL_HANDLE_HMI</span></a>
@@ -141,12 +141,12 @@ should only be called if <a class="reference internal" href="#opal-handle-hmi2">
<p>Since <a class="reference internal" href="#opal-handle-hmi2"><span class="std std-ref">OPAL_HANDLE_HMI2</span></a> has been available since the start of POWER9
systems being supported, if you only target POWER9 and above, you can
assume the presence of <a class="reference internal" href="#opal-handle-hmi2"><span class="std std-ref">OPAL_HANDLE_HMI2</span></a>.</p>
-</div>
-<div class="section" id="opal-handle-hmi2">
+</section>
+<section id="opal-handle-hmi2">
<span id="id2"></span><h1>OPAL_HANDLE_HMI2<a class="headerlink" href="#opal-handle-hmi2" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_HANDLE_HMI2 166</span>
-<span class="kt">int64_t</span> <span class="nf">opal_handle_hmi2</span><span class="p">(</span><span class="n">__be64</span> <span class="o">*</span><span class="n">out_flags</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_handle_hmi2</span><span class="p">(</span><span class="n">__be64</span><span class="w"> </span><span class="o">*</span><span class="n">out_flags</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>When OS host gets an Hypervisor Maintenance Interrupt (HMI), it must call
@@ -161,36 +161,37 @@ it would flag <code class="docutils literal notranslate"><span class="pre">OPAL_
dead. This information then can be used by OS to make sure that the
functions relying on TB value (e.g. udelay()) are aware of TB not ticking.
This will avoid OS getting stuck or hang during its way to panic path.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="n">__be64</span> <span class="o">*</span><span class="n">out_flags</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="n">__be64</span><span class="w"> </span><span class="o">*</span><span class="n">out_flags</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
<p>Returns the 64-bit flag mask that provides info about which timer facilities
were lost, and whether an event was generated.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* OPAL_HANDLE_HMI2 out_flags */</span>
-<span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_HMI_FLAGS_TB_RESYNC</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1ull</span> <span class="o">&lt;&lt;</span> <span class="mi">0</span><span class="p">),</span> <span class="cm">/* Timebase has been resynced */</span>
- <span class="n">OPAL_HMI_FLAGS_DEC_LOST</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1ull</span> <span class="o">&lt;&lt;</span> <span class="mi">1</span><span class="p">),</span> <span class="cm">/* DEC lost, needs to be reprogrammed */</span>
- <span class="n">OPAL_HMI_FLAGS_HDEC_LOST</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1ull</span> <span class="o">&lt;&lt;</span> <span class="mi">2</span><span class="p">),</span> <span class="cm">/* HDEC lost, needs to be reprogrammed */</span>
- <span class="n">OPAL_HMI_FLAGS_TOD_TB_FAIL</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1ull</span> <span class="o">&lt;&lt;</span> <span class="mi">3</span><span class="p">),</span> <span class="cm">/* TOD/TB recovery failed. */</span>
- <span class="n">OPAL_HMI_FLAGS_NEW_EVENT</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1ull</span> <span class="o">&lt;&lt;</span> <span class="mi">63</span><span class="p">),</span> <span class="cm">/* An event has been created */</span>
-<span class="p">};</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* OPAL_HANDLE_HMI2 out_flags */</span><span class="w"></span>
+<span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_HMI_FLAGS_TB_RESYNC</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1ull</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="cm">/* Timebase has been resynced */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_HMI_FLAGS_DEC_LOST</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1ull</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="cm">/* DEC lost, needs to be reprogrammed */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_HMI_FLAGS_HDEC_LOST</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1ull</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="cm">/* HDEC lost, needs to be reprogrammed */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_HMI_FLAGS_TOD_TB_FAIL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1ull</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="cm">/* TOD/TB recovery failed. */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_HMI_FLAGS_NEW_EVENT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1ull</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">63</span><span class="p">),</span><span class="w"> </span><span class="cm">/* An event has been created */</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
-<dl class="docutils" id="opal-hmi-flags-tod-tb-fail">
-<dt>OPAL_HMI_FLAGS_TOD_TB_FAIL</dt>
-<dd>The Time of Day (TOD) / Timebase facility has failed. This is probably fatal
+<dl class="simple" id="opal-hmi-flags-tod-tb-fail">
+<dt>OPAL_HMI_FLAGS_TOD_TB_FAIL</dt><dd><p>The Time of Day (TOD) / Timebase facility has failed. This is probably fatal
for the OS, and requires the OS to be very careful to not call any function
that may rely on it, usually as it heads down a <cite>panic()</cite> code path.
This code path should be <a class="reference internal" href="opal-cec-reboot-6-116.html#opal-cec-reboot2"><span class="std std-ref">OPAL_CEC_REBOOT2</span></a> with the OPAL_REBOOT_PLATFORM_ERROR
option. Details of the failure are likely delivered as part of HMI events if
-<cite>OPAL_HMI_FLAGS_NEW_EVENT</cite> is set.</dd>
+<cite>OPAL_HMI_FLAGS_NEW_EVENT</cite> is set.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -222,17 +223,15 @@ option. Details of the failure are likely delivered as part of HMI events if
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -249,14 +248,15 @@ option. Details of the failure are likely delivered as part of HMI events if
<li class="right" >
<a href="opal-get-xive-20.html" title="OPAL_GET_XIVE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Hypervisor Maintenance Interrupt (HMI)</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-handle-interrupt.html b/doc/opal-api/opal-handle-interrupt.html
index 2997a8c..9bf0d23 100644
--- a/doc/opal-api/opal-handle-interrupt.html
+++ b/doc/opal-api/opal-handle-interrupt.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_HANDLE_INTERRUPT &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_HANDLE_INTERRUPT &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-handle-hmi-98-166.html" title="Hypervisor Maintenance Interrupt (HMI)"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_HANDLE_INTERRUPT</a></li>
</ul>
</div>
@@ -45,9 +45,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-handle-interrupt">
+ <section id="opal-handle-interrupt">
<span id="id1"></span><h1>OPAL_HANDLE_INTERRUPT<a class="headerlink" href="#opal-handle-interrupt" title="Permalink to this headline">¶</a></h1>
-<p>The host OS must pass all interrupts in the <cite>opal-interrupts</cite> property of <a class="reference internal" href="../device-tree/ibm,opal.html#device-tree-ibm-opal"><span class="std std-ref">ibm,opal</span></a> in the device tree to OPAL.</p>
+<p>The host OS must pass all interrupts in the <cite>opal-interrupts</cite> property of <a class="reference internal" href="../device-tree/ibm%2Copal.html#device-tree-ibm-opal"><span class="std std-ref">ibm,opal</span></a> in the device tree to OPAL.</p>
<p>An example dt snippet is:</p>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">ibm,opal</span> <span class="p">{</span>
<span class="nf">opal-interrupts</span> <span class="o">=</span> <span class="p">&lt;</span><span class="mh">0x10</span> <span class="mh">0x11</span> <span class="mh">0x12</span> <span class="mh">0x13</span> <span class="mh">0x14</span> <span class="mh">0x20010</span> <span class="mh">0x20011</span> <span class="mh">0x20012</span> <span class="mh">0x20013</span> <span class="mh">0x20014</span> <span class="mh">0xffe</span> <span class="mh">0xfff</span> <span class="mh">0x17fe</span> <span class="mh">0x17ff</span> <span class="mh">0x2ffe</span> <span class="mh">0x2fff</span> <span class="mh">0x37fe</span> <span class="mh">0x37ff</span> <span class="mh">0x20ffe</span> <span class="mh">0x20fff</span> <span class="mh">0x217fe</span> <span class="mh">0x217ff</span> <span class="mh">0x22ffe</span> <span class="mh">0x22fff</span> <span class="mh">0x237fe</span> <span class="mh">0x237ff</span><span class="p">&gt;;</span>
@@ -57,17 +57,18 @@
<p>When the host OS gets any of these interrupts, it must call
<code class="docutils literal notranslate"><span class="pre">OPAL_HANDLE_INTERRUPT</span></code>.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">OPAL_HANDLE_INTERRUPT</span></code> call takes two parameters, one input and one output.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">isn</span></code></dt>
-<dd>the interrupt</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">*outstanding_event_mask</span></code></dt>
-<dd>returns outstanding events for host OS to handle</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">isn</span></code></dt><dd><p>the interrupt</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">*outstanding_event_mask</span></code></dt><dd><p>returns outstanding events for host OS to handle</p>
+</dd>
</dl>
<p>The host OS should then handle any outstanding events.</p>
<p>See <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> for documentation on events.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -87,17 +88,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -114,14 +113,15 @@
<li class="right" >
<a href="opal-handle-hmi-98-166.html" title="Hypervisor Maintenance Interrupt (HMI)"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_HANDLE_INTERRUPT</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-i2c-request-109.html b/doc/opal-api/opal-i2c-request-109.html
index bf9d989..22430da 100644
--- a/doc/opal-api/opal-i2c-request-109.html
+++ b/doc/opal-api/opal-i2c-request-109.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_I2C_REQUEST &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_I2C_REQUEST &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-handle-interrupt.html" title="OPAL_HANDLE_INTERRUPT"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_I2C_REQUEST</a></li>
</ul>
</div>
@@ -45,69 +45,70 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-i2c-request">
+ <section id="opal-i2c-request">
<span id="id1"></span><h1>OPAL_I2C_REQUEST<a class="headerlink" href="#opal-i2c-request" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_REQUEST 109</span>
-<span class="cm">/* OPAL I2C request */</span>
-<span class="k">struct</span> <span class="n">opal_i2c_request</span> <span class="p">{</span>
- <span class="kt">uint8_t</span> <span class="n">type</span><span class="p">;</span>
+<span class="cm">/* OPAL I2C request */</span><span class="w"></span>
+<span class="k">struct</span><span class="w"> </span><span class="nc">opal_i2c_request</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">type</span><span class="p">;</span><span class="w"></span>
<span class="cp">#define OPAL_I2C_RAW_READ 0</span>
<span class="cp">#define OPAL_I2C_RAW_WRITE 1</span>
<span class="cp">#define OPAL_I2C_SM_READ 2</span>
<span class="cp">#define OPAL_I2C_SM_WRITE 3</span>
- <span class="kt">uint8_t</span> <span class="n">flags</span><span class="p">;</span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">flags</span><span class="p">;</span><span class="w"></span>
<span class="cp">#define OPAL_I2C_ADDR_10 0x01 </span><span class="cm">/* Not supported yet */</span><span class="cp"></span>
- <span class="kt">uint8_t</span> <span class="n">subaddr_sz</span><span class="p">;</span> <span class="cm">/* Max 4 */</span>
- <span class="kt">uint8_t</span> <span class="n">reserved</span><span class="p">;</span>
- <span class="n">__be16</span> <span class="n">addr</span><span class="p">;</span> <span class="cm">/* 7 or 10 bit address */</span>
- <span class="n">__be16</span> <span class="n">reserved2</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">subaddr</span><span class="p">;</span> <span class="cm">/* Sub-address if any */</span>
- <span class="n">__be32</span> <span class="n">size</span><span class="p">;</span> <span class="cm">/* Data size */</span>
- <span class="n">__be64</span> <span class="n">buffer_ra</span><span class="p">;</span> <span class="cm">/* Buffer real address */</span>
-<span class="p">};</span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">subaddr_sz</span><span class="p">;</span><span class="w"> </span><span class="cm">/* Max 4 */</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">reserved</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be16</span><span class="w"> </span><span class="n">addr</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 7 or 10 bit address */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be16</span><span class="w"> </span><span class="n">reserved2</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">subaddr</span><span class="p">;</span><span class="w"> </span><span class="cm">/* Sub-address if any */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">size</span><span class="p">;</span><span class="w"> </span><span class="cm">/* Data size */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">buffer_ra</span><span class="p">;</span><span class="w"> </span><span class="cm">/* Buffer real address */</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int</span> <span class="nf">opal_i2c_request</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">async_token</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">bus_id</span><span class="p">,</span>
- <span class="k">struct</span> <span class="n">opal_i2c_request</span> <span class="o">*</span><span class="n">oreq</span><span class="p">);</span>
+<span class="kt">int</span><span class="w"> </span><span class="nf">opal_i2c_request</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">async_token</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">bus_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">opal_i2c_request</span><span class="w"> </span><span class="o">*</span><span class="n">oreq</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Initiate I2C request using i2c master that OPAL controls.</p>
-<div class="section" id="return-codes">
+<section id="return-codes">
<h2>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h2>
<p>Most return codes will come through as part of async completion.</p>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid request pointer, or bus ID.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Unsupported operation. e.g. 10 bit addresses not yet supported.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt>
-<dd>Not enough free memory in OPAL to initiate request.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Operation will complete asynchronously.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-i2c-timeout"><span class="std std-ref">OPAL_I2C_TIMEOUT</span></a></dt>
-<dd>I2C operation initiated successfully, but timed out.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-i2c-invalid-cmd"><span class="std std-ref">OPAL_I2C_INVALID</span></a></dt>
-<dd>Invalid i2c Command.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-i2c-lbus-parity"><span class="std std-ref">OPAL_I2C_LBUS_PARITY</span></a></dt>
-<dd>I2C LBUS Parity error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-i2c-bkend-overrun"><span class="std std-ref">OPAL_I2C_BKEND_OVERRUN</span></a></dt>
-<dd>I2C Backend overrun.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-i2c-bkend-access"><span class="std std-ref">OPAL_I2C_BKEND_ACCESS</span></a></dt>
-<dd>I2C Backend Access error.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-i2c-arbt-lost"><span class="std std-ref">OPAL_I2C_ARBT_LOST</span></a></dt>
-<dd>I2C Bus Arbitration lost.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-i2c-nack-rcvd"><span class="std std-ref">OPAL_I2C_NACK_RCVD</span></a></dt>
-<dd>I2C NACK received.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-i2c-stop-err"><span class="std std-ref">OPAL_I2C_STOP_ERR</span></a></dt>
-<dd>I2C STOP error.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>I2C operation completed successfully. Typically only as part of
-async completion.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid request pointer, or bus ID.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Unsupported operation. e.g. 10 bit addresses not yet supported.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt><dd><p>Not enough free memory in OPAL to initiate request.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Operation will complete asynchronously.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-i2c-timeout"><span class="std std-ref">OPAL_I2C_TIMEOUT</span></a></dt><dd><p>I2C operation initiated successfully, but timed out.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-i2c-invalid-cmd"><span class="std std-ref">OPAL_I2C_INVALID</span></a></dt><dd><p>Invalid i2c Command.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-i2c-lbus-parity"><span class="std std-ref">OPAL_I2C_LBUS_PARITY</span></a></dt><dd><p>I2C LBUS Parity error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-i2c-bkend-overrun"><span class="std std-ref">OPAL_I2C_BKEND_OVERRUN</span></a></dt><dd><p>I2C Backend overrun.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-i2c-bkend-access"><span class="std std-ref">OPAL_I2C_BKEND_ACCESS</span></a></dt><dd><p>I2C Backend Access error.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-i2c-arbt-lost"><span class="std std-ref">OPAL_I2C_ARBT_LOST</span></a></dt><dd><p>I2C Bus Arbitration lost.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-i2c-nack-rcvd"><span class="std std-ref">OPAL_I2C_NACK_RCVD</span></a></dt><dd><p>I2C NACK received.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-i2c-stop-err"><span class="std std-ref">OPAL_I2C_STOP_ERR</span></a></dt><dd><p>I2C STOP error.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>I2C operation completed successfully. Typically only as part of
+async completion.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -135,17 +136,15 @@ async completion.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -162,14 +161,15 @@ async completion.</dd>
<li class="right" >
<a href="opal-handle-interrupt.html" title="OPAL_HANDLE_INTERRUPT"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_I2C_REQUEST</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-imc-counters.html b/doc/opal-api/opal-imc-counters.html
index 8120d69..459f91b 100644
--- a/doc/opal-api/opal-imc-counters.html
+++ b/doc/opal-api/opal-imc-counters.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_IMC_COUNTERS_INIT &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_IMC_COUNTERS_INIT &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-i2c-request-109.html" title="OPAL_I2C_REQUEST"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_IMC_COUNTERS_INIT</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-imc-counters-init">
+ <section id="opal-imc-counters-init">
<span id="opal-imc-counters"></span><span id="id1"></span><h1>OPAL_IMC_COUNTERS_INIT<a class="headerlink" href="#opal-imc-counters-init" title="Permalink to this headline">¶</a></h1>
<p>OPAL call interface to initialize In-memory collection
infrastructure. Call does multiple scom writes on each
@@ -63,91 +63,92 @@ unsupported IMC device type. disable_unavailable_units()
removes unsupported nest units by the microcode.
This way OPAL can lock down and advertise only
supported device type and nest units.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">type</span></code></dt>
-<dd>This parameter specifies the imc counter domain.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">type</span></code></dt><dd><p>This parameter specifies the imc counter domain.
The value can be ‘OPAL_IMC_COUNTERS_NEST’, ‘OPAL_IMC_COUNTERS_CORE’
-or ‘OPAL_IMC_COUNTERS_TRACE’.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">addr</span></code></dt>
-<dd>This parameter must have a non-zero value.
-This value must be a physical address of the core.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt>
-<dd>This parameter specifices target cpu pir</dd>
+or ‘OPAL_IMC_COUNTERS_TRACE’.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">addr</span></code></dt><dd><p>This parameter must have a non-zero value.
+This value must be a physical address of the core.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt><dd><p>This parameter specifices target cpu pir</p>
+</dd>
</dl>
-</div>
-<div class="section" id="returns">
+</section>
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>In case of unsupported <code class="docutils literal notranslate"><span class="pre">type</span></code></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>If any error in setting up the hardware.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>On succesfully initialized or even if init operation is a no-op.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>In case of unsupported <code class="docutils literal notranslate"><span class="pre">type</span></code></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>If any error in setting up the hardware.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>On succesfully initialized or even if init operation is a no-op.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-imc-counters-start">
+</section>
+</section>
+<section id="opal-imc-counters-start">
<span id="id2"></span><h1>OPAL_IMC_COUNTERS_START<a class="headerlink" href="#opal-imc-counters-start" title="Permalink to this headline">¶</a></h1>
<p>OPAL call interface for starting the In-Memory Collection
counters for a specified domain (NEST/CORE/TRACE).</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">type</span></code></dt>
-<dd>This parameter specifies the imc counter domain.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">type</span></code></dt><dd><p>This parameter specifies the imc counter domain.
The value can be ‘OPAL_IMC_COUNTERS_NEST’,
-‘OPAL_IMC_COUNTERS_CORE’ or ‘OPAL_IMC_COUNTERS_TRACE’.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt>
-<dd>This parameter specifices target cpu pir</dd>
+‘OPAL_IMC_COUNTERS_CORE’ or ‘OPAL_IMC_COUNTERS_TRACE’.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt><dd><p>This parameter specifices target cpu pir</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h2>Returns<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>In case of Unsupported <code class="docutils literal notranslate"><span class="pre">type</span></code></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>If any error in setting up the hardware.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>On successful execution of the operation for the given <code class="docutils literal notranslate"><span class="pre">type</span></code>.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>In case of Unsupported <code class="docutils literal notranslate"><span class="pre">type</span></code></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>If any error in setting up the hardware.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>On successful execution of the operation for the given <code class="docutils literal notranslate"><span class="pre">type</span></code>.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-imc-counters-stop">
+</section>
+</section>
+<section id="opal-imc-counters-stop">
<span id="id5"></span><h1>OPAL_IMC_COUNTERS_STOP<a class="headerlink" href="#opal-imc-counters-stop" title="Permalink to this headline">¶</a></h1>
<p>OPAL call interface for stoping In-Memory
Collection counters for a specified domain (NEST/CORE/TRACE).
STOP should always be called after a related START.
While STOP <em>may</em> run successfully without an associated
START call, this is not gaurenteed.</p>
-<div class="section" id="id6">
+<section id="id6">
<h2>Parameters<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">type</span></code></dt>
-<dd>This parameter specifies the imc counter domain.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t</span> <span class="pre">type</span></code></dt><dd><p>This parameter specifies the imc counter domain.
The value can be ‘OPAL_IMC_COUNTERS_NEST’,
-‘OPAL_IMC_COUNTERS_CORE’ or ‘OPAL_IMC_COUNTERS_TRACE’</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt>
-<dd>This parameter specifices target cpu pir</dd>
+‘OPAL_IMC_COUNTERS_CORE’ or ‘OPAL_IMC_COUNTERS_TRACE’</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt><dd><p>This parameter specifices target cpu pir</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id7">
+</section>
+<section id="id7">
<h2>Returns<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>In case of Unsupported <code class="docutils literal notranslate"><span class="pre">type</span></code></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>If any error in setting up the hardware.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>On successful execution of the operation for the given <code class="docutils literal notranslate"><span class="pre">type</span></code>.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>In case of Unsupported <code class="docutils literal notranslate"><span class="pre">type</span></code></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>If any error in setting up the hardware.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>On successful execution of the operation for the given <code class="docutils literal notranslate"><span class="pre">type</span></code>.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -186,17 +187,15 @@ The value can be ‘OPAL_IMC_COUNTERS_NEST’,
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -213,14 +212,15 @@ The value can be ‘OPAL_IMC_COUNTERS_NEST’,
<li class="right" >
<a href="opal-i2c-request-109.html" title="OPAL_I2C_REQUEST"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_IMC_COUNTERS_INIT</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-int-eoi-124.html b/doc/opal-api/opal-int-eoi-124.html
index 906aabb..dfea36c 100644
--- a/doc/opal-api/opal-int-eoi-124.html
+++ b/doc/opal-api/opal-int-eoi-124.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_INT_EOI &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_INT_EOI &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-imc-counters.html" title="OPAL_IMC_COUNTERS_INIT"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INT_EOI</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-int-eoi">
+ <section id="opal-int-eoi">
<span id="id1"></span><h1>OPAL_INT_EOI<a class="headerlink" href="#opal-int-eoi" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_INT_EOI 124</span>
-<span class="k">static</span> <span class="kt">int64_t</span> <span class="nf">opal_int_eoi</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">xirr</span><span class="p">);</span>
+<span class="k">static</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_int_eoi</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">xirr</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Modelled on the <code class="docutils literal notranslate"><span class="pre">H_EOI</span></code> PAPR call.</p>
@@ -62,9 +62,10 @@ An OS can instead make OPAL calls for XICS emulation.</p>
<p>For an OS to use this OPAL call, an <code class="docutils literal notranslate"><span class="pre">ibm,opal-intc</span></code> compatible device must
exist in the device tree (see <a class="reference internal" href="../xive.html#xive-device-tree"><span class="std std-ref">I - Device-tree updates</span></a>). If OPAL does not create
such a device, the host OS MUST NOT use this call.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -84,17 +85,15 @@ such a device, the host OS MUST NOT use this call.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -111,14 +110,15 @@ such a device, the host OS MUST NOT use this call.</p>
<li class="right" >
<a href="opal-imc-counters.html" title="OPAL_IMC_COUNTERS_INIT"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INT_EOI</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-int-get-xirr-122.html b/doc/opal-api/opal-int-get-xirr-122.html
index 261a230..733b0b4 100644
--- a/doc/opal-api/opal-int-get-xirr-122.html
+++ b/doc/opal-api/opal-int-get-xirr-122.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_INT_GET_XIRR &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_INT_GET_XIRR &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-int-eoi-124.html" title="OPAL_INT_EOI"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INT_GET_XIRR</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-int-get-xirr">
+ <section id="opal-int-get-xirr">
<span id="id1"></span><h1>OPAL_INT_GET_XIRR<a class="headerlink" href="#opal-int-get-xirr" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_INT_GET_XIRR 122</span>
-<span class="kt">int64_t</span> <span class="nf">opal_int_get_xirr</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="o">*</span><span class="n">out_xirr</span><span class="p">,</span> <span class="kt">bool</span> <span class="n">just_poll</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_int_get_xirr</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_xirr</span><span class="p">,</span><span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="n">just_poll</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Modelled on the PAPR call.</p>
@@ -58,9 +58,10 @@ An OS can instead make OPAL calls for XICS emulation.</p>
<p>For an OS to use this OPAL call, an <code class="docutils literal notranslate"><span class="pre">ibm,opal-intc</span></code> compatible device must
exist in the device tree (see <a class="reference internal" href="../xive.html#xive-device-tree"><span class="std std-ref">I - Device-tree updates</span></a>). If OPAL does not create
such a device, the host OS MUST NOT use this call.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ such a device, the host OS MUST NOT use this call.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ such a device, the host OS MUST NOT use this call.</p>
<li class="right" >
<a href="opal-int-eoi-124.html" title="OPAL_INT_EOI"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INT_GET_XIRR</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-int-set-cppr-123.html b/doc/opal-api/opal-int-set-cppr-123.html
index 6f8f33e..744bce2 100644
--- a/doc/opal-api/opal-int-set-cppr-123.html
+++ b/doc/opal-api/opal-int-set-cppr-123.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_INT_SET_CPPR &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_INT_SET_CPPR &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-int-get-xirr-122.html" title="OPAL_INT_GET_XIRR"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INT_SET_CPPR</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-int-set-cppr">
+ <section id="opal-int-set-cppr">
<span id="id1"></span><h1>OPAL_INT_SET_CPPR<a class="headerlink" href="#opal-int-set-cppr" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_INT_SET_CPPR 123</span>
-<span class="k">static</span> <span class="kt">int64_t</span> <span class="nf">opal_int_set_cppr</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">cppr</span><span class="p">);</span>
+<span class="k">static</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_int_set_cppr</span><span class="p">(</span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">cppr</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Modelled on the <code class="docutils literal notranslate"><span class="pre">H_CPPR</span></code> PAPR call.</p>
@@ -58,9 +58,10 @@ An OS can instead make OPAL calls for XICS emulation.</p>
<p>For an OS to use this OPAL call, an <code class="docutils literal notranslate"><span class="pre">ibm,opal-intc</span></code> compatible device must
exist in the device tree (see <a class="reference internal" href="../xive.html#xive-device-tree"><span class="std std-ref">I - Device-tree updates</span></a>). If OPAL does not create
such a device, the host OS MUST NOT use this call.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ such a device, the host OS MUST NOT use this call.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ such a device, the host OS MUST NOT use this call.</p>
<li class="right" >
<a href="opal-int-get-xirr-122.html" title="OPAL_INT_GET_XIRR"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INT_SET_CPPR</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-int-set-mfrr-125.html b/doc/opal-api/opal-int-set-mfrr-125.html
index ab1c0ac..994f24a 100644
--- a/doc/opal-api/opal-int-set-mfrr-125.html
+++ b/doc/opal-api/opal-int-set-mfrr-125.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_INT_SET_MFRR &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_INT_SET_MFRR &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-int-set-cppr-123.html" title="OPAL_INT_SET_CPPR"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INT_SET_MFRR</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-int-set-mfrr">
+ <section id="opal-int-set-mfrr">
<span id="id1"></span><h1>OPAL_INT_SET_MFRR<a class="headerlink" href="#opal-int-set-mfrr" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_INT_SET_MFRR 125</span>
-<span class="k">static</span> <span class="kt">int64_t</span> <span class="nf">opal_int_set_mfrr</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">cpu</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">mfrr</span><span class="p">);</span>
+<span class="k">static</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_int_set_mfrr</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">cpu</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">mfrr</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Modelled on the <code class="docutils literal notranslate"><span class="pre">H_IPI</span></code> PAPR call.</p>
@@ -58,9 +58,10 @@ An OS can instead make OPAL calls for XICS emulation.</p>
<p>For an OS to use this OPAL call, an <code class="docutils literal notranslate"><span class="pre">ibm,opal-intc</span></code> compatible device must
exist in the device tree (see <a class="reference internal" href="../xive.html#xive-device-tree"><span class="std std-ref">I - Device-tree updates</span></a>). If OPAL does not create
such a device, the host OS MUST NOT use this call.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ such a device, the host OS MUST NOT use this call.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ such a device, the host OS MUST NOT use this call.</p>
<li class="right" >
<a href="opal-int-set-cppr-123.html" title="OPAL_INT_SET_CPPR"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INT_SET_MFRR</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-invalid-call--1.html b/doc/opal-api/opal-invalid-call--1.html
index a2a8992..0dcc77e 100644
--- a/doc/opal-api/opal-invalid-call--1.html
+++ b/doc/opal-api/opal-invalid-call--1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_INVALID_CALL &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_INVALID_CALL &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-int-set-mfrr-125.html" title="OPAL_INT_SET_MFRR"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INVALID_CALL</a></li>
</ul>
</div>
@@ -45,13 +45,14 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-invalid-call">
+ <section id="opal-invalid-call">
<h1>OPAL_INVALID_CALL<a class="headerlink" href="#opal-invalid-call" title="Permalink to this headline">¶</a></h1>
<p>An OPAL call of <code class="docutils literal notranslate"><span class="pre">-1</span></code> will always return <code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code>. It is always ivalid.</p>
<p>It exists purely for testing.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -71,17 +72,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -98,14 +97,15 @@
<li class="right" >
<a href="opal-int-set-mfrr-125.html" title="OPAL_INT_SET_MFRR"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_INVALID_CALL</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-ipmi-send-recv-107-108.html b/doc/opal-api/opal-ipmi-send-recv-107-108.html
index 61ce145..5d482cc 100644
--- a/doc/opal-api/opal-ipmi-send-recv-107-108.html
+++ b/doc/opal-api/opal-ipmi-send-recv-107-108.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_IPMI_SEND &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_IPMI_SEND &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-invalid-call--1.html" title="OPAL_INVALID_CALL"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_IPMI_SEND</a></li>
</ul>
</div>
@@ -45,102 +45,103 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-ipmi-send">
+ <section id="opal-ipmi-send">
<span id="id1"></span><h1>OPAL_IPMI_SEND<a class="headerlink" href="#opal-ipmi-send" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_IPMI_SEND 107</span>
-<span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_IPMI_MSG_FORMAT_VERSION_1</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_IPMI_MSG_FORMAT_VERSION_1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="k">struct</span> <span class="n">opal_ipmi_msg</span> <span class="p">{</span>
- <span class="kt">uint8_t</span> <span class="n">version</span><span class="p">;</span>
- <span class="kt">uint8_t</span> <span class="n">netfn</span><span class="p">;</span>
- <span class="kt">uint8_t</span> <span class="n">cmd</span><span class="p">;</span>
- <span class="kt">uint8_t</span> <span class="n">data</span><span class="p">[];</span>
-<span class="p">};</span>
+<span class="k">struct</span><span class="w"> </span><span class="nc">opal_ipmi_msg</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">version</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">netfn</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">cmd</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">data</span><span class="p">[];</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_ipmi_send</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">interface</span><span class="p">,</span>
- <span class="k">struct</span> <span class="n">opal_ipmi_msg</span> <span class="o">*</span><span class="n">opal_ipmi_msg</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">msg_len</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_ipmi_send</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">interface</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">opal_ipmi_msg</span><span class="w"> </span><span class="o">*</span><span class="n">opal_ipmi_msg</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">msg_len</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><a class="reference internal" href="#opal-ipmi-send"><span class="std std-ref">OPAL_IPMI_SEND</span></a> call will send an IPMI message to the service processor.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">interface</span></code></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">interface</span></code> parameter is the value from the ipmi interface node <code class="docutils literal notranslate"><span class="pre">ibm,ipmi-interface-id</span></code></dd>
-<dt><code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code> is the pointer to a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_ipmi_msg</span></code> (see above)</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">msg_len</span></code></dt>
-<dd>ipmi message request size</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">interface</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">interface</span></code> parameter is the value from the ipmi interface node <code class="docutils literal notranslate"><span class="pre">ibm,ipmi-interface-id</span></code></p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code> is the pointer to a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_ipmi_msg</span></code> (see above)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">msg_len</span></code></dt><dd><p>ipmi message request size</p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">msg</span></code> queued successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>invalid ipmi message request length <code class="docutils literal notranslate"><span class="pre">msg_len</span></code></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>backend support is not present as block transfer/service processor ipmi routines are not
-initialized which are used for communication</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>in-correct opal ipmi message format version <code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg-&gt;version</span></code></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-resource"><span class="std std-ref">OPAL_RESOURCE</span></a></dt>
-<dd>insufficient resources to create <code class="docutils literal notranslate"><span class="pre">ipmi_msg</span></code> structure</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p><code class="docutils literal notranslate"><span class="pre">msg</span></code> queued successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>invalid ipmi message request length <code class="docutils literal notranslate"><span class="pre">msg_len</span></code></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>backend support is not present as block transfer/service processor ipmi routines are not
+initialized which are used for communication</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>in-correct opal ipmi message format version <code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg-&gt;version</span></code></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-resource"><span class="std std-ref">OPAL_RESOURCE</span></a></dt><dd><p>insufficient resources to create <code class="docutils literal notranslate"><span class="pre">ipmi_msg</span></code> structure</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-ipmi-recv">
+</section>
+</section>
+<section id="opal-ipmi-recv">
<span id="id2"></span><h1>OPAL_IPMI_RECV<a class="headerlink" href="#opal-ipmi-recv" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_IPMI_RECV 108</span>
-<span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_IPMI_MSG_FORMAT_VERSION_1</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_IPMI_MSG_FORMAT_VERSION_1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="k">struct</span> <span class="n">opal_ipmi_msg</span> <span class="p">{</span>
- <span class="kt">uint8_t</span> <span class="n">version</span><span class="p">;</span>
- <span class="kt">uint8_t</span> <span class="n">netfn</span><span class="p">;</span>
- <span class="kt">uint8_t</span> <span class="n">cmd</span><span class="p">;</span>
- <span class="kt">uint8_t</span> <span class="n">data</span><span class="p">[];</span>
-<span class="p">};</span>
+<span class="k">struct</span><span class="w"> </span><span class="nc">opal_ipmi_msg</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">version</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">netfn</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">cmd</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">data</span><span class="p">[];</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="n">opal_ipmi_recv</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">interface</span><span class="p">,</span>
- <span class="k">struct</span> <span class="n">opal_ipmi_msg</span> <span class="o">*</span><span class="n">opal_ipmi_msg</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">msg_len</span><span class="p">)</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="n">opal_ipmi_recv</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">interface</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">opal_ipmi_msg</span><span class="w"> </span><span class="o">*</span><span class="n">opal_ipmi_msg</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">msg_len</span><span class="p">)</span><span class="w"></span>
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">OPAL_IPMI_RECV</span></code> call reads an ipmi message of type <code class="docutils literal notranslate"><span class="pre">ipmi_msg</span></code> from ipmi message
queue <code class="docutils literal notranslate"><span class="pre">msgq</span></code> into host OS structure <code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code>.</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">interface</span></code></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">interface</span></code> parameter is the value from the ipmi interface node <code class="docutils literal notranslate"><span class="pre">ibm,ipmi-interface-id</span></code></dd>
-<dt><code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code> is the pointer to a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_ipmi_msg</span></code> (see above)</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">msg_len</span></code></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">msg_len</span></code> is the pointer to ipmi message response size</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">interface</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">interface</span></code> parameter is the value from the ipmi interface node <code class="docutils literal notranslate"><span class="pre">ibm,ipmi-interface-id</span></code></p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg</span></code> is the pointer to a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_ipmi_msg</span></code> (see above)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">msg_len</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">msg_len</span></code> is the pointer to ipmi message response size</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h2>Return Values<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>ipmi message dequeued from <code class="docutils literal notranslate"><span class="pre">msgq</span></code> queue and memory taken by it got released successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-empty"><span class="std std-ref">OPAL_EMPTY</span></a></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">msgq</span></code> list is empty</dd>
-<dt>ref:<cite>OPAL_PARAMETER</cite></dt>
-<dd>invalid ipmi <code class="docutils literal notranslate"><span class="pre">interface</span></code> value</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>incorrect opal ipmi message format version <code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg-&gt;version</span></code></dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>ipmi message dequeued from <code class="docutils literal notranslate"><span class="pre">msgq</span></code> queue and memory taken by it got released successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-empty"><span class="std std-ref">OPAL_EMPTY</span></a></dt><dd><p><code class="docutils literal notranslate"><span class="pre">msgq</span></code> list is empty</p>
+</dd>
+<dt>ref:<cite>OPAL_PARAMETER</cite></dt><dd><p>invalid ipmi <code class="docutils literal notranslate"><span class="pre">interface</span></code> value</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>incorrect opal ipmi message format version <code class="docutils literal notranslate"><span class="pre">opal_ipmi_msg-&gt;version</span></code></p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -174,17 +175,15 @@ queue <code class="docutils literal notranslate"><span class="pre">msgq</span></
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -201,14 +200,15 @@ queue <code class="docutils literal notranslate"><span class="pre">msgq</span></
<li class="right" >
<a href="opal-invalid-call--1.html" title="OPAL_INVALID_CALL"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_IPMI_SEND</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-led-get-set-114-115.html b/doc/opal-api/opal-led-get-set-114-115.html
index 4ffc827..82ee7a5 100644
--- a/doc/opal-api/opal-led-get-set-114-115.html
+++ b/doc/opal-api/opal-led-get-set-114-115.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Service Indicators (LEDS) &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Service Indicators (LEDS) &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-ipmi-send-recv-107-108.html" title="OPAL_IPMI_SEND"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Service Indicators (LEDS)</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="service-indicators-leds">
+ <section id="service-indicators-leds">
<span id="opal-api-leds"></span><h1>Service Indicators (LEDS)<a class="headerlink" href="#service-indicators-leds" title="Permalink to this headline">¶</a></h1>
<p>The service indicator is one element of an overall hardware service strategy
where end user simplicity is a high priority. The goal is system firmware or
@@ -56,74 +56,75 @@ indicator to know which part to replace.</p>
<p>Different types of indicators handled by LED code:</p>
<blockquote>
<div><ul class="simple">
-<li><dl class="first docutils">
-<dt>System attention indicator (Check log indicator)</dt>
-<dd>Indicates there is a problem with the system that needs attention.</dd>
+<li><dl class="simple">
+<dt>System attention indicator (Check log indicator)</dt><dd><p>Indicates there is a problem with the system that needs attention.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>Identify</dt>
-<dd>Helps the user locate/identify a particular FRU or resource in the
-system.</dd>
+<li><dl class="simple">
+<dt>Identify</dt><dd><p>Helps the user locate/identify a particular FRU or resource in the
+system.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>Fault</dt>
-<dd>Indicates there is a problem with the FRU or resource at the
-location with which the indicator is associated.</dd>
+<li><dl class="simple">
+<dt>Fault</dt><dd><p>Indicates there is a problem with the FRU or resource at the
+location with which the indicator is associated.</p>
+</dd>
</dl>
</li>
</ul>
</div></blockquote>
-<p>All LEDs are defined in the device tree (see <a class="reference internal" href="../device-tree/ibm,opal/led.html#device-tree-ibm-opal-leds"><span class="std std-ref">Service Indicators (LEDS)</span></a>).</p>
-<div class="section" id="led-design">
+<p>All LEDs are defined in the device tree (see <a class="reference internal" href="../device-tree/ibm%2Copal/led.html#device-tree-ibm-opal-leds"><span class="std std-ref">Service Indicators (LEDS)</span></a>).</p>
+<section id="led-design">
<h2>LED Design<a class="headerlink" href="#led-design" title="Permalink to this headline">¶</a></h2>
<blockquote>
-<div>When it comes to implementation we can classify LEDs into two
-categories:</div></blockquote>
+<div><p>When it comes to implementation we can classify LEDs into two
+categories:</p>
+</div></blockquote>
<ol class="arabic simple">
-<li>Hypervisor (OPAL) controlled LEDs (All identify &amp; fault indicators)
+<li><p>Hypervisor (OPAL) controlled LEDs (All identify &amp; fault indicators)
During boot, we read/cache these LED details in OPAL (location code,
state, etc). We use cached data to serve read request from FSP/Host.
-And we use SPCN passthrough MBOX command to update these LED state.</li>
-<li>Service processor (FSP) controlled LEDs (System Attention Indicator)
+And we use SPCN passthrough MBOX command to update these LED state.</p></li>
+<li><p>Service processor (FSP) controlled LEDs (System Attention Indicator)
During boot, we read/cache this LED info using MBOX command. Later
anytime FSP updates this LED, it sends update system parameter
notification MBOX command. We use that data to update cached data.
-LED update request is sent via set/reset attn MBOX command.</li>
+LED update request is sent via set/reset attn MBOX command.</p></li>
</ol>
-<dl class="docutils">
-<dt>LED update request:</dt>
-<dd>Both FSP and Host will send LED update requests. We have to serialize
-SPCN passthrough command. Hence we maintain local queue.</dd>
+<dl class="simple">
+<dt>LED update request:</dt><dd><p>Both FSP and Host will send LED update requests. We have to serialize
+SPCN passthrough command. Hence we maintain local queue.</p>
+</dd>
</dl>
<p>Note:</p>
<blockquote>
<div><ul class="simple">
-<li>For more information regarding service indicator refer to PAPR spec
-(Service Indicators chapter).</li>
+<li><p>For more information regarding service indicator refer to PAPR spec
+(Service Indicators chapter).</p></li>
</ul>
</div></blockquote>
<p>There are two OPAL calls relating to LED operations.</p>
-</div>
-<div class="section" id="opal-leds-get-indicator">
+</section>
+<section id="opal-leds-get-indicator">
<span id="id1"></span><h2>OPAL_LEDS_GET_INDICATOR<a class="headerlink" href="#opal-leds-get-indicator" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_LEDS_GET_INDICATOR 114</span>
-<span class="kt">int64_t</span> <span class="nf">opal_leds_get_indicator</span><span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="n">loc_code</span><span class="p">,</span> <span class="n">u64</span> <span class="o">*</span><span class="n">led_mask</span><span class="p">,</span>
- <span class="n">u64</span> <span class="o">*</span><span class="n">led_value</span><span class="p">,</span> <span class="n">u64</span> <span class="o">*</span><span class="n">max_led_type</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_leds_get_indicator</span><span class="p">(</span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">loc_code</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="o">*</span><span class="n">led_mask</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="o">*</span><span class="n">led_value</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="o">*</span><span class="n">max_led_type</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Returns LED state for the given location code.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">loc_code</span></code></dt>
-<dd>Location code of the LEDs.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">led_mask</span></code></dt>
-<dd>LED types whose status is available (return by OPAL)</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">led_value</span></code></dt>
-<dd>Status of the available LED types (return by OPAL)</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">max_led_type</span></code></dt>
-<dd>Maximum number of supported LED types (Host/OPAL)</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">loc_code</span></code></dt><dd><p>Location code of the LEDs.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">led_mask</span></code></dt><dd><p>LED types whose status is available (return by OPAL)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">led_value</span></code></dt><dd><p>Status of the available LED types (return by OPAL)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">max_led_type</span></code></dt><dd><p>Maximum number of supported LED types (Host/OPAL)</p>
+</dd>
</dl>
<p>The host will pass the location code of the LED types (loc_code) and
maximum number of LED types it understands (max_led_type). OPAL will
@@ -139,27 +140,27 @@ number of LED type it understands and updates ‘led_mask’, ‘led_value’
based on that maximum value of LED types.</p>
<p>Currently this is only implemented on FSP basde machines, see
hw/fsp/fsp-leds.c for more deatails.</p>
-</div>
-<div class="section" id="opal-leds-set-indicator">
+</section>
+<section id="opal-leds-set-indicator">
<span id="id2"></span><h2>OPAL_LEDS_SET_INDICATOR<a class="headerlink" href="#opal-leds-set-indicator" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_LEDS_SET_INDICATOR 115</span>
-<span class="kt">int64_t</span> <span class="nf">opal_leds_set_indicator</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">async_token</span><span class="p">,</span>
- <span class="kt">char</span> <span class="o">*</span><span class="n">loc_code</span><span class="p">,</span> <span class="k">const</span> <span class="n">u64</span> <span class="n">led_mask</span><span class="p">,</span>
- <span class="k">const</span> <span class="n">u64</span> <span class="n">led_value</span><span class="p">,</span> <span class="n">u64</span> <span class="o">*</span><span class="n">max_led_type</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_leds_set_indicator</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">async_token</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">loc_code</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="n">led_mask</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="n">led_value</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="o">*</span><span class="n">max_led_type</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Sets LED state for the given location code.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">loc_code</span></code></dt>
-<dd>Location code of the LEDs to be set.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">led_mask</span></code></dt>
-<dd>LED types whose status will be updated</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">led_value</span></code></dt>
-<dd>Requested status of various LED types.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">max_led_type</span></code></dt>
-<dd>Maximum number of supported LED types. If OPAL supports fewer LED types
-than requested, it will set <code class="docutils literal notranslate"><span class="pre">max_led_type</span></code> to the maximum it does support.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">loc_code</span></code></dt><dd><p>Location code of the LEDs to be set.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">led_mask</span></code></dt><dd><p>LED types whose status will be updated</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">led_value</span></code></dt><dd><p>Requested status of various LED types.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">max_led_type</span></code></dt><dd><p>Maximum number of supported LED types. If OPAL supports fewer LED types
+than requested, it will set <code class="docutils literal notranslate"><span class="pre">max_led_type</span></code> to the maximum it does support.</p>
+</dd>
</dl>
<p>The host will pass the location code of the LED types, mask, value
and maximum number of LED types it understands. OPAL will update
@@ -177,10 +178,11 @@ to figure out which part of it’s request got served and which ones got
ignored.</p>
<p>Currently this is only implemented on FSP basde machines, see
hw/fsp/fsp-leds.c for more deatails.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -210,17 +212,15 @@ hw/fsp/fsp-leds.c for more deatails.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -237,14 +237,15 @@ hw/fsp/fsp-leds.c for more deatails.</p>
<li class="right" >
<a href="opal-ipmi-send-recv-107-108.html" title="OPAL_IPMI_SEND"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Service Indicators (LEDS)</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-lpc-read-write-67-68.html b/doc/opal-api/opal-lpc-read-write-67-68.html
index 1a6e71a..8a6ac80 100644
--- a/doc/opal-api/opal-lpc-read-write-67-68.html
+++ b/doc/opal-api/opal-lpc-read-write-67-68.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_LPC_READ &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_LPC_READ &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-led-get-set-114-115.html" title="Service Indicators (LEDS)"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_LPC_READ</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-lpc-read">
+ <section id="opal-lpc-read">
<span id="id1"></span><h1>OPAL_LPC_READ<a class="headerlink" href="#opal-lpc-read" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_LPC_READ 67</span>
@@ -53,56 +53,55 @@
<span class="cm"> * Address cycle types for LPC accesses. These also correspond</span>
<span class="cm"> * to the content of the first cell of the &quot;reg&quot; property for</span>
<span class="cm"> * device nodes on the LPC bus</span>
-<span class="cm"> */</span>
- <span class="k">enum</span> <span class="n">OpalLPCAddressType</span> <span class="p">{</span>
- <span class="n">OPAL_LPC_MEM</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_LPC_IO</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_LPC_FW</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
-<span class="p">};</span>
+<span class="cm"> */</span><span class="w"></span>
+<span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="n">OpalLPCAddressType</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_LPC_MEM</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_LPC_IO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_LPC_FW</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_lpc_read</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">chip_id</span><span class="p">,</span> <span class="k">enum</span> <span class="n">OpalLPCAddressType</span> <span class="n">addr_type</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">addr</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">data</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">sz</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_lpc_read</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">chip_id</span><span class="p">,</span><span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="n">OpalLPCAddressType</span><span class="w"> </span><span class="n">addr_type</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">addr</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">data</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">sz</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This function related to Low Pin Count (LPC) bus. This function reads the
data from IDSEL register for <code class="docutils literal notranslate"><span class="pre">chip_id</span></code>, which has LPC information.
From <code class="docutils literal notranslate"><span class="pre">addr</span></code> for <code class="docutils literal notranslate"><span class="pre">addr_type</span></code> with read size <code class="docutils literal notranslate"><span class="pre">sz</span></code> bytes in to a
variable named <code class="docutils literal notranslate"><span class="pre">data</span></code>.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">chip_id</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> parameter contains value of the chip number identified at
-boot time.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">addr_type</span></code></dt>
-<dd><p class="first">The <code class="docutils literal notranslate"><span class="pre">addr_type</span></code> is one of the LPC supported address types.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">chip_id</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> parameter contains value of the chip number identified at
+boot time.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">addr_type</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">addr_type</span></code> is one of the LPC supported address types.
Supported address types are:</p>
-<ul class="last simple">
-<li>LPC memory,</li>
-<li>LPC IO and</li>
-<li>LPC firmware.</li>
+<ul class="simple">
+<li><p>LPC memory,</p></li>
+<li><p>LPC IO and</p></li>
+<li><p>LPC firmware.</p></li>
</ul>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">addr</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">addr</span></code> from which the data has to be read.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">data</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">data</span></code> will be used to store the read data.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">sz</span></code></dt>
-<dd>How many <code class="docutils literal notranslate"><span class="pre">sz</span></code> bytes to be read in to <code class="docutils literal notranslate"><span class="pre">data</span></code>.</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">addr</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">addr</span></code> from which the data has to be read.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">data</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">data</span></code> will be used to store the read data.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">sz</span></code></dt><dd><p>How many <code class="docutils literal notranslate"><span class="pre">sz</span></code> bytes to be read in to <code class="docutils literal notranslate"><span class="pre">data</span></code>.</p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-codes">
+</section>
+<section id="return-codes">
<h2>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Indicates either <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> not found or <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> doesn’t contain
-LPC information.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Indicates Success!</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Indicates either <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> not found or <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> doesn’t contain
+LPC information.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Indicates Success!</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-lpc-write">
+</section>
+</section>
+<section id="opal-lpc-write">
<span id="id2"></span><h1>OPAL_LPC_WRITE<a class="headerlink" href="#opal-lpc-write" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_LPC_WRITE 68</span>
@@ -110,56 +109,56 @@ LPC information.</dd>
<span class="cm"> * Address cycle types for LPC accesses. These also correspond</span>
<span class="cm"> * to the content of the first cell of the &quot;reg&quot; property for</span>
<span class="cm"> * device nodes on the LPC bus</span>
-<span class="cm"> */</span>
- <span class="k">enum</span> <span class="n">OpalLPCAddressType</span> <span class="p">{</span>
- <span class="n">OPAL_LPC_MEM</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_LPC_IO</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_LPC_FW</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
-<span class="p">};</span>
+<span class="cm"> */</span><span class="w"></span>
+<span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="n">OpalLPCAddressType</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_LPC_MEM</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_LPC_IO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_LPC_FW</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_lpc_write</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">chip_id</span><span class="p">,</span> <span class="k">enum</span> <span class="n">OpalLPCAddressType</span> <span class="n">addr_type</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">addr</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">data</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">sz</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_lpc_write</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">chip_id</span><span class="p">,</span><span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="n">OpalLPCAddressType</span><span class="w"> </span><span class="n">addr_type</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">addr</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">data</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">sz</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This function related to Low Pin Count (LPC) bus. This function writes the
<code class="docutils literal notranslate"><span class="pre">data</span></code> in to ECCB register for <code class="docutils literal notranslate"><span class="pre">chip_id</span></code>, which has LPC information.
From <code class="docutils literal notranslate"><span class="pre">addr</span></code> for <code class="docutils literal notranslate"><span class="pre">addr_type</span></code> with write size <code class="docutils literal notranslate"><span class="pre">sz</span></code> bytes.</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">chip_id</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> parameter contains value of the chip number identified at
-boot time.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">addr_type</span></code></dt>
-<dd><p class="first">The <code class="docutils literal notranslate"><span class="pre">addr_type</span></code> is one of the address types LPC supported.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">chip_id</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> parameter contains value of the chip number identified at
+boot time.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">addr_type</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">addr_type</span></code> is one of the address types LPC supported.
Supported address types are:</p>
-<ul class="last simple">
-<li>LPC memory,</li>
-<li>LPC IO and</li>
-<li>LPC firmware.</li>
+<ul class="simple">
+<li><p>LPC memory,</p></li>
+<li><p>LPC IO and</p></li>
+<li><p>LPC firmware.</p></li>
</ul>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">addr</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">addr</span></code> to where the <code class="docutils literal notranslate"><span class="pre">data</span></code> need to be written.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">data</span></code></dt>
-<dd>The <code class="docutils literal notranslate"><span class="pre">data</span></code> for writing.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">sz</span></code></dt>
-<dd>How many <code class="docutils literal notranslate"><span class="pre">sz</span></code> bytes to write.</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">addr</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">addr</span></code> to where the <code class="docutils literal notranslate"><span class="pre">data</span></code> need to be written.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">data</span></code></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">data</span></code> for writing.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">sz</span></code></dt><dd><p>How many <code class="docutils literal notranslate"><span class="pre">sz</span></code> bytes to write.</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h2>Return Codes<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Indicates either <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> not found or <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> doesn’t contain LPC
-information.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Indicates Success!</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Indicates either <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> not found or <code class="docutils literal notranslate"><span class="pre">chip_id</span></code> doesn’t contain LPC
+information.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Indicates Success!</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -193,17 +192,15 @@ information.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -220,14 +217,15 @@ information.</dd>
<li class="right" >
<a href="opal-led-get-set-114-115.html" title="Service Indicators (LEDS)"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_LPC_READ</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-messages.html b/doc/opal-api/opal-messages.html
index 1201163..efa564c 100644
--- a/doc/opal-api/opal-messages.html
+++ b/doc/opal-api/opal-messages.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_MESSAGE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_MESSAGE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-lpc-read-write-67-68.html" title="OPAL_LPC_READ"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_MESSAGE</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-message">
+ <section id="opal-message">
<span id="opal-messages"></span><h1>OPAL_MESSAGE<a class="headerlink" href="#opal-message" title="Permalink to this headline">¶</a></h1>
<p>The host OS can use OPAL_GET_MSG to retrive messages queued by OPAL. The
messages are defined by enum opal_msg_type. The host is notified of there
@@ -71,18 +71,18 @@ details.</p>
<span class="p">}</span>
</pre></div>
</div>
-<div class="section" id="opal-msg-async-comp">
+<section id="opal-msg-async-comp">
<h2>OPAL_MSG_ASYNC_COMP<a class="headerlink" href="#opal-msg-async-comp" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">params</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">token</span>
<span class="n">params</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">rc</span>
</pre></div>
</div>
<p>Additional parameters are function-specific.</p>
-</div>
-<div class="section" id="opal-msg-mem-err">
+</section>
+<section id="opal-msg-mem-err">
<h2>OPAL_MSG_MEM_ERR<a class="headerlink" href="#opal-msg-mem-err" title="Permalink to this headline">¶</a></h2>
-</div>
-<div class="section" id="opal-msg-epow">
+</section>
+<section id="opal-msg-epow">
<span id="id1"></span><h2>OPAL_MSG_EPOW<a class="headerlink" href="#opal-msg-epow" title="Permalink to this headline">¶</a></h2>
<p>Used by OPAL to issue environmental and power warnings to host OS for
conditions requiring an earlier poweroff. A few examples of these are high
@@ -93,8 +93,8 @@ all supported EPOW events. OPAL_SYSPOWER_CHNG, OPAL_SYSPOWER_FAIL and
OPAL_SYSPOWER_INC events don’t require system poweroff.</p>
<p>Host OS should look for ‘ibm,opal-v3-epow’ string as compatible property
for ‘epow’ node under OPAL device-tree to determine epow support.</p>
-</div>
-<div class="section" id="opal-msg-shutdown">
+</section>
+<section id="opal-msg-shutdown">
<h2>OPAL_MSG_SHUTDOWN<a class="headerlink" href="#opal-msg-shutdown" title="Permalink to this headline">¶</a></h2>
<p>Used by OPAL to inform the host OS it must imitate a graceful shutdown. Uses
the first parameter to indicate weather the system is going down for shutdown
@@ -102,8 +102,8 @@ or a reboot.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">params</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mh">0x01</span> <span class="n">reboot</span><span class="p">,</span> <span class="mh">0x00</span> <span class="n">shutdown</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-msg-hmi-evt">
+</section>
+<section id="opal-msg-hmi-evt">
<span id="id2"></span><h2>OPAL_MSG_HMI_EVT<a class="headerlink" href="#opal-msg-hmi-evt" title="Permalink to this headline">¶</a></h2>
<p>Used by OPAL to sends the OPAL HMI Event to the host OS that reports a
summary of HMI error and whether it was successfully recovered or not.</p>
@@ -120,10 +120,10 @@ Version 0 is invalid version and unsupported.</p>
to V1 version.</p>
<p>Notes:</p>
<ul class="simple">
-<li>When adding new structure to the union in future, the version number
-must be bumped.</li>
-<li>All future versions must be backward compatible to all its older versions.</li>
-<li>Size of this structure should not exceed that of struct opal_msg.</li>
+<li><p>When adding new structure to the union in future, the version number
+must be bumped.</p></li>
+<li><p>All future versions must be backward compatible to all its older versions.</p></li>
+<li><p>Size of this structure should not exceed that of struct opal_msg.</p></li>
</ul>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">struct</span> <span class="n">OpalHMIEvent</span> <span class="p">{</span>
<span class="n">uint8_t</span> <span class="n">version</span><span class="p">;</span> <span class="o">/*</span> <span class="mh">0x00</span> <span class="o">*/</span>
@@ -155,15 +155,15 @@ must be bumped.</li>
<span class="p">};</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-msg-dpo">
+</section>
+<section id="opal-msg-dpo">
<span id="id3"></span><h2>OPAL_MSG_DPO<a class="headerlink" href="#opal-msg-dpo" title="Permalink to this headline">¶</a></h2>
<p>Delayed poweroff where OPAL informs host OS that a poweroff has been
requested and a forced shutdown will happen in future. Host OS can use
OPAL_GET_DPO_STATUS API to query OPAL the number of seconds remaining
before a forced poweroff will occur.</p>
-</div>
-<div class="section" id="opal-msg-prd">
+</section>
+<section id="opal-msg-prd">
<span id="id4"></span><h2>OPAL_MSG_PRD<a class="headerlink" href="#opal-msg-prd" title="Permalink to this headline">¶</a></h2>
<p>This message is a OPAL-to-HBRT notification, and contains a
struct opal_prd_msg:</p>
@@ -206,8 +206,8 @@ struct opal_prd_msg:</p>
</div>
<p>Responses from the kernel use the same message format, but are passed
through the <a class="reference internal" href="opal-prd-msg-113.html#opal-prd-msg"><span class="std std-ref">OPAL_PRD_MSG</span></a> call.</p>
-</div>
-<div class="section" id="opal-msg-occ">
+</section>
+<section id="opal-msg-occ">
<h2>OPAL_MSG_OCC<a class="headerlink" href="#opal-msg-occ" title="Permalink to this headline">¶</a></h2>
<p>This is used by OPAL to inform host about OCC events like OCC reset,
OCC load and throttle status change by OCC which can indicate the
@@ -247,15 +247,16 @@ these values.</p>
<p>If <code class="docutils literal notranslate"><span class="pre">opal_occ_msg.type</span> <span class="pre">&gt;</span> <span class="pre">2</span></code> then host should ignore the message for now,
new events can be defined for <code class="docutils literal notranslate"><span class="pre">opal_occ_msg.type</span></code> in the future versions
of OPAL.</p>
-</div>
-<div class="section" id="opal-msg-prd2">
+</section>
+<section id="opal-msg-prd2">
<h2>OPAL_MSG_PRD2<a class="headerlink" href="#opal-msg-prd2" title="Permalink to this headline">¶</a></h2>
<p>This message is a OPAL-to-HBRT notification. Its same as OPAL_MSG_PRD except
this one supports passing more than 64bytes (8*8) of data.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -291,17 +292,15 @@ this one supports passing more than 64bytes (8*8) of data.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -318,14 +317,15 @@ this one supports passing more than 64bytes (8*8) of data.</p>
<li class="right" >
<a href="opal-lpc-read-write-67-68.html" title="OPAL_LPC_READ"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_MESSAGE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-mpipl-173-174.html b/doc/opal-api/opal-mpipl-173-174.html
index 2ff11f7..e295d13 100644
--- a/doc/opal-api/opal-mpipl-173-174.html
+++ b/doc/opal-api/opal-mpipl-173-174.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL MPIPL APIs &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL MPIPL APIs &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-messages.html" title="OPAL_MESSAGE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL MPIPL APIs</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-mpipl-apis">
+ <section id="opal-mpipl-apis">
<span id="opal-api-mpipl"></span><h1>OPAL MPIPL APIs<a class="headerlink" href="#opal-mpipl-apis" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_MPIPL_UPDATE 173</span>
<span class="cp">#define OPAL_MPIPL_REGISTER_TAG 174</span>
@@ -55,140 +55,141 @@
<p>These calls are used for MPIPL (Memory Preserving Initial Program Load).</p>
<p>It is an OPTIONAL part of the OPAL spec.</p>
<p>If a platform supports MPIPL, then we will have “/ibm,opal/dump” node in
-device tree (see <a class="reference internal" href="../device-tree/ibm,opal/dump.html#device-tree-ibm-opal-dump"><span class="std std-ref">Dump (MPIPL) Device Tree Binding</span></a>).</p>
-</div>
-<div class="section" id="opal-mpipl-update">
+device tree (see <a class="reference internal" href="../device-tree/ibm%2Copal/dump.html#device-tree-ibm-opal-dump"><span class="std std-ref">Dump (MPIPL) Device Tree Binding</span></a>).</p>
+</section>
+<section id="opal-mpipl-update">
<span id="id1"></span><h1>OPAL_MPIPL_UPDATE<a class="headerlink" href="#opal-mpipl-update" title="Permalink to this headline">¶</a></h1>
<p>Linux kernel will use this call to register/unregister MPIPL.</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_MPIPL_UPDATE 173</span>
-<span class="kt">int64_t</span> <span class="nf">opal_mpipl_update</span><span class="p">(</span><span class="k">enum</span> <span class="n">mpipl_ops</span> <span class="n">ops</span><span class="p">,</span> <span class="n">u64</span> <span class="n">src</span><span class="p">,</span> <span class="n">u64</span> <span class="n">dest</span><span class="p">,</span> <span class="n">u64</span> <span class="n">size</span><span class="p">)</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_mpipl_update</span><span class="p">(</span><span class="k">enum</span><span class="w"> </span><span class="n">mpipl_ops</span><span class="w"> </span><span class="n">ops</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="n">dest</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="n">size</span><span class="p">)</span><span class="w"></span>
-<span class="cm">/* MPIPL update operations */</span>
-<span class="k">enum</span> <span class="n">mpipl_ops</span> <span class="p">{</span>
- <span class="n">OPAL_MPIPL_ADD_RANGE</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_MPIPL_REMOVE_RANGE</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_MPIPL_REMOVE_ALL</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_MPIPL_FREE_PRESERVED_MEMORY</span><span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
-<span class="p">};</span>
+<span class="cm">/* MPIPL update operations */</span><span class="w"></span>
+<span class="k">enum</span><span class="w"> </span><span class="n">mpipl_ops</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_ADD_RANGE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_REMOVE_RANGE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_REMOVE_ALL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_FREE_PRESERVED_MEMORY</span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="ops">
+<section id="ops">
<h2>ops :<a class="headerlink" href="#ops" title="Permalink to this headline">¶</a></h2>
<blockquote>
-<div><dl class="docutils">
-<dt>OPAL_MPIPL_ADD_RANGE</dt>
-<dd>Add new entry to MPIPL table. Kernel will send src, dest and size.
+<div><dl class="simple">
+<dt>OPAL_MPIPL_ADD_RANGE</dt><dd><p>Add new entry to MPIPL table. Kernel will send src, dest and size.
During MPIPL content from source address is moved to destination address.
src = Source start address
dest = Destination start address
-size = size</dd>
-<dt>OPAL_MPIPL_REMOVE_RANGE</dt>
-<dd>Remove kernel requested entry from MPIPL table.
+size = size</p>
+</dd>
+<dt>OPAL_MPIPL_REMOVE_RANGE</dt><dd><p>Remove kernel requested entry from MPIPL table.
src = Source start address
dest = Destination start address
-size = ignore</dd>
-<dt>OPAL_MPIPL_REMOVE_ALL</dt>
-<dd>Remove all kernel passed entry from MPIPL table.
+size = ignore</p>
+</dd>
+<dt>OPAL_MPIPL_REMOVE_ALL</dt><dd><p>Remove all kernel passed entry from MPIPL table.
src = ignore
dest = ignore
-size = ignore</dd>
-<dt>OPAL_MPIPL_FREE_PRESERVED_MEMORY</dt>
-<dd>Post MPIPL, kernel will indicate OPAL that it has processed dump and
+size = ignore</p>
+</dd>
+<dt>OPAL_MPIPL_FREE_PRESERVED_MEMORY</dt><dd><p>Post MPIPL, kernel will indicate OPAL that it has processed dump and
it can clear/release metadata area.
src = ignore
dest = ignore
-size = ignore</dd>
+size = ignore</p>
+</dd>
</dl>
</div></blockquote>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt>
-<dd>Operation success</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt>
-<dd>Invalid parameter</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt>
-<dd>Ran out of space in MDST/MDDT table to add new entry</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_HARDWARE</span></code></dt>
-<dd>Platform does not support fadump</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>Operation success</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p>Invalid parameter</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt><dd><p>Ran out of space in MDST/MDDT table to add new entry</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_HARDWARE</span></code></dt><dd><p>Platform does not support fadump</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-mpipl-register-tag">
+</section>
+</section>
+<section id="opal-mpipl-register-tag">
<span id="id2"></span><h1>OPAL_MPIPL_REGISTER_TAG<a class="headerlink" href="#opal-mpipl-register-tag" title="Permalink to this headline">¶</a></h1>
<p>Kernel will use this API to register tags during MPIPL registration.
It expects OPAL to preserve these tags across MPIPL. Post MPIPL Linux
kernel will use <cite>opal_mpipl_query_tag</cite> call to retrieve these tags.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="n">opal_mpipl_register_tag</span><span class="p">(</span><span class="k">enum</span> <span class="n">opal_mpipl_tags</span> <span class="n">tag</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">tag_val</span><span class="p">)</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="n">opal_mpipl_register_tag</span><span class="p">(</span><span class="k">enum</span><span class="w"> </span><span class="n">opal_mpipl_tags</span><span class="w"> </span><span class="n">tag</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tag_val</span><span class="p">)</span><span class="w"></span>
-<span class="nl">tag</span><span class="p">:</span>
- <span class="n">OPAL_MPIPL_TAG_KERNEL</span>
- <span class="n">During</span> <span class="n">first</span> <span class="n">boot</span><span class="p">,</span> <span class="n">kernel</span> <span class="n">will</span> <span class="n">setup</span> <span class="n">its</span> <span class="n">metadata</span> <span class="n">area</span> <span class="n">and</span> <span class="n">asks</span>
- <span class="n">OPAL</span> <span class="n">to</span> <span class="n">preserve</span> <span class="n">metadata</span> <span class="n">area</span> <span class="n">pointer</span> <span class="n">across</span> <span class="n">MPIPL</span><span class="p">.</span> <span class="n">Post</span> <span class="n">MPIPL</span>
- <span class="n">kernel</span> <span class="n">requests</span> <span class="n">OPAL</span> <span class="n">to</span> <span class="n">provide</span> <span class="n">metadata</span> <span class="n">pointer</span> <span class="n">and</span> <span class="n">it</span> <span class="n">will</span> <span class="n">use</span>
- <span class="n">that</span> <span class="n">pointer</span> <span class="n">to</span> <span class="n">retrieve</span> <span class="n">metadata</span> <span class="n">and</span> <span class="n">create</span> <span class="n">dump</span><span class="p">.</span>
+<span class="nl">tag</span><span class="p">:</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_KERNEL</span><span class="w"></span>
+<span class="w"> </span><span class="n">During</span><span class="w"> </span><span class="n">first</span><span class="w"> </span><span class="n">boot</span><span class="p">,</span><span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">setup</span><span class="w"> </span><span class="n">its</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">asks</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">preserve</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">across</span><span class="w"> </span><span class="n">MPIPL</span><span class="p">.</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"></span>
+<span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">requests</span><span class="w"> </span><span class="n">OPAL</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">provide</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">it</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">use</span><span class="w"></span>
+<span class="w"> </span><span class="n">that</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">retrieve</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">create</span><span class="w"> </span><span class="n">dump</span><span class="p">.</span><span class="w"></span>
- <span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span>
- <span class="n">During</span> <span class="n">MPIPL</span> <span class="n">registration</span> <span class="n">kernel</span> <span class="n">will</span> <span class="n">specify</span> <span class="n">how</span> <span class="n">much</span> <span class="n">memory</span>
- <span class="n">firmware</span> <span class="n">can</span> <span class="n">use</span> <span class="k">for</span> <span class="n">Post</span> <span class="n">MPIPL</span> <span class="n">load</span><span class="p">.</span> <span class="n">Post</span> <span class="n">MPIPL</span> <span class="n">petitboot</span> <span class="n">kernel</span>
- <span class="n">will</span> <span class="n">query</span> <span class="k">for</span> <span class="n">this</span> <span class="n">tag</span> <span class="n">to</span> <span class="n">get</span> <span class="n">boot</span> <span class="n">memory</span> <span class="n">size</span><span class="p">.</span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span><span class="w"></span>
+<span class="w"> </span><span class="n">During</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">registration</span><span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">specify</span><span class="w"> </span><span class="n">how</span><span class="w"> </span><span class="n">much</span><span class="w"> </span><span class="n">memory</span><span class="w"></span>
+<span class="w"> </span><span class="n">firmware</span><span class="w"> </span><span class="n">can</span><span class="w"> </span><span class="n">use</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">load</span><span class="p">.</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">petitboot</span><span class="w"> </span><span class="n">kernel</span><span class="w"></span>
+<span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">tag</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">get</span><span class="w"> </span><span class="n">boot</span><span class="w"> </span><span class="n">memory</span><span class="w"> </span><span class="n">size</span><span class="p">.</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="id3">
+<section id="id3">
<h2>Return Values<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt>
-<dd>Operation success</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt>
-<dd>Invalid parameter</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>Operation success</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p>Invalid parameter</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-mpipl-query-tag">
+</section>
+</section>
+<section id="opal-mpipl-query-tag">
<span id="id4"></span><h1>OPAL_MPIPL_QUERY_TAG<a class="headerlink" href="#opal-mpipl-query-tag" title="Permalink to this headline">¶</a></h1>
<p>Post MPIPL linux kernel will call this API to get metadata tag. And use this
tag to retrieve metadata information and generate dump.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span> <span class="cp">#define OPAL_MPIPL_QUERY_TAG 175</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="cp">#define OPAL_MPIPL_QUERY_TAG 175</span>
- <span class="kt">uint64_t</span> <span class="nf">opal_mpipl_query_tag</span><span class="p">(</span><span class="k">enum</span> <span class="n">opal_mpipl_tags</span> <span class="n">tag</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">tag_val</span><span class="p">)</span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="nf">opal_mpipl_query_tag</span><span class="p">(</span><span class="k">enum</span><span class="w"> </span><span class="n">opal_mpipl_tags</span><span class="w"> </span><span class="n">tag</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">tag_val</span><span class="p">)</span><span class="w"></span>
- <span class="k">enum</span> <span class="n">opal_mpipl_tags</span> <span class="p">{</span>
- <span class="n">OPAL_MPIPL_TAG_CPU</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_MPIPL_TAG_OPAL</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_MPIPL_TAG_KERNEL</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
- <span class="p">};</span>
+<span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="n">opal_mpipl_tags</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_CPU</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_OPAL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_KERNEL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="p">};</span><span class="w"></span>
-<span class="nl">tag</span> <span class="p">:</span>
- <span class="n">OPAL_MPIPL_TAG_CPU</span>
- <span class="n">Pointer</span> <span class="n">to</span> <span class="n">CPU</span> <span class="k">register</span> <span class="n">data</span> <span class="n">content</span> <span class="n">metadata</span> <span class="n">area</span>
- <span class="n">OPAL_MPIPL_TAG_OPAL</span>
- <span class="n">Pointer</span> <span class="n">to</span> <span class="n">OPAL</span> <span class="n">metadata</span> <span class="n">area</span>
- <span class="n">OPAL_MPIPL_TAG_KERNEL</span>
- <span class="n">During</span> <span class="n">first</span> <span class="n">boot</span><span class="p">,</span> <span class="n">kernel</span> <span class="n">will</span> <span class="n">setup</span> <span class="n">its</span> <span class="n">metadata</span> <span class="n">area</span> <span class="n">and</span> <span class="n">asks</span>
- <span class="n">OPAL</span> <span class="n">to</span> <span class="n">preserve</span> <span class="n">metadata</span> <span class="n">area</span> <span class="n">pointer</span> <span class="n">across</span> <span class="n">MPIPL</span><span class="p">.</span> <span class="n">Post</span> <span class="n">MPIPL</span>
- <span class="n">kernel</span> <span class="n">calls</span> <span class="n">this</span> <span class="n">API</span> <span class="n">to</span> <span class="n">get</span> <span class="n">metadata</span> <span class="n">pointer</span> <span class="n">and</span> <span class="n">it</span> <span class="n">will</span> <span class="n">use</span>
- <span class="n">that</span> <span class="n">pointer</span> <span class="n">to</span> <span class="n">retrieve</span> <span class="n">metadata</span> <span class="n">and</span> <span class="n">create</span> <span class="n">dump</span><span class="p">.</span>
- <span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span>
- <span class="n">During</span> <span class="n">MPIPL</span> <span class="n">registration</span> <span class="n">kernel</span> <span class="n">will</span> <span class="n">specify</span> <span class="n">how</span> <span class="n">much</span> <span class="n">memory</span>
- <span class="n">firmware</span> <span class="n">can</span> <span class="n">use</span> <span class="k">for</span> <span class="n">Post</span> <span class="n">MPIPL</span> <span class="n">load</span><span class="p">.</span> <span class="n">Post</span> <span class="n">MPIPL</span> <span class="n">petitboot</span> <span class="n">kernel</span>
- <span class="n">will</span> <span class="n">query</span> <span class="k">for</span> <span class="n">this</span> <span class="n">tag</span> <span class="n">to</span> <span class="n">get</span> <span class="n">boot</span> <span class="n">memory</span> <span class="n">size</span><span class="p">.</span>
+<span class="nl">tag</span><span class="w"> </span><span class="p">:</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_CPU</span><span class="w"></span>
+<span class="w"> </span><span class="n">Pointer</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">CPU</span><span class="w"> </span><span class="k">register</span><span class="w"> </span><span class="n">data</span><span class="w"> </span><span class="n">content</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_OPAL</span><span class="w"></span>
+<span class="w"> </span><span class="n">Pointer</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">OPAL</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_KERNEL</span><span class="w"></span>
+<span class="w"> </span><span class="n">During</span><span class="w"> </span><span class="n">first</span><span class="w"> </span><span class="n">boot</span><span class="p">,</span><span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">setup</span><span class="w"> </span><span class="n">its</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">asks</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">preserve</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">across</span><span class="w"> </span><span class="n">MPIPL</span><span class="p">.</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"></span>
+<span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">calls</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">API</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">get</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">it</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">use</span><span class="w"></span>
+<span class="w"> </span><span class="n">that</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">retrieve</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">create</span><span class="w"> </span><span class="n">dump</span><span class="p">.</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span><span class="w"></span>
+<span class="w"> </span><span class="n">During</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">registration</span><span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">specify</span><span class="w"> </span><span class="n">how</span><span class="w"> </span><span class="n">much</span><span class="w"> </span><span class="n">memory</span><span class="w"></span>
+<span class="w"> </span><span class="n">firmware</span><span class="w"> </span><span class="n">can</span><span class="w"> </span><span class="n">use</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">load</span><span class="p">.</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">petitboot</span><span class="w"> </span><span class="n">kernel</span><span class="w"></span>
+<span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">tag</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">get</span><span class="w"> </span><span class="n">boot</span><span class="w"> </span><span class="n">memory</span><span class="w"> </span><span class="n">size</span><span class="p">.</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="id5">
+<section id="id5">
<h2>Return Values<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt>
-<dd>Operation success</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt>
-<dd>Invalid parameter</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>Operation success</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p>Invalid parameter</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -226,17 +227,15 @@ tag to retrieve metadata information and generate dump.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -253,14 +252,15 @@ tag to retrieve metadata information and generate dump.</p>
<li class="right" >
<a href="opal-messages.html" title="OPAL_MESSAGE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL MPIPL APIs</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-nmmu-set-ptcr-127.html b/doc/opal-api/opal-nmmu-set-ptcr-127.html
index 4ca59fe..7142ab3 100644
--- a/doc/opal-api/opal-nmmu-set-ptcr-127.html
+++ b/doc/opal-api/opal-nmmu-set-ptcr-127.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_NMMU_SET_PTCR &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_NMMU_SET_PTCR &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-mpipl-173-174.html" title="OPAL MPIPL APIs"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_NMMU_SET_PTCR</a></li>
</ul>
</div>
@@ -45,35 +45,36 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-nmmu-set-ptcr">
+ <section id="opal-nmmu-set-ptcr">
<span id="id1"></span><h1>OPAL_NMMU_SET_PTCR<a class="headerlink" href="#opal-nmmu-set-ptcr" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_NMMU_SET_PTCR 127</span>
-<span class="n">int64</span> <span class="nf">opal_nmmu_set_ptcr</span><span class="p">(</span><span class="n">uint64</span> <span class="n">chip_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">ptcr</span><span class="p">);</span>
+<span class="n">int64</span><span class="w"> </span><span class="nf">opal_nmmu_set_ptcr</span><span class="p">(</span><span class="n">uint64</span><span class="w"> </span><span class="n">chip_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">ptcr</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint64</span> <span class="pre">chip_id</span></code></dt>
-<dd>either the chip id containing the nest mmu who’s ptcr should be set
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint64</span> <span class="pre">chip_id</span></code></dt><dd><p>either the chip id containing the nest mmu who’s ptcr should be set
or alternatively -1ULL to indicate all nest mmu ptcr’s should be set to
-the same value.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64</span> <span class="pre">ptcr</span></code></dt>
-<dd>ptcr value pointing to either the radix tables or hash tables.</dd>
+the same value.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64</span> <span class="pre">ptcr</span></code></dt><dd><p>ptcr value pointing to either the radix tables or hash tables.</p>
+</dd>
</dl>
<p>This OPAL call sets up the Nest MMU by pointing it at the radix page
table base or the hash page table base (HTABORG).</p>
-<div class="section" id="return-values">
+<section id="return-values">
<h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>the PTCR was updated successful</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>a parameter was incorrect</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>the PTCR was updated successful</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>a parameter was incorrect</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -101,17 +102,15 @@ table base or the hash page table base (HTABORG).</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -128,14 +127,15 @@ table base or the hash page table base (HTABORG).</p>
<li class="right" >
<a href="opal-mpipl-173-174.html" title="OPAL MPIPL APIs"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_NMMU_SET_PTCR</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-npu2-146-147-148.html b/doc/opal-api/opal-npu2-146-147-148.html
index 05a1da7..f5e059a 100644
--- a/doc/opal-api/opal-npu2-146-147-148.html
+++ b/doc/opal-api/opal-npu2-146-147-148.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL NPU2 calls &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL NPU2 calls &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-nmmu-set-ptcr-127.html" title="OPAL_NMMU_SET_PTCR"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL NPU2 calls</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-npu2-calls">
+ <section id="opal-npu2-calls">
<span id="opal-npu2"></span><h1>OPAL NPU2 calls<a class="headerlink" href="#opal-npu2-calls" title="Permalink to this headline">¶</a></h1>
<p>There are three OPAL calls for interacting with NPU2 devices:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#define OPAL_NPU_INIT_CONTEXT 146</span>
@@ -64,7 +64,7 @@ are keyed off a 20-bit process ID (PASID/PID) which is identical to
the PID used on the processor.</p>
<p>The OPAL calls documented here are used to setup/destroy the
appropriate context for a given process on a given NVLink2 device.</p>
-<div class="section" id="opal-npu-init-context">
+<section id="opal-npu-init-context">
<span id="id1"></span><h2>OPAL_NPU_INIT_CONTEXT<a class="headerlink" href="#opal-npu-init-context" title="Permalink to this headline">¶</a></h2>
<p>Parameters:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
@@ -80,8 +80,8 @@ DR/HV/PR/SF.</p>
<p>Returns the context ID on success or <code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code> if no more
contexts are available or <code class="docutils literal notranslate"><span class="pre">OPAL_UNSUPPORTED</span></code> in the case of
unsupported MSR bits.</p>
-</div>
-<div class="section" id="opal-npu-destroy-context">
+</section>
+<section id="opal-npu-destroy-context">
<span id="id2"></span><h2>OPAL_NPU_DESTROY_CONTEXT<a class="headerlink" href="#opal-npu-destroy-context" title="Permalink to this headline">¶</a></h2>
<p>Parameters:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
@@ -90,8 +90,8 @@ unsupported MSR bits.</p>
</div>
<p>Destroys a previously allocated context ID. This may cause further
translation requests from the GPU to fail.</p>
-</div>
-<div class="section" id="opal-npu-map-lpar">
+</section>
+<section id="opal-npu-map-lpar">
<span id="id3"></span><h2>OPAL_NPU_MAP_LPAR<a class="headerlink" href="#opal-npu-map-lpar" title="Permalink to this headline">¶</a></h2>
<p>Parameters:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
@@ -103,10 +103,11 @@ translation requests from the GPU to fail.</p>
<p>Associates the given GPU BDF with a particular LPAR and LPCR
bits. Hash mode ATS is currently unsupported so lpcr should be set
to 0.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -136,17 +137,15 @@ to 0.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -163,14 +162,15 @@ to 0.</p>
<li class="right" >
<a href="opal-nmmu-set-ptcr-127.html" title="OPAL_NMMU_SET_PTCR"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL NPU2 calls</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-npu2-get-set-relaxed-order-168-169.html b/doc/opal-api/opal-npu2-get-set-relaxed-order-168-169.html
index 40f6289..ff54695 100644
--- a/doc/opal-api/opal-npu2-get-set-relaxed-order-168-169.html
+++ b/doc/opal-api/opal-npu2-get-set-relaxed-order-168-169.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_NPU_SET_RELAXED_ORDER &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_NPU_SET_RELAXED_ORDER &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-npu2-146-147-148.html" title="OPAL NPU2 calls"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_NPU_SET_RELAXED_ORDER</a></li>
</ul>
</div>
@@ -45,67 +45,68 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-npu-set-relaxed-order">
+ <section id="opal-npu-set-relaxed-order">
<span id="id1"></span><h1>OPAL_NPU_SET_RELAXED_ORDER<a class="headerlink" href="#opal-npu-set-relaxed-order" title="Permalink to this headline">¶</a></h1>
<p>Request that relaxed memory ordering be enabled or disabled for a device.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
<span class="n">uint16_t</span> <span class="n">bdfn</span>
<span class="nb">bool</span> <span class="n">request_enabled</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>OPAL ID of the PHB</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt>
-<dd>Bus-Device-Function number of the device</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">request_enabled</span></code></dt>
-<dd>Requested state of relaxed memory ordering enablement</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>OPAL ID of the PHB</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt><dd><p>Bus-Device-Function number of the device</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">request_enabled</span></code></dt><dd><p>Requested state of relaxed memory ordering enablement</p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt>
-<dd>Requested state set</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt>
-<dd>The given phb_id or bdfn is invalid or out of range</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_CONSTRAINED</span></code></dt>
-<dd>Relaxed ordering can not be enabled until an enable request is made
-for every device on this PHB.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt>
-<dd>No more relaxed ordering sources are available</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>Requested state set</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p>The given phb_id or bdfn is invalid or out of range</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_CONSTRAINED</span></code></dt><dd><p>Relaxed ordering can not be enabled until an enable request is made
+for every device on this PHB.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt><dd><p>No more relaxed ordering sources are available</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-npu-get-relaxed-order">
+</section>
+</section>
+<section id="opal-npu-get-relaxed-order">
<span id="id2"></span><h1>OPAL_NPU_GET_RELAXED_ORDER<a class="headerlink" href="#opal-npu-get-relaxed-order" title="Permalink to this headline">¶</a></h1>
<p>Query the relaxed memory ordering state of a device.</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
<span class="n">uint64_t</span> <span class="n">bdfn</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>OPAL ID of the PHB</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt>
-<dd>Bus-Device-Function number of the device</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>OPAL ID of the PHB</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt><dd><p>Bus-Device-Function number of the device</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h2>Return values<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
<p>On success, the current relaxed ordering state is returned.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt>
-<dd>The given phb_id or bdfn is invalid.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p>The given phb_id or bdfn is invalid.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -139,17 +140,15 @@ for every device on this PHB.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -166,14 +165,15 @@ for every device on this PHB.</dd>
<li class="right" >
<a href="opal-npu2-146-147-148.html" title="OPAL NPU2 calls"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_NPU_SET_RELAXED_ORDER</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.html b/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.html
index 6f45cea..15bb1ee 100644
--- a/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.html
+++ b/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_NPU_SPA_SETUP &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_NPU_SPA_SETUP &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-npu2-get-set-relaxed-order-168-169.html" title="OPAL_NPU_SET_RELAXED_ORDER"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_NPU_SPA_SETUP</a></li>
</ul>
</div>
@@ -45,14 +45,14 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-npu-spa-setup">
+ <section id="opal-npu-spa-setup">
<span id="id1"></span><h1>OPAL_NPU_SPA_SETUP<a class="headerlink" href="#opal-npu-spa-setup" title="Permalink to this headline">¶</a></h1>
<p>OpenCAPI devices only.</p>
<p>Sets up a Shared Process Area (SPA) with the Shared Process Area
Pointer (SPAP) set to the provided address <cite>addr</cite>, and sets the OTL PE
mask (used for PASID to PE handle conversion) to <cite>PE_mask</cite>.</p>
<p>If <cite>addr</cite> is NULL, the SPA will be disabled. <cite>addr</cite> must be 4K aligned.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
<span class="nb">int</span> <span class="n">bdfn</span>
@@ -60,66 +60,66 @@ mask (used for PASID to PE handle conversion) to <cite>PE_mask</cite>.</p>
<span class="n">uint64_t</span> <span class="n">PE_mask</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>OPAL ID of PHB</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt>
-<dd>Bus-Device-Function number of OpenCAPI AFU</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">addr</span></code></dt>
-<dd>Address of Shared Process Area, or NULL to disable SPA. Must be 4K aligned.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">PE_mask</span></code></dt>
-<dd>Process Element mask for PASID to PE handle conversion</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>OPAL ID of PHB</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt><dd><p>Bus-Device-Function number of OpenCAPI AFU</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">addr</span></code></dt><dd><p>Address of Shared Process Area, or NULL to disable SPA. Must be 4K aligned.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">PE_mask</span></code></dt><dd><p>Process Element mask for PASID to PE handle conversion</p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>OPAL_SUCCESS</dt>
-<dd>SPAP and PE mask were successfully set</dd>
-<dt>OPAL_PARAMETER</dt>
-<dd>A provided parameter was invalid</dd>
-<dt>OPAL_BUSY</dt>
-<dd>SPA is already enabled (or if addr is NULL, SPA is already disabled)</dd>
+<dl class="simple">
+<dt>OPAL_SUCCESS</dt><dd><p>SPAP and PE mask were successfully set</p>
+</dd>
+<dt>OPAL_PARAMETER</dt><dd><p>A provided parameter was invalid</p>
+</dd>
+<dt>OPAL_BUSY</dt><dd><p>SPA is already enabled (or if addr is NULL, SPA is already disabled)</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-npu-spa-clear-cache">
+</section>
+</section>
+<section id="opal-npu-spa-clear-cache">
<span id="id2"></span><h1>OPAL_NPU_SPA_CLEAR_CACHE<a class="headerlink" href="#opal-npu-spa-clear-cache" title="Permalink to this headline">¶</a></h1>
<p>OpenCAPI devices only.</p>
<p>Invalidates the Process Element with the given <cite>PE_handle</cite> from the NPU’s SPA cache.</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
<span class="n">uint32_t</span> <span class="n">bdfn</span>
<span class="n">uint64_t</span> <span class="n">PE_handle</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>OPAL ID of PHB</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt>
-<dd>Bus-Device-Function number of OpenCAPI AFU</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">PE_handle</span></code></dt>
-<dd>Handle of Process Element being cleared from SPA cache</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>OPAL ID of PHB</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt><dd><p>Bus-Device-Function number of OpenCAPI AFU</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">PE_handle</span></code></dt><dd><p>Handle of Process Element being cleared from SPA cache</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h2>Return Values<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>OPAL_SUCCESS</dt>
-<dd>PE was successfully cleared from SPA cache</dd>
-<dt>OPAL_PARAMETER</dt>
-<dd>A provided parameter was invalid</dd>
-<dt>OPAL_BUSY</dt>
-<dd>XSLO is currently invalidating a previously requested entry</dd>
+<dl class="simple">
+<dt>OPAL_SUCCESS</dt><dd><p>PE was successfully cleared from SPA cache</p>
+</dd>
+<dt>OPAL_PARAMETER</dt><dd><p>A provided parameter was invalid</p>
+</dd>
+<dt>OPAL_BUSY</dt><dd><p>XSLO is currently invalidating a previously requested entry</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-npu-tl-set">
+</section>
+</section>
+<section id="opal-npu-tl-set">
<span id="id5"></span><h1>OPAL_NPU_TL_SET<a class="headerlink" href="#opal-npu-tl-set" title="Permalink to this headline">¶</a></h1>
<p>OpenCAPI devices only.</p>
<p>Update the NPU OTL configuration with device capabilities.</p>
-<div class="section" id="id6">
+<section id="id6">
<h2>Parameters<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
<span class="n">uint32_t</span> <span class="n">bdfn</span>
@@ -128,38 +128,38 @@ mask (used for PASID to PE handle conversion) to <cite>PE_mask</cite>.</p>
<span class="nb">int</span> <span class="n">rate_sz</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>OPAL ID of PHB</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt>
-<dd>Bus-Device-Function number of OpenCAPI AFU</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">capabilities</span></code></dt>
-<dd>Bitmap of TL templates the device can receive</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rate_phys</span></code></dt>
-<dd>Physical address of rates buffer</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rate_sz</span></code></dt>
-<dd>Size of rates buffer (must be equal to 32)</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>OPAL ID of PHB</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt><dd><p>Bus-Device-Function number of OpenCAPI AFU</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">capabilities</span></code></dt><dd><p>Bitmap of TL templates the device can receive</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">rate_phys</span></code></dt><dd><p>Physical address of rates buffer</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">rate_sz</span></code></dt><dd><p>Size of rates buffer (must be equal to 32)</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id7">
+</section>
+<section id="id7">
<h2>Return Values<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>OPAL_SUCCESS</dt>
-<dd>OTL configuration was successfully updated</dd>
-<dt>OPAL_PARAMETER</dt>
-<dd><blockquote class="first last">
-<div>A provided parameter was invalid</div></blockquote>
+<dl>
+<dt>OPAL_SUCCESS</dt><dd><p>OTL configuration was successfully updated</p>
+</dd>
+<dt>OPAL_PARAMETER</dt><dd><blockquote>
+<div><p>A provided parameter was invalid</p>
+</div></blockquote>
</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-npu-mem-alloc">
+</section>
+</section>
+<section id="opal-npu-mem-alloc">
<span id="id8"></span><h1>OPAL_NPU_MEM_ALLOC<a class="headerlink" href="#opal-npu-mem-alloc" title="Permalink to this headline">¶</a></h1>
<p>OpenCAPI devices only.</p>
<p>Sets up the NPU memory BAR for Lowest Point of Coherency (LPC) memory.</p>
<p>At present, only one device per CPU can use LPC memory, and a maximum of 4TB
can be allocated.</p>
-<div class="section" id="id9">
+<section id="id9">
<h2>Parameters<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
<span class="n">uint32_t</span> <span class="n">bdfn</span>
@@ -167,59 +167,60 @@ can be allocated.</p>
<span class="n">uint64_t</span> <span class="o">*</span><span class="n">bar</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>OPAL ID of PHB</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt>
-<dd>Bus-Device-Function number of OpenCAPI AFU</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">size</span></code></dt>
-<dd>Size of requested LPC memory area in bytes</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bar</span></code></dt>
-<dd>Pointer to variable where base of LPC memory area will be returned</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>OPAL ID of PHB</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt><dd><p>Bus-Device-Function number of OpenCAPI AFU</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">size</span></code></dt><dd><p>Size of requested LPC memory area in bytes</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bar</span></code></dt><dd><p>Pointer to variable where base of LPC memory area will be returned</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id10">
+</section>
+<section id="id10">
<h2>Return Values<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>OPAL_SUCCESS</dt>
-<dd>BAR setup completed successfully</dd>
-<dt>OPAL_PARAMETER</dt>
-<dd>A provided parameter was invalid</dd>
-<dt>OPAL_RESOURCE</dt>
-<dd>The BAR could not be assigned due to limitations</dd>
+<dl class="simple">
+<dt>OPAL_SUCCESS</dt><dd><p>BAR setup completed successfully</p>
+</dd>
+<dt>OPAL_PARAMETER</dt><dd><p>A provided parameter was invalid</p>
+</dd>
+<dt>OPAL_RESOURCE</dt><dd><p>The BAR could not be assigned due to limitations</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-npu-mem-release">
+</section>
+</section>
+<section id="opal-npu-mem-release">
<span id="id11"></span><h1>OPAL_NPU_MEM_RELEASE<a class="headerlink" href="#opal-npu-mem-release" title="Permalink to this headline">¶</a></h1>
<p>OpenCAPI devices only.</p>
<p>Releases NPU memory BAR.</p>
-<div class="section" id="id12">
+<section id="id12">
<h2>Parameters<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">phb_id</span>
<span class="n">uint32_t</span> <span class="n">bdfn</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>OPAL ID of PHB</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt>
-<dd>Bus-Device-Function number of OpenCAPI AFU</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>OPAL ID of PHB</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bdfn</span></code></dt><dd><p>Bus-Device-Function number of OpenCAPI AFU</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id13">
+</section>
+<section id="id13">
<h2>Return Values<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>OPAL_SUCCESS</dt>
-<dd>BAR setup completed successfully</dd>
-<dt>OPAL_PARAMETER</dt>
-<dd>A provided parameter was invalid, or the specified device does not currently
-have LPC memory assigned</dd>
+<dl class="simple">
+<dt>OPAL_SUCCESS</dt><dd><p>BAR setup completed successfully</p>
+</dd>
+<dt>OPAL_PARAMETER</dt><dd><p>A provided parameter was invalid, or the specified device does not currently
+have LPC memory assigned</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -268,17 +269,15 @@ have LPC memory assigned</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -295,14 +294,15 @@ have LPC memory assigned</dd>
<li class="right" >
<a href="opal-npu2-get-set-relaxed-order-168-169.html" title="OPAL_NPU_SET_RELAXED_ORDER"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_NPU_SPA_SETUP</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-nvram-read-write-7-8.html b/doc/opal-api/opal-nvram-read-write-7-8.html
index 2a089c2..27841cf 100644
--- a/doc/opal-api/opal-nvram-read-write-7-8.html
+++ b/doc/opal-api/opal-nvram-read-write-7-8.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL NVRAM &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL NVRAM &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-npu2-opencapi-159-160-161-171-172.html" title="OPAL_NPU_SPA_SETUP"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL NVRAM</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-nvram">
+ <section id="opal-nvram">
<span id="nvram"></span><h1>OPAL NVRAM<a class="headerlink" href="#opal-nvram" title="Permalink to this headline">¶</a></h1>
<p>The NVRAM requirements for OPAL systems is derived from LoPAPR, and all
requirements listed in it apply to OPAL with some exceptions. Note that
@@ -56,7 +56,7 @@ neither does 8.4.1.2 “DASD Spin-up Control”. Not that the RTAS calls of
<p>LoPAPR has a minimum requirement of 8KB of Non-Volatile Memory. While this
requirement carries over, it’s important to note that historically all OPAL
systems have had roughly 500kb of NVRAM.</p>
-<p>See <a class="reference internal" href="../device-tree/ibm,opal/nvram.html#device-tree-ibm-opal-nvram"><span class="std std-ref">nvram Device Tree Node</span></a> for details on how NVRAM is represented
+<p>See <a class="reference internal" href="../device-tree/ibm%2Copal/nvram.html#device-tree-ibm-opal-nvram"><span class="std std-ref">nvram Device Tree Node</span></a> for details on how NVRAM is represented
in the device tree. It’s fairly simple, it looks like this:</p>
<div class="highlight-dts notranslate"><div class="highlight"><pre><span></span><span class="nc">nvram</span> <span class="p">{</span>
<span class="nf">compatible</span> <span class="o">=</span> <span class="s">&quot;ibm,opal-nvram&quot;</span><span class="p">;</span>
@@ -64,11 +64,11 @@ in the device tree. It’s fairly simple, it looks like this:</p>
<span class="p">};</span>
</pre></div>
</div>
-<div class="section" id="opal-read-nvram">
+<section id="opal-read-nvram">
<span id="id1"></span><h2>OPAL_READ_NVRAM<a class="headerlink" href="#opal-read-nvram" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_READ_NVRAM 7</span>
-<span class="kt">int64_t</span> <span class="nf">opal_read_nvram</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">buffer</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_read_nvram</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><a class="reference internal" href="#opal-read-nvram"><span class="std std-ref">OPAL_READ_NVRAM</span></a> call requests OPAL to read the data from system NVRAM
@@ -78,78 +78,79 @@ will be copied to memory <code class="docutils literal notranslate"><span class=
NVRAM from its storage (typically flash) during boot, so the call duration
should be along the lines of a <code class="docutils literal notranslate"><span class="pre">memcpy()</span></code> operation rather than reading
from storage.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h3>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">buffer</span>
<span class="n">uint64_t</span> <span class="n">size</span>
<span class="n">uint64_t</span> <span class="n">offset</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">buffer</span></code></dt>
-<dd>the data from nvram will be copied to <code class="docutils literal notranslate"><span class="pre">buffer</span></code></dd>
-<dt><code class="docutils literal notranslate"><span class="pre">size</span></code></dt>
-<dd>the data of size <code class="docutils literal notranslate"><span class="pre">size</span></code> will be copied</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">offset</span></code></dt>
-<dd>the data will be copied from address equal to base <code class="docutils literal notranslate"><span class="pre">nvram_image</span></code> plus <code class="docutils literal notranslate"><span class="pre">offset</span></code></dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">buffer</span></code></dt><dd><p>the data from nvram will be copied to <code class="docutils literal notranslate"><span class="pre">buffer</span></code></p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">size</span></code></dt><dd><p>the data of size <code class="docutils literal notranslate"><span class="pre">size</span></code> will be copied</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">offset</span></code></dt><dd><p>the data will be copied from address equal to base <code class="docutils literal notranslate"><span class="pre">nvram_image</span></code> plus <code class="docutils literal notranslate"><span class="pre">offset</span></code></p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h3>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>data from nvram to memory <code class="docutils literal notranslate"><span class="pre">buffer</span></code> copied successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>a parameter <code class="docutils literal notranslate"><span class="pre">offset</span></code> or <code class="docutils literal notranslate"><span class="pre">size</span></code> was incorrect</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>either nvram is not initialized or permanent error related to nvram hardware.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>data from nvram to memory <code class="docutils literal notranslate"><span class="pre">buffer</span></code> copied successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>a parameter <code class="docutils literal notranslate"><span class="pre">offset</span></code> or <code class="docutils literal notranslate"><span class="pre">size</span></code> was incorrect</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>either nvram is not initialized or permanent error related to nvram hardware.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-write-nvram">
+</section>
+</section>
+<section id="opal-write-nvram">
<span id="id2"></span><h2>OPAL_WRITE_NVRAM<a class="headerlink" href="#opal-write-nvram" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_WRITE_NVRAM 8</span>
-<span class="kt">int64_t</span> <span class="nf">opal_write_nvram</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">buffer</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_write_nvram</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><a class="reference internal" href="#opal-write-nvram"><span class="std std-ref">OPAL_WRITE_NVRAM</span></a> call requests OPAL to write the data to actual system NVRAM memory
from memory <code class="docutils literal notranslate"><span class="pre">buffer</span></code> at <code class="docutils literal notranslate"><span class="pre">offset</span></code>, of size <code class="docutils literal notranslate"><span class="pre">size</span></code></p>
-<div class="section" id="id3">
+<section id="id3">
<h3>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">buffer</span>
<span class="n">uint64_t</span> <span class="n">size</span>
<span class="n">uint64_t</span> <span class="n">offset</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">buffer</span></code></dt>
-<dd>data from <code class="docutils literal notranslate"><span class="pre">buffer</span></code> will be copied to nvram</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">size</span></code></dt>
-<dd>the data of size <code class="docutils literal notranslate"><span class="pre">size</span></code> will be copied</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">offset</span></code></dt>
-<dd>the data will be copied to address which is equal to base <code class="docutils literal notranslate"><span class="pre">nvram_image</span></code> plus <code class="docutils literal notranslate"><span class="pre">offset</span></code></dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">buffer</span></code></dt><dd><p>data from <code class="docutils literal notranslate"><span class="pre">buffer</span></code> will be copied to nvram</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">size</span></code></dt><dd><p>the data of size <code class="docutils literal notranslate"><span class="pre">size</span></code> will be copied</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">offset</span></code></dt><dd><p>the data will be copied to address which is equal to base <code class="docutils literal notranslate"><span class="pre">nvram_image</span></code> plus <code class="docutils literal notranslate"><span class="pre">offset</span></code></p>
+</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h3>Return Values<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>data from memory <code class="docutils literal notranslate"><span class="pre">buffer</span></code> to actual nvram_image copied successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>a parameter <code class="docutils literal notranslate"><span class="pre">offset</span></code> or <code class="docutils literal notranslate"><span class="pre">size</span></code> was incorrect</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>either nvram is not initialized or permanent error related to nvram hardware.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>OPAL is currently busy, retry the <a class="reference internal" href="#opal-write-nvram"><span class="std std-ref">OPAL_WRITE_NVRAM</span></a> call.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt>
-<dd>OPAL is currently busy, call <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> and then retry <a class="reference internal" href="#opal-write-nvram"><span class="std std-ref">OPAL_WRITE_NVRAM</span></a></dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>data from memory <code class="docutils literal notranslate"><span class="pre">buffer</span></code> to actual nvram_image copied successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>a parameter <code class="docutils literal notranslate"><span class="pre">offset</span></code> or <code class="docutils literal notranslate"><span class="pre">size</span></code> was incorrect</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>either nvram is not initialized or permanent error related to nvram hardware.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>OPAL is currently busy, retry the <a class="reference internal" href="#opal-write-nvram"><span class="std std-ref">OPAL_WRITE_NVRAM</span></a> call.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt><dd><p>OPAL is currently busy, call <a class="reference internal" href="opal-poll-events.html#opal-poll-events"><span class="std std-ref">OPAL_POLL_EVENTS</span></a> and then retry <a class="reference internal" href="#opal-write-nvram"><span class="std std-ref">OPAL_WRITE_NVRAM</span></a></p>
+</dd>
</dl>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -186,17 +187,15 @@ from memory <code class="docutils literal notranslate"><span class="pre">buffer<
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -213,14 +212,15 @@ from memory <code class="docutils literal notranslate"><span class="pre">buffer<
<li class="right" >
<a href="opal-npu2-opencapi-159-160-161-171-172.html" title="OPAL_NPU_SPA_SETUP"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL NVRAM</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-param-89-90.html b/doc/opal-api/opal-param-89-90.html
index 5d513bb..2466a0e 100644
--- a/doc/opal-api/opal-param-89-90.html
+++ b/doc/opal-api/opal-param-89-90.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Get/Set System Parameters &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Get/Set System Parameters &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-nvram-read-write-7-8.html" title="OPAL NVRAM"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Get/Set System Parameters</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="get-set-system-parameters">
+ <section id="get-set-system-parameters">
<span id="opal-sysparams"></span><h1>Get/Set System Parameters<a class="headerlink" href="#get-set-system-parameters" title="Permalink to this headline">¶</a></h1>
<p>The usual way for setting system parameters is via IPMI for things controlled
by the service processor, or through NVRAM for things controlled by host
@@ -53,73 +53,74 @@ firmware. However, some platforms may have other options not easily (or
possible to be) exposed over IPMI. These OPAL calls will read (and write)
these parameters.</p>
<p>The list of parameters is set at boot time, and is represented in the device
-tree (see <a class="reference internal" href="../device-tree/ibm,opal/sysparams.html#device-tree-ibm-opal-sysparams"><span class="std std-ref">sysparams</span></a> for details).</p>
+tree (see <a class="reference internal" href="../device-tree/ibm%2Copal/sysparams.html#device-tree-ibm-opal-sysparams"><span class="std std-ref">sysparams</span></a> for details).</p>
<p>Currently only implemented on FSP based systems.</p>
-<div class="section" id="opal-get-param">
+<section id="opal-get-param">
<span id="id1"></span><h2>OPAL_GET_PARAM<a class="headerlink" href="#opal-get-param" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_PARAM 89</span>
-<span class="kt">int64_t</span> <span class="nf">fsp_opal_get_param</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">async_token</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">param_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">buffer</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">length</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">fsp_opal_get_param</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">async_token</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">param_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">length</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Get the current setting of <cite>param_id</cite>. This is an asynchronous call as OPAL may
need to communicate with a service processor. The <cite>param_id</cite> and <cite>length</cite> are
described in the device tree for each parameter (see
-<a class="reference internal" href="../device-tree/ibm,opal/sysparams.html#device-tree-ibm-opal-sysparams"><span class="std std-ref">sysparams</span></a> for details).</p>
-<div class="section" id="returns">
+<a class="reference internal" href="../device-tree/ibm%2Copal/sysparams.html#device-tree-ibm-opal-sysparams"><span class="std std-ref">sysparams</span></a> for details).</p>
+<section id="returns">
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Hardware issue prevents retreiving parameter. e.g. FSP is offline or
-absent.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid <cite>param_id</cite></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt>
-<dd>Not allowed to read parameter.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt>
-<dd>Not enough free memory in OPAL to process request.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Other internal OPAL error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request is submitted.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Hardware issue prevents retreiving parameter. e.g. FSP is offline or
+absent.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid <cite>param_id</cite></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt><dd><p>Not allowed to read parameter.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt><dd><p>Not enough free memory in OPAL to process request.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Other internal OPAL error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request is submitted.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-set-param">
+</section>
+</section>
+<section id="opal-set-param">
<span id="id2"></span><h2>OPAL_SET_PARAM<a class="headerlink" href="#opal-set-param" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SET_PARAM 90</span>
-<span class="kt">int64_t</span> <span class="nf">fsp_opal_set_param</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">async_token</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">param_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">buffer</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">length</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">fsp_opal_set_param</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">async_token</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">param_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">length</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Write a new setting for <cite>param_id</cite>. This is an asynchronous call as OPAL may
need to communicate with a service processor. The <cite>param_id</cite> and <cite>length</cite> are
described in the device tree for each parameter (see
-<a class="reference internal" href="../device-tree/ibm,opal/sysparams.html#device-tree-ibm-opal-sysparams"><span class="std std-ref">sysparams</span></a> for details).</p>
-<div class="section" id="id3">
+<a class="reference internal" href="../device-tree/ibm%2Copal/sysparams.html#device-tree-ibm-opal-sysparams"><span class="std std-ref">sysparams</span></a> for details).</p>
+<section id="id3">
<h3>Returns<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Hardware issue prevents retreiving parameter. e.g. FSP is offline or
-absent.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid <cite>param_id</cite></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt>
-<dd>Not allowed to write parameter.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt>
-<dd>Not enough free memory in OPAL to process request.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Other internal OPAL error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request is submitted.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Hardware issue prevents retreiving parameter. e.g. FSP is offline or
+absent.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid <cite>param_id</cite></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt><dd><p>Not allowed to write parameter.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt><dd><p>Not enough free memory in OPAL to process request.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Other internal OPAL error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request is submitted.</p>
+</dd>
</dl>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -154,17 +155,15 @@ absent.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -181,14 +180,15 @@ absent.</dd>
<li class="right" >
<a href="opal-nvram-read-write-7-8.html" title="OPAL NVRAM"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Get/Set System Parameters</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-config-read-write-13-14-15-16-17-18.html b/doc/opal-api/opal-pci-config-read-write-13-14-15-16-17-18.html
index 15aaccb..920e700 100644
--- a/doc/opal-api/opal-pci-config-read-write-13-14-15-16-17-18.html
+++ b/doc/opal-api/opal-pci-config-read-write-13-14-15-16-17-18.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL PCI Config Space Access &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL PCI Config Space Access &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-param-89-90.html" title="Get/Set System Parameters"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL PCI Config Space Access</a></li>
</ul>
</div>
@@ -45,110 +45,111 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-config-space-access">
+ <section id="opal-pci-config-space-access">
<span id="opal-pci-config"></span><h1>OPAL PCI Config Space Access<a class="headerlink" href="#opal-pci-config-space-access" title="Permalink to this headline">¶</a></h1>
<p>PCI Config space is read or written to through OPAL calls. All of these calls</p>
-<div class="section" id="opal-pci-config-return-codes">
+<section id="opal-pci-config-return-codes">
<span id="id1"></span><h2>OPAL_PCI_CONFIG_* Return codes<a class="headerlink" href="#opal-pci-config-return-codes" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Read/Write operation completed successfully.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid parameter. e.g. invalid <cite>phb_id</cite> or <cite>bus_dev_func</cite>.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Invalid request for the hardware either permanently or in its
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Read/Write operation completed successfully.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid parameter. e.g. invalid <cite>phb_id</cite> or <cite>bus_dev_func</cite>.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Invalid request for the hardware either permanently or in its
current state. Can also be a hardware problem, e.g. fenced or
-config access is currently blocked.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Unsupported operation. For example, phb4 doesn’t support ASB config
-space writes.</dd>
-<dt>Other return codes</dt>
-<dd>Should be handled gracefully. For example, for any return code other than
+config access is currently blocked.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Unsupported operation. For example, phb4 doesn’t support ASB config
+space writes.</p>
+</dd>
+<dt>Other return codes</dt><dd><p>Should be handled gracefully. For example, for any return code other than
<a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a>, Linux will return all bits set for the specified size
-for a read, and will ignore the error on a write.</dd>
+for a read, and will ignore the error on a write.</p>
+</dd>
</dl>
-<div class="section" id="opal-pci-config-read-byte">
+<section id="opal-pci-config-read-byte">
<span id="id2"></span><h3>OPAL_PCI_CONFIG_READ_BYTE<a class="headerlink" href="#opal-pci-config-read-byte" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_CONFIG_READ_BYTE 13</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_config_read_byte</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">bus_dev_func</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span>
- <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_config_read_byte</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">bus_dev_func</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="o">*</span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Reads a single byte from PCI config space,
see <a class="reference internal" href="#opal-pci-config-return-codes"><span class="std std-ref">OPAL_PCI_CONFIG_* Return codes</span></a>.</p>
-</div>
-<div class="section" id="opal-pci-config-read-half-word">
+</section>
+<section id="opal-pci-config-read-half-word">
<span id="id3"></span><h3>OPAL_PCI_CONFIG_READ_HALF_WORD<a class="headerlink" href="#opal-pci-config-read-half-word" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_CONFIG_READ_HALF_WORD 14</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_config_read_half_word</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">bus_dev_func</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_config_read_half_word</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">bus_dev_func</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="o">*</span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Reads a half word (16 bits) from PCI config space,
see <a class="reference internal" href="#opal-pci-config-return-codes"><span class="std std-ref">OPAL_PCI_CONFIG_* Return codes</span></a>.</p>
-</div>
-<div class="section" id="opal-pci-config-read-word">
+</section>
+<section id="opal-pci-config-read-word">
<span id="id4"></span><h3>OPAL_PCI_CONFIG_READ_WORD<a class="headerlink" href="#opal-pci-config-read-word" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_CONFIG_READ_WORD 15</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_config_read_word</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">bus_dev_func</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_config_read_word</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">bus_dev_func</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Reads a word (32 bits) from PCI config space,
see <a class="reference internal" href="#opal-pci-config-return-codes"><span class="std std-ref">OPAL_PCI_CONFIG_* Return codes</span></a>.</p>
-</div>
-<div class="section" id="opal-pci-config-write-byte">
+</section>
+<section id="opal-pci-config-write-byte">
<span id="id5"></span><h3>OPAL_PCI_CONFIG_WRITE_BYTE<a class="headerlink" href="#opal-pci-config-write-byte" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_CONFIG_WRITE_BYTE 16</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_config_write_byte</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">bus_dev_func</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span>
- <span class="kt">uint8_t</span> <span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_config_write_byte</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">bus_dev_func</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Writes a byte (8 bits) to PCI config space,
see <a class="reference internal" href="#opal-pci-config-return-codes"><span class="std std-ref">OPAL_PCI_CONFIG_* Return codes</span></a>.</p>
-</div>
-<div class="section" id="opal-pci-config-write-half-word">
+</section>
+<section id="opal-pci-config-write-half-word">
<span id="id6"></span><h3>OPAL_PCI_CONFIG_WRITE_HALF_WORD<a class="headerlink" href="#opal-pci-config-write-half-word" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_CONFIG_WRITE_HALF_WORD 17</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_config_read_half_word</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">bus_dev_func</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_config_read_half_word</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">bus_dev_func</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Writes a half word (16 bits) to PCI config space,
see <a class="reference internal" href="#opal-pci-config-return-codes"><span class="std std-ref">OPAL_PCI_CONFIG_* Return codes</span></a>.</p>
-</div>
-<div class="section" id="opal-pci-config-write-word">
+</section>
+<section id="opal-pci-config-write-word">
<span id="id7"></span><h3>OPAL_PCI_CONFIG_WRITE_WORD<a class="headerlink" href="#opal-pci-config-write-word" title="Permalink to this headline">¶</a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_CONFIG_WRITE_WORD 18</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_config_read_word</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">bus_dev_func</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">offset</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_config_read_word</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">bus_dev_func</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Writes a word (32 bits) to PCI config space,
see <a class="reference internal" href="#opal-pci-config-return-codes"><span class="std std-ref">OPAL_PCI_CONFIG_* Return codes</span></a>.</p>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -184,17 +185,15 @@ see <a class="reference internal" href="#opal-pci-config-return-codes"><span cla
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -211,14 +210,15 @@ see <a class="reference internal" href="#opal-pci-config-return-codes"><span cla
<li class="right" >
<a href="opal-param-89-90.html" title="Get/Set System Parameters"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL PCI Config Space Access</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-eeh-freeze-clear-26.html b/doc/opal-api/opal-pci-eeh-freeze-clear-26.html
index e4df6ad..6fd74cc 100644
--- a/doc/opal-api/opal-pci-eeh-freeze-clear-26.html
+++ b/doc/opal-api/opal-pci-eeh-freeze-clear-26.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_EEH_FREEZE_CLEAR &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_EEH_FREEZE_CLEAR &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-config-read-write-13-14-15-16-17-18.html" title="OPAL PCI Config Space Access"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_EEH_FREEZE_CLEAR</a></li>
</ul>
</div>
@@ -45,40 +45,41 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-eeh-freeze-clear">
+ <section id="opal-pci-eeh-freeze-clear">
<span id="id1"></span><h1>OPAL_PCI_EEH_FREEZE_CLEAR<a class="headerlink" href="#opal-pci-eeh-freeze-clear" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_EEH_FREEZE_CLEAR 26</span>
-<span class="k">enum</span> <span class="n">OpalEehFreezeActionToken</span> <span class="p">{</span>
- <span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_MMIO</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_DMA</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_ALL</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalEehFreezeActionToken</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_MMIO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_DMA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_ALL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
- <span class="n">OPAL_EEH_ACTION_SET_FREEZE_MMIO</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EEH_ACTION_SET_FREEZE_DMA</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EEH_ACTION_SET_FREEZE_ALL</span> <span class="o">=</span> <span class="mi">3</span>
-<span class="p">};</span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_SET_FREEZE_MMIO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_SET_FREEZE_DMA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_SET_FREEZE_ALL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_eeh_freeze_clear</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">eeh_action_token</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_eeh_freeze_clear</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">eeh_action_token</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success!</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid PHB</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>PHB doesn’t support this operation.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Hardware issue prevents completing operation. OPAL may have detected it
-being broken.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success!</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid PHB</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>PHB doesn’t support this operation.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Hardware issue prevents completing operation. OPAL may have detected it
+being broken.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -106,17 +107,15 @@ being broken.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -133,14 +132,15 @@ being broken.</dd>
<li class="right" >
<a href="opal-pci-config-read-write-13-14-15-16-17-18.html" title="OPAL PCI Config Space Access"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_EEH_FREEZE_CLEAR</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-eeh-freeze-set-97.html b/doc/opal-api/opal-pci-eeh-freeze-set-97.html
index b890ae4..4b45dcb 100644
--- a/doc/opal-api/opal-pci-eeh-freeze-set-97.html
+++ b/doc/opal-api/opal-pci-eeh-freeze-set-97.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_EEH_FREEZE_SET &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_EEH_FREEZE_SET &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-eeh-freeze-clear-26.html" title="OPAL_PCI_EEH_FREEZE_CLEAR"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_EEH_FREEZE_SET</a></li>
</ul>
</div>
@@ -45,37 +45,38 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-eeh-freeze-set">
+ <section id="opal-pci-eeh-freeze-set">
<span id="id1"></span><h1>OPAL_PCI_EEH_FREEZE_SET<a class="headerlink" href="#opal-pci-eeh-freeze-set" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_EEH_FREEZE_SET 97</span>
-<span class="k">enum</span> <span class="n">OpalEehFreezeActionToken</span> <span class="p">{</span>
- <span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_MMIO</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_DMA</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_ALL</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalEehFreezeActionToken</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_MMIO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_DMA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_CLEAR_FREEZE_ALL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
- <span class="n">OPAL_EEH_ACTION_SET_FREEZE_MMIO</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EEH_ACTION_SET_FREEZE_DMA</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EEH_ACTION_SET_FREEZE_ALL</span> <span class="o">=</span> <span class="mi">3</span>
-<span class="p">};</span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_SET_FREEZE_MMIO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_SET_FREEZE_DMA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_ACTION_SET_FREEZE_ALL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_eeh_freeze_set</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">eeh_action_token</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_eeh_freeze_set</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">eeh_action_token</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid parameter.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Unsupported operation</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Hardware in a bad state.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid parameter.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Unsupported operation</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Hardware in a bad state.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -103,17 +104,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -130,14 +129,15 @@
<li class="right" >
<a href="opal-pci-eeh-freeze-clear-26.html" title="OPAL_PCI_EEH_FREEZE_CLEAR"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_EEH_FREEZE_SET</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-eeh-freeze-status-23.html b/doc/opal-api/opal-pci-eeh-freeze-status-23.html
index ad49796..eab7674 100644
--- a/doc/opal-api/opal-pci-eeh-freeze-status-23.html
+++ b/doc/opal-api/opal-pci-eeh-freeze-status-23.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_EEH_FREEZE_STATUS &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_EEH_FREEZE_STATUS &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-eeh-freeze-set-97.html" title="OPAL_PCI_EEH_FREEZE_SET"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_EEH_FREEZE_STATUS</a></li>
</ul>
</div>
@@ -45,63 +45,63 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-eeh-freeze-status">
+ <section id="opal-pci-eeh-freeze-status">
<span id="id1"></span><h1>OPAL_PCI_EEH_FREEZE_STATUS<a class="headerlink" href="#opal-pci-eeh-freeze-status" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_EEH_FREEZE_STATUS 23</span>
-<span class="k">enum</span> <span class="n">OpalFreezeState</span> <span class="p">{</span>
- <span class="n">OPAL_EEH_STOPPED_NOT_FROZEN</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_EEH_STOPPED_MMIO_FREEZE</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EEH_STOPPED_DMA_FREEZE</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EEH_STOPPED_MMIO_DMA_FREEZE</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">OPAL_EEH_STOPPED_RESET</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span>
- <span class="n">OPAL_EEH_STOPPED_TEMP_UNAVAIL</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
- <span class="n">OPAL_EEH_STOPPED_PERM_UNAVAIL</span> <span class="o">=</span> <span class="mi">6</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalFreezeState</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_STOPPED_NOT_FROZEN</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_STOPPED_MMIO_FREEZE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_STOPPED_DMA_FREEZE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_STOPPED_MMIO_DMA_FREEZE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_STOPPED_RESET</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_STOPPED_TEMP_UNAVAIL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_STOPPED_PERM_UNAVAIL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">6</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="k">enum</span> <span class="n">OpalPciStatusToken</span> <span class="p">{</span>
- <span class="n">OPAL_EEH_NO_ERROR</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_EEH_IOC_ERROR</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EEH_PHB_ERROR</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EEH_PE_ERROR</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">OPAL_EEH_PE_MMIO_ERROR</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span>
- <span class="n">OPAL_EEH_PE_DMA_ERROR</span> <span class="o">=</span> <span class="mi">5</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalPciStatusToken</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_NO_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_IOC_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_PHB_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_PE_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_PE_MMIO_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_PE_DMA_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_eeh_freeze_status</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span>
- <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">freeze_state</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">pci_error_type</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">phb_status</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_eeh_freeze_status</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="o">*</span><span class="n">freeze_state</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="o">*</span><span class="n">pci_error_type</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">phb_status</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">The <code class="docutils literal notranslate"><span class="pre">phb_status</span></code> parameter is deprecated as
+<p class="admonition-title">Note</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">phb_status</span></code> parameter is deprecated as
of <a class="reference internal" href="../release-notes/skiboot-6.3-rc1.html#skiboot-6-3-rc1"><span class="std std-ref">skiboot-6.3-rc1</span></a>. Linux only ever passed in NULL,
and this was safe. Supplying a pointer was previously <em>unsafe</em>.
Always pass NULL.</p>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">There once was a <a class="reference internal" href="#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a> call, but it
+<p class="admonition-title">Note</p>
+<p>There once was a <a class="reference internal" href="#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a> call, but it
was introduced in firmware and never used by any OS, so it has since
been removed from OPAL.</p>
</div>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid address or PHB.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>PHB does not support this operation.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Hardware prohibited getting status, OPAL maybe marked it as broken.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Retreived status.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid address or PHB.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>PHB does not support this operation.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Hardware prohibited getting status, OPAL maybe marked it as broken.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Retreived status.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-pci-eeh-freeze-status2">
+</section>
+</section>
+<section id="opal-pci-eeh-freeze-status2">
<span id="id2"></span><h1>OPAL_PCI_EEH_FREEZE_STATUS2<a class="headerlink" href="#opal-pci-eeh-freeze-status2" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_EEH_FREEZE_STATUS2 61</span>
</pre></div>
@@ -112,9 +112,10 @@ have been used somewhere, it seems that all existing code has only ever used
<a class="reference internal" href="#opal-pci-eeh-freeze-status"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS</span></a> over <a class="reference internal" href="#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a>.</p>
<p>This call has been removed as of <a class="reference internal" href="../release-notes/skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a> as it has literally never
been used.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -143,17 +144,15 @@ been used.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -170,14 +169,15 @@ been used.</p>
<li class="right" >
<a href="opal-pci-eeh-freeze-set-97.html" title="OPAL_PCI_EEH_FREEZE_SET"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_EEH_FREEZE_STATUS</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-err-inject-96.html b/doc/opal-api/opal-pci-err-inject-96.html
index 6dbff3f..3b696cd 100644
--- a/doc/opal-api/opal-pci-err-inject-96.html
+++ b/doc/opal-api/opal-pci-err-inject-96.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_ERR_INJECT &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_ERR_INJECT &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-eeh-freeze-status-23.html" title="OPAL_PCI_EEH_FREEZE_STATUS"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_ERR_INJECT</a></li>
</ul>
</div>
@@ -45,60 +45,61 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-err-inject">
+ <section id="opal-pci-err-inject">
<span id="id1"></span><h1>OPAL_PCI_ERR_INJECT<a class="headerlink" href="#opal-pci-err-inject" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_ERR_INJECT 96</span>
-<span class="k">enum</span> <span class="n">OpalErrinjectType</span> <span class="p">{</span>
- <span class="n">OPAL_ERR_INJECT_TYPE_IOA_BUS_ERR</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_TYPE_IOA_BUS_ERR64</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalErrinjectType</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_TYPE_IOA_BUS_ERR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_TYPE_IOA_BUS_ERR64</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="k">enum</span> <span class="n">OpalErrinjectFunc</span> <span class="p">{</span>
- <span class="cm">/* IOA bus specific errors */</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_MEM_ADDR</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_MEM_DATA</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_IO_ADDR</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_IO_DATA</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_CFG_ADDR</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_CFG_DATA</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_MEM_ADDR</span> <span class="o">=</span> <span class="mi">6</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_MEM_DATA</span> <span class="o">=</span> <span class="mi">7</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_IO_ADDR</span> <span class="o">=</span> <span class="mi">8</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_IO_DATA</span> <span class="o">=</span> <span class="mi">9</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_CFG_ADDR</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_CFG_DATA</span> <span class="o">=</span> <span class="mi">11</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_ADDR</span> <span class="o">=</span> <span class="mi">12</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_DATA</span> <span class="o">=</span> <span class="mi">13</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_MASTER</span> <span class="o">=</span> <span class="mi">14</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_TARGET</span> <span class="o">=</span> <span class="mi">15</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_ADDR</span> <span class="o">=</span> <span class="mi">16</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_DATA</span> <span class="o">=</span> <span class="mi">17</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_MASTER</span> <span class="o">=</span> <span class="mi">18</span><span class="p">,</span>
- <span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_TARGET</span> <span class="o">=</span> <span class="mi">19</span><span class="p">,</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalErrinjectFunc</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="cm">/* IOA bus specific errors */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_MEM_ADDR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_MEM_DATA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_IO_ADDR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_IO_DATA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_CFG_ADDR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_LD_CFG_DATA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_MEM_ADDR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_MEM_DATA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_IO_ADDR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">8</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_IO_DATA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">9</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_CFG_ADDR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_ST_CFG_DATA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_ADDR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_DATA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_MASTER</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">14</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_TARGET</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_ADDR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">16</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_DATA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">17</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_MASTER</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">18</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_TARGET</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">19</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_err_inject</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">type</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">func</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">addr</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">mask</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_err_inject</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">type</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">func</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">addr</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">mask</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Inject an error, used to test OS and OPAL EEH handling.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Error injected successfully.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid argument.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>PHB doesn’t support error injection or the specific error attempting to
-be injected.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Error injected successfully.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid argument.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>PHB doesn’t support error injection or the specific error attempting to
+be injected.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -126,17 +127,15 @@ be injected.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -153,14 +152,15 @@ be injected.</dd>
<li class="right" >
<a href="opal-pci-eeh-freeze-status-23.html" title="OPAL_PCI_EEH_FREEZE_STATUS"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_ERR_INJECT</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-get-hub-diag-data-50.html b/doc/opal-api/opal-pci-get-hub-diag-data-50.html
index 697ddb3..dc1367d 100644
--- a/doc/opal-api/opal-pci-get-hub-diag-data-50.html
+++ b/doc/opal-api/opal-pci-get-hub-diag-data-50.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_GET_HUB_DIAG_DATA &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_GET_HUB_DIAG_DATA &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-err-inject-96.html" title="OPAL_PCI_ERR_INJECT"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_HUB_DIAG_DATA</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-get-hub-diag-data">
+ <section id="opal-pci-get-hub-diag-data">
<span id="id1"></span><h1>OPAL_PCI_GET_HUB_DIAG_DATA<a class="headerlink" href="#opal-pci-get-hub-diag-data" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_GET_HUB_DIAG_DATA 50</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_get_hub_diag_data</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">hub_id</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">diag_buffer</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">diag_buffer_len</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_get_hub_diag_data</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">hub_id</span><span class="p">,</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">diag_buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">diag_buffer_len</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Fetch diagnostic data for an IO hub. This was only implemented for hardware
@@ -59,25 +59,26 @@ internally to IBM for development purposes.</p>
<p>If <a class="reference internal" href="opal-pci-next-error-60.html#opal-pci-next-error"><span class="std std-ref">OPAL_PCI_NEXT_ERROR</span></a> error type is <cite>OPAL_EEH_IOC_ERROR</cite> and severity
is <cite>OPAL_EEH_SEV_INF</cite>, then the OS should call <a class="reference internal" href="#opal-pci-get-hub-diag-data"><span class="std std-ref">OPAL_PCI_GET_HUB_DIAG_DATA</span></a>
to retreive diagnostic data to log appropriately.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Diagnostic data copied successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid address, invalid hub ID, or insufficient space in buffer for
-diagnostic data.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>hub doesn’t support retreiving diagnostic data.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-closed"><span class="std std-ref">OPAL_CLOSED</span></a></dt>
-<dd>No pending error.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Something went wrong.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Diagnostic data copied successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid address, invalid hub ID, or insufficient space in buffer for
+diagnostic data.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>hub doesn’t support retreiving diagnostic data.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-closed"><span class="std std-ref">OPAL_CLOSED</span></a></dt><dd><p>No pending error.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Something went wrong.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -105,17 +106,15 @@ diagnostic data.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -132,14 +131,15 @@ diagnostic data.</dd>
<li class="right" >
<a href="opal-pci-err-inject-96.html" title="OPAL_PCI_ERR_INJECT"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_HUB_DIAG_DATA</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-get-phb-diag-data2-64.html b/doc/opal-api/opal-pci-get-phb-diag-data2-64.html
index 70e00e9..78c7329 100644
--- a/doc/opal-api/opal-pci-get-phb-diag-data2-64.html
+++ b/doc/opal-api/opal-pci-get-phb-diag-data2-64.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_GET_PHB_DIAG_DATA2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_GET_PHB_DIAG_DATA2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-get-hub-diag-data-50.html" title="OPAL_PCI_GET_HUB_DIAG_DATA"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_PHB_DIAG_DATA2</a></li>
</ul>
</div>
@@ -45,229 +45,229 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-get-phb-diag-data2">
+ <section id="opal-pci-get-phb-diag-data2">
<span id="id1"></span><h1>OPAL_PCI_GET_PHB_DIAG_DATA2<a class="headerlink" href="#opal-pci-get-phb-diag-data2" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_GET_PHB_DIAG_DATA2 64</span>
<span class="cm">/**</span>
<span class="cm"> * This structure defines the overlay which will be used to store PHB error</span>
<span class="cm"> * data upon request.</span>
-<span class="cm"> */</span>
- <span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_PHB_ERROR_DATA_VERSION_1</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="p">};</span>
-
-<span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_PHB_ERROR_DATA_TYPE_P7IOC</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_PHB_ERROR_DATA_TYPE_PHB3</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_PHB_ERROR_DATA_TYPE_PHB4</span> <span class="o">=</span> <span class="mi">3</span>
-<span class="p">};</span>
-
-<span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_P7IOC_NUM_PEST_REGS</span> <span class="o">=</span> <span class="mi">128</span><span class="p">,</span>
- <span class="n">OPAL_PHB3_NUM_PEST_REGS</span> <span class="o">=</span> <span class="mi">256</span><span class="p">,</span>
- <span class="n">OPAL_PHB4_NUM_PEST_REGS</span> <span class="o">=</span> <span class="mi">512</span>
-<span class="p">};</span>
-
-<span class="k">struct</span> <span class="n">OpalIoPhbErrorCommon</span> <span class="p">{</span>
- <span class="n">__be32</span> <span class="n">version</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">ioType</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">len</span><span class="p">;</span>
-<span class="p">};</span>
-
-<span class="k">struct</span> <span class="n">OpalIoP7IOCPhbErrorData</span> <span class="p">{</span>
- <span class="k">struct</span> <span class="n">OpalIoPhbErrorCommon</span> <span class="n">common</span><span class="p">;</span>
-
- <span class="n">__be32</span> <span class="n">brdgCtl</span><span class="p">;</span>
-
- <span class="c1">// P7IOC utl regs</span>
- <span class="n">__be32</span> <span class="n">portStatusReg</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">rootCmplxStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">busAgentStatus</span><span class="p">;</span>
-
- <span class="c1">// P7IOC cfg regs</span>
- <span class="n">__be32</span> <span class="n">deviceStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">slotStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">linkStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">devCmdStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">devSecStatus</span><span class="p">;</span>
-
- <span class="c1">// cfg AER regs</span>
- <span class="n">__be32</span> <span class="n">rootErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">uncorrErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">corrErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr1</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr2</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr3</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr4</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">sourceId</span><span class="p">;</span>
-
- <span class="n">__be32</span> <span class="n">rsv3</span><span class="p">;</span>
-
- <span class="c1">// Record data about the call to allocate a buffer.</span>
- <span class="n">__be64</span> <span class="n">errorClass</span><span class="p">;</span>
- <span class="n">__be64</span> <span class="n">correlator</span><span class="p">;</span>
-
- <span class="c1">//P7IOC MMIO Error Regs</span>
- <span class="n">__be64</span> <span class="n">p7iocPlssr</span><span class="p">;</span> <span class="c1">// n120</span>
- <span class="n">__be64</span> <span class="n">p7iocCsr</span><span class="p">;</span> <span class="c1">// n110</span>
- <span class="n">__be64</span> <span class="n">lemFir</span><span class="p">;</span> <span class="c1">// nC00</span>
- <span class="n">__be64</span> <span class="n">lemErrorMask</span><span class="p">;</span> <span class="c1">// nC18</span>
- <span class="n">__be64</span> <span class="n">lemWOF</span><span class="p">;</span> <span class="c1">// nC40</span>
- <span class="n">__be64</span> <span class="n">phbErrorStatus</span><span class="p">;</span> <span class="c1">// nC80</span>
- <span class="n">__be64</span> <span class="n">phbFirstErrorStatus</span><span class="p">;</span> <span class="c1">// nC88</span>
- <span class="n">__be64</span> <span class="n">phbErrorLog0</span><span class="p">;</span> <span class="c1">// nCC0</span>
- <span class="n">__be64</span> <span class="n">phbErrorLog1</span><span class="p">;</span> <span class="c1">// nCC8</span>
- <span class="n">__be64</span> <span class="n">mmioErrorStatus</span><span class="p">;</span> <span class="c1">// nD00</span>
- <span class="n">__be64</span> <span class="n">mmioFirstErrorStatus</span><span class="p">;</span> <span class="c1">// nD08</span>
- <span class="n">__be64</span> <span class="n">mmioErrorLog0</span><span class="p">;</span> <span class="c1">// nD40</span>
- <span class="n">__be64</span> <span class="n">mmioErrorLog1</span><span class="p">;</span> <span class="c1">// nD48</span>
- <span class="n">__be64</span> <span class="n">dma0ErrorStatus</span><span class="p">;</span> <span class="c1">// nD80</span>
- <span class="n">__be64</span> <span class="n">dma0FirstErrorStatus</span><span class="p">;</span> <span class="c1">// nD88</span>
- <span class="n">__be64</span> <span class="n">dma0ErrorLog0</span><span class="p">;</span> <span class="c1">// nDC0</span>
- <span class="n">__be64</span> <span class="n">dma0ErrorLog1</span><span class="p">;</span> <span class="c1">// nDC8</span>
- <span class="n">__be64</span> <span class="n">dma1ErrorStatus</span><span class="p">;</span> <span class="c1">// nE00</span>
- <span class="n">__be64</span> <span class="n">dma1FirstErrorStatus</span><span class="p">;</span> <span class="c1">// nE08</span>
- <span class="n">__be64</span> <span class="n">dma1ErrorLog0</span><span class="p">;</span> <span class="c1">// nE40</span>
- <span class="n">__be64</span> <span class="n">dma1ErrorLog1</span><span class="p">;</span> <span class="c1">// nE48</span>
- <span class="n">__be64</span> <span class="n">pestA</span><span class="p">[</span><span class="n">OPAL_P7IOC_NUM_PEST_REGS</span><span class="p">];</span>
- <span class="n">__be64</span> <span class="n">pestB</span><span class="p">[</span><span class="n">OPAL_P7IOC_NUM_PEST_REGS</span><span class="p">];</span>
-<span class="p">};</span>
-
-<span class="k">struct</span> <span class="n">OpalIoPhb3ErrorData</span> <span class="p">{</span>
- <span class="k">struct</span> <span class="n">OpalIoPhbErrorCommon</span> <span class="n">common</span><span class="p">;</span>
-
- <span class="n">__be32</span> <span class="n">brdgCtl</span><span class="p">;</span>
-
- <span class="cm">/* PHB3 UTL regs */</span>
- <span class="n">__be32</span> <span class="n">portStatusReg</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">rootCmplxStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">busAgentStatus</span><span class="p">;</span>
-
- <span class="cm">/* PHB3 cfg regs */</span>
- <span class="n">__be32</span> <span class="n">deviceStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">slotStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">linkStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">devCmdStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">devSecStatus</span><span class="p">;</span>
-
- <span class="cm">/* cfg AER regs */</span>
- <span class="n">__be32</span> <span class="n">rootErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">uncorrErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">corrErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr1</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr2</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr3</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr4</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">sourceId</span><span class="p">;</span>
-
- <span class="n">__be32</span> <span class="n">rsv3</span><span class="p">;</span>
-
- <span class="cm">/* Record data about the call to allocate a buffer */</span>
- <span class="n">__be64</span> <span class="n">errorClass</span><span class="p">;</span>
- <span class="n">__be64</span> <span class="n">correlator</span><span class="p">;</span>
-
- <span class="cm">/* PHB3 MMIO Error Regs */</span>
- <span class="n">__be64</span> <span class="n">nFir</span><span class="p">;</span> <span class="cm">/* 000 */</span>
- <span class="n">__be64</span> <span class="n">nFirMask</span><span class="p">;</span> <span class="cm">/* 003 */</span>
- <span class="n">__be64</span> <span class="n">nFirWOF</span><span class="p">;</span> <span class="cm">/* 008 */</span>
- <span class="n">__be64</span> <span class="n">phbPlssr</span><span class="p">;</span> <span class="cm">/* 120 */</span>
- <span class="n">__be64</span> <span class="n">phbCsr</span><span class="p">;</span> <span class="cm">/* 110 */</span>
- <span class="n">__be64</span> <span class="n">lemFir</span><span class="p">;</span> <span class="cm">/* C00 */</span>
- <span class="n">__be64</span> <span class="n">lemErrorMask</span><span class="p">;</span> <span class="cm">/* C18 */</span>
- <span class="n">__be64</span> <span class="n">lemWOF</span><span class="p">;</span> <span class="cm">/* C40 */</span>
- <span class="n">__be64</span> <span class="n">phbErrorStatus</span><span class="p">;</span> <span class="cm">/* C80 */</span>
- <span class="n">__be64</span> <span class="n">phbFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* C88 */</span>
- <span class="n">__be64</span> <span class="n">phbErrorLog0</span><span class="p">;</span> <span class="cm">/* CC0 */</span>
- <span class="n">__be64</span> <span class="n">phbErrorLog1</span><span class="p">;</span> <span class="cm">/* CC8 */</span>
- <span class="n">__be64</span> <span class="n">mmioErrorStatus</span><span class="p">;</span> <span class="cm">/* D00 */</span>
- <span class="n">__be64</span> <span class="n">mmioFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* D08 */</span>
- <span class="n">__be64</span> <span class="n">mmioErrorLog0</span><span class="p">;</span> <span class="cm">/* D40 */</span>
- <span class="n">__be64</span> <span class="n">mmioErrorLog1</span><span class="p">;</span> <span class="cm">/* D48 */</span>
- <span class="n">__be64</span> <span class="n">dma0ErrorStatus</span><span class="p">;</span> <span class="cm">/* D80 */</span>
- <span class="n">__be64</span> <span class="n">dma0FirstErrorStatus</span><span class="p">;</span> <span class="cm">/* D88 */</span>
- <span class="n">__be64</span> <span class="n">dma0ErrorLog0</span><span class="p">;</span> <span class="cm">/* DC0 */</span>
- <span class="n">__be64</span> <span class="n">dma0ErrorLog1</span><span class="p">;</span> <span class="cm">/* DC8 */</span>
- <span class="n">__be64</span> <span class="n">dma1ErrorStatus</span><span class="p">;</span> <span class="cm">/* E00 */</span>
- <span class="n">__be64</span> <span class="n">dma1FirstErrorStatus</span><span class="p">;</span> <span class="cm">/* E08 */</span>
- <span class="n">__be64</span> <span class="n">dma1ErrorLog0</span><span class="p">;</span> <span class="cm">/* E40 */</span>
- <span class="n">__be64</span> <span class="n">dma1ErrorLog1</span><span class="p">;</span> <span class="cm">/* E48 */</span>
- <span class="n">__be64</span> <span class="n">pestA</span><span class="p">[</span><span class="n">OPAL_PHB3_NUM_PEST_REGS</span><span class="p">];</span>
- <span class="n">__be64</span> <span class="n">pestB</span><span class="p">[</span><span class="n">OPAL_PHB3_NUM_PEST_REGS</span><span class="p">];</span>
-<span class="p">};</span>
-
-<span class="k">struct</span> <span class="n">OpalIoPhb4ErrorData</span> <span class="p">{</span>
- <span class="k">struct</span> <span class="n">OpalIoPhbErrorCommon</span> <span class="n">common</span><span class="p">;</span>
-
- <span class="n">__be32</span> <span class="n">brdgCtl</span><span class="p">;</span>
-
- <span class="cm">/* XXX missing UTL registers? */</span>
-
- <span class="cm">/* PHB4 cfg regs */</span>
- <span class="n">__be32</span> <span class="n">deviceStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">slotStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">linkStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">devCmdStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">devSecStatus</span><span class="p">;</span>
-
- <span class="cm">/* cfg AER regs */</span>
- <span class="n">__be32</span> <span class="n">rootErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">uncorrErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">corrErrorStatus</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr1</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr2</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr3</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">tlpHdr4</span><span class="p">;</span>
- <span class="n">__be32</span> <span class="n">sourceId</span><span class="p">;</span>
-
- <span class="cm">/* PHB4 ETU Error Regs */</span>
- <span class="n">__be64</span> <span class="n">nFir</span><span class="p">;</span> <span class="cm">/* 000 */</span>
- <span class="n">__be64</span> <span class="n">nFirMask</span><span class="p">;</span> <span class="cm">/* 003 */</span>
- <span class="n">__be64</span> <span class="n">nFirWOF</span><span class="p">;</span> <span class="cm">/* 008 */</span>
- <span class="n">__be64</span> <span class="n">phbPlssr</span><span class="p">;</span> <span class="cm">/* 120 */</span>
- <span class="n">__be64</span> <span class="n">phbCsr</span><span class="p">;</span> <span class="cm">/* 110 */</span>
- <span class="n">__be64</span> <span class="n">lemFir</span><span class="p">;</span> <span class="cm">/* C00 */</span>
- <span class="n">__be64</span> <span class="n">lemErrorMask</span><span class="p">;</span> <span class="cm">/* C18 */</span>
- <span class="n">__be64</span> <span class="n">lemWOF</span><span class="p">;</span> <span class="cm">/* C40 */</span>
- <span class="n">__be64</span> <span class="n">phbErrorStatus</span><span class="p">;</span> <span class="cm">/* C80 */</span>
- <span class="n">__be64</span> <span class="n">phbFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* C88 */</span>
- <span class="n">__be64</span> <span class="n">phbErrorLog0</span><span class="p">;</span> <span class="cm">/* CC0 */</span>
- <span class="n">__be64</span> <span class="n">phbErrorLog1</span><span class="p">;</span> <span class="cm">/* CC8 */</span>
- <span class="n">__be64</span> <span class="n">phbTxeErrorStatus</span><span class="p">;</span> <span class="cm">/* D00 */</span>
- <span class="n">__be64</span> <span class="n">phbTxeFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* D08 */</span>
- <span class="n">__be64</span> <span class="n">phbTxeErrorLog0</span><span class="p">;</span> <span class="cm">/* D40 */</span>
- <span class="n">__be64</span> <span class="n">phbTxeErrorLog1</span><span class="p">;</span> <span class="cm">/* D48 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeArbErrorStatus</span><span class="p">;</span> <span class="cm">/* D80 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeArbFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* D88 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeArbErrorLog0</span><span class="p">;</span> <span class="cm">/* DC0 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeArbErrorLog1</span><span class="p">;</span> <span class="cm">/* DC8 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeMrgErrorStatus</span><span class="p">;</span> <span class="cm">/* E00 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeMrgFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* E08 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeMrgErrorLog0</span><span class="p">;</span> <span class="cm">/* E40 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeMrgErrorLog1</span><span class="p">;</span> <span class="cm">/* E48 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeTceErrorStatus</span><span class="p">;</span> <span class="cm">/* E80 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeTceFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* E88 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeTceErrorLog0</span><span class="p">;</span> <span class="cm">/* EC0 */</span>
- <span class="n">__be64</span> <span class="n">phbRxeTceErrorLog1</span><span class="p">;</span> <span class="cm">/* EC8 */</span>
-
- <span class="cm">/* PHB4 REGB Error Regs */</span>
- <span class="n">__be64</span> <span class="n">phbPblErrorStatus</span><span class="p">;</span> <span class="cm">/* 1900 */</span>
- <span class="n">__be64</span> <span class="n">phbPblFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* 1908 */</span>
- <span class="n">__be64</span> <span class="n">phbPblErrorLog0</span><span class="p">;</span> <span class="cm">/* 1940 */</span>
- <span class="n">__be64</span> <span class="n">phbPblErrorLog1</span><span class="p">;</span> <span class="cm">/* 1948 */</span>
- <span class="n">__be64</span> <span class="n">phbPcieDlpErrorLog1</span><span class="p">;</span> <span class="cm">/* 1AA0 */</span>
- <span class="n">__be64</span> <span class="n">phbPcieDlpErrorLog2</span><span class="p">;</span> <span class="cm">/* 1AA8 */</span>
- <span class="n">__be64</span> <span class="n">phbPcieDlpErrorStatus</span><span class="p">;</span> <span class="cm">/* 1AB0 */</span>
- <span class="n">__be64</span> <span class="n">phbRegbErrorStatus</span><span class="p">;</span> <span class="cm">/* 1C00 */</span>
- <span class="n">__be64</span> <span class="n">phbRegbFirstErrorStatus</span><span class="p">;</span> <span class="cm">/* 1C08 */</span>
- <span class="n">__be64</span> <span class="n">phbRegbErrorLog0</span><span class="p">;</span> <span class="cm">/* 1C40 */</span>
- <span class="n">__be64</span> <span class="n">phbRegbErrorLog1</span><span class="p">;</span> <span class="cm">/* 1C48 */</span>
-
- <span class="n">__be64</span> <span class="n">pestA</span><span class="p">[</span><span class="n">OPAL_PHB4_NUM_PEST_REGS</span><span class="p">];</span>
- <span class="n">__be64</span> <span class="n">pestB</span><span class="p">[</span><span class="n">OPAL_PHB4_NUM_PEST_REGS</span><span class="p">];</span>
-<span class="p">};</span>
-
-<span class="kt">int64_t</span> <span class="nf">opal_pci_get_phb_diag_data2</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">diag_buffer</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">diag_buffer_len</span><span class="p">);</span>
+<span class="cm"> */</span><span class="w"></span>
+<span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_ERROR_DATA_VERSION_1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="p">};</span><span class="w"></span>
+
+<span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_ERROR_DATA_TYPE_P7IOC</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_ERROR_DATA_TYPE_PHB3</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_ERROR_DATA_TYPE_PHB4</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
+
+<span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_P7IOC_NUM_PEST_REGS</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB3_NUM_PEST_REGS</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">256</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB4_NUM_PEST_REGS</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">512</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
+
+<span class="k">struct</span><span class="w"> </span><span class="nc">OpalIoPhbErrorCommon</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">version</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">ioType</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">len</span><span class="p">;</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
+
+<span class="k">struct</span><span class="w"> </span><span class="nc">OpalIoP7IOCPhbErrorData</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">OpalIoPhbErrorCommon</span><span class="w"> </span><span class="n">common</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">brdgCtl</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="c1">// P7IOC utl regs</span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">portStatusReg</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">rootCmplxStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">busAgentStatus</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="c1">// P7IOC cfg regs</span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">deviceStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">slotStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">linkStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">devCmdStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">devSecStatus</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="c1">// cfg AER regs</span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">rootErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">uncorrErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">corrErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr1</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr2</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr3</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr4</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">sourceId</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">rsv3</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="c1">// Record data about the call to allocate a buffer.</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">errorClass</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">correlator</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="c1">//P7IOC MMIO Error Regs</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">p7iocPlssr</span><span class="p">;</span><span class="w"> </span><span class="c1">// n120</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">p7iocCsr</span><span class="p">;</span><span class="w"> </span><span class="c1">// n110</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemFir</span><span class="p">;</span><span class="w"> </span><span class="c1">// nC00</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemErrorMask</span><span class="p">;</span><span class="w"> </span><span class="c1">// nC18</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemWOF</span><span class="p">;</span><span class="w"> </span><span class="c1">// nC40</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="c1">// nC80</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="c1">// nC88</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="c1">// nCC0</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="c1">// nCC8</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">mmioErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="c1">// nD00</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">mmioFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="c1">// nD08</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">mmioErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="c1">// nD40</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">mmioErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="c1">// nD48</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma0ErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="c1">// nD80</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma0FirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="c1">// nD88</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma0ErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="c1">// nDC0</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma0ErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="c1">// nDC8</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma1ErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="c1">// nE00</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma1FirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="c1">// nE08</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma1ErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="c1">// nE40</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma1ErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="c1">// nE48</span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">pestA</span><span class="p">[</span><span class="n">OPAL_P7IOC_NUM_PEST_REGS</span><span class="p">];</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">pestB</span><span class="p">[</span><span class="n">OPAL_P7IOC_NUM_PEST_REGS</span><span class="p">];</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
+
+<span class="k">struct</span><span class="w"> </span><span class="nc">OpalIoPhb3ErrorData</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">OpalIoPhbErrorCommon</span><span class="w"> </span><span class="n">common</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">brdgCtl</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* PHB3 UTL regs */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">portStatusReg</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">rootCmplxStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">busAgentStatus</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* PHB3 cfg regs */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">deviceStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">slotStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">linkStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">devCmdStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">devSecStatus</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* cfg AER regs */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">rootErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">uncorrErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">corrErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr1</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr2</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr3</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr4</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">sourceId</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">rsv3</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* Record data about the call to allocate a buffer */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">errorClass</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">correlator</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* PHB3 MMIO Error Regs */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">nFir</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 000 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">nFirMask</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 003 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">nFirWOF</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 008 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPlssr</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 120 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbCsr</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 110 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemFir</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C00 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemErrorMask</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C18 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemWOF</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C40 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C80 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C88 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* CC0 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* CC8 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">mmioErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D00 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">mmioFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D08 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">mmioErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D40 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">mmioErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D48 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma0ErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D80 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma0FirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D88 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma0ErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* DC0 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma0ErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* DC8 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma1ErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E00 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma1FirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E08 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma1ErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E40 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">dma1ErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E48 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">pestA</span><span class="p">[</span><span class="n">OPAL_PHB3_NUM_PEST_REGS</span><span class="p">];</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">pestB</span><span class="p">[</span><span class="n">OPAL_PHB3_NUM_PEST_REGS</span><span class="p">];</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
+
+<span class="k">struct</span><span class="w"> </span><span class="nc">OpalIoPhb4ErrorData</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">OpalIoPhbErrorCommon</span><span class="w"> </span><span class="n">common</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">brdgCtl</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* XXX missing UTL registers? */</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* PHB4 cfg regs */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">deviceStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">slotStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">linkStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">devCmdStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">devSecStatus</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* cfg AER regs */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">rootErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">uncorrErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">corrErrorStatus</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr1</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr2</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr3</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">tlpHdr4</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be32</span><span class="w"> </span><span class="n">sourceId</span><span class="p">;</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* PHB4 ETU Error Regs */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">nFir</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 000 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">nFirMask</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 003 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">nFirWOF</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 008 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPlssr</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 120 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbCsr</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 110 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemFir</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C00 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemErrorMask</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C18 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">lemWOF</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C40 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C80 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* C88 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* CC0 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* CC8 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbTxeErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D00 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbTxeFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D08 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbTxeErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D40 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbTxeErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D48 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeArbErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D80 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeArbFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* D88 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeArbErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* DC0 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeArbErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* DC8 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeMrgErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E00 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeMrgFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E08 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeMrgErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E40 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeMrgErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E48 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeTceErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E80 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeTceFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* E88 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeTceErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* EC0 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRxeTceErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* EC8 */</span><span class="w"></span>
+
+<span class="w"> </span><span class="cm">/* PHB4 REGB Error Regs */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPblErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1900 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPblFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1908 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPblErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1940 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPblErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1948 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPcieDlpErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1AA0 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPcieDlpErrorLog2</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1AA8 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbPcieDlpErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1AB0 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRegbErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1C00 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRegbFirstErrorStatus</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1C08 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRegbErrorLog0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1C40 */</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">phbRegbErrorLog1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* 1C48 */</span><span class="w"></span>
+
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">pestA</span><span class="p">[</span><span class="n">OPAL_PHB4_NUM_PEST_REGS</span><span class="p">];</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">pestB</span><span class="p">[</span><span class="n">OPAL_PHB4_NUM_PEST_REGS</span><span class="p">];</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
+
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_get_phb_diag_data2</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">diag_buffer</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">diag_buffer_len</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Get PCI diagnostic data from a given PHB. Each PHB present in the device tree
@@ -278,41 +278,42 @@ small common structure will allow the OS to work out what format the data
is coming in.</p>
<p>In future, it’s possible that the format will change to be more flexible, and
require less OS support.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">phb_id</span></code></dt>
-<dd>the ID of the PHB you want to retrieve data from</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">void</span> <span class="pre">*diag_buffer</span></code></dt>
-<dd>an allocated buffer to store diag data in</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">diag_buffer_len</span></code></dt>
-<dd>size in bytes of the diag buffer</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">phb_id</span></code></dt><dd><p>the ID of the PHB you want to retrieve data from</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">void</span> <span class="pre">*diag_buffer</span></code></dt><dd><p>an allocated buffer to store diag data in</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">diag_buffer_len</span></code></dt><dd><p>size in bytes of the diag buffer</p>
+</dd>
</dl>
-</div>
-<div class="section" id="calling">
+</section>
+<section id="calling">
<h2>Calling<a class="headerlink" href="#calling" title="Permalink to this headline">¶</a></h2>
<p>Retrieve the PHB’s diagnostic data. The diagnostic data is stored in the
buffer pointed by &#64;diag_buffer. Different PHB versions will store different
diagnostics, defined in include/opal-api.h as <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">OpalIo&lt;PHBVer&gt;ErrorData</span></code>.</p>
<p><a class="reference internal" href="index.html#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a> is deprecated and
<a class="reference internal" href="#opal-pci-get-phb-diag-data2"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA2</span></a> should be used instead.</p>
-</div>
-<div class="section" id="return-codes">
+</section>
+<section id="return-codes">
<h2>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Diagnostic data has been retrieved and stored successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>The given buffer is too small to store the diagnostic data</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>The PHB is in a broken state and its data cannot be retreived</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Diagnostic data is not implemented for this PHB type</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Diagnostic data has been retrieved and stored successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>The given buffer is too small to store the diagnostic data</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>The PHB is in a broken state and its data cannot be retreived</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Diagnostic data is not implemented for this PHB type</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -342,17 +343,15 @@ diagnostics, defined in include/opal-api.h as <code class="docutils literal notr
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -369,14 +368,15 @@ diagnostics, defined in include/opal-api.h as <code class="docutils literal notr
<li class="right" >
<a href="opal-pci-get-hub-diag-data-50.html" title="OPAL_PCI_GET_HUB_DIAG_DATA"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_PHB_DIAG_DATA2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-get-power-state-120.html b/doc/opal-api/opal-pci-get-power-state-120.html
index 3271b6c..309d44a 100644
--- a/doc/opal-api/opal-pci-get-power-state-120.html
+++ b/doc/opal-api/opal-pci-get-power-state-120.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_GET_POWER_STATE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_GET_POWER_STATE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-get-phb-diag-data2-64.html" title="OPAL_PCI_GET_PHB_DIAG_DATA2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_POWER_STATE</a></li>
</ul>
</div>
@@ -45,42 +45,43 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-get-power-state">
+ <section id="opal-pci-get-power-state">
<span id="id1"></span><h1>OPAL_PCI_GET_POWER_STATE<a class="headerlink" href="#opal-pci-get-power-state" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_GET_POWER_STATE 120</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_get_power_state</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_get_power_state</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Get PCI slot power state</p>
-<div class="section" id="parameter">
+<section id="parameter">
<h2>Parameter<a class="headerlink" href="#parameter" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">id</span></code></dt>
-<dd>PCI slot ID</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">data</span></code></dt>
-<dd>memory buffer pointer for power state</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">id</span></code></dt><dd><p>PCI slot ID</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">data</span></code></dt><dd><p>memory buffer pointer for power state</p>
+</dd>
</dl>
-</div>
-<div class="section" id="calling">
+</section>
+<section id="calling">
<h2>Calling<a class="headerlink" href="#calling" title="Permalink to this headline">¶</a></h2>
<p>Retrieve PCI slot’s power state. The retrieved power state is stored
in buffer pointed by &#64;data.</p>
-</div>
-<div class="section" id="return-codes">
+</section>
+<section id="return-codes">
<h2>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>PCI slot’s power state is retrieved successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>The indicated PCI slot isn’t found</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Power state retrieval not supported on the PCI slot</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>PCI slot’s power state is retrieved successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>The indicated PCI slot isn’t found</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Power state retrieval not supported on the PCI slot</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -110,17 +111,15 @@ in buffer pointed by &#64;data.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -137,14 +136,15 @@ in buffer pointed by &#64;data.</p>
<li class="right" >
<a href="opal-pci-get-phb-diag-data2-64.html" title="OPAL_PCI_GET_PHB_DIAG_DATA2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_POWER_STATE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-get-presence-state-119.html b/doc/opal-api/opal-pci-get-presence-state-119.html
index cdddba8..ef735a4 100644
--- a/doc/opal-api/opal-pci-get-presence-state-119.html
+++ b/doc/opal-api/opal-pci-get-presence-state-119.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_GET_PRESENCE_STATE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_GET_PRESENCE_STATE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-get-power-state-120.html" title="OPAL_PCI_GET_POWER_STATE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_PRESENCE_STATE</a></li>
</ul>
</div>
@@ -45,40 +45,41 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-get-presence-state">
+ <section id="opal-pci-get-presence-state">
<span id="id1"></span><h1>OPAL_PCI_GET_PRESENCE_STATE<a class="headerlink" href="#opal-pci-get-presence-state" title="Permalink to this headline">¶</a></h1>
<p>Get PCI slot presence state</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">id</span></code></dt>
-<dd>PCI slot ID</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">data</span></code></dt>
-<dd>memory buffer pointer for presence state</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">id</span></code></dt><dd><p>PCI slot ID</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">data</span></code></dt><dd><p>memory buffer pointer for presence state</p>
+</dd>
</dl>
-</div>
-<div class="section" id="calling">
+</section>
+<section id="calling">
<h2>Calling<a class="headerlink" href="#calling" title="Permalink to this headline">¶</a></h2>
<p>Retrieve PCI slot’s presence state. The detected presence means there are
adapters inserted to the PCI slot. Otherwise, the PCI slot is regarded as
an empty one. The typical use is to ensure there are adapters existing
before probing the PCI slot in PCI hot add path. The retrieved presence
state is stored in buffer pointed by &#64;data.</p>
-</div>
-<div class="section" id="return-codes">
+</section>
+<section id="return-codes">
<h2>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>PCI slot’s presence state is retrieved successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>The indicated PCI slot isn’t found</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Presence retrieval not supported on the PCI slot</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>PCI slot’s presence state is retrieved successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>The indicated PCI slot isn’t found</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Presence retrieval not supported on the PCI slot</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -108,17 +109,15 @@ state is stored in buffer pointed by &#64;data.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -135,14 +134,15 @@ state is stored in buffer pointed by &#64;data.</p>
<li class="right" >
<a href="opal-pci-get-power-state-120.html" title="OPAL_PCI_GET_POWER_STATE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_PRESENCE_STATE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165.html b/doc/opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165.html
index 522c27f..8974396 100644
--- a/doc/opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165.html
+++ b/doc/opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_GET_PBCQ_TUNNEL_BAR &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_GET_PBCQ_TUNNEL_BAR &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-get-presence-state-119.html" title="OPAL_PCI_GET_PRESENCE_STATE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_PBCQ_TUNNEL_BAR</a></li>
</ul>
</div>
@@ -45,75 +45,75 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-get-pbcq-tunnel-bar">
+ <section id="opal-pci-get-pbcq-tunnel-bar">
<span id="id1"></span><h1>OPAL_PCI_GET_PBCQ_TUNNEL_BAR<a class="headerlink" href="#opal-pci-get-pbcq-tunnel-bar" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_GET_PBCQ_TUNNEL_BAR 164</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_get_pbcq_tunnel_bar</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">addr</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_get_pbcq_tunnel_bar</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">addr</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The host calls this function to read the address out of the PBCQ Tunnel
Bar register.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>The value from the PHB node ibm,opal-phbid property for the device.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">addr</span></code></dt>
-<dd>A pointer to where the address stored in the PBCQ Tunnel Bar register
-will be copied.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>The value from the PHB node ibm,opal-phbid property for the device.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">addr</span></code></dt><dd><p>A pointer to where the address stored in the PBCQ Tunnel Bar register
+will be copied.</p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Operation was successful</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid PHB or addr parameter</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Not supported by hardware</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Operation was successful</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid PHB or addr parameter</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Not supported by hardware</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-pci-set-pbcq-tunnel-bar">
+</section>
+</section>
+<section id="opal-pci-set-pbcq-tunnel-bar">
<span id="id2"></span><h1>OPAL_PCI_SET_PBCQ_TUNNEL_BAR<a class="headerlink" href="#opal-pci-set-pbcq-tunnel-bar" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_PBCQ_TUNNEL_BAR 165</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_pbcq_tunnel_bar</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">addr</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_pbcq_tunnel_bar</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">addr</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The host calls this function to set the PBCQ Tunnel Bar register.</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><cite>phb_id</cite></dt>
-<dd>The value from the PHB node ibm,opal-phbid property for the device.</dd>
-<dt><cite>addr</cite></dt>
-<dd><p class="first">The value of the address chosen for the PBCQ Tunnel Bar register.
+<dl>
+<dt><cite>phb_id</cite></dt><dd><p>The value from the PHB node ibm,opal-phbid property for the device.</p>
+</dd>
+<dt><cite>addr</cite></dt><dd><p>The value of the address chosen for the PBCQ Tunnel Bar register.
If the address is 0, then the PBCQ Tunnel Bar register will be reset.
It the address is non-zero, then the PBCQ Tunnel Bar register will be
set with</p>
-<div class="last highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Bit</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">42</span><span class="p">]</span> <span class="n">Bit</span><span class="p">[</span><span class="mi">8</span><span class="p">:</span><span class="mi">50</span><span class="p">]</span> <span class="n">of</span> <span class="n">the</span> <span class="n">address</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Bit</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">42</span><span class="p">]</span> <span class="n">Bit</span><span class="p">[</span><span class="mi">8</span><span class="p">:</span><span class="mi">50</span><span class="p">]</span> <span class="n">of</span> <span class="n">the</span> <span class="n">address</span>
</pre></div>
</div>
</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h2>Return Values<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Operation was successful</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid PHB or addr parameter</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Not supported by hardware</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Operation was successful</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid PHB or addr parameter</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Not supported by hardware</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -147,17 +147,15 @@ set with</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -174,14 +172,15 @@ set with</p>
<li class="right" >
<a href="opal-pci-get-presence-state-119.html" title="OPAL_PCI_GET_PRESENCE_STATE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_GET_PBCQ_TUNNEL_BAR</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-map-pe-dma-window-44.html b/doc/opal-api/opal-pci-map-pe-dma-window-44.html
index b74303f..dbde826 100644
--- a/doc/opal-api/opal-pci-map-pe-dma-window-44.html
+++ b/doc/opal-api/opal-pci-map-pe-dma-window-44.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_MAP_PE_DMA_WINDOW &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_MAP_PE_DMA_WINDOW &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-get-set-pbcq-tunnel-bar-164-165.html" title="OPAL_PCI_GET_PBCQ_TUNNEL_BAR"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_MAP_PE_DMA_WINDOW</a></li>
</ul>
</div>
@@ -45,17 +45,17 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-map-pe-dma-window">
+ <section id="opal-pci-map-pe-dma-window">
<span id="id1"></span><h1>OPAL_PCI_MAP_PE_DMA_WINDOW<a class="headerlink" href="#opal-pci-map-pe-dma-window" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_MAP_PE_DMA_WINDOW 44</span>
-<span class="k">static</span> <span class="kt">int64_t</span> <span class="nf">opal_pci_map_pe_dma_window</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">window_id</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">tce_levels</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">tce_table_addr</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">tce_table_size</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">tce_page_size</span><span class="p">);</span>
+<span class="k">static</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_map_pe_dma_window</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">window_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">tce_levels</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tce_table_addr</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tce_table_size</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tce_page_size</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><strong>WARNING:</strong> following documentation is from old sources, and is possibly
@@ -68,29 +68,29 @@ address that is all zeros in the upper 32 bits reflects a DMA window enabled
for 32-bit DMA addresses.</p>
<p>The overall size of the DMA window in PCI memory is determined by the number
of tce_levels times the tce_table_size times the tce_page_size.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node <code class="docutils literal notranslate"><span class="pre">ibm,opal-phbid</span></code> property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">dma_window_number</span></code></dt>
-<dd>specifies the DMA window</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node <code class="docutils literal notranslate"><span class="pre">ibm,opal-phbid</span></code> property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">dma_window_number</span></code></dt><dd><p>specifies the DMA window</p>
+</dd>
</dl>
<p>For ibm,opal-ioda PHBs the dma_window_number is an index from 0 to the PHB
total number of windows minus 1. For ibm,opal-ioda2 PHBs the DMA window_number
is an index from 0 to n-1, where n is the number of windows per window set,
within the window set associated with the specified PE number.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt>
-<dd>is the index of the PE that is authorized to DMA to this window
-address space in PCI memory,</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">tce_levels</span></code></dt>
-<dd>is the number of TCE table levels in the translation hiearchy,
-from 1 to ibm,opal-dmawins property &lt;translation levels&gt;.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">tce_table_addr</span></code></dt>
-<dd>is the 64-bit system real address of the first level (root,
-for mult-level) TCE table in the translation hiearchy.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">tce_table_size</span></code></dt>
-<dd>is the size, in bytes, of each TCE table in the translation
-hierarchy. A value of ‘0’ indicates to disable this DMA window.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt><dd><p>is the index of the PE that is authorized to DMA to this window
+address space in PCI memory,</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">tce_levels</span></code></dt><dd><p>is the number of TCE table levels in the translation hiearchy,
+from 1 to ibm,opal-dmawins property &lt;translation levels&gt;.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">tce_table_addr</span></code></dt><dd><p>is the 64-bit system real address of the first level (root,
+for mult-level) TCE table in the translation hiearchy.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">tce_table_size</span></code></dt><dd><p>is the size, in bytes, of each TCE table in the translation
+hierarchy. A value of ‘0’ indicates to disable this DMA window.</p>
+</dd>
</dl>
<p>For ibm,opal-ioda, this must be a value in the range from
128MB / tce_page_size to 256TB / tce_page_size, and must be in the format and
@@ -105,21 +105,21 @@ mapping the same PE to multiple DMA windows, so as to create a larger overall
DMA window, it is recommended to use consecutive DMA windows and each DMA
window should use a TCE table address that is offset by the win_size value of
predecessor DMA window.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">tce_page_size</span></code></dt>
-<dd>is the size of PCI memory pages mapped to system real pages
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">tce_page_size</span></code></dt><dd><p>is the size of PCI memory pages mapped to system real pages
through all TCE tables in the translation hierarchy. This must be the
same format as and match a value from the ibm,opal-dmawins property
&lt;dma-page-sizes&gt;. This page size applies to all TCE tables in the
-translation hierarchy.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pci_start_addr</span></code></dt>
-<dd>returns the starting address in PCI memory that corresponds
-to this DMA window based on the input translation parameter values.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pci_mem_type</span></code></dt>
-<dd>selects whether this DMA window should be created in 32-bit
+translation hierarchy.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">pci_start_addr</span></code></dt><dd><p>returns the starting address in PCI memory that corresponds
+to this DMA window based on the input translation parameter values.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">pci_mem_type</span></code></dt><dd><p>selects whether this DMA window should be created in 32-bit
or 64-bit PCI memory. The input values correspond to the same PCI memory
space locators as MMIO spaces in the ranges&lt;&gt; property – 0x2 indicated
-32-bit PCI memory and 0x3 indicates 64-bit memory.</dd>
+32-bit PCI memory and 0x3 indicates 64-bit memory.</p>
+</dd>
</dl>
<p>Window 0 for both ibm,opal-ioda and ibm,opal-ioda2 PHBs must be within 32-bit
PCI memory and this call return opal_parameter for calls that specify window
@@ -130,15 +130,16 @@ a win_size_32 = 256MB, only 16 DMA windows (and therefore no more than 16
distinct PEs) can map the 4GB of 32-bit PCI memory for DMA. OPAL does not
police this limitation.</p>
<p>Return value:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_PARAMETER</span><span class="p">;</span>
-<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">map_pe_dma_window</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_PARAMETER</span><span class="p">;</span><span class="w"></span>
+<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">map_pe_dma_window</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -158,17 +159,15 @@ police this limitation.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -185,14 +184,15 @@ police this limitation.</p>
<li class="right" >
<a href="opal-pci-get-set-pbcq-tunnel-bar-164-165.html" title="OPAL_PCI_GET_PBCQ_TUNNEL_BAR"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_MAP_PE_DMA_WINDOW</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-map-pe-dma-window-real-45.html b/doc/opal-api/opal-pci-map-pe-dma-window-real-45.html
index 1eed330..42b0de4 100644
--- a/doc/opal-api/opal-pci-map-pe-dma-window-real-45.html
+++ b/doc/opal-api/opal-pci-map-pe-dma-window-real-45.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_MAP_PE_DMA_WINDOW_REAL &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_MAP_PE_DMA_WINDOW_REAL &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-map-pe-dma-window-44.html" title="OPAL_PCI_MAP_PE_DMA_WINDOW"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_MAP_PE_DMA_WINDOW_REAL</a></li>
</ul>
</div>
@@ -45,15 +45,15 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-map-pe-dma-window-real">
+ <section id="opal-pci-map-pe-dma-window-real">
<span id="id1"></span><h1>OPAL_PCI_MAP_PE_DMA_WINDOW_REAL<a class="headerlink" href="#opal-pci-map-pe-dma-window-real" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_MAP_PE_DMA_WINDOW_REAL 45</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_map_pe_dma_window_real</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">window_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">pci_start_addr</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">pci_mem_size</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_map_pe_dma_window_real</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">window_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pci_start_addr</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pci_mem_size</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><strong>WARNING:</strong> following documentation is from old sources, and is possibly
@@ -66,34 +66,35 @@ system memory real address. The PHB passes PCI address bits 04:63 directly to
system real address bits 04:63 when PCI address bits 04:39 are within the
region specified by mem_addr t0 mem_addr + window_size.</p>
<p>The addresses must be 16MB aligned and a multiple of 16MB in size.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">dma_window_number</span></code></dt>
-<dd>specifies the DMA window</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">dma_window_number</span></code></dt><dd><p>specifies the DMA window</p>
+</dd>
</dl>
<p>For ibm,opal-ioda PHBs the dma_window_number is an index from 0 to the PHB
total number of windows minus 1. For ibm,opal-ioda2 PHBs the DMA window_number
is an index from 0 to n-1, where n is the number of windows per window set,
within the window set associated with the specified PE number.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt>
-<dd>is the index of the PE that is authorized to DMA to this window
-address space in PCI memory,</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">mem_addr</span></code></dt>
-<dd>is the starting 64-bit system real address mapped directly to the
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt><dd><p>is the index of the PE that is authorized to DMA to this window
+address space in PCI memory,</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">mem_addr</span></code></dt><dd><p>is the starting 64-bit system real address mapped directly to the
starting address in PCI memory. Addresses below 4GB are zero in bits above
bit 32. This value must be aligned on a 16MB boundary; OPAL returns
-OPAL_PARAMETER for any value that is not a multiple of 16MB.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">window_size</span></code></dt>
-<dd>is the size, in bytes, of the address range defined by this
+OPAL_PARAMETER for any value that is not a multiple of 16MB.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">window_size</span></code></dt><dd><p>is the size, in bytes, of the address range defined by this
window. This value must be a multiple of 16MB; OPAL returns <a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a>
for any value that is not a multiple of 16MB. A value of ‘0’ indicates to
-disable this DMA window.</dd>
+disable this DMA window.</p>
+</dd>
</dl>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -113,17 +114,15 @@ disable this DMA window.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -140,14 +139,15 @@ disable this DMA window.</dd>
<li class="right" >
<a href="opal-pci-map-pe-dma-window-44.html" title="OPAL_PCI_MAP_PE_DMA_WINDOW"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_MAP_PE_DMA_WINDOW_REAL</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-map-pe-mmio-window-29.html b/doc/opal-api/opal-pci-map-pe-mmio-window-29.html
index fcc73aa..5decc79 100644
--- a/doc/opal-api/opal-pci-map-pe-mmio-window-29.html
+++ b/doc/opal-api/opal-pci-map-pe-mmio-window-29.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_MAP_PE_MMIO_WINDOW &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_MAP_PE_MMIO_WINDOW &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-map-pe-dma-window-real-45.html" title="OPAL_PCI_MAP_PE_DMA_WINDOW_REAL"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_MAP_PE_MMIO_WINDOW</a></li>
</ul>
</div>
@@ -45,52 +45,52 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-map-pe-mmio-window">
+ <section id="opal-pci-map-pe-mmio-window">
<span id="id1"></span><h1>OPAL_PCI_MAP_PE_MMIO_WINDOW<a class="headerlink" href="#opal-pci-map-pe-mmio-window" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_MAP_PE_MMIO_WINDOW 29</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_map_pe_mmio_window</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">window_type</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">window_num</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">segment_num</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_map_pe_mmio_window</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">window_type</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">window_num</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">segment_num</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">Appears to be POWER7 p7ioc specific. Likely to be removed soon.</p>
+<p class="admonition-title">Note</p>
+<p>Appears to be POWER7 p7ioc specific. Likely to be removed soon.</p>
</div>
<p><strong>WARNING:</strong> following documentation is from old sources, and is possibly
not representative of OPALv3 as implemented by skiboot. This should be
used as a starting point for full documentation.</p>
<p>The host calls this function to map a segment of MMIO address space to a PE.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">window_type</span></code></dt>
-<dd><p class="first">specifies 32-bit or 64-bit PCI memory</p>
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">window_type</span></code></dt><dd><p>specifies 32-bit or 64-bit PCI memory</p>
<p>‘0’ selects PCI IO Space. ibm,opal-ioda2 PHBs do not support IO space,
and OPAL returns opal_unsupported if called for IO windows.</p>
<p>‘1’ selects 32-bit PCI memory space</p>
-<p class="last">‘2’ selects 64 bit PCI memory space</p>
+<p>‘2’ selects 64 bit PCI memory space</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">window_num</span></code></dt><dd><p>is the MMIO window number within the specified PCI memory space</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">window_num</span></code></dt>
-<dd>is the MMIO window number within the specified PCI memory space</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">segment_num</span></code></dt>
-<dd>is an index from 0 to the number of segments minus 1 defined
+<dt><code class="docutils literal notranslate"><span class="pre">segment_num</span></code></dt><dd><p>is an index from 0 to the number of segments minus 1 defined
or this window, and selects a particular segment within the specified
-window.</dd>
+window.</p>
+</dd>
</dl>
<p>Return value:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_PARAMETER</span><span class="p">;</span>
-<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">map_pe_mmio_window</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_PARAMETER</span><span class="p">;</span><span class="w"></span>
+<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">map_pe_mmio_window</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -110,17 +110,15 @@ window.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -137,14 +135,15 @@ window.</dd>
<li class="right" >
<a href="opal-pci-map-pe-dma-window-real-45.html" title="OPAL_PCI_MAP_PE_DMA_WINDOW_REAL"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_MAP_PE_MMIO_WINDOW</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-msi-eoi-63.html b/doc/opal-api/opal-pci-msi-eoi-63.html
index f23fd26..b5ba341 100644
--- a/doc/opal-api/opal-pci-msi-eoi-63.html
+++ b/doc/opal-api/opal-pci-msi-eoi-63.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_MSI_EOI &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_MSI_EOI &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-map-pe-mmio-window-29.html" title="OPAL_PCI_MAP_PE_MMIO_WINDOW"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_MSI_EOI</a></li>
</ul>
</div>
@@ -45,30 +45,31 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-msi-eoi">
+ <section id="opal-pci-msi-eoi">
<span id="id1"></span><h1>OPAL_PCI_MSI_EOI<a class="headerlink" href="#opal-pci-msi-eoi" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_MSI_EOI 63</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_msi_eoi</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">hwirq</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_msi_eoi</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">hwirq</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Only required on PHB3 (POWER8) based systems.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success!</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid PHB id or hwirq.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Hardware or configuration issue.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Unsupported on this PHB.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success!</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid PHB id or hwirq.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Hardware or configuration issue.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Unsupported on this PHB.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -96,17 +97,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -123,14 +122,15 @@
<li class="right" >
<a href="opal-pci-map-pe-mmio-window-29.html" title="OPAL_PCI_MAP_PE_MMIO_WINDOW"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_MSI_EOI</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-next-error-60.html b/doc/opal-api/opal-pci-next-error-60.html
index 93fcd09..8a58688 100644
--- a/doc/opal-api/opal-pci-next-error-60.html
+++ b/doc/opal-api/opal-pci-next-error-60.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_NEXT_ERROR &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_NEXT_ERROR &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-msi-eoi-63.html" title="OPAL_PCI_MSI_EOI"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_NEXT_ERROR</a></li>
</ul>
</div>
@@ -45,47 +45,48 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-next-error">
+ <section id="opal-pci-next-error">
<span id="id1"></span><h1>OPAL_PCI_NEXT_ERROR<a class="headerlink" href="#opal-pci-next-error" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_NEXT_ERROR 60</span>
-<span class="k">enum</span> <span class="n">OpalPciStatusToken</span> <span class="p">{</span>
- <span class="n">OPAL_EEH_NO_ERROR</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_EEH_IOC_ERROR</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EEH_PHB_ERROR</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EEH_PE_ERROR</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">OPAL_EEH_PE_MMIO_ERROR</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span>
- <span class="n">OPAL_EEH_PE_DMA_ERROR</span> <span class="o">=</span> <span class="mi">5</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalPciStatusToken</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_NO_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_IOC_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_PHB_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_PE_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_PE_MMIO_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_PE_DMA_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="k">enum</span> <span class="n">OpalPciErrorSeverity</span> <span class="p">{</span>
- <span class="n">OPAL_EEH_SEV_NO_ERROR</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_EEH_SEV_IOC_DEAD</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_EEH_SEV_PHB_DEAD</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_EEH_SEV_PHB_FENCED</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">OPAL_EEH_SEV_PE_ER</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span>
- <span class="n">OPAL_EEH_SEV_INF</span> <span class="o">=</span> <span class="mi">5</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalPciErrorSeverity</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_SEV_NO_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_SEV_IOC_DEAD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_SEV_PHB_DEAD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_SEV_PHB_FENCED</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_SEV_PE_ER</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_EEH_SEV_INF</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_next_error</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">first_frozen_pe</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">pci_error_type</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">severity</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_next_error</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">first_frozen_pe</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="o">*</span><span class="n">pci_error_type</span><span class="p">,</span><span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="o">*</span><span class="n">severity</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Retreives details of a PCIe error.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Successfully filled <cite>pci_error_type</cite> and <cite>severity</cite> with error details.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Unsupported operation on this PHB.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid phb_id, or address for other arguments.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Successfully filled <cite>pci_error_type</cite> and <cite>severity</cite> with error details.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Unsupported operation on this PHB.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid phb_id, or address for other arguments.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -113,17 +114,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -140,14 +139,15 @@
<li class="right" >
<a href="opal-pci-msi-eoi-63.html" title="OPAL_PCI_MSI_EOI"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_NEXT_ERROR</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-phb-mmio-enable-27.html b/doc/opal-api/opal-pci-phb-mmio-enable-27.html
index 628c078..fe12084 100644
--- a/doc/opal-api/opal-pci-phb-mmio-enable-27.html
+++ b/doc/opal-api/opal-pci-phb-mmio-enable-27.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_PHB_MMIO_ENABLE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_PHB_MMIO_ENABLE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-next-error-60.html" title="OPAL_PCI_NEXT_ERROR"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_PHB_MMIO_ENABLE</a></li>
</ul>
</div>
@@ -45,17 +45,17 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-phb-mmio-enable">
+ <section id="opal-pci-phb-mmio-enable">
<span id="id1"></span><h1>OPAL_PCI_PHB_MMIO_ENABLE<a class="headerlink" href="#opal-pci-phb-mmio-enable" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_PHB_MMIO_ENABLE 27</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_phb_mmio_enable</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="n">window_type</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">window_num</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="n">enable</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_phb_mmio_enable</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">window_type</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">window_num</span><span class="p">,</span><span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">enable</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">Appears to be POWER7 p7ioc specific. Likely to be removed soon.</p>
+<p class="admonition-title">Note</p>
+<p>Appears to be POWER7 p7ioc specific. Likely to be removed soon.</p>
</div>
<p><strong>WARNING:</strong> following documentation is from old sources, and is possibly
not representative of OPALv3 as implemented by skiboot. This should be
@@ -75,23 +75,23 @@ partitions cannot issue CI loads/stores to these address spaces from the
processor (e.g.,via HPT).</p>
<p>OPAL returns <a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a> for calls to OPAL to enable them for PHBs that do
not support disable.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">window_type</span></code></dt>
-<dd><p class="first">specifies 32-bit or 64-bit PCI memory</p>
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">window_type</span></code></dt><dd><p>specifies 32-bit or 64-bit PCI memory</p>
<p>‘0’ selects PCI IO Space</p>
<p>‘1’ selects 32-bit PCI memory space</p>
-<p class="last">‘2’ selects 64 bit PCI memory space</p>
+<p>‘2’ selects 64 bit PCI memory space</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">window_num</span></code></dt><dd><p>is the MMIO window number within the specified PCI memory space</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">enable</span></code></dt><dd><p>specifies to enable or disable this MMIO window.</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">window_num</span></code></dt>
-<dd>is the MMIO window number within the specified PCI memory space</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">enable</span></code></dt>
-<dd>specifies to enable or disable this MMIO window.</dd>
</dl>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -111,17 +111,15 @@ not support disable.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -138,14 +136,15 @@ not support disable.</p>
<li class="right" >
<a href="opal-pci-next-error-60.html" title="OPAL_PCI_NEXT_ERROR"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_PHB_MMIO_ENABLE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-poll-62.html b/doc/opal-api/opal-pci-poll-62.html
index 657cec3..e943eb1 100644
--- a/doc/opal-api/opal-pci-poll-62.html
+++ b/doc/opal-api/opal-pci-poll-62.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_POLL &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_POLL &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-phb-mmio-enable-27.html" title="OPAL_PCI_PHB_MMIO_ENABLE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_POLL</a></li>
</ul>
</div>
@@ -45,22 +45,23 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-poll">
+ <section id="opal-pci-poll">
<span id="id1"></span><h1>OPAL_PCI_POLL<a class="headerlink" href="#opal-pci-poll" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_POLL 62</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_poll</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">id</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_poll</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">id</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Crank the state machine for the PHB id. Returns how many milliseconds for
the caller to sleep.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
<p>Milliseconds for the caller to sleep for, error code, or <a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a>.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -88,17 +89,15 @@ the caller to sleep.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -115,14 +114,15 @@ the caller to sleep.</p>
<li class="right" >
<a href="opal-pci-phb-mmio-enable-27.html" title="OPAL_PCI_PHB_MMIO_ENABLE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_POLL</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-reinit-53.html b/doc/opal-api/opal-pci-reinit-53.html
index 805d4aa..05e3dd7 100644
--- a/doc/opal-api/opal-pci-reinit-53.html
+++ b/doc/opal-api/opal-pci-reinit-53.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_REINIT &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_REINIT &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-poll-62.html" title="OPAL_PCI_POLL"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_REINIT</a></li>
</ul>
</div>
@@ -45,40 +45,41 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-reinit">
+ <section id="opal-pci-reinit">
<span id="id1"></span><h1>OPAL_PCI_REINIT<a class="headerlink" href="#opal-pci-reinit" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_REINIT 53</span>
-<span class="k">enum</span> <span class="n">OpalPciReinitScope</span> <span class="p">{</span>
- <span class="cm">/*</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalPciReinitScope</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="cm">/*</span>
<span class="cm"> * Note: we chose values that do not overlap</span>
<span class="cm"> * OpalPciResetScope as OPAL v2 used the same</span>
<span class="cm"> * enum for both</span>
-<span class="cm"> */</span>
- <span class="n">OPAL_REINIT_PCI_DEV</span> <span class="o">=</span> <span class="mi">1000</span>
-<span class="p">};</span>
+<span class="cm"> */</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_REINIT_PCI_DEV</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1000</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_reinit</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">reinit_scope</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_reinit</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">reinit_scope</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">Much glory awaits the one who fills in this documentation.</p>
+<p class="admonition-title">Note</p>
+<p>Much glory awaits the one who fills in this documentation.</p>
</div>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid PHB, scope, or device.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Operation unsupported</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Some hardware issue prevented the reinit.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid PHB, scope, or device.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Operation unsupported</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Some hardware issue prevented the reinit.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -106,17 +107,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -133,14 +132,15 @@
<li class="right" >
<a href="opal-pci-poll-62.html" title="OPAL_PCI_POLL"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_REINIT</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-reset-49.html b/doc/opal-api/opal-pci-reset-49.html
index 136e290..e6e7af3 100644
--- a/doc/opal-api/opal-pci-reset-49.html
+++ b/doc/opal-api/opal-pci-reset-49.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_RESET &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_RESET &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-reinit-53.html" title="OPAL_PCI_REINIT"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_RESET</a></li>
</ul>
</div>
@@ -45,25 +45,25 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-reset">
+ <section id="opal-pci-reset">
<span id="id1"></span><h1>OPAL_PCI_RESET<a class="headerlink" href="#opal-pci-reset" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_RESET 49</span>
-<span class="k">enum</span> <span class="n">OpalPciResetScope</span> <span class="p">{</span>
- <span class="n">OPAL_RESET_PHB_COMPLETE</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_RESET_PCI_LINK</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_RESET_PHB_ERROR</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">OPAL_RESET_PCI_HOT</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span>
- <span class="n">OPAL_RESET_PCI_FUNDAMENTAL</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
- <span class="n">OPAL_RESET_PCI_IODA_TABLE</span> <span class="o">=</span> <span class="mi">6</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalPciResetScope</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_RESET_PHB_COMPLETE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_RESET_PCI_LINK</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_RESET_PHB_ERROR</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_RESET_PCI_HOT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_RESET_PCI_FUNDAMENTAL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_RESET_PCI_IODA_TABLE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">6</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="k">enum</span> <span class="n">OpalPciResetState</span> <span class="p">{</span>
- <span class="n">OPAL_DEASSERT_RESET</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_ASSERT_RESET</span> <span class="o">=</span> <span class="mi">1</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalPciResetState</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_DEASSERT_RESET</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ASSERT_RESET</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_reset</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">id</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">reset_scope</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">assert_state</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_reset</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">reset_scope</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">assert_state</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Kick off the requested PCI reset operation. This starts a state machine off to
@@ -71,21 +71,22 @@ perform the requested operation. This call will return how many milliseconds to
wait before calling back into <a class="reference internal" href="opal-pci-poll-62.html#opal-pci-poll"><span class="std std-ref">OPAL_PCI_POLL</span></a>. An OS can
call <a class="reference internal" href="opal-pci-poll-62.html#opal-pci-poll"><span class="std std-ref">OPAL_PCI_POLL</span></a> earlier, but it is unlikely any progress will have
been made.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid <code class="docutils literal notranslate"><span class="pre">id</span></code>, <code class="docutils literal notranslate"><span class="pre">reset_scope</span></code>, or <code class="docutils literal notranslate"><span class="pre">assert_state</span></code>.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Operation is unsupported on <code class="docutils literal notranslate"><span class="pre">id</span></code>.</dd>
-<dt>value &gt; 0</dt>
-<dd>How many ms to wait for the state machine to crank.
-Call <a class="reference internal" href="opal-pci-poll-62.html#opal-pci-poll"><span class="std std-ref">OPAL_PCI_POLL</span></a> to crank the state machine further.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid <code class="docutils literal notranslate"><span class="pre">id</span></code>, <code class="docutils literal notranslate"><span class="pre">reset_scope</span></code>, or <code class="docutils literal notranslate"><span class="pre">assert_state</span></code>.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Operation is unsupported on <code class="docutils literal notranslate"><span class="pre">id</span></code>.</p>
+</dd>
+<dt>value &gt; 0</dt><dd><p>How many ms to wait for the state machine to crank.
+Call <a class="reference internal" href="opal-pci-poll-62.html#opal-pci-poll"><span class="std std-ref">OPAL_PCI_POLL</span></a> to crank the state machine further.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -113,17 +114,15 @@ Call <a class="reference internal" href="opal-pci-poll-62.html#opal-pci-poll"><s
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -140,14 +139,15 @@ Call <a class="reference internal" href="opal-pci-poll-62.html#opal-pci-poll"><s
<li class="right" >
<a href="opal-pci-reinit-53.html" title="OPAL_PCI_REINIT"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_RESET</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-mve-33.html b/doc/opal-api/opal-pci-set-mve-33.html
index 861b6be..945ad64 100644
--- a/doc/opal-api/opal-pci-set-mve-33.html
+++ b/doc/opal-api/opal-pci-set-mve-33.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_MVE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_MVE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-reset-49.html" title="OPAL_PCI_RESET"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_MVE</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-mve">
+ <section id="opal-pci-set-mve">
<span id="id1"></span><h1>OPAL_PCI_SET_MVE<a class="headerlink" href="#opal-pci-set-mve" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_MVE 33</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_mve</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">mve_number</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_mve</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">mve_number</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><strong>WARNING:</strong> following documentation is from old sources, and is possibly
@@ -60,27 +60,28 @@ used as a starting point for full documentation.</p>
including within the XIVE, to validate that the requester is authorized to
signal an interrupt to the associated DMA address for a message value that
selects a particular XIVE.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">mve_number</span></code></dt>
-<dd>is the index, from 0 to ibm,opal,ibm-num-msi-ports minus1</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt>
-<dd>is the index of a PE, from 0 to ibm,opal-num-pes minus 1.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">mve_number</span></code></dt><dd><p>is the index, from 0 to ibm,opal,ibm-num-msi-ports minus1</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt><dd><p>is the index of a PE, from 0 to ibm,opal-num-pes minus 1.</p>
+</dd>
</dl>
<p>This call maps an MVE to a PE and PE RID domain. OPAL uses the PELT to
determine the PE domain. OPAL treats this call as a NOP for IODA2 PHBs
and returns a status of OPAL_SUCCESS.</p>
<p>Return value:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_PARAMETER</span><span class="p">;</span>
-<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_mve</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_PARAMETER</span><span class="p">;</span><span class="w"></span>
+<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_mve</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -100,17 +101,15 @@ and returns a status of OPAL_SUCCESS.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -127,14 +126,15 @@ and returns a status of OPAL_SUCCESS.</p>
<li class="right" >
<a href="opal-pci-reset-49.html" title="OPAL_PCI_RESET"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_MVE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-mve-enable-34.html b/doc/opal-api/opal-pci-set-mve-enable-34.html
index 6525069..8d0802c 100644
--- a/doc/opal-api/opal-pci-set-mve-enable-34.html
+++ b/doc/opal-api/opal-pci-set-mve-enable-34.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_MVE_ENABLE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_MVE_ENABLE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-mve-33.html" title="OPAL_PCI_SET_MVE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_MVE_ENABLE</a></li>
</ul>
</div>
@@ -45,16 +45,16 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-mve-enable">
+ <section id="opal-pci-set-mve-enable">
<span id="id1"></span><h1>OPAL_PCI_SET_MVE_ENABLE<a class="headerlink" href="#opal-pci-set-mve-enable" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_MVE_ENABLE 34</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_mve_enable</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">mve_number</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">state</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_mve_enable</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">mve_number</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">state</span><span class="p">);</span><span class="w"></span>
-<span class="k">enum</span> <span class="n">OpalMveEnableAction</span> <span class="p">{</span>
- <span class="n">OPAL_DISABLE_MVE</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_ENABLE_MVE</span> <span class="o">=</span> <span class="mi">1</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalMveEnableAction</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_DISABLE_MVE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ENABLE_MVE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
<p><strong>WARNING:</strong> following documentation is from old sources, and is possibly
@@ -62,26 +62,27 @@ not representative of OPALv3 as implemented by skiboot. This should be
used as a starting point for full documentation.</p>
<p>The host calls this function to enable or disable an MVE to respond to an MSI
DMA address and message data value.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">mve_number</span></code></dt>
-<dd>is the index, from 0 to ibm,opal,ibm-num-msi-ports minus1</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">state</span></code></dt>
-<dd>A ‘1’ value of the state parameter indicates to enable the MVE and a ‘0’
-value indicates to disable the MVE.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">mve_number</span></code></dt><dd><p>is the index, from 0 to ibm,opal,ibm-num-msi-ports minus1</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">state</span></code></dt><dd><p>A ‘1’ value of the state parameter indicates to enable the MVE and a ‘0’
+value indicates to disable the MVE.</p>
+</dd>
</dl>
<p>This call sets the MVE to an enabled (1) or disabled (0) state.</p>
<p>Return value:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_PARAMETER</span><span class="p">;</span>
-<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_mve_enable</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_PARAMETER</span><span class="p">;</span><span class="w"></span>
+<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_mve_enable</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -101,17 +102,15 @@ value indicates to disable the MVE.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -128,14 +127,15 @@ value indicates to disable the MVE.</dd>
<li class="right" >
<a href="opal-pci-set-mve-33.html" title="OPAL_PCI_SET_MVE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_MVE_ENABLE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-p2p-157.html b/doc/opal-api/opal-pci-set-p2p-157.html
index 1303289..d856f27 100644
--- a/doc/opal-api/opal-pci-set-p2p-157.html
+++ b/doc/opal-api/opal-pci-set-p2p-157.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_P2P &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_P2P &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-mve-enable-34.html" title="OPAL_PCI_SET_MVE_ENABLE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_P2P</a></li>
</ul>
</div>
@@ -45,48 +45,49 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-p2p">
+ <section id="opal-pci-set-p2p">
<span id="id1"></span><h1>OPAL_PCI_SET_P2P<a class="headerlink" href="#opal-pci-set-p2p" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_P2P 157</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_p2p</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phbid_init</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">phbid_target</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">desc</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="n">pe_number</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_p2p</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phbid_init</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phbid_target</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">desc</span><span class="p">,</span><span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">);</span><span class="w"></span>
-<span class="cm">/* PCI p2p descriptor */</span>
+<span class="cm">/* PCI p2p descriptor */</span><span class="w"></span>
<span class="cp">#define OPAL_PCI_P2P_ENABLE 0x1</span>
<span class="cp">#define OPAL_PCI_P2P_LOAD 0x2</span>
<span class="cp">#define OPAL_PCI_P2P_STORE 0x4</span>
</pre></div>
</div>
<p>The host calls this function to enable PCI peer-to-peer on the PHBs.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phbid_init</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property for the device initiating the p2p operation</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">phbid_target</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property for the device targeted by the p2p operation</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">desc</span></code></dt>
-<dd>tells whether the p2p operation is a store (OPAL_PCI_P2P_STORE) or load (OPAL_PCI_P2P_LOAD). Can be both.
-OPAL_PCI_P2P_ENABLE enables/disables the setting</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt>
-<dd>PE number for the initiating device</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phbid_init</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property for the device initiating the p2p operation</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">phbid_target</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property for the device targeted by the p2p operation</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">desc</span></code></dt><dd><p>tells whether the p2p operation is a store (OPAL_PCI_P2P_STORE) or load (OPAL_PCI_P2P_LOAD). Can be both.
+OPAL_PCI_P2P_ENABLE enables/disables the setting</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt><dd><p>PE number for the initiating device</p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Configuration was successful</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid PHB or mode parameter</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Not supported by hardware</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Configuration was successful</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid PHB or mode parameter</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Not supported by hardware</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -115,17 +116,15 @@ OPAL_PCI_P2P_ENABLE enables/disables the setting</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -142,14 +141,15 @@ OPAL_PCI_P2P_ENABLE enables/disables the setting</dd>
<li class="right" >
<a href="opal-pci-set-mve-enable-34.html" title="OPAL_PCI_SET_MVE_ENABLE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_P2P</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-pe-31.html b/doc/opal-api/opal-pci-set-pe-31.html
index 7a59cb6..4081050 100644
--- a/doc/opal-api/opal-pci-set-pe-31.html
+++ b/doc/opal-api/opal-pci-set-pe-31.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_PE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_PE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-p2p-157.html" title="OPAL_PCI_SET_P2P"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_PE</a></li>
</ul>
</div>
@@ -45,14 +45,14 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-pe">
+ <section id="opal-pci-set-pe">
<span id="id1"></span><h1>OPAL_PCI_SET_PE<a class="headerlink" href="#opal-pci-set-pe" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_PE 31</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_pe</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">bus_dev_func</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">bus_compare</span><span class="p">,</span>
- <span class="kt">uint8_t</span> <span class="n">dev_compare</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">func_compare</span><span class="p">,</span>
- <span class="kt">uint8_t</span> <span class="n">pe_action</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_pe</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">bus_dev_func</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">bus_compare</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">dev_compare</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">func_compare</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">pe_action</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><strong>NOTE:</strong> The following two paragraphs come from some old documentation and
@@ -70,42 +70,40 @@ argument, for OPAL to correlate the RID (bus/dev/func) domain of the PE. If a
PE domain is changed, the host must call this to reset the PE bus/dev/func
domain and then call all other OPAL calls that map PHB IODA resources to
update those domains within PHB facilities.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt>
-<dd>is the index of a PE, from 0 to ibm,opal-num-pes minus 1.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bus_compare</span></code></dt>
-<dd><p class="first">is a value from 0 to 7 indicating which bus number
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt><dd><p>is the index of a PE, from 0 to ibm,opal-num-pes minus 1.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bus_compare</span></code></dt><dd><p>is a value from 0 to 7 indicating which bus number
bits define the range of buses in a PE domain:</p>
<p>0 = do not validate against RID bus number (PE = all bus numbers)</p>
-<dl class="docutils">
-<dt>2 = compare high order 3 bits of RID bus number to high order 3 bits of</dt>
-<dd>PE bus number</dd>
-<dt>3 = compare high order 4 bits of RID bus number to high order 4 bits of</dt>
-<dd>PE bus number</dd>
-<dt>6 = compare high order 7 bits of RID bus number to high order 7 bits of</dt>
-<dd>PE bus number</dd>
+<dl class="simple">
+<dt>2 = compare high order 3 bits of RID bus number to high order 3 bits of</dt><dd><p>PE bus number</p>
+</dd>
+<dt>3 = compare high order 4 bits of RID bus number to high order 4 bits of</dt><dd><p>PE bus number</p>
+</dd>
+<dt>6 = compare high order 7 bits of RID bus number to high order 7 bits of</dt><dd><p>PE bus number</p>
+</dd>
</dl>
-<p class="last">7 = compare all bits of RID bus number to all bits of PE bus number</p>
+<p>7 = compare all bits of RID bus number to all bits of PE bus number</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">dev_compare</span></code></dt>
-<dd>indicates to compare the RID device number to the PE
+<dt><code class="docutils literal notranslate"><span class="pre">dev_compare</span></code></dt><dd><p>indicates to compare the RID device number to the PE
device number or not. ‘0’ signifies that the RID device number is not compared
– essentially all device numbers within the bus and function number range of
this PE are also within this PE. Non-zero signifies to compare the RID device
number to the PE device number, such that only that device number is in the PE
-domain, for all buses and function numbers in the PE domain.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">func_compare</span></code></dt>
-<dd>indicates to compare the RID function number to the
+domain, for all buses and function numbers in the PE domain.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">func_compare</span></code></dt><dd><p>indicates to compare the RID function number to the
PE function number or not. ‘0’ signifies that the RID function number is not
compared – essentially all function numbers within the bus and device number
range of this PE are also within this PE. Non-zero signifies to compare the
RID function number to the PE function number, such that only that function
-number is in the PE domain, for all buses and device numbers in the PE domain.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pe_action</span></code></dt>
-<dd><p class="first">is one of:</p>
-<div class="last highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">enum</span> <span class="n">OpalPeAction</span> <span class="p">{</span>
+number is in the PE domain, for all buses and device numbers in the PE domain.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">pe_action</span></code></dt><dd><p>is one of:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">enum</span> <span class="n">OpalPeAction</span> <span class="p">{</span>
<span class="n">OPAL_UNMAP_PE</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
<span class="n">OPAL_MAP_PE</span> <span class="o">=</span> <span class="mi">1</span>
<span class="p">};</span>
@@ -113,29 +111,29 @@ number is in the PE domain, for all buses and device numbers in the PE domain.</
</div>
</dd>
</dl>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd><p class="first">If one of the following:</p>
-<blockquote class="last">
+<dl>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>If one of the following:</p>
+<blockquote>
<div><ul class="simple">
-<li>invalid phb</li>
-<li>invalid pe_action</li>
-<li>invalid bus_dev_func</li>
-<li>invalid bus_compare</li>
+<li><p>invalid phb</p></li>
+<li><p>invalid pe_action</p></li>
+<li><p>invalid bus_dev_func</p></li>
+<li><p>invalid bus_compare</p></li>
</ul>
</div></blockquote>
</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>PHB does not support set_pe operation</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>if operation was successful</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>PHB does not support set_pe operation</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>if operation was successful</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -163,17 +161,15 @@ number is in the PE domain, for all buses and device numbers in the PE domain.</
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -190,14 +186,15 @@ number is in the PE domain, for all buses and device numbers in the PE domain.</
<li class="right" >
<a href="opal-pci-set-p2p-157.html" title="OPAL_PCI_SET_P2P"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_PE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-peltv-32.html b/doc/opal-api/opal-pci-set-peltv-32.html
index 207f02b..4e67dbf 100644
--- a/doc/opal-api/opal-pci-set-peltv-32.html
+++ b/doc/opal-api/opal-pci-set-peltv-32.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_PELTV &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_PELTV &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-pe-31.html" title="OPAL_PCI_SET_PE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_PELTV</a></li>
</ul>
</div>
@@ -45,12 +45,12 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-peltv">
+ <section id="opal-pci-set-peltv">
<span id="id1"></span><h1>OPAL_PCI_SET_PELTV<a class="headerlink" href="#opal-pci-set-peltv" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_PELTV 32</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_peltv</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">parent_pe</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">child_pe</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">state</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_peltv</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">parent_pe</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">child_pe</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">state</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><strong>WARNING:</strong> This documentation comes from an old source and is possibly not up
@@ -59,30 +59,30 @@ use the source (and update the docs).</p>
<p>This call sets the PELTV of a parent PE to add or remove a PE number as a PE
within that parent PE domain. The host must call this function for each child
of a parent PE.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">parent_pe</span></code></dt>
-<dd>is the PE number of a PE that is higher in the PCI hierarchy
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">parent_pe</span></code></dt><dd><p>is the PE number of a PE that is higher in the PCI hierarchy
to other PEs, such that an error involving this parent PE should cause a
collateral PE freeze for PEs below this PE in the PCI hierarchy. For example
a switch upstream bridge is a PE that is parent to PEs reached through that
upstream bridge such that an error involving the upstream bridge
(e.g, ERR_FATAL) should cause the PHB to freeze all other PEs below that
upstream bridge (e.g., a downstream bridge, or devices below a downstream
-bridge).</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">child_pe</span></code></dt>
-<dd>is the PE number of a PE that is lower in the PCI hierarchy
+bridge).</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">child_pe</span></code></dt><dd><p>is the PE number of a PE that is lower in the PCI hierarchy
than another PE, such that an error involving that other PE should cause a
collateral PE freeze for this child PE. For example a device below a
downstream bridge of a PCIE switch is a child PE that downstream bridge PE
and the upstream bridge PE of that switch – an ERR_Fatal from either bridge
-should result in a collateral freeze of that device PE.</dd>
+should result in a collateral freeze of that device PE.</p>
+</dd>
</dl>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span> <span class="n">OpalPeltvAction</span> <span class="p">{</span>
- <span class="n">OPAL_REMOVE_PE_FROM_DOMAIN</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_ADD_PE_TO_DOMAIN</span> <span class="o">=</span> <span class="mi">1</span>
-<span class="p">};</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span><span class="w"> </span><span class="n">OpalPeltvAction</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_REMOVE_PE_FROM_DOMAIN</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_ADD_PE_TO_DOMAIN</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
<p><strong>OPAL Implementation Note:</strong>
@@ -92,15 +92,16 @@ PE when the state argument is ‘1’. OPAL clears the PELTV bit in all RTT
entries for the parent PE when the state argument is ‘0’ and setting the child
PE bit in the parent PELTV results in an all-zeros value for that PELTV.</p>
<p>Return value:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_PARAMETER</span><span class="p">;</span>
-<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_peltv</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_PARAMETER</span><span class="p">;</span><span class="w"></span>
+<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_peltv</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -120,17 +121,15 @@ PE bit in the parent PELTV results in an all-zeros value for that PELTV.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -147,14 +146,15 @@ PE bit in the parent PELTV results in an all-zeros value for that PELTV.</p>
<li class="right" >
<a href="opal-pci-set-pe-31.html" title="OPAL_PCI_SET_PE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_PELTV</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-phb-capi-mode-93.html b/doc/opal-api/opal-pci-set-phb-capi-mode-93.html
index ed30c1e..0bb2fdf 100644
--- a/doc/opal-api/opal-pci-set-phb-capi-mode-93.html
+++ b/doc/opal-api/opal-pci-set-phb-capi-mode-93.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_PHB_CAPI_MODE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_PHB_CAPI_MODE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-peltv-32.html" title="OPAL_PCI_SET_PELTV"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_PHB_CAPI_MODE</a></li>
</ul>
</div>
@@ -45,36 +45,36 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-phb-capi-mode">
+ <section id="opal-pci-set-phb-capi-mode">
<span id="id1"></span><h1>OPAL_PCI_SET_PHB_CAPI_MODE<a class="headerlink" href="#opal-pci-set-phb-capi-mode" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_PHB_CAPI_MODE 93</span>
-<span class="cm">/* CAPI modes for PHB */</span>
-<span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_PHB_CAPI_MODE_PCIE</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
- <span class="n">OPAL_PHB_CAPI_MODE_CAPI</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">OPAL_PHB_CAPI_MODE_SNOOP_OFF</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
- <span class="n">OPAL_PHB_CAPI_MODE_SNOOP_ON</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">OPAL_PHB_CAPI_MODE_DMA</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span>
- <span class="n">OPAL_PHB_CAPI_MODE_DMA_TVT1</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
-<span class="p">};</span>
+<span class="cm">/* CAPI modes for PHB */</span><span class="w"></span>
+<span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_CAPI_MODE_PCIE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_CAPI_MODE_CAPI</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_CAPI_MODE_SNOOP_OFF</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_CAPI_MODE_SNOOP_ON</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_CAPI_MODE_DMA</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_CAPI_MODE_DMA_TVT1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_phb_capi_mode</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">mode</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_phb_capi_mode</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">mode</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Switch the CAPP attached to the given PHB in one of the supported CAPI modes.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">phb_id</span></code></dt>
-<dd>the ID of the PHB which identifies attached CAPP to perform mode switch on</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">mode</span></code></dt>
-<dd>A mode id as described below</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt>
-<dd>PE number for the initiating device</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">phb_id</span></code></dt><dd><p>the ID of the PHB which identifies attached CAPP to perform mode switch on</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">mode</span></code></dt><dd><p>A mode id as described below</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt><dd><p>PE number for the initiating device</p>
+</dd>
</dl>
-</div>
-<div class="section" id="calling">
+</section>
+<section id="calling">
<h2>Calling<a class="headerlink" href="#calling" title="Permalink to this headline">¶</a></h2>
<p>Switch CAPP attached to the given PHB in one of the following supported modes:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">OPAL_PHB_CAPI_MODE_PCIE</span> <span class="o">=</span> <span class="mi">0</span>
@@ -97,41 +97,42 @@ CX5 adapter. Requesting this mode will also indicate to opal that the card
requests maximum number of DMA read engines allocated to improve DMA read
performance at cost of reduced bandwidth available to other traffic including
CAPP-PSL transactions.</p>
-</div>
-<div class="section" id="notes">
+</section>
+<section id="notes">
<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>If PHB is in PEC2 then requesting mode <cite>OPAL_PHB_CAPI_MODE_DMA_TVT1</cite> will
+<li><p>If PHB is in PEC2 then requesting mode <cite>OPAL_PHB_CAPI_MODE_DMA_TVT1</cite> will
allocate extra 16/8 dma read engines to the PHB depending on its stack
(stack 0/ stack 1). This is needed to improve the Direct-GPU DMA read
-performance for the Mellanox CX5 card.</li>
-<li>Mode <cite>OPAL_PHB_CAPI_MODE_PCIE</cite> not supported on Power-9.</li>
-<li>Requesting mode <cite>OPAL_PHB_CAPI_MODE_CAPI</cite> on Power-9 will disable fast-reboot.</li>
-<li>Modes <cite>OPAL_PHB_CAPI_MODE_DMA</cite>, <cite>OPAL_PHB_CAPI_MODE_SNOOP_OFF</cite> are
-not supported on Power-9.</li>
-<li>CAPI is only supported on Power-8 and Power-9.</li>
+performance for the Mellanox CX5 card.</p></li>
+<li><p>Mode <cite>OPAL_PHB_CAPI_MODE_PCIE</cite> not supported on Power-9.</p></li>
+<li><p>Requesting mode <cite>OPAL_PHB_CAPI_MODE_CAPI</cite> on Power-9 will disable fast-reboot.</p></li>
+<li><p>Modes <cite>OPAL_PHB_CAPI_MODE_DMA</cite>, <cite>OPAL_PHB_CAPI_MODE_SNOOP_OFF</cite> are
+not supported on Power-9.</p></li>
+<li><p>CAPI is only supported on Power-8 and Power-9.</p></li>
</ul>
-</div>
-<div class="section" id="return-codes">
+</section>
+<section id="return-codes">
<h2>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Switch to the requested capi mode performed successfully.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>The requested value of mode or phb_id parameter is not valid.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>An error occurred while switching the CAPP to requested mode.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Switching to requested capi mode is not possible at the moment</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-resource"><span class="std std-ref">OPAL_RESOURCE</span></a></dt>
-<dd>CAPP ucode not available hence activating CAPP not supported.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>CAPP is presently in recovery-mode and mode switch cannot be performed.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Switch to the requested capi mode performed successfully.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>The requested value of mode or phb_id parameter is not valid.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>An error occurred while switching the CAPP to requested mode.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Switching to requested capi mode is not possible at the moment</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-resource"><span class="std std-ref">OPAL_RESOURCE</span></a></dt><dd><p>CAPP ucode not available hence activating CAPP not supported.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>CAPP is presently in recovery-mode and mode switch cannot be performed.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -162,17 +163,15 @@ not supported on Power-9.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -189,14 +188,15 @@ not supported on Power-9.</li>
<li class="right" >
<a href="opal-pci-set-peltv-32.html" title="OPAL_PCI_SET_PELTV"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_PHB_CAPI_MODE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-phb-mem-window-28.html b/doc/opal-api/opal-pci-set-phb-mem-window-28.html
index 1abd368..70edd41 100644
--- a/doc/opal-api/opal-pci-set-phb-mem-window-28.html
+++ b/doc/opal-api/opal-pci-set-phb-mem-window-28.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_PHB_MEM_WINDOW &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_PHB_MEM_WINDOW &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-phb-capi-mode-93.html" title="OPAL_PCI_SET_PHB_CAPI_MODE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_PHB_MEM_WINDOW</a></li>
</ul>
</div>
@@ -45,21 +45,21 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-phb-mem-window">
+ <section id="opal-pci-set-phb-mem-window">
<span id="id1"></span><h1>OPAL_PCI_SET_PHB_MEM_WINDOW<a class="headerlink" href="#opal-pci-set-phb-mem-window" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_PHB_MEM_WINDOW 28</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_phb_mem_window</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">window_type</span><span class="p">,</span>
- <span class="kt">uint16_t</span> <span class="n">window_num</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">addr</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">pci_addr</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">size</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_phb_mem_window</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">window_type</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">window_num</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">addr</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pci_addr</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">size</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">Appears to be POWER7 p7ioc specific. Likely to be removed soon.</p>
+<p class="admonition-title">Note</p>
+<p>Appears to be POWER7 p7ioc specific. Likely to be removed soon.</p>
</div>
<p><strong>WARNING:</strong> following documentation is from old sources, and is possibly
not representative of OPALv3 as implemented by skiboot. This should be
@@ -69,29 +69,27 @@ PHBs. OPAL sets IO space for P7IOC and KVM cannot relocate this. KVM should
changes these windows only while all devices below the PHB are disabled for
PCI memory ops, and with the target window in disabled state (where supported
by PHB hardware).</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">window_type</span></code></dt>
-<dd><p class="first">specifies 32-bit or 64-bit PCI memory</p>
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">window_type</span></code></dt><dd><p>specifies 32-bit or 64-bit PCI memory</p>
<p>‘0’ selects IO space, and is not supported for relocation. OPAL
returns OPAL_UNSUPPORTED for this value.</p>
<p>‘1’ selects 32-bit PCI memory space</p>
-<p class="last">‘2’ selects 64 bit PCI memory space</p>
+<p>‘2’ selects 64 bit PCI memory space</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">window_num</span></code></dt>
-<dd>is the MMIO window number within the specified PCI memory space</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">starting_real_address</span></code></dt>
-<dd>specifies the location within sytsem (processor)real
+<dt><code class="docutils literal notranslate"><span class="pre">window_num</span></code></dt><dd><p>is the MMIO window number within the specified PCI memory space</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">starting_real_address</span></code></dt><dd><p>specifies the location within sytsem (processor)real
address space this MMIO window starts. This must be a location within the
-IO Hub or PHB node ibm,opal-mmio-real property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">starting_pci_address</span></code></dt>
-<dd>specifies the location within PCI 32 or 64-bit
+IO Hub or PHB node ibm,opal-mmio-real property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">starting_pci_address</span></code></dt><dd><p>specifies the location within PCI 32 or 64-bit
address space that this MMIO window starts. For 64-bit PCI memory, this
must be within the low order 60 bit (1 Exabyte) region of PCI memory.
-Addresses above 1EB are reserved to IODA definitions.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">segment_size</span></code></dt>
-<dd>defines the segment size of this window, in the same format
+Addresses above 1EB are reserved to IODA definitions.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">segment_size</span></code></dt><dd><p>defines the segment size of this window, in the same format
as and a matching value from the ibm,opal-memwin32/64 &lt;segment_size&gt;
property. The window total size, in bytes, is the segment_size times the
ibm,opal-memwin32/64 &lt;num_segments&gt; property and must not extend beyond
@@ -101,7 +99,8 @@ supported for the specifice window. The host must assure that the
cumulative address space for all enabled windows does not exceed the total
PHB 32-bit or 64-bit real address window space, or extend outside these
address ranges, and that no windows overlap each other in real or PCI
-address space. OPAL does not validate those conditions.</dd>
+address space. OPAL does not validate those conditions.</p>
+</dd>
</dl>
<p>A segment size of ‘0’ indicates to disable this MMIO window. If the PHB
hardware does not support disabling a window, OPAL returns OPAL_UNSUPPORTED
@@ -111,15 +110,16 @@ segment_size times the number of segments within this MMIO window.</p>
<p>The host must set PHB memory windows to be within the system real address
ranges indicated in the PHB parent HDT hub node ibm,opal-mmio-real property.</p>
<p>Return value:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_PARAMETER</span><span class="p">;</span>
-<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_phb_mem_window</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_PARAMETER</span><span class="p">;</span><span class="w"></span>
+<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_phb_mem_window</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -139,17 +139,15 @@ ranges indicated in the PHB parent HDT hub node ibm,opal-mmio-real property.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -166,14 +164,15 @@ ranges indicated in the PHB parent HDT hub node ibm,opal-mmio-real property.</p>
<li class="right" >
<a href="opal-pci-set-phb-capi-mode-93.html" title="OPAL_PCI_SET_PHB_CAPI_MODE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_PHB_MEM_WINDOW</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-power-state-121.html b/doc/opal-api/opal-pci-set-power-state-121.html
index 1258994..8be4ccd 100644
--- a/doc/opal-api/opal-pci-set-power-state-121.html
+++ b/doc/opal-api/opal-pci-set-power-state-121.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_POWER_STATE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_POWER_STATE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-phb-mem-window-28.html" title="OPAL_PCI_SET_PHB_MEM_WINDOW"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_POWER_STATE</a></li>
</ul>
</div>
@@ -45,29 +45,29 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-power-state">
+ <section id="opal-pci-set-power-state">
<span id="id1"></span><h1>OPAL_PCI_SET_POWER_STATE<a class="headerlink" href="#opal-pci-set-power-state" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_POWER_STATE 121</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_power_state</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">async_token</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_power_state</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">async_token</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Set PCI slot power state</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">async_token</span></code></dt>
-<dd>Token of asynchronous message to be sent
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">async_token</span></code></dt><dd><p>Token of asynchronous message to be sent
on completion of OPAL_PCI_SLOT_POWER_{OFF, ON}. It is
-ignored when &#64;data is OPAL_PCI_SLOT_{OFFLINE, ONLINE}.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">id</span></code></dt>
-<dd>PCI slot ID</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">data</span></code></dt>
-<dd>memory buffer pointer for the power state which
-can be one of OPAL_PCI_SLOT_POWER_{OFF, ON, OFFLINE, ONLINE}.</dd>
+ignored when &#64;data is OPAL_PCI_SLOT_{OFFLINE, ONLINE}.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">id</span></code></dt><dd><p>PCI slot ID</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">data</span></code></dt><dd><p>memory buffer pointer for the power state which
+can be one of OPAL_PCI_SLOT_POWER_{OFF, ON, OFFLINE, ONLINE}.</p>
+</dd>
</dl>
-</div>
-<div class="section" id="calling">
+</section>
+<section id="calling">
<h2>Calling<a class="headerlink" href="#calling" title="Permalink to this headline">¶</a></h2>
<p>Set PCI slot’s power state. The power state is stored in buffer pointed
by &#64;data. The typical use is to hot add or remove adapters behind the
@@ -81,23 +81,24 @@ or adding devices behind the slot. The device nodes in the device tree are
removed or added accordingly, without actually changing the slot’s power state.
The API call will return OPAL_SUCCESS immediately and no further asynchronous
message will be sent.</p>
-</div>
-<div class="section" id="return-codes">
+</section>
+<section id="return-codes">
<h2>Return Codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>PCI hotplug on the slot is completed successfully</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>PCI hotplug needs further message to confirm</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>The indicated PCI slot isn’t found</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Setting power state not supported on the PCI slot</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>PCI hotplug on the slot is completed successfully</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>PCI hotplug needs further message to confirm</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>The indicated PCI slot isn’t found</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Setting power state not supported on the PCI slot</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -127,17 +128,15 @@ message will be sent.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -154,14 +153,15 @@ message will be sent.</p>
<li class="right" >
<a href="opal-pci-set-phb-mem-window-28.html" title="OPAL_PCI_SET_PHB_MEM_WINDOW"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_POWER_STATE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-set-xive-pe-37.html b/doc/opal-api/opal-pci-set-xive-pe-37.html
index 24447fd..cbf03c3 100644
--- a/doc/opal-api/opal-pci-set-xive-pe-37.html
+++ b/doc/opal-api/opal-pci-set-xive-pe-37.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_SET_XIVE_PE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_SET_XIVE_PE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-power-state-121.html" title="OPAL_PCI_SET_POWER_STATE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_XIVE_PE</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-set-xive-pe">
+ <section id="opal-pci-set-xive-pe">
<span id="id1"></span><h1>OPAL_PCI_SET_XIVE_PE<a class="headerlink" href="#opal-pci-set-xive-pe" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PCI_SET_XIVE_PE 37</span>
-<span class="kt">int64_t</span> <span class="nf">opal_pci_set_xive_pe</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">xive_num</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_set_xive_pe</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">xive_num</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><strong>WARNING:</strong> following documentation is from old sources, and is possibly
@@ -57,27 +57,28 @@ not representative of OPALv3 as implemented by skiboot. This should be
used as a starting point for full documentation.</p>
<p>The host calls this function to bind a PE to an XIVE. Only that PE may then
signal an MSI that selects this XIVE.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt>
-<dd>is the value from the PHB node ibm,opal-phbid property.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt>
-<dd>is the index of a PE, from 0 to ibm,opal-num-pes minus 1.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">xive_number</span></code></dt>
-<dd>is the index, from 0 to ibm,opal,ibm-num-msis minus (num_lsis+1)</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">phb_id</span></code></dt><dd><p>is the value from the PHB node ibm,opal-phbid property.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">pe_number</span></code></dt><dd><p>is the index of a PE, from 0 to ibm,opal-num-pes minus 1.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">xive_number</span></code></dt><dd><p>is the index, from 0 to ibm,opal,ibm-num-msis minus (num_lsis+1)</p>
+</dd>
</dl>
<p>This call maps the XIVR indexed by xive_num to the PE specified by
pe_number. For ibm,opal-ioda HW, the pe_number must match the pe_number
set in the MVE.</p>
<p>Return value:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_PARAMETER</span><span class="p">;</span>
-<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_xive_pe</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_PARAMETER</span><span class="p">;</span><span class="w"></span>
+<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">ops</span><span class="o">-&gt;</span><span class="n">set_xive_pe</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">OPAL_UNSUPPORTED</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -97,17 +98,15 @@ set in the MVE.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -124,14 +123,15 @@ set in the MVE.</p>
<li class="right" >
<a href="opal-pci-set-power-state-121.html" title="OPAL_PCI_SET_POWER_STATE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_SET_XIVE_PE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-pci-tce-kill-126.html b/doc/opal-api/opal-pci-tce-kill-126.html
index def6b7c..4a14636 100644
--- a/doc/opal-api/opal-pci-tce-kill-126.html
+++ b/doc/opal-api/opal-pci-tce-kill-126.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PCI_TCE_KILL &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PCI_TCE_KILL &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-set-xive-pe-37.html" title="OPAL_PCI_SET_XIVE_PE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_TCE_KILL</a></li>
</ul>
</div>
@@ -45,70 +45,71 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-pci-tce-kill">
+ <section id="opal-pci-tce-kill">
<span id="id1"></span><h1>OPAL_PCI_TCE_KILL<a class="headerlink" href="#opal-pci-tce-kill" title="Permalink to this headline">¶</a></h1>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_pci_tce_kill</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">kill_type</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">pe_number</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">tce_size</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">dma_addr</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">npages</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_pci_tce_kill</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">kill_type</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pe_number</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">tce_size</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">dma_addr</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">npages</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>An abstraction around TCE kill. This allows host OS kernels to use an OPAL
call if they don’t know the model specific invalidation method.</p>
<p>Where kill_type is one of:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_PCI_TCE_KILL_PAGES</span><span class="p">,</span>
- <span class="n">OPAL_PCI_TCE_KILL_PE</span><span class="p">,</span>
- <span class="n">OPAL_PCI_TCE_KILL_ALL</span><span class="p">,</span>
-<span class="p">};</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PCI_TCE_KILL_PAGES</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PCI_TCE_KILL_PE</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PCI_TCE_KILL_ALL</span><span class="p">,</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
<p>Not all PHB types currently support this abstraction. It is supported in
PHB4, which means from POWER9 onwards it will be present.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>if <code class="docutils literal notranslate"><span class="pre">phb_id</span></code> is invalid (or similar)</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>if PHB model doesn’t support this call. This is likely
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>if <code class="docutils literal notranslate"><span class="pre">phb_id</span></code> is invalid (or similar)</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>if PHB model doesn’t support this call. This is likely
true for systems before POWER9/PHB4.
Do <em>NOT</em> rely on this call existing for systems prior to
-POWER9 (i.e. PHB4).</dd>
+POWER9 (i.e. PHB4).</p>
+</dd>
</dl>
<p>Example code (from linux/arch/powerpc/platforms/powernv/pci-ioda.c)</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">static</span> <span class="kr">inline</span> <span class="kt">void</span> <span class="nf">pnv_pci_ioda2_tce_invalidate_pe</span><span class="p">(</span><span class="k">struct</span> <span class="n">pnv_ioda_pe</span> <span class="o">*</span><span class="n">pe</span><span class="p">)</span>
-<span class="p">{</span>
- <span class="k">struct</span> <span class="n">pnv_phb</span> <span class="o">*</span><span class="n">phb</span> <span class="o">=</span> <span class="n">pe</span><span class="o">-&gt;</span><span class="n">phb</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">static</span><span class="w"> </span><span class="kr">inline</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">pnv_pci_ioda2_tce_invalidate_pe</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">pnv_ioda_pe</span><span class="w"> </span><span class="o">*</span><span class="n">pe</span><span class="p">)</span><span class="w"></span>
+<span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">pnv_phb</span><span class="w"> </span><span class="o">*</span><span class="n">phb</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pe</span><span class="o">-&gt;</span><span class="n">phb</span><span class="p">;</span><span class="w"></span>
- <span class="k">if</span> <span class="p">(</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">model</span> <span class="o">==</span> <span class="n">PNV_PHB_MODEL_PHB3</span> <span class="o">&amp;&amp;</span> <span class="n">phb</span><span class="o">-&gt;</span><span class="n">regs</span><span class="p">)</span>
- <span class="n">pnv_pci_phb3_tce_invalidate_pe</span><span class="p">(</span><span class="n">pe</span><span class="p">);</span>
- <span class="k">else</span>
- <span class="n">opal_pci_tce_kill</span><span class="p">(</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">opal_id</span><span class="p">,</span> <span class="n">OPAL_PCI_TCE_KILL_PE</span><span class="p">,</span>
- <span class="n">pe</span><span class="o">-&gt;</span><span class="n">pe_number</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
-<span class="p">}</span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">model</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">PNV_PHB_MODEL_PHB3</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">regs</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="n">pnv_pci_phb3_tce_invalidate_pe</span><span class="p">(</span><span class="n">pe</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="k">else</span><span class="w"></span>
+<span class="w"> </span><span class="n">opal_pci_tce_kill</span><span class="p">(</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">opal_id</span><span class="p">,</span><span class="w"> </span><span class="n">OPAL_PCI_TCE_KILL_PE</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">pe</span><span class="o">-&gt;</span><span class="n">pe_number</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span><span class="w"></span>
+<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
<p>and</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span> <span class="n">pnv_phb</span> <span class="o">*</span><span class="n">phb</span> <span class="o">=</span> <span class="n">pe</span><span class="o">-&gt;</span><span class="n">phb</span><span class="p">;</span>
-<span class="kt">unsigned</span> <span class="kt">int</span> <span class="n">shift</span> <span class="o">=</span> <span class="n">tbl</span><span class="o">-&gt;</span><span class="n">it_page_shift</span><span class="p">;</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">pnv_phb</span><span class="w"> </span><span class="o">*</span><span class="n">phb</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pe</span><span class="o">-&gt;</span><span class="n">phb</span><span class="p">;</span><span class="w"></span>
+<span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">shift</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tbl</span><span class="o">-&gt;</span><span class="n">it_page_shift</span><span class="p">;</span><span class="w"></span>
-<span class="k">if</span> <span class="p">(</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">model</span> <span class="o">==</span> <span class="n">PNV_PHB_MODEL_PHB3</span> <span class="o">&amp;&amp;</span> <span class="n">phb</span><span class="o">-&gt;</span><span class="n">regs</span><span class="p">)</span>
- <span class="n">pnv_pci_phb3_tce_invalidate</span><span class="p">(</span><span class="n">pe</span><span class="p">,</span> <span class="n">rm</span><span class="p">,</span> <span class="n">shift</span><span class="p">,</span>
- <span class="n">index</span><span class="p">,</span> <span class="n">npages</span><span class="p">);</span>
-<span class="k">else</span>
- <span class="nf">opal_pci_tce_kill</span><span class="p">(</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">opal_id</span><span class="p">,</span>
- <span class="n">OPAL_PCI_TCE_KILL_PAGES</span><span class="p">,</span>
- <span class="n">pe</span><span class="o">-&gt;</span><span class="n">pe_number</span><span class="p">,</span> <span class="mi">1u</span> <span class="o">&lt;&lt;</span> <span class="n">shift</span><span class="p">,</span>
- <span class="n">index</span> <span class="o">&lt;&lt;</span> <span class="n">shift</span><span class="p">,</span> <span class="n">npages</span><span class="p">);</span>
+<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">model</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">PNV_PHB_MODEL_PHB3</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">regs</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="n">pnv_pci_phb3_tce_invalidate</span><span class="p">(</span><span class="n">pe</span><span class="p">,</span><span class="w"> </span><span class="n">rm</span><span class="p">,</span><span class="w"> </span><span class="n">shift</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">index</span><span class="p">,</span><span class="w"> </span><span class="n">npages</span><span class="p">);</span><span class="w"></span>
+<span class="k">else</span><span class="w"></span>
+<span class="w"> </span><span class="n">opal_pci_tce_kill</span><span class="p">(</span><span class="n">phb</span><span class="o">-&gt;</span><span class="n">opal_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PCI_TCE_KILL_PAGES</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">pe</span><span class="o">-&gt;</span><span class="n">pe_number</span><span class="p">,</span><span class="w"> </span><span class="mi">1u</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">shift</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">shift</span><span class="p">,</span><span class="w"> </span><span class="n">npages</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -136,17 +137,15 @@ POWER9 (i.e. PHB4).</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -163,14 +162,15 @@ POWER9 (i.e. PHB4).</dd>
<li class="right" >
<a href="opal-pci-set-xive-pe-37.html" title="OPAL_PCI_SET_XIVE_PE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PCI_TCE_KILL</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-phb-flag-set-get-179-180.html b/doc/opal-api/opal-phb-flag-set-get-179-180.html
index f60fd7a..82ac8ff 100644
--- a/doc/opal-api/opal-phb-flag-set-get-179-180.html
+++ b/doc/opal-api/opal-phb-flag-set-get-179-180.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PHB_SET_OPTION &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PHB_SET_OPTION &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-pci-tce-kill-126.html" title="OPAL_PCI_TCE_KILL"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PHB_SET_OPTION</a></li>
</ul>
</div>
@@ -45,60 +45,61 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-phb-set-option">
+ <section id="opal-phb-set-option">
<span id="id1"></span><h1>OPAL_PHB_SET_OPTION<a class="headerlink" href="#opal-phb-set-option" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PHB_SET_OPTION 179</span>
-<span class="kt">int64_t</span> <span class="nf">opal_phb_set_option</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">opt</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">setting</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_phb_set_option</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">opt</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">setting</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call translate an PHB option to a PHB flag for specific PHB model and
writes it to the hardware.</p>
<p>Supported options are:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span> <span class="n">OpalPhbOption</span> <span class="p">{</span>
- <span class="n">OPAL_PHB_OPTION_TVE1_4GB</span> <span class="o">=</span> <span class="mh">0x1</span><span class="p">,</span>
- <span class="n">OPAL_PHB_OPTION_MMIO_EEH_DISABLE</span> <span class="o">=</span> <span class="mh">0x2</span>
-<span class="p">};</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span><span class="w"> </span><span class="n">OpalPhbOption</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_OPTION_TVE1_4GB</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_PHB_OPTION_MMIO_EEH_DISABLE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x2</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
<p>OPAL_PHB_OPTION_TVE1_4GB: If set, uses TVE#1 for DMA access above 4GB; allowed setting 0 or 1.</p>
<p>OPAL_PHB_OPTION_MMIO_EEH_DISABLE: Disables EEH for all MMIO commands; allowed setting 0 or 1.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>if either the call or the option is not supported</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>if PHB is unknown or a new setting is out of range</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>if either the call or the option is not supported</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>if PHB is unknown or a new setting is out of range</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-phb-get-option">
+</section>
+</section>
+<section id="opal-phb-get-option">
<span id="id2"></span><h1>OPAL_PHB_GET_OPTION<a class="headerlink" href="#opal-phb-get-option" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PHB_GET_OPTION 180</span>
-<span class="kt">int64_t</span> <span class="nf">opal_phb_get_option</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">phb_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">opt</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">setting</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_phb_get_option</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">phb_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">opt</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">setting</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call reads the hardware specific PHB flag and translates to a PHB option.</p>
<p>For the list of supported options refer to OPAL_PHB_SET_OPTION above.</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Returns<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>if either the call or the option is not supported</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>if PHB is unknown or a new setting is out of range or no memory
-allocated for the return value</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>if either the call or the option is not supported</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>if PHB is unknown or a new setting is out of range or no memory
+allocated for the return value</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -130,17 +131,15 @@ allocated for the return value</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -157,14 +156,15 @@ allocated for the return value</dd>
<li class="right" >
<a href="opal-pci-tce-kill-126.html" title="OPAL_PCI_TCE_KILL"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PHB_SET_OPTION</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-poll-events.html b/doc/opal-api/opal-poll-events.html
index 17b96e1..1e0e250 100644
--- a/doc/opal-api/opal-poll-events.html
+++ b/doc/opal-api/opal-poll-events.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_POLL_EVENTS &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_POLL_EVENTS &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-phb-flag-set-get-179-180.html" title="OPAL_PHB_SET_OPTION"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_POLL_EVENTS</a></li>
</ul>
</div>
@@ -45,20 +45,20 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-poll-events">
+ <section id="opal-poll-events">
<span id="id1"></span><h1>OPAL_POLL_EVENTS<a class="headerlink" href="#opal-poll-events" title="Permalink to this headline">¶</a></h1>
<p>Poll for outstanding events.</p>
<p>Fills in a bitmask of pending events.</p>
<p>Current events are:</p>
-<div class="section" id="opal-event-opal-internal-0x1">
+<section id="opal-event-opal-internal-0x1">
<h2>OPAL_EVENT_OPAL_INTERNAL = 0x1<a class="headerlink" href="#opal-event-opal-internal-0x1" title="Permalink to this headline">¶</a></h2>
<p>Currently unused.</p>
-</div>
-<div class="section" id="opal-event-nvram-0x2">
+</section>
+<section id="opal-event-nvram-0x2">
<h2>OPAL_EVENT_NVRAM = 0x2<a class="headerlink" href="#opal-event-nvram-0x2" title="Permalink to this headline">¶</a></h2>
<p>Unused</p>
-</div>
-<div class="section" id="opal-event-rtc-0x4">
+</section>
+<section id="opal-event-rtc-0x4">
<span id="opal-event-rtc"></span><h2>OPAL_EVENT_RTC = 0x4<a class="headerlink" href="#opal-event-rtc-0x4" title="Permalink to this headline">¶</a></h2>
<p><strong>TODO</strong>: clean this up, this is just copied from hw/fsp/fsp-rtc.c:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">*</span> <span class="n">Because</span> <span class="n">the</span> <span class="n">RTC</span> <span class="n">calls</span> <span class="n">can</span> <span class="n">be</span> <span class="n">pretty</span> <span class="n">slow</span><span class="p">,</span> <span class="n">these</span> <span class="n">functions</span> <span class="n">will</span> <span class="n">shoot</span>
@@ -86,46 +86,47 @@
<span class="o">*</span> <span class="n">of</span> <span class="n">the</span> <span class="n">two</span> <span class="n">has</span> <span class="n">a</span> <span class="n">pending</span> <span class="n">event</span> <span class="n">to</span> <span class="n">signal</span><span class="o">.</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-event-console-output-0x8">
+</section>
+<section id="opal-event-console-output-0x8">
<h2>OPAL_EVENT_CONSOLE_OUTPUT = 0x8<a class="headerlink" href="#opal-event-console-output-0x8" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-</div>
-<div class="section" id="opal-event-console-input-0x10">
+</section>
+<section id="opal-event-console-input-0x10">
<h2>OPAL_EVENT_CONSOLE_INPUT = 0x10<a class="headerlink" href="#opal-event-console-input-0x10" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-</div>
-<div class="section" id="opal-event-error-log-avail-0x20">
+</section>
+<section id="opal-event-error-log-avail-0x20">
<h2>OPAL_EVENT_ERROR_LOG_AVAIL = 0x20<a class="headerlink" href="#opal-event-error-log-avail-0x20" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-</div>
-<div class="section" id="opal-event-error-log-0x40">
+</section>
+<section id="opal-event-error-log-0x40">
<h2>OPAL_EVENT_ERROR_LOG = 0x40<a class="headerlink" href="#opal-event-error-log-0x40" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-</div>
-<div class="section" id="opal-event-epow-0x80">
+</section>
+<section id="opal-event-epow-0x80">
<h2>OPAL_EVENT_EPOW = 0x80<a class="headerlink" href="#opal-event-epow-0x80" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-</div>
-<div class="section" id="opal-event-led-status-0x100">
+</section>
+<section id="opal-event-led-status-0x100">
<h2>OPAL_EVENT_LED_STATUS = 0x100<a class="headerlink" href="#opal-event-led-status-0x100" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-</div>
-<div class="section" id="opal-event-pci-error-0x200">
+</section>
+<section id="opal-event-pci-error-0x200">
<h2>OPAL_EVENT_PCI_ERROR = 0x200<a class="headerlink" href="#opal-event-pci-error-0x200" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-</div>
-<div class="section" id="opal-event-dump-avail-0x400">
+</section>
+<section id="opal-event-dump-avail-0x400">
<span id="opal-event-dump-avail"></span><h2>OPAL_EVENT_DUMP_AVAIL = 0x400<a class="headerlink" href="#opal-event-dump-avail-0x400" title="Permalink to this headline">¶</a></h2>
<p>Signifies that there is a pending system dump available. See <a class="reference internal" href="opal-dump-81-82-83-84-94-101-102.html#opal-dumps"><span class="std std-ref">OPAL Dumps</span></a> suite
of calls for details.</p>
-</div>
-<div class="section" id="opal-event-msg-pending-0x800">
+</section>
+<section id="opal-event-msg-pending-0x800">
<h2>OPAL_EVENT_MSG_PENDING = 0x800<a class="headerlink" href="#opal-event-msg-pending-0x800" title="Permalink to this headline">¶</a></h2>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -164,17 +165,15 @@ of calls for details.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -191,14 +190,15 @@ of calls for details.</p>
<li class="right" >
<a href="opal-phb-flag-set-get-179-180.html" title="OPAL_PHB_SET_OPTION"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_POLL_EVENTS</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-power-shift-ratio.html b/doc/opal-api/opal-power-shift-ratio.html
index 4329029..d226eba 100644
--- a/doc/opal-api/opal-power-shift-ratio.html
+++ b/doc/opal-api/opal-power-shift-ratio.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Power Shift Ratio &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Power Shift Ratio &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-poll-events.html" title="OPAL_POLL_EVENTS"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Power Shift Ratio</a></li>
</ul>
</div>
@@ -45,121 +45,122 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-power-shift-ratio">
+ <section id="opal-power-shift-ratio">
<span id="opal-psr"></span><h1>OPAL Power Shift Ratio<a class="headerlink" href="#opal-power-shift-ratio" title="Permalink to this headline">¶</a></h1>
<p>Sometimes power management firmware needs to throttle power availability
to system components in order to keep within power cap or thermal limits.
It’s possible to set a preference as to what trade-offs power management
firmware will make. For example, certain workloads may heavily prefer
throttling CPU over GPUs or vice-versa.</p>
-<div class="section" id="opal-get-power-shift-ratio">
+<section id="opal-get-power-shift-ratio">
<span id="id1"></span><h2>OPAL_GET_POWER_SHIFT_RATIO<a class="headerlink" href="#opal-get-power-shift-ratio" title="Permalink to this headline">¶</a></h2>
<p>OPAL call to read the power-shifting-ratio using a handle to identify
the type (e.g CPU vs. GPU, CPU vs. MEM) which is exported via
device-tree.</p>
<p>The call can be asynchronus, where the token parameter is used to wait
for the completion.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h3>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="30%" />
-<col width="70%" />
+<col style="width: 30%" />
+<col style="width: 70%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>u32</td>
-<td>handle</td>
+<tbody>
+<tr class="row-even"><td><p>u32</p></td>
+<td><p>handle</p></td>
</tr>
-<tr class="row-odd"><td>int</td>
-<td>token</td>
+<tr class="row-odd"><td><p>int</p></td>
+<td><p>token</p></td>
</tr>
-<tr class="row-even"><td>u32</td>
-<td>*ratio</td>
+<tr class="row-even"><td><p>u32</p></td>
+<td><p>*ratio</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="returns">
+</section>
+<section id="returns">
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid ratio pointer</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>No support for reading psr</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Unable to procced due to the current hardware state</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request was sent and an async completion message will be sent with
-token and status of the request.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid ratio pointer</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>No support for reading psr</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Unable to procced due to the current hardware state</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request was sent and an async completion message will be sent with
+token and status of the request.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-set-power-shift-ratio">
+</section>
+</section>
+<section id="opal-set-power-shift-ratio">
<span id="id2"></span><h2>OPAL_SET_POWER_SHIFT_RATIO<a class="headerlink" href="#opal-set-power-shift-ratio" title="Permalink to this headline">¶</a></h2>
<p>OPAL call to set power-shifting-ratio using a handle to identify
the type of PSR which is exported in device-tree. This call can be
asynchronus where the token parameter is used to wait for the
completion.</p>
-<div class="section" id="id3">
+<section id="id3">
<h3>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="33%" />
-<col width="67%" />
+<col style="width: 33%" />
+<col style="width: 67%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>u32</td>
-<td>handle</td>
+<tbody>
+<tr class="row-even"><td><p>u32</p></td>
+<td><p>handle</p></td>
</tr>
-<tr class="row-odd"><td>int</td>
-<td>token</td>
+<tr class="row-odd"><td><p>int</p></td>
+<td><p>token</p></td>
</tr>
-<tr class="row-even"><td>u32</td>
-<td>ratio</td>
+<tr class="row-even"><td><p>u32</p></td>
+<td><p>ratio</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h3>Returns<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid ratio requested</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>No support for changing the ratio</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt>
-<dd>Hardware cannot take the request</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request was sent and an async completion message will be sent with
-token and status of the request.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Unable to procced due to the current hardware state</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>Previous request in progress</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Error in request response</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></dt>
-<dd>Timeout in request completion</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid ratio requested</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>No support for changing the ratio</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt><dd><p>Hardware cannot take the request</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request was sent and an async completion message will be sent with
+token and status of the request.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Unable to procced due to the current hardware state</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>Previous request in progress</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Error in request response</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></dt><dd><p>Timeout in request completion</p>
+</dd>
</dl>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -196,17 +197,15 @@ token and status of the request.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -223,14 +222,15 @@ token and status of the request.</dd>
<li class="right" >
<a href="opal-poll-events.html" title="OPAL_POLL_EVENTS"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Power Shift Ratio</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-powercap.html b/doc/opal-api/opal-powercap.html
index 168526c..a418345 100644
--- a/doc/opal-api/opal-powercap.html
+++ b/doc/opal-api/opal-powercap.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Power Caps &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Power Caps &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-power-shift-ratio.html" title="OPAL Power Shift Ratio"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Power Caps</a></li>
</ul>
</div>
@@ -45,15 +45,15 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-power-caps">
+ <section id="opal-power-caps">
<span id="opal-powercap"></span><h1>OPAL Power Caps<a class="headerlink" href="#opal-power-caps" title="Permalink to this headline">¶</a></h1>
<p>Each entity that can be power capped is described in the device tree,
-see <a class="reference internal" href="../device-tree/ibm,opal/power-mgt/powercap.html#device-tree-ibm-opal-power-mgt-powercap"><span class="std std-ref">power-mgt/powercap</span></a>. The values for each
+see <a class="reference internal" href="../device-tree/ibm%2Copal/power-mgt/powercap.html#device-tree-ibm-opal-power-mgt-powercap"><span class="std std-ref">power-mgt/powercap</span></a>. The values for each
power cap aren’t in the device tree, but rather fetched using the
<a class="reference internal" href="#opal-get-powercap"><span class="std std-ref">OPAL_GET_POWERCAP</span></a> OPAL call. This is because there may be other
entities such as a service processor that can change the nature of the
power cap asynchronously to OPAL.</p>
-<div class="section" id="opal-get-powercap">
+<section id="opal-get-powercap">
<span id="id1"></span><h2>OPAL_GET_POWERCAP<a class="headerlink" href="#opal-get-powercap" title="Permalink to this headline">¶</a></h2>
<p>The OPAL_GET_POWERCAP call retreives current information on the power
cap.</p>
@@ -66,49 +66,49 @@ for them possibly being changed by other factors or entities
(e.g. service processor).</p>
<p>The call can be asynchronus, where the token parameter is used to wait
for the completion.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h3>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="33%" />
-<col width="67%" />
+<col style="width: 33%" />
+<col style="width: 67%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>u32</td>
-<td>handle</td>
+<tbody>
+<tr class="row-even"><td><p>u32</p></td>
+<td><p>handle</p></td>
</tr>
-<tr class="row-odd"><td>int</td>
-<td>token</td>
+<tr class="row-odd"><td><p>int</p></td>
+<td><p>token</p></td>
</tr>
-<tr class="row-even"><td>u32</td>
-<td>*pcap</td>
+<tr class="row-even"><td><p>u32</p></td>
+<td><p>*pcap</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="returns">
+</section>
+<section id="returns">
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid pcap pointer</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>No support for reading powercap sensor</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Unable to procced due to the current hardware state</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request was sent and an async completion message will be sent with
-token and status of the request.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid pcap pointer</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>No support for reading powercap sensor</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Unable to procced due to the current hardware state</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request was sent and an async completion message will be sent with
+token and status of the request.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-set-powercap">
+</section>
+</section>
+<section id="opal-set-powercap">
<span id="id2"></span><h2>OPAL_SET_POWERCAP<a class="headerlink" href="#opal-set-powercap" title="Permalink to this headline">¶</a></h2>
<p>The OPAL_SET_POWERCAP call sets a power cap.</p>
<p>For each entity that can be power capped, the device tree
@@ -120,43 +120,44 @@ possible power cap.</p>
OPAL_PERMISSION will be returned if it is attempted to set. In the
future, this may change - but for now, the correct behaviour for an
Operating System is to not attempt to set them.</p>
-<div class="section" id="id3">
+<section id="id3">
<h3>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt>::</dt>
-<dd>u32 handle
+<dl class="simple">
+<dt>::</dt><dd><p>u32 handle
int token
-u32 pcap</dd>
+u32 pcap</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h3>Returns<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid powercap requested beyond powercap limits</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>No support for changing the powercap</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt>
-<dd>Hardware cannot take the request</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request was sent and an async completion message will be sent with
-token and status of the request.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Unable to procced due to the current hardware state</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>Previous request in progress</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Error in request response</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></dt>
-<dd>Timeout in request completion</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid powercap requested beyond powercap limits</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>No support for changing the powercap</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt><dd><p>Hardware cannot take the request</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request was sent and an async completion message will be sent with
+token and status of the request.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Unable to procced due to the current hardware state</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>Previous request in progress</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Error in request response</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></dt><dd><p>Timeout in request completion</p>
+</dd>
</dl>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -193,17 +194,15 @@ token and status of the request.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -220,14 +219,15 @@ token and status of the request.</dd>
<li class="right" >
<a href="opal-power-shift-ratio.html" title="OPAL Power Shift Ratio"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Power Caps</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-prd-msg-113.html b/doc/opal-api/opal-prd-msg-113.html
index ce8cc87..7474be6 100644
--- a/doc/opal-api/opal-prd-msg-113.html
+++ b/doc/opal-api/opal-prd-msg-113.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_PRD_MSG &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_PRD_MSG &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-powercap.html" title="OPAL Power Caps"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PRD_MSG</a></li>
</ul>
</div>
@@ -45,25 +45,26 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-prd-msg">
+ <section id="opal-prd-msg">
<span id="id1"></span><h1>OPAL_PRD_MSG<a class="headerlink" href="#opal-prd-msg" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PRD_MSG 113</span>
-<span class="kt">int64_t</span> <span class="nf">opal_prd_msg</span><span class="p">(</span><span class="k">struct</span> <span class="n">opal_prd_msg</span> <span class="o">*</span><span class="n">msg</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_prd_msg</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">opal_prd_msg</span><span class="w"> </span><span class="o">*</span><span class="n">msg</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The OPAL_PRD_MSG call is used to pass a struct opal_prd_msg from the HBRT
code into opal, and is paired with the <a class="reference internal" href="#opal-prd-msg"><span class="std std-ref">OPAL_PRD_MSG</span></a> message type.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_msg</span> <span class="pre">*msg</span></code></dt>
-<dd>Passes an opal_msg, of type OPAL_PRD_MSG, from the OS to OPAL.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">opal_msg</span> <span class="pre">*msg</span></code></dt><dd><p>Passes an opal_msg, of type OPAL_PRD_MSG, from the OS to OPAL.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -91,17 +92,15 @@ code into opal, and is paired with the <a class="reference internal" href="#opal
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -118,14 +117,15 @@ code into opal, and is paired with the <a class="reference internal" href="#opal
<li class="right" >
<a href="opal-powercap.html" title="OPAL Power Caps"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_PRD_MSG</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-query-cpu-status-42.html b/doc/opal-api/opal-query-cpu-status-42.html
index 6dfed87..8f21e5e 100644
--- a/doc/opal-api/opal-query-cpu-status-42.html
+++ b/doc/opal-api/opal-query-cpu-status-42.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_QUERY_CPU_STATUS &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_QUERY_CPU_STATUS &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-prd-msg-113.html" title="OPAL_PRD_MSG"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_QUERY_CPU_STATUS</a></li>
</ul>
</div>
@@ -45,42 +45,43 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-query-cpu-status">
+ <section id="opal-query-cpu-status">
<span id="id1"></span><h1>OPAL_QUERY_CPU_STATUS<a class="headerlink" href="#opal-query-cpu-status" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_QUERY_CPU_STATUS 42</span>
-<span class="k">enum</span> <span class="n">OpalThreadStatus</span> <span class="p">{</span>
- <span class="n">OPAL_THREAD_INACTIVE</span> <span class="o">=</span> <span class="mh">0x0</span><span class="p">,</span>
- <span class="n">OPAL_THREAD_STARTED</span> <span class="o">=</span> <span class="mh">0x1</span><span class="p">,</span>
- <span class="n">OPAL_THREAD_UNAVAILABLE</span> <span class="o">=</span> <span class="mh">0x2</span> <span class="cm">/* opal-v3 */</span>
-<span class="p">};</span>
+<span class="k">enum</span><span class="w"> </span><span class="n">OpalThreadStatus</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_THREAD_INACTIVE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x0</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_THREAD_STARTED</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x1</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_THREAD_UNAVAILABLE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x2</span><span class="w"> </span><span class="cm">/* opal-v3 */</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_query_cpu_status</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">server_no</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">thread_status</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_query_cpu_status</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">server_no</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="o">*</span><span class="n">thread_status</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Sets <cite>thread_status</cite> to be the state of the <cite>server_no</cite> CPU thread. CPU threads
can be owned by OPAL or the OS. Ownership changes based on <a class="reference internal" href="opal-start-return-cpu-41-69.html#opal-start-cpu"><span class="std std-ref">OPAL_START_CPU</span></a>
and <a class="reference internal" href="opal-start-return-cpu-41-69.html#opal-return-cpu"><span class="std std-ref">OPAL_RETURN_CPU</span></a>.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_THREAD_INACTIVE</span></code></dt>
-<dd>Active in skiboot, not in OS. Skiboot owns the CPU thread.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_THREAD_STARTED</span></code></dt>
-<dd>CPU has been started by OS, not owned by OPAL.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_THREAD_UNAVAILABLE</span></code></dt>
-<dd>CPU is unavailable. e.g. is guarded out.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_THREAD_INACTIVE</span></code></dt><dd><p>Active in skiboot, not in OS. Skiboot owns the CPU thread.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_THREAD_STARTED</span></code></dt><dd><p>CPU has been started by OS, not owned by OPAL.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_THREAD_UNAVAILABLE</span></code></dt><dd><p>CPU is unavailable. e.g. is guarded out.</p>
+</dd>
</dl>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid address for <cite>thread_status</cite>, invalid CPU, or CPU not in OPAL or OS.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Successfully retreived status.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid address for <cite>thread_status</cite>, invalid CPU, or CPU not in OPAL or OS.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Successfully retreived status.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -108,17 +109,15 @@ and <a class="reference internal" href="opal-start-return-cpu-41-69.html#opal-re
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -135,14 +134,15 @@ and <a class="reference internal" href="opal-start-return-cpu-41-69.html#opal-re
<li class="right" >
<a href="opal-prd-msg-113.html" title="OPAL_PRD_MSG"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_QUERY_CPU_STATUS</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-quiesce-158.html b/doc/opal-api/opal-quiesce-158.html
index b4b85b9..3116328 100644
--- a/doc/opal-api/opal-quiesce-158.html
+++ b/doc/opal-api/opal-quiesce-158.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_QUIESCE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_QUIESCE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-query-cpu-status-42.html" title="OPAL_QUERY_CPU_STATUS"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_QUIESCE</a></li>
</ul>
</div>
@@ -45,80 +45,81 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-quiesce">
+ <section id="opal-quiesce">
<span id="id1"></span><h1>OPAL_QUIESCE<a class="headerlink" href="#opal-quiesce" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_QUIESCE 158</span>
-<span class="kt">int64_t</span> <span class="nf">opal_quiesce</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">quiesce_type</span><span class="p">,</span> <span class="kt">int32_t</span> <span class="n">cpu_target</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_quiesce</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">quiesce_type</span><span class="p">,</span><span class="w"> </span><span class="kt">int32_t</span><span class="w"> </span><span class="n">cpu_target</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The host OS can use <a class="reference internal" href="#opal-quiesce"><span class="std std-ref">OPAL_QUIESCE</span></a> to ensure CPUs under host control are not
executing OPAL. This is useful in crash or shutdown scenarios to try to
ensure that CPUs are not holding locks, and is intended to be used with
<a class="reference internal" href="opal-signal-system-reset-145.html#opal-signal-system-reset"><span class="std std-ref">OPAL_SIGNAL_SYSTEM_RESET</span></a>, for example.</p>
-<div class="section" id="arguments">
+<section id="arguments">
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="quiesce-type">
+<section id="quiesce-type">
<h3>quiesce_type<a class="headerlink" href="#quiesce-type" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt>QUIESCE_HOLD</dt>
-<dd>Wait for all target(s) currently executing OPAL to
+<dl class="simple">
+<dt>QUIESCE_HOLD</dt><dd><p>Wait for all target(s) currently executing OPAL to
return to the host. Any new OPAL call that is made
-will be held off until QUIESCE_RESUME.</dd>
-<dt>QUIESCE_REJECT</dt>
-<dd>Wait for all target(s) currently executing OPAL to
+will be held off until QUIESCE_RESUME.</p>
+</dd>
+<dt>QUIESCE_REJECT</dt><dd><p>Wait for all target(s) currently executing OPAL to
return to the host. Any new OPAL call that is made
-will fail with OPAL_BUSY until QUIESCE_RESUME.</dd>
-<dt>QUIESCE_LOCK_BREAK</dt>
-<dd>After QUIESCE_HOLD or QUIESCE_REJECT is successful,
+will fail with OPAL_BUSY until QUIESCE_RESUME.</p>
+</dd>
+<dt>QUIESCE_LOCK_BREAK</dt><dd><p>After QUIESCE_HOLD or QUIESCE_REJECT is successful,
the CPU can call QUIESCE_LOCK_BREAK to skip all
locking in OPAL to give the best chance of making
progress in the crash/debug paths. The host should
ensure all other CPUs are stopped (e.g., with
OPAL_SIGNAL_SYSTEM_RESET) before this call is made, to
-avoid concurrency.</dd>
-<dt>QUIESCE_RESUME</dt>
-<dd>Undo the effects of QUIESCE_HOLD/QUIESCE_REJECT and
-QUIESCE_LOCK_BREAK calls.</dd>
-<dt>QUIESCE_RESUME_FAST_REBOOT</dt>
-<dd>As above, but also reset the tracking of OS calls
+avoid concurrency.</p>
+</dd>
+<dt>QUIESCE_RESUME</dt><dd><p>Undo the effects of QUIESCE_HOLD/QUIESCE_REJECT and
+QUIESCE_LOCK_BREAK calls.</p>
+</dd>
+<dt>QUIESCE_RESUME_FAST_REBOOT</dt><dd><p>As above, but also reset the tracking of OS calls
into firmware as part of fast reboot (secondaries
will never return to OS, but instead be released
-into a new OS boot).</dd>
+into a new OS boot).</p>
+</dd>
</dl>
-</div>
-<div class="section" id="target-cpu">
+</section>
+<section id="target-cpu">
<h3>target_cpu<a class="headerlink" href="#target-cpu" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">cpu_nr</span> <span class="pre">&gt;=</span> <span class="pre">0</span></code></dt>
-<dd>The cpu server number of the target cpu to reset.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">-1</span></code></dt>
-<dd>All cpus except the current one should be quiesced.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">cpu_nr</span> <span class="pre">&gt;=</span> <span class="pre">0</span></code></dt><dd><p>The cpu server number of the target cpu to reset.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">-1</span></code></dt><dd><p>All cpus except the current one should be quiesced.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="returns">
+</section>
+</section>
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>The quiesce call was successful.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></dt>
-<dd>Some or all of the CPUs executing OPAL when the call was made did not
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>The quiesce call was successful.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></dt><dd><p>Some or all of the CPUs executing OPAL when the call was made did not
return to the host after a timeout of 1 second. This is a best effort
at quiescing OPAL, and QUIESCE_RESUME must be called to resume normal
-firmware operation.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>A parameter was incorrect.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>This CPU was not able to complete the operation, either because another
+firmware operation.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>A parameter was incorrect.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>This CPU was not able to complete the operation, either because another
has concurrently started quiescing the system, or because it has not
successfully called QUIESCE_HOLD or QUIESCE_REJECT before attempting
-QUIESCE_LOCK_BREAK or QUIESCE_RESUME.</dd>
+QUIESCE_LOCK_BREAK or QUIESCE_RESUME.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -151,17 +152,15 @@ QUIESCE_LOCK_BREAK or QUIESCE_RESUME.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -178,14 +177,15 @@ QUIESCE_LOCK_BREAK or QUIESCE_RESUME.</dd>
<li class="right" >
<a href="opal-query-cpu-status-42.html" title="OPAL_QUERY_CPU_STATUS"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_QUIESCE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-read-write-tpo-dpo-103-104-105.html b/doc/opal-api/opal-read-write-tpo-dpo-103-104-105.html
index 165736b..e61c403 100644
--- a/doc/opal-api/opal-read-write-tpo-dpo-103-104-105.html
+++ b/doc/opal-api/opal-read-write-tpo-dpo-103-104-105.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Timed Power On and Delayed Power Off &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Timed Power On and Delayed Power Off &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-quiesce-158.html" title="OPAL_QUIESCE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Timed Power On and Delayed Power Off</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-timed-power-on-and-delayed-power-off">
+ <section id="opal-timed-power-on-and-delayed-power-off">
<h1>OPAL Timed Power On and Delayed Power Off<a class="headerlink" href="#opal-timed-power-on-and-delayed-power-off" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_WRITE_TPO 103</span>
<span class="cp">#define OPAL_READ_TPO 104</span>
@@ -63,27 +63,27 @@
</pre></div>
</div>
<p>If the “has-tpo” proprety is <em>NOT</em> present then OPAL does <em>NOT</em> support TPO.</p>
-<div class="section" id="opal-read-tpo">
+<section id="opal-read-tpo">
<span id="id1"></span><h2>OPAL_READ_TPO<a class="headerlink" href="#opal-read-tpo" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_READ_TPO 104</span>
-<span class="k">static</span> <span class="kt">int64_t</span> <span class="nf">opal_read_tpo</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">async_token</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">y_m_d</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">hr_min</span><span class="p">);</span>
+<span class="k">static</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_read_tpo</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">async_token</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">y_m_d</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">hr_min</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-write-tpo">
+</section>
+<section id="opal-write-tpo">
<span id="id2"></span><h2>OPAL_WRITE_TPO<a class="headerlink" href="#opal-write-tpo" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_WRITE_TPO 103</span>
-<span class="kt">int64_t</span> <span class="nf">fsp_opal_tpo_write</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">async_token</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">y_m_d</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">hr_min</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">fsp_opal_tpo_write</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">async_token</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">y_m_d</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">hr_min</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-get-dpo-status">
+</section>
+<section id="opal-get-dpo-status">
<span id="id3"></span><h2>OPAL_GET_DPO_STATUS<a class="headerlink" href="#opal-get-dpo-status" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_GET_DPO_STATUS 105</span>
-<span class="k">static</span> <span class="kt">int64_t</span> <span class="nf">opal_get_dpo_status</span><span class="p">(</span><span class="kt">int64_t</span> <span class="o">*</span><span class="n">dpo_timeout</span><span class="p">);</span>
+<span class="k">static</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_get_dpo_status</span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="o">*</span><span class="n">dpo_timeout</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>A <a class="reference internal" href="opal-messages.html#opal-msg-dpo"><span class="std std-ref">OPAL_MSG_DPO</span></a> message may be sent to indicate that there will shortly
@@ -95,20 +95,21 @@ with a UPS or similar.</p>
<p>Returns zero if Delayed Power Off is not active, positive value indicating
number of seconds remaining for a forced system shutdown. This will enable
the host to schedule for shutdown voluntarily before timeout occurs.</p>
-<div class="section" id="returns">
+<section id="returns">
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">dpo_timeout</span></code> is set to the number of seconds remaining before power is
-cut.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt>
-<dd>A Delayed Power Off is not pending, <code class="docutils literal notranslate"><span class="pre">dpo_timeout</span></code> is set to zero.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p><code class="docutils literal notranslate"><span class="pre">dpo_timeout</span></code> is set to the number of seconds remaining before power is
+cut.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt><dd><p>A Delayed Power Off is not pending, <code class="docutils literal notranslate"><span class="pre">dpo_timeout</span></code> is set to zero.</p>
+</dd>
</dl>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -141,17 +142,15 @@ cut.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -168,14 +167,15 @@ cut.</dd>
<li class="right" >
<a href="opal-quiesce-158.html" title="OPAL_QUIESCE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Timed Power On and Delayed Power Off</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-reinit-cpus-70.html b/doc/opal-api/opal-reinit-cpus-70.html
index f143b83..424a236 100644
--- a/doc/opal-api/opal-reinit-cpus-70.html
+++ b/doc/opal-api/opal-reinit-cpus-70.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_REINIT_CPUS &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_REINIT_CPUS &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-read-write-tpo-dpo-103-104-105.html" title="OPAL Timed Power On and Delayed Power Off"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_REINIT_CPUS</a></li>
</ul>
</div>
@@ -45,26 +45,26 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-reinit-cpus">
+ <section id="opal-reinit-cpus">
<span id="id1"></span><h1>OPAL_REINIT_CPUS<a class="headerlink" href="#opal-reinit-cpus" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_REINIT_CPUS 70</span>
-<span class="k">static</span> <span class="kt">int64_t</span> <span class="nf">opal_reinit_cpus</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">flags</span><span class="p">);</span>
+<span class="k">static</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_reinit_cpus</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">flags</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This OPAL call reinitializes some bit of CPU state across <em>ALL</em> CPUs.
Consequently, all CPUs must be in OPAL for this call to succeed (either
at boot time or after OPAL_RETURN_CPU is called).</p>
-<div class="section" id="arguments">
+<section id="arguments">
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">¶</a></h2>
<p>Currently, possible flags are:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span> <span class="p">{</span>
- <span class="n">OPAL_REINIT_CPUS_HILE_BE</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span> <span class="o">&lt;&lt;</span> <span class="mi">0</span><span class="p">),</span>
- <span class="n">OPAL_REINIT_CPUS_HILE_LE</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span> <span class="o">&lt;&lt;</span> <span class="mi">1</span><span class="p">),</span>
- <span class="n">OPAL_REINIT_CPUS_MMU_HASH</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span> <span class="o">&lt;&lt;</span> <span class="mi">2</span><span class="p">),</span>
- <span class="n">OPAL_REINIT_CPUS_MMU_RADIX</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span> <span class="o">&lt;&lt;</span> <span class="mi">3</span><span class="p">),</span>
- <span class="n">OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span> <span class="o">&lt;&lt;</span> <span class="mi">4</span><span class="p">),</span>
-<span class="p">};</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_REINIT_CPUS_HILE_BE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_REINIT_CPUS_HILE_LE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_REINIT_CPUS_MMU_HASH</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_REINIT_CPUS_MMU_RADIX</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"></span>
+<span class="w"> </span><span class="n">OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
<p>Extra flags may be added in the future, so other bits <em>must</em> be 0.</p>
@@ -74,12 +74,12 @@ flags will return OPAL_UNSUPPORTED.</p>
are support and other bits <em>MUST NOT</em> be set.</p>
<p>On POWER9 CPUs, all options including OPAL_REINIT_CPUS_MMU_HASH and
OPAL_REINIT_CPUS_MMU_RADIX.</p>
-<div class="section" id="opal-reinit-cpus-tm-suspend-disabled">
+<section id="opal-reinit-cpus-tm-suspend-disabled">
<h3>OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED<a class="headerlink" href="#opal-reinit-cpus-tm-suspend-disabled" title="Permalink to this headline">¶</a></h3>
<p>This flag requests that CPUs be configured with TM (Transactional Memory)
suspend mode disabled. This may only be supported on some CPU versions.</p>
-</div>
-<div class="section" id="opal-reinit-cpus-mmu-hash-and-opal-reinit-cpus-mmu-radix">
+</section>
+<section id="opal-reinit-cpus-mmu-hash-and-opal-reinit-cpus-mmu-radix">
<h3>OPAL_REINIT_CPUS_MMU_HASH and OPAL_REINIT_CPUS_MMU_RADIX<a class="headerlink" href="#opal-reinit-cpus-mmu-hash-and-opal-reinit-cpus-mmu-radix" title="Permalink to this headline">¶</a></h3>
<p>Some processors may need to change a processor specific register in order to
support Hash or Radix translation.</p>
@@ -89,20 +89,21 @@ the host OS rather than when in radix mode, half the TLB is taken for a Page
Walk Cache (PWC).</p>
<p>Future CPUs may or may not do anything with these flags, but a host OS must
use them to ensure compatibility in the future.</p>
-</div>
-</div>
-<div class="section" id="returns">
+</section>
+</section>
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success!</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>Processor does not suport reinit flags.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success!</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>Processor does not suport reinit flags.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -135,17 +136,15 @@ use them to ensure compatibility in the future.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -162,14 +161,15 @@ use them to ensure compatibility in the future.</p>
<li class="right" >
<a href="opal-read-write-tpo-dpo-103-104-105.html" title="OPAL Timed Power On and Delayed Power Off"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_REINIT_CPUS</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-resync-timebase-79.html b/doc/opal-api/opal-resync-timebase-79.html
index 04a07c2..df74a0e 100644
--- a/doc/opal-api/opal-resync-timebase-79.html
+++ b/doc/opal-api/opal-resync-timebase-79.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_RESYNC_TIMEBASE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_RESYNC_TIMEBASE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-reinit-cpus-70.html" title="OPAL_REINIT_CPUS"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_RESYNC_TIMEBASE</a></li>
</ul>
</div>
@@ -45,27 +45,28 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-resync-timebase">
+ <section id="opal-resync-timebase">
<span id="id1"></span><h1>OPAL_RESYNC_TIMEBASE<a class="headerlink" href="#opal-resync-timebase" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_RESYNC_TIMEBASE 79</span>
-<span class="kt">int64_t</span> <span class="nf">opal_resync_timebase</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_resync_timebase</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Resynchronises the timebase for all threads in a core to the timebase from
chiptod.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Successfully resynced timebases (or it’s a no-op on this platform).</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Failed to resync timebase.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Successfully resynced timebases (or it’s a no-op on this platform).</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Failed to resync timebase.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -93,17 +94,15 @@ chiptod.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -120,14 +119,15 @@ chiptod.</p>
<li class="right" >
<a href="opal-reinit-cpus-70.html" title="OPAL_REINIT_CPUS"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_RESYNC_TIMEBASE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-rtc-read-write-3-4.html b/doc/opal-api/opal-rtc-read-write-3-4.html
index f1f3134..3a90617 100644
--- a/doc/opal-api/opal-rtc-read-write-3-4.html
+++ b/doc/opal-api/opal-rtc-read-write-3-4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Real Time Clock (RTC) APIs &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Real Time Clock (RTC) APIs &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-resync-timebase-79.html" title="OPAL_RESYNC_TIMEBASE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Real Time Clock (RTC) APIs</a></li>
</ul>
</div>
@@ -45,35 +45,33 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-real-time-clock-rtc-apis">
+ <section id="opal-real-time-clock-rtc-apis">
<h1>OPAL Real Time Clock (RTC) APIs<a class="headerlink" href="#opal-real-time-clock-rtc-apis" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="opal-rtc-read">
+<section id="opal-rtc-read">
<span id="id1"></span><h2>OPAL_RTC_READ<a class="headerlink" href="#opal-rtc-read" title="Permalink to this headline">¶</a></h2>
<p>Read the Real Time Clock.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h3>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint32_t*</span> <span class="pre">year_month_day</span></code></dt>
-<dd><p class="first">the year, month and day formatted as follows:</p>
-<ul class="last simple">
-<li>bits 0-15 is bcd formatted year (0100-9999)</li>
-<li>bits 16-23 is bcd formatted month (01-12)</li>
-<li>bits 24-31 is bcd formatted day (01-31)</li>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint32_t*</span> <span class="pre">year_month_day</span></code></dt><dd><p>the year, month and day formatted as follows:</p>
+<ul class="simple">
+<li><p>bits 0-15 is bcd formatted year (0100-9999)</p></li>
+<li><p>bits 16-23 is bcd formatted month (01-12)</p></li>
+<li><p>bits 24-31 is bcd formatted day (01-31)</p></li>
</ul>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t*</span> <span class="pre">hour_minute_second_millisecond</span></code></dt>
-<dd><p class="first">the hour, minute, second and millisecond formatted as follows:</p>
-<ul class="last simple">
-<li>bits 0-16 is reserved</li>
-<li>bits 17-24 is bcd formatted hour (00-23)</li>
-<li>bits 25-31 is bcd formatted minute (00-59)</li>
-<li>bits 32-39 is bcd formatted second (00-60)</li>
-<li>bits 40-63 is bcd formatted milliseconds (000000-999999)</li>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t*</span> <span class="pre">hour_minute_second_millisecond</span></code></dt><dd><p>the hour, minute, second and millisecond formatted as follows:</p>
+<ul class="simple">
+<li><p>bits 0-16 is reserved</p></li>
+<li><p>bits 17-24 is bcd formatted hour (00-23)</p></li>
+<li><p>bits 25-31 is bcd formatted minute (00-59)</p></li>
+<li><p>bits 32-39 is bcd formatted second (00-60)</p></li>
+<li><p>bits 40-63 is bcd formatted milliseconds (000000-999999)</p></li>
</ul>
</dd>
</dl>
-</div>
-<div class="section" id="calling">
+</section>
+<section id="calling">
<h3>Calling<a class="headerlink" href="#calling" title="Permalink to this headline">¶</a></h3>
<p>Since RTC calls can be pretty slow, <a class="reference internal" href="#opal-rtc-read"><span class="std std-ref">OPAL_RTC_READ</span></a> is likely to first return
<a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a>, requiring the caller to wait until the <a class="reference internal" href="opal-poll-events.html#opal-event-rtc"><span class="std std-ref">OPAL_EVENT_RTC = 0x4</span></a> event
@@ -83,49 +81,50 @@ used for both reading and writing the RTC, callers must be able to handle
the event being signaled for a concurrent in flight <a class="reference internal" href="#opal-rtc-write"><span class="std std-ref">OPAL_RTC_WRITE</span></a> rather
than this read request.</p>
<p>The following code is one way to correctly issue and then wait for a response:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">rc</span> <span class="o">=</span> <span class="n">OPAL_BUSY_EVENT</span><span class="p">;</span>
-<span class="k">while</span> <span class="p">(</span><span class="n">rc</span> <span class="o">==</span> <span class="n">OPAL_BUSY_EVENT</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">rc</span> <span class="o">=</span> <span class="n">opal_rtc_read</span><span class="p">(</span><span class="o">&amp;</span><span class="n">y_m_d</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">h_m_s_ms</span><span class="p">);</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">rc</span> <span class="o">==</span> <span class="n">OPAL_BUSY_EVENT</span><span class="p">)</span>
- <span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
-<span class="p">}</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OPAL_BUSY_EVENT</span><span class="p">;</span><span class="w"></span>
+<span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OPAL_BUSY_EVENT</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">opal_rtc_read</span><span class="p">(</span><span class="o">&amp;</span><span class="n">y_m_d</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">h_m_s_ms</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OPAL_BUSY_EVENT</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="n">opal_poll_events</span><span class="p">(</span><span class="nb">NULL</span><span class="p">);</span><span class="w"></span>
+<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
<p>Although as of writing all <a class="reference internal" href="#opal-rtc-read"><span class="std std-ref">OPAL_RTC_READ</span></a> backends are asynchronous, there is
no requirement for them to be - it is valid for <a class="reference internal" href="#opal-rtc-read"><span class="std std-ref">OPAL_RTC_READ</span></a> to immediately
return the retreived value rather than <a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a>.</p>
<p><strong>TODO</strong>: describe/document format of arguments.</p>
-</div>
-<div class="section" id="return-codes">
+</section>
+<section id="return-codes">
<h3>Return codes<a class="headerlink" href="#return-codes" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>parameters now contain the current time, or one read from cache.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>error in retrieving the time. May be transient error,
-may be permanent.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>year_month_day or hour_minute_second_millisecond parameters are NULL</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>something went wrong, Possibly reported in error log.
-This can be a transient error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt>
-<dd>request is in flight</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>request may be in flight</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>parameters now contain the current time, or one read from cache.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>error in retrieving the time. May be transient error,
+may be permanent.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>year_month_day or hour_minute_second_millisecond parameters are NULL</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>something went wrong, Possibly reported in error log.
+This can be a transient error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt><dd><p>request is in flight</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>request may be in flight</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-rtc-write">
+</section>
+</section>
+<section id="opal-rtc-write">
<span id="id2"></span><h2>OPAL_RTC_WRITE<a class="headerlink" href="#opal-rtc-write" title="Permalink to this headline">¶</a></h2>
<p><a class="reference internal" href="#opal-rtc-write"><span class="std std-ref">OPAL_RTC_WRITE</span></a> is much like <a class="reference internal" href="#opal-rtc-read"><span class="std std-ref">OPAL_RTC_READ</span></a> in that it can be asynchronous.</p>
<p>If multiple WRITES are issued before the first one completes, subsequent
writes are ignored. There can only be one write in flight at any one time.</p>
<p>Format of the time is the same as for <a class="reference internal" href="#opal-rtc-read"><span class="std std-ref">OPAL_RTC_READ</span></a>.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -159,17 +158,15 @@ writes are ignored. There can only be one write in flight at any one time.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -186,14 +183,15 @@ writes are ignored. There can only be one write in flight at any one time.</p>
<li class="right" >
<a href="opal-resync-timebase-79.html" title="OPAL_RESYNC_TIMEBASE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Real Time Clock (RTC) APIs</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-secvar.html b/doc/opal-api/opal-secvar.html
index f89275c..4a8660e 100644
--- a/doc/opal-api/opal-secvar.html
+++ b/doc/opal-api/opal-secvar.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Secure Variable API &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Secure Variable API &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-rtc-read-write-3-4.html" title="OPAL Real Time Clock (RTC) APIs"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Secure Variable API</a></li>
</ul>
</div>
@@ -45,9 +45,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-secure-variable-api">
+ <section id="opal-secure-variable-api">
<h1>OPAL Secure Variable API<a class="headerlink" href="#opal-secure-variable-api" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="overview">
+<section id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<p>In order to support host OS secure boot on POWER systems, the platform needs
some form of tamper-resistant persistant storage for authorized public keys.
@@ -59,16 +59,16 @@ variable corresponding to a particular key. <code class="docutils literal notran
used to iterate through the keys of the stored variables.
<code class="docutils literal notranslate"><span class="pre">opal_secvar_enqueue_update</span></code> can be used to submit a new variable for
processing on next boot.</p>
-</div>
-</div>
-<div class="section" id="opal-secvar-get">
+</section>
+</section>
+<section id="opal-secvar-get">
<h1>OPAL_SECVAR_GET<a class="headerlink" href="#opal-secvar-get" title="Permalink to this headline">¶</a></h1>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#define OPAL_SECVAR_GET 176</span>
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">OPAL_SECVAR_GET</span></code> call retrieves a data blob associated with the supplied
key.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">char</span> <span class="o">*</span><span class="n">key</span>
<span class="n">uint64_t</span> <span class="n">key_len</span>
@@ -76,102 +76,102 @@ key.</p>
<span class="n">uint64_t</span> <span class="o">*</span><span class="n">data_size</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">key</span></code></dt>
-<dd>a buffer used to associate with the variable data. May
-be any encoding, but must not be all zeroes</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">key_len</span></code></dt>
-<dd>size of the key buffer in bytes</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">data</span></code></dt>
-<dd>return buffer to store the data blob of the requested variable if
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">key</span></code></dt><dd><p>a buffer used to associate with the variable data. May
+be any encoding, but must not be all zeroes</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">key_len</span></code></dt><dd><p>size of the key buffer in bytes</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">data</span></code></dt><dd><p>return buffer to store the data blob of the requested variable if
a match was found. May be set to NULL to only query the size into
-<code class="docutils literal notranslate"><span class="pre">data_size</span></code></dd>
-<dt><code class="docutils literal notranslate"><span class="pre">data_size</span></code></dt>
-<dd>reference to the size of the <code class="docutils literal notranslate"><span class="pre">data</span></code> buffer. OPAL sets this to
-the size of the requested variable if found.</dd>
+<code class="docutils literal notranslate"><span class="pre">data_size</span></code></p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">data_size</span></code></dt><dd><p>reference to the size of the <code class="docutils literal notranslate"><span class="pre">data</span></code> buffer. OPAL sets this to
+the size of the requested variable if found.</p>
+</dd>
</dl>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt>
-<dd>the requested data blob was copied successfully. <code class="docutils literal notranslate"><span class="pre">data</span></code> was NULL,
-and the <code class="docutils literal notranslate"><span class="pre">data_size</span></code> value was set successfully</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">key</span></code> is NULL.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>the requested data blob was copied successfully. <code class="docutils literal notranslate"><span class="pre">data</span></code> was NULL,
+and the <code class="docutils literal notranslate"><span class="pre">data_size</span></code> value was set successfully</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">key</span></code> is NULL.
<code class="docutils literal notranslate"><span class="pre">key_len</span></code> is zero.
-<code class="docutils literal notranslate"><span class="pre">data_size</span></code> is NULL.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_EMPTY</span></code></dt>
-<dd>no variable with the supplied <code class="docutils literal notranslate"><span class="pre">key</span></code> was found</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARTIAL</span></code></dt>
-<dd>the buffer size provided in <code class="docutils literal notranslate"><span class="pre">data_size</span></code> was insufficient.
-<code class="docutils literal notranslate"><span class="pre">data_size</span></code> is set to the minimum required size.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_UNSUPPORTED</span></code></dt>
-<dd>secure variables are not supported by the platform</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt>
-<dd>secure variables are supported, but did not initialize properly</dd>
+<code class="docutils literal notranslate"><span class="pre">data_size</span></code> is NULL.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_EMPTY</span></code></dt><dd><p>no variable with the supplied <code class="docutils literal notranslate"><span class="pre">key</span></code> was found</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARTIAL</span></code></dt><dd><p>the buffer size provided in <code class="docutils literal notranslate"><span class="pre">data_size</span></code> was insufficient.
+<code class="docutils literal notranslate"><span class="pre">data_size</span></code> is set to the minimum required size.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_UNSUPPORTED</span></code></dt><dd><p>secure variables are not supported by the platform</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt><dd><p>secure variables are supported, but did not initialize properly</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-secvar-get-next">
+</section>
+</section>
+<section id="opal-secvar-get-next">
<h1>OPAL_SECVAR_GET_NEXT<a class="headerlink" href="#opal-secvar-get-next" title="Permalink to this headline">¶</a></h1>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#define OPAL_SECVAR_GET_NEXT 177</span>
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">OPAL_SECVAR_GET_NEXT</span></code> returns the key of the next variable in the secure
variable bank in sequence.</p>
-<div class="section" id="id1">
+<section id="id1">
<h2>Parameters<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">char</span> <span class="o">*</span><span class="n">key</span>
<span class="n">uint64_t</span> <span class="o">*</span><span class="n">key_len</span>
<span class="n">uint64_t</span> <span class="n">key_buf_size</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">key</span></code></dt>
-<dd>name of the previous variable or empty. The key of the next
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">key</span></code></dt><dd><p>name of the previous variable or empty. The key of the next
variable in sequence will be copied to <code class="docutils literal notranslate"><span class="pre">key</span></code>. If passed as empty,
-returns the first variable in the bank</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">key_len</span></code></dt>
-<dd>length in bytes of the key in the <code class="docutils literal notranslate"><span class="pre">key</span></code> buffer. OPAL sets
-this to the length in bytes of the next variable in sequence</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">key_buf_size</span></code></dt>
-<dd>maximum size of the <code class="docutils literal notranslate"><span class="pre">key</span></code> buffer. The next key will not be
-copied if this value is less than the length of the next key</dd>
+returns the first variable in the bank</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">key_len</span></code></dt><dd><p>length in bytes of the key in the <code class="docutils literal notranslate"><span class="pre">key</span></code> buffer. OPAL sets
+this to the length in bytes of the next variable in sequence</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">key_buf_size</span></code></dt><dd><p>maximum size of the <code class="docutils literal notranslate"><span class="pre">key</span></code> buffer. The next key will not be
+copied if this value is less than the length of the next key</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id2">
+</section>
+<section id="id2">
<h2>Return Values<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt>
-<dd>the key and length of the next variable in sequence was copied
-successfully</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">key</span></code> or <code class="docutils literal notranslate"><span class="pre">key_length</span></code> is NULL.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>the key and length of the next variable in sequence was copied
+successfully</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">key</span></code> or <code class="docutils literal notranslate"><span class="pre">key_length</span></code> is NULL.
<code class="docutils literal notranslate"><span class="pre">key_size</span></code> is zero.
<code class="docutils literal notranslate"><span class="pre">key_length</span></code> is impossibly large. No variable with the associated
-<code class="docutils literal notranslate"><span class="pre">key</span></code> was found</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_EMPTY</span></code></dt>
-<dd>end of list reached</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARTIAL</span></code></dt>
-<dd>the size specified in <code class="docutils literal notranslate"><span class="pre">key_size</span></code> is insufficient for the next
+<code class="docutils literal notranslate"><span class="pre">key</span></code> was found</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_EMPTY</span></code></dt><dd><p>end of list reached</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARTIAL</span></code></dt><dd><p>the size specified in <code class="docutils literal notranslate"><span class="pre">key_size</span></code> is insufficient for the next
variable’s key length. <code class="docutils literal notranslate"><span class="pre">key_length</span></code> is set to the next variable’s
-length, but <code class="docutils literal notranslate"><span class="pre">key</span></code> is untouched</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_UNSUPPORTED</span></code></dt>
-<dd>secure variables are not supported by the platform</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt>
-<dd>secure variables are supported, but did not initialize properly</dd>
+length, but <code class="docutils literal notranslate"><span class="pre">key</span></code> is untouched</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_UNSUPPORTED</span></code></dt><dd><p>secure variables are not supported by the platform</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt><dd><p>secure variables are supported, but did not initialize properly</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-secvar-enqueue-update">
+</section>
+</section>
+<section id="opal-secvar-enqueue-update">
<h1>OPAL_SECVAR_ENQUEUE_UPDATE<a class="headerlink" href="#opal-secvar-enqueue-update" title="Permalink to this headline">¶</a></h1>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#define OPAL_SECVAR_ENQUEUE_UPDATE 178</span>
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">OPAL_SECVAR_ENQUEUE</span></code> call appends the supplied variable data to the
queue for processing on next boot.</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">char</span> <span class="o">*</span><span class="n">key</span>
<span class="n">uint64_t</span> <span class="n">key_len</span>
@@ -179,41 +179,42 @@ queue for processing on next boot.</p>
<span class="n">uint64_t</span> <span class="n">data_size</span>
</pre></div>
</div>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">key</span></code></dt>
-<dd>a buffer used to associate with the variable data. May
-be any encoding, but must not be all zeroes</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">key_len</span></code></dt>
-<dd>size of the key buffer in bytes</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">data</span></code></dt>
-<dd>buffer containing the blob of data to enqueue</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">data_size</span></code></dt>
-<dd>size of the <code class="docutils literal notranslate"><span class="pre">data</span></code> buffer</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">key</span></code></dt><dd><p>a buffer used to associate with the variable data. May
+be any encoding, but must not be all zeroes</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">key_len</span></code></dt><dd><p>size of the key buffer in bytes</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">data</span></code></dt><dd><p>buffer containing the blob of data to enqueue</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">data_size</span></code></dt><dd><p>size of the <code class="docutils literal notranslate"><span class="pre">data</span></code> buffer</p>
+</dd>
</dl>
-</div>
-<div class="section" id="id4">
+</section>
+<section id="id4">
<h2>Return Values<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt>
-<dd>the variable was appended to the update queue bank successfully</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt>
-<dd><code class="docutils literal notranslate"><span class="pre">key</span></code> or <code class="docutils literal notranslate"><span class="pre">data</span></code> was NULL.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>the variable was appended to the update queue bank successfully</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">key</span></code> or <code class="docutils literal notranslate"><span class="pre">data</span></code> was NULL.
<code class="docutils literal notranslate"><span class="pre">key</span></code> was empty.
<code class="docutils literal notranslate"><span class="pre">key_len</span></code> or <code class="docutils literal notranslate"><span class="pre">data_size</span></code> was zero.
-<code class="docutils literal notranslate"><span class="pre">key_len</span></code>, <code class="docutils literal notranslate"><span class="pre">data_size</span></code> is larger than the maximum size</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_NO_MEM</span></code></dt>
-<dd>OPAL was unable to allocate memory for the variable update</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_HARDWARE</span></code></dt>
-<dd>OPAL was unable to write the update to persistant storage</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_UNSUPPORTED</span></code></dt>
-<dd>secure variables are not supported by the platform</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt>
-<dd>secure variables are supported, but did not initialize properly</dd>
+<code class="docutils literal notranslate"><span class="pre">key_len</span></code>, <code class="docutils literal notranslate"><span class="pre">data_size</span></code> is larger than the maximum size</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_NO_MEM</span></code></dt><dd><p>OPAL was unable to allocate memory for the variable update</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_HARDWARE</span></code></dt><dd><p>OPAL was unable to write the update to persistant storage</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_UNSUPPORTED</span></code></dt><dd><p>secure variables are not supported by the platform</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt><dd><p>secure variables are supported, but did not initialize properly</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -256,17 +257,15 @@ be any encoding, but must not be all zeroes</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -283,14 +282,15 @@ be any encoding, but must not be all zeroes</dd>
<li class="right" >
<a href="opal-rtc-read-write-3-4.html" title="OPAL Real Time Clock (RTC) APIs"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Secure Variable API</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-sensor-group-enable-clear-163-156.html b/doc/opal-api/opal-sensor-group-enable-clear-163-156.html
index 0d81a07..242db09 100644
--- a/doc/opal-api/opal-sensor-group-enable-clear-163-156.html
+++ b/doc/opal-api/opal-sensor-group-enable-clear-163-156.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Sensor Groups &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Sensor Groups &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-secvar.html" title="OPAL Secure Variable API"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Sensor Groups</a></li>
</ul>
</div>
@@ -45,14 +45,14 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-sensor-groups">
+ <section id="opal-sensor-groups">
<span id="id1"></span><h1>OPAL Sensor Groups<a class="headerlink" href="#opal-sensor-groups" title="Permalink to this headline">¶</a></h1>
-<p>See <a class="reference internal" href="../device-tree/ibm,opal/sensor-groups.html#device-tree-ibm-opal-sensor-groups"><span class="std std-ref">ibm,opal/sensor-groups</span></a> for device tree layout.</p>
-<div class="section" id="opal-sensor-group-enable">
+<p>See <a class="reference internal" href="../device-tree/ibm%2Copal/sensor-groups.html#device-tree-ibm-opal-sensor-groups"><span class="std std-ref">ibm,opal/sensor-groups</span></a> for device tree layout.</p>
+<section id="opal-sensor-group-enable">
<span id="id2"></span><h2>OPAL_SENSOR_GROUP_ENABLE<a class="headerlink" href="#opal-sensor-group-enable" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SENSOR_GROUP_ENABLE 163</span>
-<span class="kt">int</span> <span class="nf">opal_sensor_group_enable</span><span class="p">(</span><span class="n">u32</span> <span class="n">group_hndl</span><span class="p">,</span> <span class="kt">int</span> <span class="n">token</span><span class="p">,</span> <span class="kt">bool</span> <span class="n">enable</span><span class="p">);</span>
+<span class="kt">int</span><span class="w"> </span><span class="nf">opal_sensor_group_enable</span><span class="p">(</span><span class="n">u32</span><span class="w"> </span><span class="n">group_hndl</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">token</span><span class="p">,</span><span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="n">enable</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>OPAL call to enable/disable the sensor group using a handle to identify
@@ -61,32 +61,32 @@ the type of sensor group provided in the device tree.</p>
group by OCC to main memory.</p>
<p>The call can be asynchronus, where the token parameter is used to wait
for the completion.</p>
-<div class="section" id="returns">
+<section id="returns">
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>No support to enable/disable the sensor group</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Unable to procced due to the current hardware state</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt>
-<dd>Hardware cannot take the request</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request was sent and an async completion message will be sent with
-token and status of the request.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>Previous request in progress</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Error in request response</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></dt>
-<dd>Timeout in request completion</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>No support to enable/disable the sensor group</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Unable to procced due to the current hardware state</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt><dd><p>Hardware cannot take the request</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request was sent and an async completion message will be sent with
+token and status of the request.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>Previous request in progress</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Error in request response</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></dt><dd><p>Timeout in request completion</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-sensor-group-clear">
+</section>
+</section>
+<section id="opal-sensor-group-clear">
<span id="id3"></span><h2>OPAL_SENSOR_GROUP_CLEAR<a class="headerlink" href="#opal-sensor-group-clear" title="Permalink to this headline">¶</a></h2>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">opal_sensor_group_clear</span><span class="p">(</span><span class="n">u32</span> <span class="n">group_hndl</span><span class="p">,</span> <span class="kt">int</span> <span class="n">token</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">opal_sensor_group_clear</span><span class="p">(</span><span class="n">u32</span><span class="w"> </span><span class="n">group_hndl</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">token</span><span class="p">);</span><span class="w"></span>
<span class="cp">#define OPAL_SENSOR_GROUP_CLEAR 156</span>
</pre></div>
@@ -95,32 +95,33 @@ token and status of the request.</dd>
the type of sensor group which is exported via DT.</p>
<p>The call can be asynchronus, where the token parameter is used to wait
for the completion.</p>
-<div class="section" id="id4">
+<section id="id4">
<h3>Returns<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>No support for clearing the sensor group</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>Unable to procced due to the current hardware state</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt>
-<dd>Hardware cannot take the request</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request was sent and an async completion message will be sent with
-token and status of the request.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>Previous request in progress</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Error in request response</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></dt>
-<dd>Timeout in request completion</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>No support for clearing the sensor group</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>Unable to procced due to the current hardware state</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></dt><dd><p>Hardware cannot take the request</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request was sent and an async completion message will be sent with
+token and status of the request.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>Previous request in progress</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Error in request response</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></dt><dd><p>Timeout in request completion</p>
+</dd>
</dl>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -155,17 +156,15 @@ token and status of the request.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -182,14 +181,15 @@ token and status of the request.</dd>
<li class="right" >
<a href="opal-secvar.html" title="OPAL Secure Variable API"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Sensor Groups</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-sensor-read-88.html b/doc/opal-api/opal-sensor-read-88.html
index 369125e..563543c 100644
--- a/doc/opal-api/opal-sensor-read-88.html
+++ b/doc/opal-api/opal-sensor-read-88.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_SENSOR_READ &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_SENSOR_READ &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-sensor-group-enable-clear-163-156.html" title="OPAL Sensor Groups"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SENSOR_READ</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-sensor-read">
+ <section id="opal-sensor-read">
<span id="id1"></span><h1>OPAL_SENSOR_READ<a class="headerlink" href="#opal-sensor-read" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SENSOR_READ 88</span>
-<span class="kt">int64_t</span> <span class="nf">opal_sensor_read</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">sensor_hndl</span><span class="p">,</span> <span class="kt">int</span> <span class="n">token</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">sensor_data</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_sensor_read</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">sensor_hndl</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">token</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">sensor_data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The OPAL sensor call reads a sensor data using a unique handler to
@@ -66,44 +66,44 @@ be in flight.</p>
<a class="reference internal" href="#opal-sensor-read-u64"><span class="std std-ref">OPAL_SENSOR_READ_U64</span></a>. Any code targeting processor generations prior
to POWER9 will need to use <a class="reference internal" href="opal-check-token-80.html#opal-check-token"><span class="std std-ref">OPAL_CHECK_TOKEN</span></a> to ensure <a class="reference internal" href="#opal-sensor-read-u64"><span class="std std-ref">OPAL_SENSOR_READ_U64</span></a>
is present and gracefully fall back to <a class="reference internal" href="#opal-sensor-read"><span class="std std-ref">OPAL_SENSOR_READ</span></a> if it is not.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint32_t</span> <span class="n">sensor_handle</span>
<span class="nb">int</span> <span class="n">token</span>
<span class="n">uint32_t</span> <span class="o">*</span><span class="n">sensor_data</span>
</pre></div>
</div>
-</div>
-<div class="section" id="return-values">
+</section>
+<section id="return-values">
<h2>Return values<a class="headerlink" href="#return-values" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success!</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>invalid sensor handle</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>platform does not support reading sensors.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>a request was sent and an async completion will
-be triggered with the &#64;token argument</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></dt>
-<dd>the request completed but the data returned is invalid</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt>
-<dd>a previous request is still pending</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt>
-<dd>allocation failed</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>communication failure with the FSP</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>FSP is not available</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success!</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>invalid sensor handle</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>platform does not support reading sensors.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>a request was sent and an async completion will
+be triggered with the &#64;token argument</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></dt><dd><p>the request completed but the data returned is invalid</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt><dd><p>a previous request is still pending</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt><dd><p>allocation failed</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>communication failure with the FSP</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>FSP is not available</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-sensor-read-u64">
+</section>
+</section>
+<section id="opal-sensor-read-u64">
<span id="id2"></span><h1>OPAL_SENSOR_READ_U64<a class="headerlink" href="#opal-sensor-read-u64" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SENSOR_READ_U64 162</span>
-<span class="n">s64</span> <span class="nf">opal_sensor_read_u64</span><span class="p">(</span><span class="n">u32</span> <span class="n">sensor_hndl</span><span class="p">,</span> <span class="kt">int</span> <span class="n">token</span><span class="p">,</span> <span class="n">u64</span> <span class="o">*</span><span class="n">sensor_data</span><span class="p">);</span>
+<span class="n">s64</span><span class="w"> </span><span class="nf">opal_sensor_read_u64</span><span class="p">(</span><span class="n">u32</span><span class="w"> </span><span class="n">sensor_hndl</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">token</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="o">*</span><span class="n">sensor_data</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The OPAL sensor call to read sensor data of type u64. Unlike
@@ -116,9 +116,10 @@ can be read using the <a class="reference internal" href="#opal-sensor-read"><sp
Any code targeting processor generations prior to POWER9 will need to use
<a class="reference internal" href="opal-check-token-80.html#opal-check-token"><span class="std std-ref">OPAL_CHECK_TOKEN</span></a> to ensure <a class="reference internal" href="#opal-sensor-read-u64"><span class="std std-ref">OPAL_SENSOR_READ_U64</span></a>
is present and gracefully fall back to <a class="reference internal" href="#opal-sensor-read"><span class="std std-ref">OPAL_SENSOR_READ</span></a> if it is not.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -148,17 +149,15 @@ is present and gracefully fall back to <a class="reference internal" href="#opal
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -175,14 +174,15 @@ is present and gracefully fall back to <a class="reference internal" href="#opal
<li class="right" >
<a href="opal-sensor-group-enable-clear-163-156.html" title="OPAL Sensor Groups"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SENSOR_READ</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-set-xive-19.html b/doc/opal-api/opal-set-xive-19.html
index 7423269..5cf50b6 100644
--- a/doc/opal-api/opal-set-xive-19.html
+++ b/doc/opal-api/opal-set-xive-19.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_SET_XIVE &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_SET_XIVE &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-sensor-read-88.html" title="OPAL_SENSOR_READ"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SET_XIVE</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-set-xive">
+ <section id="opal-set-xive">
<span id="id1"></span><h1>OPAL_SET_XIVE<a class="headerlink" href="#opal-set-xive" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SET_XIVE 19</span>
-<span class="kt">int64_t</span> <span class="nf">opal_set_xive</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">isn</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="n">server</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">priority</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_set_xive</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">isn</span><span class="p">,</span><span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">priority</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The host calls this function to set the server (target processor)
@@ -59,38 +59,39 @@ the priority to 0xff one masks an interrupt).</p>
<p>WARNINGS:</p>
<blockquote>
<div><ul class="simple">
-<li>For MSIs or generally edge sensitive interrupts, OPAL provides no
+<li><p>For MSIs or generally edge sensitive interrupts, OPAL provides no
guarantee as to whether the interrupt will be latched if it occurs
while masked and replayed on unmask. It may or may not. The OS needs
to be aware of this. The current implementation will <em>not</em> replay,
-neither on P8 nor on P9 XICS emulation.</li>
-<li>When masking, there is no guarantee that the interrupt will not
+neither on P8 nor on P9 XICS emulation.</p></li>
+<li><p>When masking, there is no guarantee that the interrupt will not
still occur after this call returns. The reason is that it might
already be on its way past the source controller and latched into one
of the presenters. There is however a guarantee that it won’t replay
-indefinitely so it’s acceptable for the OS to simply ignore it.</li>
+indefinitely so it’s acceptable for the OS to simply ignore it.</p></li>
</ul>
</div></blockquote>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">isn</span></code></dt>
-<dd>This is a global interrupt number as obtained from the device-tree
-“interrupts” or “interrupt-map” properties.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">server_number</span></code></dt>
-<dd>is the mangled server (processor) that is to receive the
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">isn</span></code></dt><dd><p>This is a global interrupt number as obtained from the device-tree
+“interrupts” or “interrupt-map” properties.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">server_number</span></code></dt><dd><p>is the mangled server (processor) that is to receive the
interrupt request. The mangling means that the actual processor
number is shifted left by 2 bits, the bottom bits representing
the “link”. However links aren’t supported in OPAL so the bottom
-2 bits should be 0.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt>
-<dd>is the interrupt priority value applied to the interrupt
-(0=highest, 0xFF = lowest/disabled).</dd>
+2 bits should be 0.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt><dd><p>is the interrupt priority value applied to the interrupt
+(0=highest, 0xFF = lowest/disabled).</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -118,17 +119,15 @@ the “link”. However links aren’t supported in OPAL so the bottom
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -145,14 +144,15 @@ the “link”. However links aren’t supported in OPAL so the bottom
<li class="right" >
<a href="opal-sensor-read-88.html" title="OPAL_SENSOR_READ"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SET_XIVE</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-signal-system-reset-145.html b/doc/opal-api/opal-signal-system-reset-145.html
index 8f7d3bc..79a7f07 100644
--- a/doc/opal-api/opal-signal-system-reset-145.html
+++ b/doc/opal-api/opal-signal-system-reset-145.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_SIGNAL_SYSTEM_RESET &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_SIGNAL_SYSTEM_RESET &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-set-xive-19.html" title="OPAL_SET_XIVE"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SIGNAL_SYSTEM_RESET</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-signal-system-reset">
+ <section id="opal-signal-system-reset">
<span id="id1"></span><h1>OPAL_SIGNAL_SYSTEM_RESET<a class="headerlink" href="#opal-signal-system-reset" title="Permalink to this headline">¶</a></h1>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">int64_t</span> <span class="n">signal_system_reset</span><span class="p">(</span><span class="n">int32_t</span> <span class="n">cpu_nr</span><span class="p">);</span>
</pre></div>
@@ -64,7 +64,7 @@ hold locks which are required to access the console, or may be halfway
through setting hardware registers), so OPAL_QUIESCE can be used
before OPAL_SIGNAL_SYSTEM_RESET to (attempt to) ensure all CPUs are
out of OPAL before being interrupted.</p>
-<div class="section" id="arguments">
+<section id="arguments">
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">int32_t</span> <span class="n">cpu_nr</span>
<span class="n">cpu_nr</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="n">The</span> <span class="n">cpu</span> <span class="n">server</span> <span class="n">number</span> <span class="n">of</span> <span class="n">the</span> <span class="n">target</span> <span class="n">cpu</span> <span class="n">to</span> <span class="n">reset</span><span class="o">.</span>
@@ -72,31 +72,32 @@ out of OPAL before being interrupted.</p>
<span class="n">SYS_RESET_ALL_OTHERS</span> <span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">)</span> <span class="n">All</span> <span class="n">but</span> <span class="n">the</span> <span class="n">current</span> <span class="n">cpu</span> <span class="n">should</span> <span class="n">be</span> <span class="n">reset</span><span class="o">.</span>
</pre></div>
</div>
-</div>
-<div class="section" id="returns">
+</section>
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>OPAL_SUCCESS</dt>
-<dd>The system reset requests to target CPU(s) was successful. This returns
+<dl class="simple">
+<dt>OPAL_SUCCESS</dt><dd><p>The system reset requests to target CPU(s) was successful. This returns
asynchronously without acknowledgement from targets that system reset
-interrupt processing has completed or even started.</dd>
-<dt>OPAL_PARAMETER</dt>
-<dd>A parameter was incorrect.</dd>
-<dt>OPAL_HARDWARE</dt>
-<dd>Hardware indicated failure during reset, some or all of the target CPUs
-may have the system reset delivered.</dd>
-<dt>OPAL_CONSTRAINED</dt>
-<dd>Platform does not support broadcast operations.</dd>
-<dt>OPAL_PARTIAL</dt>
-<dd>Platform can not reset sibling threads on the same core as requested.
-None of the specified CPUs are reset in this case.</dd>
-<dt>OPAL_UNSUPPORTED</dt>
-<dd>This processor/platform is not supported.</dd>
+interrupt processing has completed or even started.</p>
+</dd>
+<dt>OPAL_PARAMETER</dt><dd><p>A parameter was incorrect.</p>
+</dd>
+<dt>OPAL_HARDWARE</dt><dd><p>Hardware indicated failure during reset, some or all of the target CPUs
+may have the system reset delivered.</p>
+</dd>
+<dt>OPAL_CONSTRAINED</dt><dd><p>Platform does not support broadcast operations.</p>
+</dd>
+<dt>OPAL_PARTIAL</dt><dd><p>Platform can not reset sibling threads on the same core as requested.
+None of the specified CPUs are reset in this case.</p>
+</dd>
+<dt>OPAL_UNSUPPORTED</dt><dd><p>This processor/platform is not supported.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -125,17 +126,15 @@ None of the specified CPUs are reset in this case.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -152,14 +151,15 @@ None of the specified CPUs are reset in this case.</dd>
<li class="right" >
<a href="opal-set-xive-19.html" title="OPAL_SET_XIVE"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SIGNAL_SYSTEM_RESET</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-slw-set-reg-100.html b/doc/opal-api/opal-slw-set-reg-100.html
index 351f49e..5844bf2 100644
--- a/doc/opal-api/opal-slw-set-reg-100.html
+++ b/doc/opal-api/opal-slw-set-reg-100.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_SLW_SET_REG &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_SLW_SET_REG &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-signal-system-reset-145.html" title="OPAL_SIGNAL_SYSTEM_RESET"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SLW_SET_REG</a></li>
</ul>
</div>
@@ -45,11 +45,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-slw-set-reg">
+ <section id="opal-slw-set-reg">
<span id="id1"></span><h1>OPAL_SLW_SET_REG<a class="headerlink" href="#opal-slw-set-reg" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SLW_SET_REG 100</span>
-<span class="kt">int64_t</span> <span class="nf">opal_slw_set_reg</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">cpu_pir</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">sprn</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">val</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_slw_set_reg</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">cpu_pir</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">sprn</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">val</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><a class="reference internal" href="#opal-slw-set-reg"><span class="std std-ref">OPAL_SLW_SET_REG</span></a> is used to inform low-level firmware to restore a
@@ -61,32 +61,33 @@ must be restored.</p>
<p>In Power 9, it uses p9_stop_save_cpureg(), api provided by self restore code,
to inform the spr with their corresponding values with which they
must be restored.</p>
-<div class="section" id="parameters">
+<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt>
-<dd>This parameter specifies the pir of the cpu for which the call is being made.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">sprn</span></code></dt>
-<dd>This parameter specifies the spr number as mentioned in p9_stop_api.H for
-Power9 and p8_pore_table_gen_api.H for Power8.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">val</span></code></dt>
-<dd>This parameter specifices value with which the spr should be restored.</dd>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt><dd><p>This parameter specifies the pir of the cpu for which the call is being made.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">sprn</span></code></dt><dd><p>This parameter specifies the spr number as mentioned in p9_stop_api.H for
+Power9 and p8_pore_table_gen_api.H for Power8.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">val</span></code></dt><dd><p>This parameter specifices value with which the spr should be restored.</p>
+</dd>
</dl>
-</div>
-<div class="section" id="returns">
+</section>
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>On failure. The actual error code from the platform specific code is logged in the OPAL logs</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt>
-<dd>If spr restore is not supported by pore engine.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>On success</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>On failure. The actual error code from the platform specific code is logged in the OPAL logs</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>If spr restore is not supported by pore engine.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>On success</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -115,17 +116,15 @@ Power9 and p8_pore_table_gen_api.H for Power8.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -142,14 +141,15 @@ Power9 and p8_pore_table_gen_api.H for Power8.</dd>
<li class="right" >
<a href="opal-signal-system-reset-145.html" title="OPAL_SIGNAL_SYSTEM_RESET"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SLW_SET_REG</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-start-return-cpu-41-69.html b/doc/opal-api/opal-start-return-cpu-41-69.html
index 58c1e14..e67f6b1 100644
--- a/doc/opal-api/opal-start-return-cpu-41-69.html
+++ b/doc/opal-api/opal-start-return-cpu-41-69.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Starting and stopping secondary CPUs &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Starting and stopping secondary CPUs &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-slw-set-reg-100.html" title="OPAL_SLW_SET_REG"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Starting and stopping secondary CPUs</a></li>
</ul>
</div>
@@ -45,39 +45,39 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="starting-and-stopping-secondary-cpus">
+ <section id="starting-and-stopping-secondary-cpus">
<h1>Starting and stopping secondary CPUs<a class="headerlink" href="#starting-and-stopping-secondary-cpus" title="Permalink to this headline">¶</a></h1>
<p>In this context, each thread is a CPU. That is, you start and stop threads of
CPUs.</p>
-<div class="section" id="opal-start-cpu">
+<section id="opal-start-cpu">
<span id="id1"></span><h2>OPAL_START_CPU<a class="headerlink" href="#opal-start-cpu" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_START_CPU 41</span>
-<span class="kt">int64_t</span> <span class="nf">opal_start_cpu_thread</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">server_no</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">start_address</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_start_cpu_thread</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">server_no</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">start_address</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
-<div class="section" id="returns">
+<section id="returns">
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>The CPU was instructed to start executing instructions from the specified
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>The CPU was instructed to start executing instructions from the specified
<cite>start_address</cite>.
This is an <em>asynchronous</em> operation, so it may take a short period of
-time before the CPU actually starts at that address.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid CPU.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt>
-<dd>If the CPU thread is not in OPAL, or is being re-initialized through <a class="reference internal" href="opal-reinit-cpus-70.html#opal-reinit-cpus"><span class="std std-ref">OPAL_REINIT_CPUS</span></a></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Something else went horribly wrong.</dd>
+time before the CPU actually starts at that address.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid CPU.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt><dd><p>If the CPU thread is not in OPAL, or is being re-initialized through <a class="reference internal" href="opal-reinit-cpus-70.html#opal-reinit-cpus"><span class="std std-ref">OPAL_REINIT_CPUS</span></a></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Something else went horribly wrong.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-return-cpu">
+</section>
+</section>
+<section id="opal-return-cpu">
<span id="id2"></span><h2>OPAL_RETURN_CPU<a class="headerlink" href="#opal-return-cpu" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_RETURN_CPU 69</span>
-<span class="kt">int64_t</span> <span class="nf">opal_return_cpu</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_return_cpu</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>When OPAL first starts the host, all secondary CPUs are spinning in OPAL.
@@ -87,14 +87,15 @@ to set the HILE bit first).</p>
as OPAL_REINIT_CPUS, (on some platforms) a firmware update or get the machine
back into a similar state as to when the host OS was started (e.g. for kexec)
you may also need to return control of the CPU to OPAL.</p>
-<div class="section" id="id3">
+<section id="id3">
<h3>Returns<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
<p>This call does <strong>not return</strong>. You need to OPAL_START_CPU.</p>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -129,17 +130,15 @@ you may also need to return control of the CPU to OPAL.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -156,14 +155,15 @@ you may also need to return control of the CPU to OPAL.</p>
<li class="right" >
<a href="opal-slw-set-reg-100.html" title="OPAL_SLW_SET_REG"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Starting and stopping secondary CPUs</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-sync-host-reboot-87.html b/doc/opal-api/opal-sync-host-reboot-87.html
index a507cbd..77a7852 100644
--- a/doc/opal-api/opal-sync-host-reboot-87.html
+++ b/doc/opal-api/opal-sync-host-reboot-87.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_SYNC_HOST_REBOOT &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_SYNC_HOST_REBOOT &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-start-return-cpu-41-69.html" title="Starting and stopping secondary CPUs"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SYNC_HOST_REBOOT</a></li>
</ul>
</div>
@@ -45,31 +45,32 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-sync-host-reboot">
+ <section id="opal-sync-host-reboot">
<span id="id1"></span><h1>OPAL_SYNC_HOST_REBOOT<a class="headerlink" href="#opal-sync-host-reboot" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SYNC_HOST_REBOOT 87</span>
-<span class="k">static</span> <span class="kt">int64_t</span> <span class="nf">opal_sync_host_reboot</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<span class="k">static</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_sync_host_reboot</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This OPAL call halts asynchronous operations in preparation for something
like kexec. It will halt DMA as well notification of some events (such
as a new error log being available for retreival).</p>
<p>It’s meant to be called in a loop until <a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a> is returned.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success!</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt>
-<dd>not yet complete, call opal_sync_host_reboot() again, possibly with a short delay.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt>
-<dd>Call opal_poll_events() and then retry opal_sync_host_reboot</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success!</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></dt><dd><p>not yet complete, call opal_sync_host_reboot() again, possibly with a short delay.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></dt><dd><p>Call opal_poll_events() and then retry opal_sync_host_reboot</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -97,17 +98,15 @@ as a new error log being available for retreival).</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -124,14 +123,15 @@ as a new error log being available for retreival).</p>
<li class="right" >
<a href="opal-start-return-cpu-41-69.html" title="Starting and stopping secondary CPUs"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_SYNC_HOST_REBOOT</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-test-0.html b/doc/opal-api/opal-test-0.html
index cb5cee4..53a8e31 100644
--- a/doc/opal-api/opal-test-0.html
+++ b/doc/opal-api/opal-test-0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_TEST &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_TEST &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-sync-host-reboot-87.html" title="OPAL_SYNC_HOST_REBOOT"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_TEST</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-test">
+ <section id="opal-test">
<span id="id1"></span><h1>OPAL_TEST<a class="headerlink" href="#opal-test" title="Permalink to this headline">¶</a></h1>
<p><a class="reference internal" href="#opal-test"><span class="std std-ref">OPAL_TEST</span></a> is a REQUIRED call for OPAL and conforming implementations MUST
have it.</p>
@@ -54,34 +54,35 @@ have it.</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_TEST 0</span>
</pre></div>
</div>
-<div class="section" id="arguments">
+<section id="arguments">
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">uint64_t</span> <span class="n">arg</span>
</pre></div>
</div>
-</div>
-<div class="section" id="returns">
+</section>
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mh">0xfeedf00d</span>
</pre></div>
</div>
-</div>
-<div class="section" id="function">
+</section>
+<section id="function">
<h2>Function<a class="headerlink" href="#function" title="Permalink to this headline">¶</a></h2>
<p><a class="reference internal" href="#opal-test"><span class="std std-ref">OPAL_TEST</span></a> MAY print a string to the OPAL log with the value of argument.</p>
<p>For example, the reference implementation (skiboot) implements <a class="reference internal" href="#opal-test"><span class="std std-ref">OPAL_TEST</span></a> as:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">static</span> <span class="kt">uint64_t</span> <span class="nf">opal_test_func</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">arg</span><span class="p">)</span>
-<span class="p">{</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;OPAL: Test function called with arg 0x%llx</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">arg</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">static</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="nf">opal_test_func</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">arg</span><span class="p">)</span><span class="w"></span>
+<span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;OPAL: Test function called with arg 0x%llx</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">arg</span><span class="p">);</span><span class="w"></span>
- <span class="k">return</span> <span class="mh">0xfeedf00d</span><span class="p">;</span>
-<span class="p">}</span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mh">0xfeedf00d</span><span class="p">;</span><span class="w"></span>
+<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -111,17 +112,15 @@ have it.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -138,14 +137,15 @@ have it.</p>
<li class="right" >
<a href="opal-sync-host-reboot-87.html" title="OPAL_SYNC_HOST_REBOOT"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_TEST</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-write-oppanel-async-95.html b/doc/opal-api/opal-write-oppanel-async-95.html
index e951d43..4887b7c 100644
--- a/doc/opal-api/opal-write-oppanel-async-95.html
+++ b/doc/opal-api/opal-write-oppanel-async-95.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_WRITE_OPPANEL_ASYNC &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_WRITE_OPPANEL_ASYNC &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-test-0.html" title="OPAL_TEST"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_WRITE_OPPANEL_ASYNC</a></li>
</ul>
</div>
@@ -45,18 +45,18 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-write-oppanel-async">
+ <section id="opal-write-oppanel-async">
<span id="id1"></span><h1>OPAL_WRITE_OPPANEL_ASYNC<a class="headerlink" href="#opal-write-oppanel-async" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_WRITE_OPPANEL_ASYNC 95</span>
-<span class="k">typedef</span> <span class="k">struct</span> <span class="n">oppanel_line</span> <span class="p">{</span>
- <span class="n">__be64</span> <span class="n">line</span><span class="p">;</span>
- <span class="n">__be64</span> <span class="n">line_len</span><span class="p">;</span>
-<span class="p">}</span> <span class="n">oppanel_line_t</span><span class="p">;</span>
+<span class="k">typedef</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">oppanel_line</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">line</span><span class="p">;</span><span class="w"></span>
+<span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="n">line_len</span><span class="p">;</span><span class="w"></span>
+<span class="p">}</span><span class="w"> </span><span class="n">oppanel_line_t</span><span class="p">;</span><span class="w"></span>
-<span class="kt">int64_t</span> <span class="nf">opal_write_oppanel_async</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">async_token</span><span class="p">,</span>
- <span class="n">oppanel_line_t</span> <span class="o">*</span><span class="n">lines</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">num_lines</span><span class="p">);</span>
+<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_write_oppanel_async</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">async_token</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="n">oppanel_line_t</span><span class="w"> </span><span class="o">*</span><span class="n">lines</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">num_lines</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Writes to a (possibly physical) Operator Panel. An Operator Panel contains
@@ -65,7 +65,7 @@ It can be used to report on boot progress, failure, or witty messages from
a systems administrator.</p>
<p>A typical panel, as present on IBM FSP based machines, is two lines of 16
characters each.</p>
-<p>See <a class="reference internal" href="../device-tree/ibm,opal/oppanel.html#device-tree-ibm-opal-oppanel"><span class="std std-ref">Operator Panel (oppanel)</span></a> for how the panel is described in the
+<p>See <a class="reference internal" href="../device-tree/ibm%2Copal/oppanel.html#device-tree-ibm-opal-oppanel"><span class="std std-ref">Operator Panel (oppanel)</span></a> for how the panel is described in the
device tree. Not all systems have an operator panel.</p>
<p>Pass in an array of oppanel_line_t structs defining the ASCII characters
to display on each line of the oppanel. If there are two lines on the
@@ -73,25 +73,26 @@ physical panel, and you only want to write to the first line, you only
need to pass in one line. If you only want to write to the second line,
you need to pass in both lines, and set the line_len of the first line
to zero.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success! Typically this is async operation, so immediate success is
-unlikely.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt>
-<dd>Request submitted asynchronously.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt>
-<dd>Invalid <cite>lines</cite> or <cite>num_lines</cite></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt>
-<dd>Not enough free memory in OPAL to complete the request.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt>
-<dd>Other internal error.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success! Typically this is async operation, so immediate success is
+unlikely.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></dt><dd><p>Request submitted asynchronously.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></dt><dd><p>Invalid <cite>lines</cite> or <cite>num_lines</cite></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></dt><dd><p>Not enough free memory in OPAL to complete the request.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>Other internal error.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -119,17 +120,15 @@ unlikely.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -146,14 +145,15 @@ unlikely.</dd>
<li class="right" >
<a href="opal-test-0.html" title="OPAL_TEST"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_WRITE_OPPANEL_ASYNC</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal-xscom-read-write-65-66.html b/doc/opal-api/opal-xscom-read-write-65-66.html
index 0d4bc4b..af369dc 100644
--- a/doc/opal-api/opal-xscom-read-write-65-66.html
+++ b/doc/opal-api/opal-xscom-read-write-65-66.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_XSCOM_READ &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_XSCOM_READ &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-write-oppanel-async-95.html" title="OPAL_WRITE_OPPANEL_ASYNC"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_XSCOM_READ</a></li>
</ul>
</div>
@@ -45,86 +45,87 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-xscom-read">
+ <section id="opal-xscom-read">
<span id="id1"></span><h1>OPAL_XSCOM_READ<a class="headerlink" href="#opal-xscom-read" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XSCOM_READ 65</span>
-<span class="kt">int</span> <span class="nf">xscom_read</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">partid</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pcb_addr</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">val</span><span class="p">);</span>
+<span class="kt">int</span><span class="w"> </span><span class="nf">xscom_read</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">partid</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pcb_addr</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">val</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This low level call will read XSCOM values directly.</p>
<p>They should only be used by low level manufacturing/debug tools.
“Normal” host OS kernel code should not know about XSCOM.</p>
<p>This is also needed by HBRT/<cite>opal-prd</cite>.</p>
-<div class="section" id="returns">
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success!</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>if operation failed</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt>
-<dd>if CPU is asleep</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-busy"><span class="std std-ref">OPAL_XSCOM_BUSY</span></a></dt>
-<dd>Alias for <a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a>.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-chiplet-off"><span class="std std-ref">OPAL_XSCOM_CHIPLET_OFF</span></a></dt>
-<dd>Alias for <a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-partial-good"><span class="std std-ref">OPAL_XSCOM_PARTIAL_GOOD</span></a></dt>
-<dd>XSCOM Partial Good</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-addr-error"><span class="std std-ref">OPAL_XSCOM_ADDR_ERROR</span></a></dt>
-<dd>XSCOM Address Error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-clock-error"><span class="std std-ref">OPAL_XSCOM_CLOCK_ERROR</span></a></dt>
-<dd>XSCOM Clock Error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-parity-error"><span class="std std-ref">OPAL_XSCOM_PARITY_ERROR</span></a></dt>
-<dd>XSCOM Parity Error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-timeout"><span class="std std-ref">OPAL_XSCOM_TIMEOUT</span></a></dt>
-<dd>XSCOM Timeout</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-ctr-offlined"><span class="std std-ref">OPAL_XSCOM_CTR_OFFLINED</span></a></dt>
-<dd>XSCOM Controller Offlined due to too many errors.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success!</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>if operation failed</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt><dd><p>if CPU is asleep</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-busy"><span class="std std-ref">OPAL_XSCOM_BUSY</span></a></dt><dd><p>Alias for <a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a>.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-chiplet-off"><span class="std std-ref">OPAL_XSCOM_CHIPLET_OFF</span></a></dt><dd><p>Alias for <a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-partial-good"><span class="std std-ref">OPAL_XSCOM_PARTIAL_GOOD</span></a></dt><dd><p>XSCOM Partial Good</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-addr-error"><span class="std std-ref">OPAL_XSCOM_ADDR_ERROR</span></a></dt><dd><p>XSCOM Address Error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-clock-error"><span class="std std-ref">OPAL_XSCOM_CLOCK_ERROR</span></a></dt><dd><p>XSCOM Clock Error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-parity-error"><span class="std std-ref">OPAL_XSCOM_PARITY_ERROR</span></a></dt><dd><p>XSCOM Parity Error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-timeout"><span class="std std-ref">OPAL_XSCOM_TIMEOUT</span></a></dt><dd><p>XSCOM Timeout</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-ctr-offlined"><span class="std std-ref">OPAL_XSCOM_CTR_OFFLINED</span></a></dt><dd><p>XSCOM Controller Offlined due to too many errors.</p>
+</dd>
</dl>
-</div>
-</div>
-<div class="section" id="opal-xscom-write">
+</section>
+</section>
+<section id="opal-xscom-write">
<span id="id2"></span><h1>OPAL_XSCOM_WRITE<a class="headerlink" href="#opal-xscom-write" title="Permalink to this headline">¶</a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XSCOM_WRITE 66</span>
-<span class="kt">int</span> <span class="nf">xscom_write</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">partid</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">pcb_addr</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">val</span><span class="p">);</span>
+<span class="kt">int</span><span class="w"> </span><span class="nf">xscom_write</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">partid</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">pcb_addr</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">val</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This low level call will write an XSCOM value directly.</p>
<p>They should only be used by low level manufacturing/debug tools.
“Normal” host OS kernel code should not know about XSCOM.</p>
<p>This is also needed by HBRT/<cite>opal-prd</cite>.</p>
-<div class="section" id="id3">
+<section id="id3">
<h2>Returns<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt>
-<dd>Success!</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt>
-<dd>if operation failed</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt>
-<dd>if CPU is asleep</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-busy"><span class="std std-ref">OPAL_XSCOM_BUSY</span></a></dt>
-<dd>Alias for <a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a>.</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-chiplet-off"><span class="std std-ref">OPAL_XSCOM_CHIPLET_OFF</span></a></dt>
-<dd>Alias for <a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-partial-good"><span class="std std-ref">OPAL_XSCOM_PARTIAL_GOOD</span></a></dt>
-<dd>XSCOM Partial Good</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-addr-error"><span class="std std-ref">OPAL_XSCOM_ADDR_ERROR</span></a></dt>
-<dd>XSCOM Address Error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-clock-error"><span class="std std-ref">OPAL_XSCOM_CLOCK_ERROR</span></a></dt>
-<dd>XSCOM Clock Error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-parity-error"><span class="std std-ref">OPAL_XSCOM_PARITY_ERROR</span></a></dt>
-<dd>XSCOM Parity Error</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-timeout"><span class="std std-ref">OPAL_XSCOM_TIMEOUT</span></a></dt>
-<dd>XSCOM Timeout</dd>
-<dt><a class="reference internal" href="return-codes.html#opal-xscom-ctr-offlined"><span class="std std-ref">OPAL_XSCOM_CTR_OFFLINED</span></a></dt>
-<dd>XSCOM Controller Offlined due to too many errors.</dd>
+<dl class="simple">
+<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>Success!</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></dt><dd><p>if operation failed</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></dt><dd><p>if CPU is asleep</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-busy"><span class="std std-ref">OPAL_XSCOM_BUSY</span></a></dt><dd><p>Alias for <a class="reference internal" href="return-codes.html#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a>.</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-chiplet-off"><span class="std std-ref">OPAL_XSCOM_CHIPLET_OFF</span></a></dt><dd><p>Alias for <a class="reference internal" href="return-codes.html#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-partial-good"><span class="std std-ref">OPAL_XSCOM_PARTIAL_GOOD</span></a></dt><dd><p>XSCOM Partial Good</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-addr-error"><span class="std std-ref">OPAL_XSCOM_ADDR_ERROR</span></a></dt><dd><p>XSCOM Address Error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-clock-error"><span class="std std-ref">OPAL_XSCOM_CLOCK_ERROR</span></a></dt><dd><p>XSCOM Clock Error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-parity-error"><span class="std std-ref">OPAL_XSCOM_PARITY_ERROR</span></a></dt><dd><p>XSCOM Parity Error</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-timeout"><span class="std std-ref">OPAL_XSCOM_TIMEOUT</span></a></dt><dd><p>XSCOM Timeout</p>
+</dd>
+<dt><a class="reference internal" href="return-codes.html#opal-xscom-ctr-offlined"><span class="std std-ref">OPAL_XSCOM_CTR_OFFLINED</span></a></dt><dd><p>XSCOM Controller Offlined due to too many errors.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -156,17 +157,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -183,14 +182,15 @@
<li class="right" >
<a href="opal-write-oppanel-async-95.html" title="OPAL_WRITE_OPPANEL_ASYNC"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_XSCOM_READ</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/opal_nx_coproc_init-167.html b/doc/opal-api/opal_nx_coproc_init-167.html
index 57336e5..8feb556 100644
--- a/doc/opal-api/opal_nx_coproc_init-167.html
+++ b/doc/opal-api/opal_nx_coproc_init-167.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL_NX_COPROC_INIT &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL_NX_COPROC_INIT &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal-xscom-read-write-65-66.html" title="OPAL_XSCOM_READ"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_NX_COPROC_INIT</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-nx-coproc-init">
+ <section id="opal-nx-coproc-init">
<span id="id1"></span><h1>OPAL_NX_COPROC_INIT<a class="headerlink" href="#opal-nx-coproc-init" title="Permalink to this headline">¶</a></h1>
<p>This OPAL call resets read offset and queued entries in high and normal
priority receive FIFO control registers. The kernel initializes read
@@ -55,7 +55,7 @@ read offset value matches with kernel entries. Otherwise NX reads requests
with wrong offset in RxFIFO which could cause NX request failures.</p>
<p>The kernel initiates this call for each coprocessor type such as 842 and
GZIP per NX instance.</p>
-<div class="section" id="arguments">
+<section id="arguments">
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>``uint32_t chip_id``
Contains value of the chip number identified at boot time.
@@ -64,22 +64,23 @@ GZIP per NX instance.</p>
Contains NX coprocessor type (pid from the device tree).
</pre></div>
</div>
-</div>
-<div class="section" id="returns">
+</section>
+<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>OPAL_SUCCESS</dt>
-<dd>The call to reset readOffset and queued entries for high and normal
-FIFOs was successful.</dd>
-<dt>OPAL_PARAMETER</dt>
-<dd>Indicates invalid chip ID or NX coprocessor type.</dd>
-<dt>OPAL_UNSUPPORTED</dt>
-<dd>Not supported on P7 and P8.</dd>
+<dl class="simple">
+<dt>OPAL_SUCCESS</dt><dd><p>The call to reset readOffset and queued entries for high and normal
+FIFOs was successful.</p>
+</dd>
+<dt>OPAL_PARAMETER</dt><dd><p>Indicates invalid chip ID or NX coprocessor type.</p>
+</dd>
+<dt>OPAL_UNSUPPORTED</dt><dd><p>Not supported on P7 and P8.</p>
+</dd>
</dl>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -108,17 +109,15 @@ FIFOs was successful.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -135,14 +134,15 @@ FIFOs was successful.</dd>
<li class="right" >
<a href="opal-xscom-read-write-65-66.html" title="OPAL_XSCOM_READ"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL_NX_COPROC_INIT</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/power9-changes.html b/doc/opal-api/power9-changes.html
index af12d62..0abf4c5 100644
--- a/doc/opal-api/power9-changes.html
+++ b/doc/opal-api/power9-changes.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>POWER9 Changes to OPAL API &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>POWER9 Changes to OPAL API &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="opal_nx_coproc_init-167.html" title="OPAL_NX_COPROC_INIT"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">POWER9 Changes to OPAL API</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="power9-changes-to-opal-api">
+ <section id="power9-changes-to-opal-api">
<h1>POWER9 Changes to OPAL API<a class="headerlink" href="#power9-changes-to-opal-api" title="Permalink to this headline">¶</a></h1>
<p>This document is a summary of POWER9 changes to the OPAL API over what it
was for POWER7 and POWER8. As the POWER series of processors (at least up
@@ -54,43 +54,41 @@ generation, this gives us an opportunity with POWER9 to clean up several
parts of the OPAL API.</p>
<p>Eventually, when the kernel drops support for POWER8 and before, we can then
remove the associated kernel code too.</p>
-<div class="section" id="opal-reinit-cpus">
+<section id="opal-reinit-cpus">
<h2>OPAL_REINIT_CPUS<a class="headerlink" href="#opal-reinit-cpus" title="Permalink to this headline">¶</a></h2>
<p>Can now be extended beyond HILE BE/LE bits. If invalid flags are set on
POWER9, OPAL_UNSUPPORTED will be returned.</p>
-</div>
-<div class="section" id="device-tree">
+</section>
+<section id="device-tree">
<h2>Device Tree<a class="headerlink" href="#device-tree" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">/ibm,opal/</span></code> compatible property now just lists <code class="docutils literal notranslate"><span class="pre">ibm,opal-v3</span></code> and no longer <code class="docutils literal notranslate"><span class="pre">ibm,opal-v2</span></code> (power9 and above only)</li>
-<li>Use only <code class="docutils literal notranslate"><span class="pre">stdout-path</span></code> property from POWER9 and above as usage of <code class="docutils literal notranslate"><span class="pre">linux,stdout-path</span></code> is deprecated</li>
-<li>Rename <code class="docutils literal notranslate"><span class="pre">fsp-ipl-side</span></code> as <code class="docutils literal notranslate"><span class="pre">sp-ipl-side</span></code> in <code class="docutils literal notranslate"><span class="pre">/ipl-params</span></code></li>
-<li>Add interrupt-parent property for <code class="docutils literal notranslate"><span class="pre">/ibm,opal/ipmi</span></code> node on POWER9 and above
-to make use of OPAL irqchip rather than event interface in linux.</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">/ibm,opal/</span></code> compatible property now just lists <code class="docutils literal notranslate"><span class="pre">ibm,opal-v3</span></code> and no longer <code class="docutils literal notranslate"><span class="pre">ibm,opal-v2</span></code> (power9 and above only)</p></li>
+<li><p>Use only <code class="docutils literal notranslate"><span class="pre">stdout-path</span></code> property from POWER9 and above as usage of <code class="docutils literal notranslate"><span class="pre">linux,stdout-path</span></code> is deprecated</p></li>
+<li><p>Rename <code class="docutils literal notranslate"><span class="pre">fsp-ipl-side</span></code> as <code class="docutils literal notranslate"><span class="pre">sp-ipl-side</span></code> in <code class="docutils literal notranslate"><span class="pre">/ipl-params</span></code></p></li>
+<li><p>Add interrupt-parent property for <code class="docutils literal notranslate"><span class="pre">/ibm,opal/ipmi</span></code> node on POWER9 and above
+to make use of OPAL irqchip rather than event interface in linux.</p></li>
</ul>
-</div>
-<div class="section" id="todo">
+</section>
+<section id="todo">
<h2>TODO<a class="headerlink" href="#todo" title="Permalink to this headline">¶</a></h2>
<p>Things we still have to do for POWER9:</p>
<ul>
-<li><p class="first">PCI to use async API rather than returning delays</p>
-</li>
-<li><p class="first">deprecate/remove v1 APIs where there’s a V2</p>
-</li>
-<li><p class="first">Fix this FWTS warning:</p>
+<li><p>PCI to use async API rather than returning delays</p></li>
+<li><p>deprecate/remove v1 APIs where there’s a V2</p></li>
+<li><p>Fix this FWTS warning:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">FAILED</span> <span class="p">[</span><span class="n">MEDIUM</span><span class="p">]</span> <span class="n">DeviceTreeBaseDTCWarnings</span><span class="p">:</span> <span class="n">Test</span> <span class="mi">3</span><span class="p">,</span> <span class="n">dtc</span> <span class="n">reports</span> <span class="n">warnings</span> <span class="kn">from</span>
-<span class="nn">device</span> <span class="n">tree</span><span class="p">:</span> <span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">flash</span><span class="nd">@0</span> <span class="n">has</span>
+<span class="nn">device</span> <span class="n">tree</span><span class="p">:</span> <span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">flash</span><span class="o">@</span><span class="mi">0</span> <span class="n">has</span>
<span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">8</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 0, #size-cells == 0)</span>
</pre></div>
</div>
</li>
-<li><p class="first">Remove mi-version / ml-version from <code class="docutils literal notranslate"><span class="pre">/ibm,opal/firmware</span></code> and replace with something better and more portable</p>
-</li>
+<li><p>Remove mi-version / ml-version from <code class="docutils literal notranslate"><span class="pre">/ibm,opal/firmware</span></code> and replace with something better and more portable</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -120,17 +118,15 @@ to make use of OPAL irqchip rather than event interface in linux.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -147,14 +143,15 @@ to make use of OPAL irqchip rather than event interface in linux.</li>
<li class="right" >
<a href="opal_nx_coproc_init-167.html" title="OPAL_NX_COPROC_INIT"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">POWER9 Changes to OPAL API</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-api/return-codes.html b/doc/opal-api/return-codes.html
index 18e2d20..17943a5 100644
--- a/doc/opal-api/return-codes.html
+++ b/doc/opal-api/return-codes.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL API Return Codes &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL API Return Codes &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="power9-changes.html" title="POWER9 Changes to OPAL API"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL API Return Codes</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-api-return-codes">
+ <section id="opal-api-return-codes">
<h1>OPAL API Return Codes<a class="headerlink" href="#opal-api-return-codes" title="Permalink to this headline">¶</a></h1>
<p>All OPAL calls return an integer relaying the success/failure of the OPAL
call.</p>
@@ -63,248 +63,248 @@ need to gracefully handle unknown error codes.</p>
<p>An OS running on POWER9 or above must handle all error codes as they were when
POWER9 was introduced. We use the placeholder “v1.0” version for
“since the dawn of time” even though there never was a skiboot v1.0</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="30%" />
-<col width="17%" />
-<col width="10%" />
-<col width="10%" />
-<col width="32%" />
+<col style="width: 30%" />
+<col style="width: 17%" />
+<col style="width: 10%" />
+<col style="width: 10%" />
+<col style="width: 32%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>Name</td>
-<td>Return Code</td>
-<td>POWER8 GA</td>
-<td>POWER9 GA</td>
-<td>skiboot version where introduced</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></td>
-<td>0</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></td>
-<td>-1</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></td>
-<td>-2</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></td>
-<td>-3</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-constrained"><span class="std std-ref">OPAL_CONSTRAINED</span></a></td>
-<td>-4</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-closed"><span class="std std-ref">OPAL_CLOSED</span></a></td>
-<td>-5</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></td>
-<td>-6</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></td>
-<td>-7</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></td>
-<td>-8</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></td>
-<td>-9</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-resource"><span class="std std-ref">OPAL_RESOURCE</span></a></td>
-<td>-10</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></td>
-<td>-11</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></td>
-<td>-12</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-hardware-frozen"><span class="std std-ref">OPAL_HARDWARE_FROZEN</span></a></td>
-<td>-13</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></td>
-<td>-14</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></td>
-<td>-15</td>
-<td>YES</td>
-<td>YES</td>
-<td>v1.0 (initial release)</td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-empty"><span class="std std-ref">OPAL_EMPTY</span></a></td>
-<td>-16</td>
-<td>NO</td>
-<td>YES</td>
-<td>v4.0</td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-i2c-timeout"><span class="std std-ref">OPAL_I2C_TIMEOUT</span></a></td>
-<td>-17</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-i2c-invalid-cmd"><span class="std std-ref">OPAL_I2C_INVALID</span></a></td>
-<td>-18</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-i2c-lbus-parity"><span class="std std-ref">OPAL_I2C_LBUS_PARITY</span></a></td>
-<td>-19</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-i2c-bkend-overrun"><span class="std std-ref">OPAL_I2C_BKEND_OVERRUN</span></a></td>
-<td>-20</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-i2c-bkend-access"><span class="std std-ref">OPAL_I2C_BKEND_ACCESS</span></a></td>
-<td>-21</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-i2c-arbt-lost"><span class="std std-ref">OPAL_I2C_ARBT_LOST</span></a></td>
-<td>-22</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-i2c-nack-rcvd"><span class="std std-ref">OPAL_I2C_NACK_RCVD</span></a></td>
-<td>-23</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-i2c-stop-err"><span class="std std-ref">OPAL_I2C_STOP_ERR</span></a></td>
-<td>-24</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-xscom-busy"><span class="std std-ref">OPAL_XSCOM_BUSY</span></a></td>
-<td>OPAL_BUSY</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-xscom-chiplet-off"><span class="std std-ref">OPAL_XSCOM_CHIPLET_OFF</span></a></td>
-<td>OPAL_WRONG_STATE</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-xscom-partial-good"><span class="std std-ref">OPAL_XSCOM_PARTIAL_GOOD</span></a></td>
-<td>-25</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-xscom-addr-error"><span class="std std-ref">OPAL_XSCOM_ADDR_ERROR</span></a></td>
-<td>-26</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-xscom-clock-error"><span class="std std-ref">OPAL_XSCOM_CLOCK_ERROR</span></a></td>
-<td>-27</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-xscom-parity-error"><span class="std std-ref">OPAL_XSCOM_PARITY_ERROR</span></a></td>
-<td>-28</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-xscom-timeout"><span class="std std-ref">OPAL_XSCOM_TIMEOUT</span></a></td>
-<td>-29</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-xscom-ctr-offlined"><span class="std std-ref">OPAL_XSCOM_CTR_OFFLINED</span></a></td>
-<td>-30</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-xive-provisioning"><span class="std std-ref">OPAL_XIVE_PROVISIONING</span></a></td>
-<td>-31</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-</tr>
-<tr class="row-even"><td><a class="reference internal" href="#opal-xive-free-active"><span class="std std-ref">OPAL_XIVE_FREE_ACTIVE</span></a></td>
-<td>-32</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></td>
-</tr>
-<tr class="row-odd"><td><a class="reference internal" href="#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></td>
-<td>-33</td>
-<td>NO</td>
-<td>YES</td>
-<td><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></td>
+<tbody>
+<tr class="row-odd"><td><p>Name</p></td>
+<td><p>Return Code</p></td>
+<td><p>POWER8 GA</p></td>
+<td><p>POWER9 GA</p></td>
+<td><p>skiboot version where introduced</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></p></td>
+<td><p>0</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-parameter"><span class="std std-ref">OPAL_PARAMETER</span></a></p></td>
+<td><p>-1</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></p></td>
+<td><p>-2</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-partial"><span class="std std-ref">OPAL_PARTIAL</span></a></p></td>
+<td><p>-3</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-constrained"><span class="std std-ref">OPAL_CONSTRAINED</span></a></p></td>
+<td><p>-4</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-closed"><span class="std std-ref">OPAL_CLOSED</span></a></p></td>
+<td><p>-5</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-hardware"><span class="std std-ref">OPAL_HARDWARE</span></a></p></td>
+<td><p>-6</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></p></td>
+<td><p>-7</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-permission"><span class="std std-ref">OPAL_PERMISSION</span></a></p></td>
+<td><p>-8</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-no-mem"><span class="std std-ref">OPAL_NO_MEM</span></a></p></td>
+<td><p>-9</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-resource"><span class="std std-ref">OPAL_RESOURCE</span></a></p></td>
+<td><p>-10</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></p></td>
+<td><p>-11</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-busy-event"><span class="std std-ref">OPAL_BUSY_EVENT</span></a></p></td>
+<td><p>-12</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-hardware-frozen"><span class="std std-ref">OPAL_HARDWARE_FROZEN</span></a></p></td>
+<td><p>-13</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></p></td>
+<td><p>-14</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-async-completion"><span class="std std-ref">OPAL_ASYNC_COMPLETION</span></a></p></td>
+<td><p>-15</p></td>
+<td><p>YES</p></td>
+<td><p>YES</p></td>
+<td><p>v1.0 (initial release)</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-empty"><span class="std std-ref">OPAL_EMPTY</span></a></p></td>
+<td><p>-16</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p>v4.0</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-i2c-timeout"><span class="std std-ref">OPAL_I2C_TIMEOUT</span></a></p></td>
+<td><p>-17</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-i2c-invalid-cmd"><span class="std std-ref">OPAL_I2C_INVALID</span></a></p></td>
+<td><p>-18</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-i2c-lbus-parity"><span class="std std-ref">OPAL_I2C_LBUS_PARITY</span></a></p></td>
+<td><p>-19</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-i2c-bkend-overrun"><span class="std std-ref">OPAL_I2C_BKEND_OVERRUN</span></a></p></td>
+<td><p>-20</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-i2c-bkend-access"><span class="std std-ref">OPAL_I2C_BKEND_ACCESS</span></a></p></td>
+<td><p>-21</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-i2c-arbt-lost"><span class="std std-ref">OPAL_I2C_ARBT_LOST</span></a></p></td>
+<td><p>-22</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-i2c-nack-rcvd"><span class="std std-ref">OPAL_I2C_NACK_RCVD</span></a></p></td>
+<td><p>-23</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-i2c-stop-err"><span class="std std-ref">OPAL_I2C_STOP_ERR</span></a></p></td>
+<td><p>-24</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.1.0.html#skiboot-5-1-0"><span class="std std-ref">skiboot-5.1.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-xscom-busy"><span class="std std-ref">OPAL_XSCOM_BUSY</span></a></p></td>
+<td><p>OPAL_BUSY</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-xscom-chiplet-off"><span class="std std-ref">OPAL_XSCOM_CHIPLET_OFF</span></a></p></td>
+<td><p>OPAL_WRONG_STATE</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-xscom-partial-good"><span class="std std-ref">OPAL_XSCOM_PARTIAL_GOOD</span></a></p></td>
+<td><p>-25</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-xscom-addr-error"><span class="std std-ref">OPAL_XSCOM_ADDR_ERROR</span></a></p></td>
+<td><p>-26</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-xscom-clock-error"><span class="std std-ref">OPAL_XSCOM_CLOCK_ERROR</span></a></p></td>
+<td><p>-27</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-xscom-parity-error"><span class="std std-ref">OPAL_XSCOM_PARITY_ERROR</span></a></p></td>
+<td><p>-28</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-xscom-timeout"><span class="std std-ref">OPAL_XSCOM_TIMEOUT</span></a></p></td>
+<td><p>-29</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-xscom-ctr-offlined"><span class="std std-ref">OPAL_XSCOM_CTR_OFFLINED</span></a></p></td>
+<td><p>-30</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-xive-provisioning"><span class="std std-ref">OPAL_XIVE_PROVISIONING</span></a></p></td>
+<td><p>-31</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#opal-xive-free-active"><span class="std std-ref">OPAL_XIVE_FREE_ACTIVE</span></a></p></td>
+<td><p>-32</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.5.0.html#skiboot-5-5-0"><span class="std std-ref">skiboot-5.5.0</span></a></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#opal-timeout"><span class="std std-ref">OPAL_TIMEOUT</span></a></p></td>
+<td><p>-33</p></td>
+<td><p>NO</p></td>
+<td><p>YES</p></td>
+<td><p><a class="reference internal" href="../release-notes/skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a></p></td>
</tr>
</tbody>
</table>
<p>The core set of return codes are:</p>
-<div class="section" id="opal-success">
+<section id="opal-success">
<span id="id1"></span><h2>OPAL_SUCCESS<a class="headerlink" href="#opal-success" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SUCCESS 0</span>
</pre></div>
</div>
<p>Success!</p>
-</div>
-<div class="section" id="opal-parameter">
+</section>
+<section id="opal-parameter">
<span id="id2"></span><h2>OPAL_PARAMETER<a class="headerlink" href="#opal-parameter" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PARAMETER -1</span>
</pre></div>
@@ -313,58 +313,58 @@ POWER9 was introduced. We use the placeholder “v1.0” version for
invalid OPAL call. To determine if a specific OPAL call is supported
or not, OPAL_CHECK_TOKEN should be called rather than relying on
OPAL_PARAMETER being returned for an invalid token.</p>
-</div>
-<div class="section" id="opal-busy">
+</section>
+<section id="opal-busy">
<span id="id3"></span><h2>OPAL_BUSY<a class="headerlink" href="#opal-busy" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_BUSY -2</span>
</pre></div>
</div>
<p>Try again later. Related to <cite>OPAL_BUSY_EVENT</cite>, but <cite>OPAL_BUSY</cite> indicates that the
caller need not call <cite>OPAL_POLL_EVENTS</cite> itself. <strong>TODO</strong> Clarify current situation.</p>
-</div>
-<div class="section" id="opal-partial">
+</section>
+<section id="opal-partial">
<span id="id4"></span><h2>OPAL_PARTIAL<a class="headerlink" href="#opal-partial" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PARTIAL -3</span>
</pre></div>
</div>
<p>The operation partially succeeded.</p>
-</div>
-<div class="section" id="opal-constrained">
+</section>
+<section id="opal-constrained">
<span id="id5"></span><h2>OPAL_CONSTRAINED<a class="headerlink" href="#opal-constrained" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_CONSTRAINED -4</span>
</pre></div>
</div>
<p><strong>FIXME</strong></p>
-</div>
-<div class="section" id="opal-closed">
+</section>
+<section id="opal-closed">
<span id="id6"></span><h2>OPAL_CLOSED<a class="headerlink" href="#opal-closed" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_CLOSED -5</span>
</pre></div>
</div>
<p><strong>FIXME</strong> document these</p>
-</div>
-<div class="section" id="opal-hardware">
+</section>
+<section id="opal-hardware">
<span id="id7"></span><h2>OPAL_HARDWARE<a class="headerlink" href="#opal-hardware" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_HARDWARE -6</span>
</pre></div>
</div>
<p><strong>FIXME</strong> document these</p>
-</div>
-<div class="section" id="opal-unsupported">
+</section>
+<section id="opal-unsupported">
<span id="id8"></span><h2>OPAL_UNSUPPORTED<a class="headerlink" href="#opal-unsupported" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_UNSUPPORTED -7</span>
</pre></div>
</div>
<p>Unsupported operation. Non-fatal.</p>
-</div>
-<div class="section" id="opal-permission">
+</section>
+<section id="opal-permission">
<span id="id9"></span><h2>OPAL_PERMISSION<a class="headerlink" href="#opal-permission" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_PERMISSION -8</span>
</pre></div>
</div>
<p>Inadequate permission to perform the operation.</p>
-</div>
-<div class="section" id="opal-no-mem">
+</section>
+<section id="opal-no-mem">
<span id="id10"></span><h2>OPAL_NO_MEM<a class="headerlink" href="#opal-no-mem" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_NO_MEM -9</span>
</pre></div>
@@ -374,8 +374,8 @@ operation. Ideally, this should never happen. Skiboot reserves a small amount
of memory for its heap and some operations (such as I2C requests) are allocated
from this heap.</p>
<p>If this is ever hit, you should likely file a bug.</p>
-</div>
-<div class="section" id="opal-resource">
+</section>
+<section id="opal-resource">
<span id="id11"></span><h2>OPAL_RESOURCE<a class="headerlink" href="#opal-resource" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_RESOURCE -10</span>
</pre></div>
@@ -384,30 +384,30 @@ from this heap.</p>
While OPAL_BUSY indicates that OPAL may soon be able to proces the requent,
OPAL_RESOURCE is a more permanent error and while the resource <em>may</em> become
available again in the future, it is not certain that it will.</p>
-</div>
-<div class="section" id="opal-internal-error">
+</section>
+<section id="opal-internal-error">
<span id="id12"></span><h2>OPAL_INTERNAL_ERROR<a class="headerlink" href="#opal-internal-error" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_INTERNAL_ERROR -11</span>
</pre></div>
</div>
<p>Something has gone wrong inside OPAL. This is likely a bug somewhere and we
return OPAL_INTERNAL_ERROR for safety.</p>
-</div>
-<div class="section" id="opal-busy-event">
+</section>
+<section id="opal-busy-event">
<span id="id13"></span><h2>OPAL_BUSY_EVENT<a class="headerlink" href="#opal-busy-event" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_BUSY_EVENT -12</span>
</pre></div>
</div>
<p>The same as <cite>OPAL_BUSY</cite> but signals that the OS should call <cite>OPAL_POLL_EVENTS</cite> as
that may be required to get into a state where the call will succeed.</p>
-</div>
-<div class="section" id="opal-hardware-frozen">
+</section>
+<section id="opal-hardware-frozen">
<span id="id14"></span><h2>OPAL_HARDWARE_FROZEN<a class="headerlink" href="#opal-hardware-frozen" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_HARDWARE_FROZEN -13</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-wrong-state">
+</section>
+<section id="opal-wrong-state">
<span id="id15"></span><h2>OPAL_WRONG_STATE<a class="headerlink" href="#opal-wrong-state" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_WRONG_STATE -14</span>
</pre></div>
@@ -415,8 +415,8 @@ that may be required to get into a state where the call will succeed.</p>
<p>The requested operation requires a (hardware or software) component to be in
a different state. For example, you cannot call OPAL_START_CPU on a CPU that
is not currently in OPAL.</p>
-</div>
-<div class="section" id="opal-async-completion">
+</section>
+<section id="opal-async-completion">
<span id="id16"></span><h2>OPAL_ASYNC_COMPLETION<a class="headerlink" href="#opal-async-completion" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_ASYNC_COMPLETION -15</span>
</pre></div>
@@ -432,8 +432,8 @@ pseudo-code for an async call:</p>
<span class="o">//</span> <span class="n">handle</span> <span class="n">result</span> <span class="n">here</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-empty">
+</section>
+<section id="opal-empty">
<span id="id17"></span><h2>OPAL_EMPTY<a class="headerlink" href="#opal-empty" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_EMPTY -16</span>
</pre></div>
@@ -441,120 +441,121 @@ pseudo-code for an async call:</p>
<p>The call was successful and the correct result is empty. For example, the
OPAL_IPMI_RECV call can succeed and return that there is no waiting IPMI
message.</p>
-</div>
-<div class="section" id="opal-i2c-timeout">
+</section>
+<section id="opal-i2c-timeout">
<span id="id18"></span><h2>OPAL_I2C_TIMEOUT<a class="headerlink" href="#opal-i2c-timeout" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_TIMEOUT -17</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-i2c-invalid">
+</section>
+<section id="opal-i2c-invalid">
<span id="opal-i2c-invalid-cmd"></span><h2>OPAL_I2C_INVALID<a class="headerlink" href="#opal-i2c-invalid" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_INVALID_CMD -18</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-i2c-lbus-parity">
+</section>
+<section id="opal-i2c-lbus-parity">
<span id="id19"></span><h2>OPAL_I2C_LBUS_PARITY<a class="headerlink" href="#opal-i2c-lbus-parity" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_LBUS_PARITY -19</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-i2c-bkend-overrun">
+</section>
+<section id="opal-i2c-bkend-overrun">
<span id="id20"></span><h2>OPAL_I2C_BKEND_OVERRUN<a class="headerlink" href="#opal-i2c-bkend-overrun" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_BKEND_OVERRUN -20</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-i2c-bkend-access">
+</section>
+<section id="opal-i2c-bkend-access">
<span id="id21"></span><h2>OPAL_I2C_BKEND_ACCESS<a class="headerlink" href="#opal-i2c-bkend-access" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_BKEND_ACCESS -21</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-i2c-arbt-lost">
+</section>
+<section id="opal-i2c-arbt-lost">
<span id="id22"></span><h2>OPAL_I2C_ARBT_LOST<a class="headerlink" href="#opal-i2c-arbt-lost" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_ARBT_LOST -22</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-i2c-nack-rcvd">
+</section>
+<section id="opal-i2c-nack-rcvd">
<span id="id23"></span><h2>OPAL_I2C_NACK_RCVD<a class="headerlink" href="#opal-i2c-nack-rcvd" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_NACK_RCVD -23</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-i2c-stop-err">
+</section>
+<section id="opal-i2c-stop-err">
<span id="id24"></span><h2>OPAL_I2C_STOP_ERR<a class="headerlink" href="#opal-i2c-stop-err" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_I2C_STOP_ERR -24</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-xscom-busy">
+</section>
+<section id="opal-xscom-busy">
<span id="id25"></span><h2>OPAL_XSCOM_BUSY<a class="headerlink" href="#opal-xscom-busy" title="Permalink to this headline">¶</a></h2>
<p>An alias for <a class="reference internal" href="#opal-busy"><span class="std std-ref">OPAL_BUSY</span></a></p>
-</div>
-<div class="section" id="opal-xscom-chiplet-off">
+</section>
+<section id="opal-xscom-chiplet-off">
<span id="id26"></span><h2>OPAL_XSCOM_CHIPLET_OFF<a class="headerlink" href="#opal-xscom-chiplet-off" title="Permalink to this headline">¶</a></h2>
<p>An alias for <a class="reference internal" href="#opal-wrong-state"><span class="std std-ref">OPAL_WRONG_STATE</span></a></p>
-</div>
-<div class="section" id="opal-xscom-partial-good">
+</section>
+<section id="opal-xscom-partial-good">
<span id="id27"></span><h2>OPAL_XSCOM_PARTIAL_GOOD<a class="headerlink" href="#opal-xscom-partial-good" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XSCOM_PARTIAL_GOOD -25</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-xscom-addr-error">
+</section>
+<section id="opal-xscom-addr-error">
<span id="id28"></span><h2>OPAL_XSCOM_ADDR_ERROR<a class="headerlink" href="#opal-xscom-addr-error" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XSCOM_ADDR_ERROR -26</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-xscom-clock-error">
+</section>
+<section id="opal-xscom-clock-error">
<span id="id29"></span><h2>OPAL_XSCOM_CLOCK_ERROR<a class="headerlink" href="#opal-xscom-clock-error" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XSCOM_CLOCK_ERROR -27</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-xscom-parity-error">
+</section>
+<section id="opal-xscom-parity-error">
<span id="id30"></span><h2>OPAL_XSCOM_PARITY_ERROR<a class="headerlink" href="#opal-xscom-parity-error" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XSCOM_PARITY_ERROR -28</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-xscom-timeout">
+</section>
+<section id="opal-xscom-timeout">
<span id="id31"></span><h2>OPAL_XSCOM_TIMEOUT<a class="headerlink" href="#opal-xscom-timeout" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XSCOM_TIMEOUT -29</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-xscom-ctr-offlined">
+</section>
+<section id="opal-xscom-ctr-offlined">
<span id="id32"></span><h2>OPAL_XSCOM_CTR_OFFLINED<a class="headerlink" href="#opal-xscom-ctr-offlined" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XSCOM_CTR_OFFLINED -30</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-xive-provisioning">
+</section>
+<section id="opal-xive-provisioning">
<span id="id33"></span><h2>OPAL_XIVE_PROVISIONING<a class="headerlink" href="#opal-xive-provisioning" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XIVE_PROVISIONING -31</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-xive-free-active">
+</section>
+<section id="opal-xive-free-active">
<span id="id34"></span><h2>OPAL_XIVE_FREE_ACTIVE<a class="headerlink" href="#opal-xive-free-active" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_XIVE_FREE_ACTIVE -32</span>
</pre></div>
</div>
-</div>
-<div class="section" id="opal-timeout">
+</section>
+<section id="opal-timeout">
<span id="id35"></span><h2>OPAL_TIMEOUT<a class="headerlink" href="#opal-timeout" title="Permalink to this headline">¶</a></h2>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_TIMEOUT -33</span>
</pre></div>
</div>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -617,17 +618,15 @@ message.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -644,14 +643,15 @@ message.</p>
<li class="right" >
<a href="power9-changes.html" title="POWER9 Changes to OPAL API"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL API Return Codes</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/opal-spec.html b/doc/opal-spec.html
index c118b2d..644d41c 100644
--- a/doc/opal-spec.html
+++ b/doc/opal-spec.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>OPAL Specification &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>OPAL Specification &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="overview.html" title="Skiboot overview"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Specification</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="opal-specification">
+ <section id="opal-specification">
<h1>OPAL Specification<a class="headerlink" href="#opal-specification" title="Permalink to this headline">¶</a></h1>
<p><strong>DRAFT - VERSION 0.0.1 AT BEST.</strong></p>
<p><strong>COMMENTS ARE WELCOME</strong> - and indeed, needed.</p>
@@ -53,53 +53,58 @@
<p>While skiboot is the reference implementation, this documentation should
be complete enough that (given hardware documentation) create another
implementation. It is not recommended that you do this though.</p>
-<div class="section" id="authors">
+<section id="authors">
<h2>Authors<a class="headerlink" href="#authors" title="Permalink to this headline">¶</a></h2>
<p>Stewart Smith &lt;<a class="reference external" href="mailto:stewart&#37;&#52;&#48;linux&#46;ibm&#46;com">stewart<span>&#64;</span>linux<span>&#46;</span>ibm<span>&#46;</span>com</a>&gt; : OPAL Architect, IBM</p>
-</div>
-<div class="section" id="definitions">
+</section>
+<section id="definitions">
<h2>Definitions<a class="headerlink" href="#definitions" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>Host processor</dt>
-<dd>the main POWER CPU (e.g. the POWER8 CPU)</dd>
-<dt>Host OS</dt>
-<dd>the operating system running on the host processor.</dd>
-<dt>OPAL</dt>
-<dd>OpenPOWER Abstraction Layer.</dd>
+<dl class="simple">
+<dt>Host processor</dt><dd><p>the main POWER CPU (e.g. the POWER8 CPU)</p>
+</dd>
+<dt>Host OS</dt><dd><p>the operating system running on the host processor.</p>
+</dd>
+<dt>OPAL</dt><dd><p>OpenPOWER Abstraction Layer.</p>
+</dd>
</dl>
-</div>
-<div class="section" id="what-is-opal">
+</section>
+<section id="what-is-opal">
<h2>What is OPAL?<a class="headerlink" href="#what-is-opal" title="Permalink to this headline">¶</a></h2>
<p>The OpenPower Abstraction Layer (OPAL) is boot and runtime firmware for
POWER systems. There are several components to what makes up a firmware
image for OpenPower machines.</p>
<p>For example, there may be:</p>
<ul class="simple">
-<li>BMC firmware<ul>
-<li>Firmware that runs purely on the BMC.</li>
-<li>On IBM systems that have an FSP rather than a BMC, there is FSP firmware</li>
-<li>While essential to having the machine function, this firmware is not
-part of the OPAL Specification.</li>
+<li><p>BMC firmware</p>
+<ul>
+<li><p>Firmware that runs purely on the BMC.</p></li>
+<li><p>On IBM systems that have an FSP rather than a BMC, there is FSP firmware</p></li>
+<li><p>While essential to having the machine function, this firmware is not
+part of the OPAL Specification.</p></li>
</ul>
</li>
-<li>HostBoot<ul>
-<li>HostBoot ( <a class="reference external" href="https://github.com/open-power/hostboot">https://github.com/open-power/hostboot</a> ) performs all
-processor, bus and memory initialization within IBM POWER based systems.</li>
+<li><p>HostBoot</p>
+<ul>
+<li><p>HostBoot ( <a class="reference external" href="https://github.com/open-power/hostboot">https://github.com/open-power/hostboot</a> ) performs all
+processor, bus and memory initialization within IBM POWER based systems.</p></li>
</ul>
</li>
-<li>OCC Firmware<ul>
-<li>On Chip Controller ( Firmware for OCC - a PPC405 core inside the IBM
-POWER8 in charge of keeping the system thermally and power safe ).</li>
+<li><p>OCC Firmware</p>
+<ul>
+<li><p>On Chip Controller ( Firmware for OCC - a PPC405 core inside the IBM
+POWER8 in charge of keeping the system thermally and power safe ).</p></li>
</ul>
</li>
-<li>SkiBoot<ul>
-<li>Boot and runtime services.</li>
+<li><p>SkiBoot</p>
+<ul>
+<li><p>Boot and runtime services.</p></li>
</ul>
</li>
-<li>A linux kernel and initramfs incorporating petitboot<ul>
-<li>The bootloader. This is where a user chooses what OS to boot, and
+<li><p>A linux kernel and initramfs incorporating petitboot</p>
+<ul>
+<li><p>The bootloader. This is where a user chooses what OS to boot, and
petitboot will use kexec to switch to the host Operating System
-(for example, PowerKVM).</li>
+(for example, PowerKVM).</p></li>
</ul>
</li>
</ul>
@@ -115,21 +120,21 @@ Operating System. It does not dictate that any specific pieces of firmware
code be used, although re-inventing the wheel is strongly discouraged.</p>
<p>The OPAL Specification explicitly allows for:</p>
<ul class="simple">
-<li>A conforming implementation to not use any of the reference implementation
-code.</li>
-<li>A conforming implementation to use any 64bit POWER ISA conforming processor,
-and not be limited to the IBM POWER8.</li>
-<li>A conforming implementation to be a simulator, emulator or virtual environment</li>
-<li>A host OS other than Linux</li>
+<li><p>A conforming implementation to not use any of the reference implementation
+code.</p></li>
+<li><p>A conforming implementation to use any 64bit POWER ISA conforming processor,
+and not be limited to the IBM POWER8.</p></li>
+<li><p>A conforming implementation to be a simulator, emulator or virtual environment</p></li>
+<li><p>A host OS other than Linux</p></li>
</ul>
<p>Explicitly not covered in this specification:</p>
<ul class="simple">
-<li>A 32bit OPAL Specification
+<li><p>A 32bit OPAL Specification
There is no reason this couldn’t exist but the current specification is for
-64bit POWER systems only.</li>
+64bit POWER systems only.</p></li>
</ul>
-</div>
-<div class="section" id="boot-services">
+</section>
+<section id="boot-services">
<h2>Boot Services<a class="headerlink" href="#boot-services" title="Permalink to this headline">¶</a></h2>
<p>An OPAL compliant firmware implementation will load and execute a payload
capable of booting a Host Operating System.</p>
@@ -147,53 +152,52 @@ know how to call OPAL runtime services.
[<strong>TODO</strong>: expand on this. ]</p>
<p>Explicitly not covered by the OPAL Specification:</p>
<ul class="simple">
-<li>Kernel module ABI for skiroot kernel</li>
-<li>Userspace environment of skiroot</li>
-<li>That skiroot is Linux.</li>
+<li><p>Kernel module ABI for skiroot kernel</p></li>
+<li><p>Userspace environment of skiroot</p></li>
+<li><p>That skiroot is Linux.</p></li>
</ul>
<p>Explicitly allowed:</p>
<ul class="simple">
-<li>Replacing the payload with something of equal/similar functionality
+<li><p>Replacing the payload with something of equal/similar functionality
(whether replacing skiroot with an implementation of Zork would be compliant
-is left as an exercise for the reader)</li>
+is left as an exercise for the reader)</p></li>
</ul>
-</div>
-<div class="section" id="payload-environment">
+</section>
+<section id="payload-environment">
<h2>Payload Environment<a class="headerlink" href="#payload-environment" title="Permalink to this headline">¶</a></h2>
<p>The payload is started with:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="17%" />
-<col width="83%" />
+<col style="width: 17%" />
+<col style="width: 83%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Register</th>
-<th class="head">Value</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Register</p></th>
+<th class="head"><p>Value</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>r3</td>
-<td>address of flattened device-tree (fdt)</td>
+<tbody>
+<tr class="row-even"><td><p>r3</p></td>
+<td><p>address of flattened device-tree (fdt)</p></td>
</tr>
-<tr class="row-odd"><td>r8</td>
-<td>OPAL base</td>
+<tr class="row-odd"><td><p>r8</p></td>
+<td><p>OPAL base</p></td>
</tr>
-<tr class="row-even"><td>r9</td>
-<td>OPAL entry</td>
+<tr class="row-even"><td><p>r9</p></td>
+<td><p>OPAL entry</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="runtime-services">
+</section>
+<section id="runtime-services">
<h2>Runtime Services<a class="headerlink" href="#runtime-services" title="Permalink to this headline">¶</a></h2>
<p>An OPAL Specification compliant system provides runtime services to the host
Operating System via a standard interface.</p>
-<dl class="docutils">
-<dt>An OPAL call is made by calling opal_entry with:</dt>
-<dd><ul class="first last simple">
-<li>r0: OPAL Token</li>
-<li>r2: OPAL Base</li>
-<li>r3..r10: Args (up to 8)</li>
+<dl class="simple">
+<dt>An OPAL call is made by calling opal_entry with:</dt><dd><ul class="simple">
+<li><p>r0: OPAL Token</p></li>
+<li><p>r2: OPAL Base</p></li>
+<li><p>r3..r10: Args (up to 8)</p></li>
</ul>
</dd>
</dl>
@@ -207,15 +211,15 @@ OPAL_CHECK_TOKEN to test for optional functionality.</p>
appropriately convert parameters before passing them to OPAL.</p>
<p>Machine state across OPAL calls:</p>
<ul class="simple">
-<li>r1 is preserved</li>
-<li>r12 is scratch</li>
-<li>r13 - 31 preserved</li>
-<li>64bit HV real mode</li>
-<li>big endian</li>
-<li>external interrupts disabled</li>
+<li><p>r1 is preserved</p></li>
+<li><p>r12 is scratch</p></li>
+<li><p>r13 - 31 preserved</p></li>
+<li><p>64bit HV real mode</p></li>
+<li><p>big endian</p></li>
+<li><p>external interrupts disabled</p></li>
</ul>
-</div>
-<div class="section" id="detecting-opal-support">
+</section>
+<section id="detecting-opal-support">
<h2>Detecting OPAL Support<a class="headerlink" href="#detecting-opal-support" title="Permalink to this headline">¶</a></h2>
<p>A Host OS may need to detect the presence of OPAL as it may support booting
under other platforms. For example, a single Linux kernel can be built to boot
@@ -253,8 +257,8 @@ about the firmware environment.</p>
<p>The version property is a textual representation of the OPAL version.
For example, it may be “skiboot-4.1” or other versioning described
in more detail in <a class="reference internal" href="process/versioning.html#versioning"><span class="std std-ref">Versioning Scheme of skiboot</span></a>.</p>
-</div>
-<div class="section" id="opal-log">
+</section>
+<section id="opal-log">
<h2>OPAL log<a class="headerlink" href="#opal-log" title="Permalink to this headline">¶</a></h2>
<p>OPAL implementation SHOULD have an in memory log where informational and
error messages are stored. If present it MUST be human readable and text based.
@@ -266,10 +270,11 @@ port.</p>
messages so that only higher priority log messages go over the serial port
while more messages go to the in memory buffer.</p>
<p>[TODO: add device-tree bits here]</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -304,17 +309,15 @@ while more messages go to the in memory buffer.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -331,13 +334,14 @@ while more messages go to the in memory buffer.</p>
<li class="right" >
<a href="overview.html" title="Skiboot overview"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">OPAL Specification</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/overview.html b/doc/overview.html
index 27dac9e..d212fff 100644
--- a/doc/overview.html
+++ b/doc/overview.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Skiboot overview &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Skiboot overview &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="index.html" title="SkiBoot Documentation"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Skiboot overview</a></li>
</ul>
</div>
@@ -44,151 +44,143 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-overview">
+ <section id="skiboot-overview">
<h1>Skiboot overview<a class="headerlink" href="#skiboot-overview" title="Permalink to this headline">¶</a></h1>
<p>Skiboot is boot and runtime firmware for OpenPOWER systems.
It’s loaded by earlier boot firmware (typically Hostboot).
Along with loading the bootloader, it provides some runtime
services to the OS (typically Linux).</p>
-<div class="section" id="source-layout">
+<section id="source-layout">
<h2>Source layout<a class="headerlink" href="#source-layout" title="Permalink to this headline">¶</a></h2>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="16%" />
-<col width="84%" />
+<col style="width: 16%" />
+<col style="width: 84%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Directory</th>
-<th class="head">Content</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Directory</p></th>
+<th class="head"><p>Content</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>asm/</td>
-<td>small amount, mainly entry points</td>
+<tbody>
+<tr class="row-even"><td><p>asm/</p></td>
+<td><p>small amount, mainly entry points</p></td>
</tr>
-<tr class="row-odd"><td>ccan/</td>
-<td>bits from <a class="reference external" href="https://ccodearchive.net/">CCAN</a></td>
+<tr class="row-odd"><td><p>ccan/</p></td>
+<td><p>bits from <a class="reference external" href="https://ccodearchive.net/">CCAN</a></p></td>
</tr>
-<tr class="row-even"><td>core/</td>
-<td>common code among machines.</td>
+<tr class="row-even"><td><p>core/</p></td>
+<td><p>common code among machines.</p></td>
</tr>
-<tr class="row-odd"><td>doc/</td>
-<td>not enough here</td>
+<tr class="row-odd"><td><p>doc/</p></td>
+<td><p>not enough here</p></td>
</tr>
-<tr class="row-even"><td>external/</td>
-<td>tools and userspace components</td>
+<tr class="row-even"><td><p>external/</p></td>
+<td><p>tools and userspace components</p></td>
</tr>
-<tr class="row-odd"><td>hdata/</td>
-<td>Parses HDAT from Hostboot/FSP into Device Tree</td>
+<tr class="row-odd"><td><p>hdata/</p></td>
+<td><p>Parses HDAT from Hostboot/FSP into Device Tree</p></td>
</tr>
-<tr class="row-even"><td>hw/</td>
-<td>drivers for things &amp; fsp things.</td>
+<tr class="row-even"><td><p>hw/</p></td>
+<td><p>drivers for things &amp; fsp things.</p></td>
</tr>
-<tr class="row-odd"><td>include/</td>
-<td>headers!</td>
+<tr class="row-odd"><td><p>include/</p></td>
+<td><p>headers!</p></td>
</tr>
-<tr class="row-even"><td>libc/</td>
-<td>tiny libc, originally from <a class="reference external" href="https://github.com/aik/SLOF/">SLOF</a></td>
+<tr class="row-even"><td><p>libc/</p></td>
+<td><p>tiny libc, originally from <a class="reference external" href="https://github.com/aik/SLOF/">SLOF</a></p></td>
</tr>
-<tr class="row-odd"><td>libfdt/</td>
-<td>Manipulate flattened device trees</td>
+<tr class="row-odd"><td><p>libfdt/</p></td>
+<td><p>Manipulate flattened device trees</p></td>
</tr>
-<tr class="row-even"><td>libflash/</td>
-<td>Lib for talking to flash and parsing FFS structs</td>
+<tr class="row-even"><td><p>libflash/</p></td>
+<td><p>Lib for talking to flash and parsing FFS structs</p></td>
</tr>
-<tr class="row-odd"><td>libpore/</td>
-<td>to manipulate PORE <a class="footnote-reference" href="#id2" id="id1">[1]</a> engine.</td>
+<tr class="row-odd"><td><p>libpore/</p></td>
+<td><p>to manipulate PORE <a class="footnote-reference brackets" href="#id2" id="id1">1</a> engine.</p></td>
</tr>
-<tr class="row-even"><td>libstb/</td>
-<td>See <a class="reference internal" href="stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a></td>
+<tr class="row-even"><td><p>libstb/</p></td>
+<td><p>See <a class="reference internal" href="stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a></p></td>
</tr>
-<tr class="row-odd"><td>libxz/</td>
-<td>The <a class="reference external" href="https://tukaani.org/xz/embedded.html">xz_embedded</a> library</td>
+<tr class="row-odd"><td><p>libxz/</p></td>
+<td><p>The <a class="reference external" href="https://tukaani.org/xz/embedded.html">xz_embedded</a> library</p></td>
</tr>
-<tr class="row-even"><td>opal-ci/</td>
-<td>Some scripts to help Continuous Integration testing</td>
+<tr class="row-even"><td><p>opal-ci/</p></td>
+<td><p>Some scripts to help Continuous Integration testing</p></td>
</tr>
-<tr class="row-odd"><td>platforms/</td>
-<td>Platform (machine/BMC) specific code</td>
+<tr class="row-odd"><td><p>platforms/</p></td>
+<td><p>Platform (machine/BMC) specific code</p></td>
</tr>
-<tr class="row-even"><td>test/</td>
-<td>Test scripts and binaries</td>
+<tr class="row-even"><td><p>test/</p></td>
+<td><p>Test scripts and binaries</p></td>
</tr>
</tbody>
</table>
-<table class="docutils footnote" frame="void" id="id2" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>Power On Reset Engine. Used to bring cores out of deep sleep states.
+<dl class="footnote brackets">
+<dt class="label" id="id2"><span class="brackets"><a class="fn-backref" href="#id1">1</a></span></dt>
+<dd><p>Power On Reset Engine. Used to bring cores out of deep sleep states.
For POWER9, this also includes the <cite>p9_stop_api</cite> which manipulates
the low level microcode to-reinit certain SPRs on transition out of
-a state losing STOP state.</td></tr>
-</tbody>
-</table>
+a state losing STOP state.</p>
+</dd>
+</dl>
<p>We have a spinlock implementation in <a class="reference external" href="https://github.com/open-power/skiboot/blob/v5.8/asm/lock.S">asm/lock.S</a>
Entry points are detailed in <a class="reference external" href="https://github.com/open-power/skiboot/blob/v5.8/asm/head.S">asm/head.S</a>
The main C entry point is in <a class="reference external" href="https://github.com/open-power/skiboot/blob/v5.8/core/init.c">core/init.c</a>: <a class="reference external" href="https://github.com/open-power/skiboot/blob/v5.8/core/init.c#L785">main_cpu_entry()</a></p>
-</div>
-<div class="section" id="binaries">
+</section>
+<section id="binaries">
<h2>Binaries<a class="headerlink" href="#binaries" title="Permalink to this headline">¶</a></h2>
<p>The following binaries are built:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="29%" />
-<col width="71%" />
+<col style="width: 29%" />
+<col style="width: 71%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">File</th>
-<th class="head">Purpose</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>File</p></th>
+<th class="head"><p>Purpose</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>skiboot.lid</td>
-<td>Binary for flashing onto systems <a class="footnote-reference" href="#id10" id="id7">[2]</a></td>
+<tbody>
+<tr class="row-even"><td><p>skiboot.lid</p></td>
+<td><p>Binary for flashing onto systems <a class="footnote-reference brackets" href="#id10" id="id7">2</a></p></td>
</tr>
-<tr class="row-odd"><td>skiboot.lid.stb</td>
-<td>Secure and Trusted Boot container wrapped skiboot</td>
+<tr class="row-odd"><td><p>skiboot.lid.stb</p></td>
+<td><p>Secure and Trusted Boot container wrapped skiboot</p></td>
</tr>
-<tr class="row-even"><td><em>skiboot.lid.xz</em></td>
-<td>XZ compressed binary <a class="footnote-reference" href="#id11" id="id8">[3]</a></td>
+<tr class="row-even"><td><p><em>skiboot.lid.xz</em></p></td>
+<td><p>XZ compressed binary <a class="footnote-reference brackets" href="#id11" id="id8">3</a></p></td>
</tr>
-<tr class="row-odd"><td><em>skiboot.lid.xz.stb</em></td>
-<td>STB container wrapped XZ compressed skiboot <a class="footnote-reference" href="#id12" id="id9">[4]</a></td>
+<tr class="row-odd"><td><p><em>skiboot.lid.xz.stb</em></p></td>
+<td><p>STB container wrapped XZ compressed skiboot <a class="footnote-reference brackets" href="#id12" id="id9">4</a></p></td>
</tr>
-<tr class="row-even"><td>skiboot.elf</td>
-<td>is the elf binary of it, lid comes from this</td>
+<tr class="row-even"><td><p>skiboot.elf</p></td>
+<td><p>is the elf binary of it, lid comes from this</p></td>
</tr>
-<tr class="row-odd"><td>skiboot.map</td>
-<td>plain map of symbols</td>
+<tr class="row-odd"><td><p>skiboot.map</p></td>
+<td><p>plain map of symbols</p></td>
</tr>
</tbody>
</table>
-<table class="docutils footnote" frame="void" id="id10" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id7">[2]</a></td><td>Practically speaking, this is just IBM FSP based systems now. Since
+<dl class="footnote brackets">
+<dt class="label" id="id10"><span class="brackets"><a class="fn-backref" href="#id7">2</a></span></dt>
+<dd><p>Practically speaking, this is just IBM FSP based systems now. Since
the <cite>skiboot.lid</cite> size is now greater than 1MB, which is the size of
the default <cite>PAYLOAD</cite> PNOR partition size on OpenPOWER systems, you
-will want the <cite>skiboot.lid.xz</cite> or <cite>skiboot.lid.xz.stb</cite> instead.</td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id11" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id8">[3]</a></td><td>On OpenPOWER systems, hostboot will read and decompress XZ
+will want the <cite>skiboot.lid.xz</cite> or <cite>skiboot.lid.xz.stb</cite> instead.</p>
+</dd>
+<dt class="label" id="id11"><span class="brackets"><a class="fn-backref" href="#id8">3</a></span></dt>
+<dd><p>On OpenPOWER systems, hostboot will read and decompress XZ
compressed payloads. This shortens boot time (less data to read),
adds a checksum over the <cite>PAYLOAD</cite> and saves valuable PNOR space.
-If in doubt, use this payload.</td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id12" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id9">[4]</a></td><td>If a secure boot system, use this payload.</td></tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="booting">
+If in doubt, use this payload.</p>
+</dd>
+<dt class="label" id="id12"><span class="brackets"><a class="fn-backref" href="#id9">4</a></span></dt>
+<dd><p>If a secure boot system, use this payload.</p>
+</dd>
+</dl>
+</section>
+<section id="booting">
<h2>Booting<a class="headerlink" href="#booting" title="Permalink to this headline">¶</a></h2>
<p>On boot, every thread of execution jumps to a single entry point in skiboot
so we need to do some magic to ensure we init things properly and don’t stomp
@@ -211,8 +203,8 @@ purposes.</p>
may already be there before exporting this new device tree out to the OS.</p>
<p>The main entry point is main_cpu_entry() in core/init.c, this is a carefully
ordered init of things. The sequence is relatively well documented there.</p>
-</div>
-<div class="section" id="os-interface">
+</section>
+<section id="os-interface">
<h2>OS interface<a class="headerlink" href="#os-interface" title="Permalink to this headline">¶</a></h2>
<p>OPAL (skiboot) is exclusively called through OPAL calls. The OS has complete
controll of <em>when</em> OPAL code is executed. The design of all OPAL APIs is that
@@ -220,15 +212,15 @@ we do not block in OPAL, so as not to introduce jitter.</p>
<p>Skiboot maintains its own stack for each CPU, the running OS does not need
to donate or reserve any of its stack space.</p>
<p>With the OPAL API calls and device tree bindings we have the OPAL ABI.</p>
-</div>
-<div class="section" id="interrupts">
+</section>
+<section id="interrupts">
<h2>Interrupts<a class="headerlink" href="#interrupts" title="Permalink to this headline">¶</a></h2>
<p>We don’t directly handle interrupts in skiboot. The OS is in complete control,
and any interrupts we need to process are first received by the OS. The
<a class="reference internal" href="opal-api/opal-handle-interrupt.html#opal-handle-interrupt"><span class="std std-ref">OPAL_HANDLE_INTERRUPT</span></a> call is made by the OS for OPAL to do what’s
needed.</p>
-</div>
-<div class="section" id="memory">
+</section>
+<section id="memory">
<h2>Memory<a class="headerlink" href="#memory" title="Permalink to this headline">¶</a></h2>
<p>We initially occupy a chunk of memory, “heap”. We pass to the OS (Linux)
a reservation of what we occupy (including stacks).</p>
@@ -241,37 +233,38 @@ OPAL is what we name the interface from skiboot to OS (Linux).</p>
<p>Each CPU gets a 16k stack, which is probably more than enough. Stack
should be used sparingly though.</p>
<p>Important memory locations:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="18%" />
-<col width="82%" />
+<col style="width: 18%" />
+<col style="width: 82%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Location</th>
-<th class="head">What’s there</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Location</p></th>
+<th class="head"><p>What’s there</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>SKIBOOT_BASE</td>
-<td>where skiboot lives, of SKIBOOT_SIZE</td>
+<tbody>
+<tr class="row-even"><td><p>SKIBOOT_BASE</p></td>
+<td><p>where skiboot lives, of SKIBOOT_SIZE</p></td>
</tr>
-<tr class="row-odd"><td>HEAP_BASE</td>
-<td>Where skiboot heap starts, of HEAP_SIZE</td>
+<tr class="row-odd"><td><p>HEAP_BASE</p></td>
+<td><p>Where skiboot heap starts, of HEAP_SIZE</p></td>
</tr>
</tbody>
</table>
<p>There is also SKIBOOT_SIZE (manually calculated) and DEVICE_TREE_MAX_SIZE,
which is largely historical.</p>
-</div>
-<div class="section" id="skiboot-log">
+</section>
+<section id="skiboot-log">
<h2>Skiboot log<a class="headerlink" href="#skiboot-log" title="Permalink to this headline">¶</a></h2>
<p>There is a circular log buffer that skiboot maintains. This can be
accessed either from the FSP or through /dev/mem or through the sysfs
file /sys/firmware/opal/msglog.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -305,17 +298,15 @@ file /sys/firmware/opal/msglog.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -332,13 +323,14 @@ file /sys/firmware/opal/msglog.</p>
<li class="right" >
<a href="index.html" title="SkiBoot Documentation"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Skiboot overview</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/pci-slot.html b/doc/pci-slot.html
index 42db8ff..db7ec4e 100644
--- a/doc/pci-slot.html
+++ b/doc/pci-slot.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>PCI Slots &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>PCI Slots &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="pci.html" title="PCI"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">PCI Slots</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="pci-slots">
+ <section id="pci-slots">
<h1>PCI Slots<a class="headerlink" href="#pci-slots" title="Permalink to this headline">¶</a></h1>
<p>The PCI slots are instantiated to represent their associated properties and
operations. The slot properties are exported to OS through the device tree
@@ -52,8 +52,8 @@ node of the corresponding parent PCI device. The slot operations are used
to accomodate requests from OS regarding the indicated PCI slot:</p>
<blockquote>
<div><ul class="simple">
-<li>PCI slot reset</li>
-<li>PCI slot property retrival</li>
+<li><p>PCI slot reset</p></li>
+<li><p>PCI slot property retrival</p></li>
</ul>
</div></blockquote>
<p>The PCI slots are expected to be created by individual platforms based on
@@ -69,111 +69,111 @@ The normal slots are populated after their parent PCI devices are instantiated a
struct platform::pci_get_slot_info().</p>
<p>The operation set supplied by the template might be overrided and reimplemented, or
partially. It’s usually done according to the VPD figured out by individual platforms.</p>
-<div class="section" id="pci-slot-operations">
+<section id="pci-slot-operations">
<h2>PCI Slot Operations<a class="headerlink" href="#pci-slot-operations" title="Permalink to this headline">¶</a></h2>
<p>The following operations are supported to one particular PCI slot. More details
could be found from the definition of struct pci_slot_ops:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="28%" />
-<col width="72%" />
+<col style="width: 28%" />
+<col style="width: 72%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Operation</th>
-<th class="head">Definition</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Operation</p></th>
+<th class="head"><p>Definition</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>get_presence_state</td>
-<td>Check if any adapter connected to slot</td>
+<tbody>
+<tr class="row-even"><td><p>get_presence_state</p></td>
+<td><p>Check if any adapter connected to slot</p></td>
</tr>
-<tr class="row-odd"><td>get_link_state</td>
-<td>Retrieve PCIE link status: up, down, link width</td>
+<tr class="row-odd"><td><p>get_link_state</p></td>
+<td><p>Retrieve PCIE link status: up, down, link width</p></td>
</tr>
-<tr class="row-even"><td>get_power_state</td>
-<td>Retrieve the power status: on, off</td>
+<tr class="row-even"><td><p>get_power_state</p></td>
+<td><p>Retrieve the power status: on, off</p></td>
</tr>
-<tr class="row-odd"><td>get_attention_state</td>
-<td>Retrieve attention status: on, off, blinking</td>
+<tr class="row-odd"><td><p>get_attention_state</p></td>
+<td><p>Retrieve attention status: on, off, blinking</p></td>
</tr>
-<tr class="row-even"><td>get_latch_state</td>
-<td>Retrieve latch status</td>
+<tr class="row-even"><td><p>get_latch_state</p></td>
+<td><p>Retrieve latch status</p></td>
</tr>
-<tr class="row-odd"><td>set_power_state</td>
-<td>Configure the power status: on, off</td>
+<tr class="row-odd"><td><p>set_power_state</p></td>
+<td><p>Configure the power status: on, off</p></td>
</tr>
-<tr class="row-even"><td>set_attention_state</td>
-<td>Configure attention status: on, off, blinking</td>
+<tr class="row-even"><td><p>set_attention_state</p></td>
+<td><p>Configure attention status: on, off, blinking</p></td>
</tr>
-<tr class="row-odd"><td>prepare_link_change</td>
-<td>Prepare PCIE link status change</td>
+<tr class="row-odd"><td><p>prepare_link_change</p></td>
+<td><p>Prepare PCIE link status change</p></td>
</tr>
-<tr class="row-even"><td>poll_link</td>
-<td>Poll PCIE link until it’s up or down permanently</td>
+<tr class="row-even"><td><p>poll_link</p></td>
+<td><p>Poll PCIE link until it’s up or down permanently</p></td>
</tr>
-<tr class="row-odd"><td>creset</td>
-<td>Complete reset, only available to PHB slot</td>
+<tr class="row-odd"><td><p>creset</p></td>
+<td><p>Complete reset, only available to PHB slot</p></td>
</tr>
-<tr class="row-even"><td>freset</td>
-<td>Fundamental reset</td>
+<tr class="row-even"><td><p>freset</p></td>
+<td><p>Fundamental reset</p></td>
</tr>
-<tr class="row-odd"><td>hreset</td>
-<td>Hot reset</td>
+<tr class="row-odd"><td><p>hreset</p></td>
+<td><p>Hot reset</p></td>
</tr>
-<tr class="row-even"><td>poll</td>
-<td>Interface for OPAL API to drive internal state machine</td>
+<tr class="row-even"><td><p>poll</p></td>
+<td><p>Interface for OPAL API to drive internal state machine</p></td>
</tr>
-<tr class="row-odd"><td>add_properties</td>
-<td>Additional PCI slot properties seen by platform</td>
+<tr class="row-odd"><td><p>add_properties</p></td>
+<td><p>Additional PCI slot properties seen by platform</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-<div class="section" id="pci-slot-properties">
+</section>
+</section>
+<section id="pci-slot-properties">
<h1>PCI Slot Properties<a class="headerlink" href="#pci-slot-properties" title="Permalink to this headline">¶</a></h1>
<p>The following PCI slot properties have been exported through PCI device tree
node for a root port, a PCIE switch port, or a PCIE to PCIx bridge. If the
individual platforms (e.g. Firenze and Apollo) have VPD for the PCI slot, they
should extract the PCI slot properties from VPD and export them accordingly.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="28%" />
-<col width="72%" />
+<col style="width: 28%" />
+<col style="width: 72%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Property</th>
-<th class="head">Definition</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Property</p></th>
+<th class="head"><p>Definition</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>ibm,reset-by-firmware</td>
-<td>Boolean indicating whether the slot reset should be done in firmware</td>
+<tbody>
+<tr class="row-even"><td><p>ibm,reset-by-firmware</p></td>
+<td><p>Boolean indicating whether the slot reset should be done in firmware</p></td>
</tr>
-<tr class="row-odd"><td>ibm,slot-pluggable</td>
-<td>Boolean indicating whether the slot is pluggable</td>
+<tr class="row-odd"><td><p>ibm,slot-pluggable</p></td>
+<td><p>Boolean indicating whether the slot is pluggable</p></td>
</tr>
-<tr class="row-even"><td>ibm,slot-surprise-pluggable</td>
-<td>Boolean indicating whether the slot supports surprise hotplug</td>
+<tr class="row-even"><td><p>ibm,slot-surprise-pluggable</p></td>
+<td><p>Boolean indicating whether the slot supports surprise hotplug</p></td>
</tr>
-<tr class="row-odd"><td>ibm,slot-broken-pdc</td>
-<td>Boolean indicating whether PDC (Presence Detection Change) is broken</td>
+<tr class="row-odd"><td><p>ibm,slot-broken-pdc</p></td>
+<td><p>Boolean indicating whether PDC (Presence Detection Change) is broken</p></td>
</tr>
-<tr class="row-even"><td>ibm,slot-power-ctl</td>
-<td>Boolean indicating whether the slot has power control</td>
+<tr class="row-even"><td><p>ibm,slot-power-ctl</p></td>
+<td><p>Boolean indicating whether the slot has power control</p></td>
</tr>
-<tr class="row-odd"><td>ibm,slot-wired-lanes</td>
-<td>The number of hardware lanes that are wired</td>
+<tr class="row-odd"><td><p>ibm,slot-wired-lanes</p></td>
+<td><p>The number of hardware lanes that are wired</p></td>
</tr>
-<tr class="row-even"><td>ibm,slot-pwr-led-ctl</td>
-<td>Presence of slot power led, and controlling entity</td>
+<tr class="row-even"><td><p>ibm,slot-pwr-led-ctl</p></td>
+<td><p>Presence of slot power led, and controlling entity</p></td>
</tr>
-<tr class="row-odd"><td>ibm,slot-attn-led-ctl</td>
-<td>Presence of slot ATTN led, and controlling entity</td>
+<tr class="row-odd"><td><p>ibm,slot-attn-led-ctl</p></td>
+<td><p>Presence of slot ATTN led, and controlling entity</p></td>
</tr>
</tbody>
</table>
-<div class="section" id="pci-hotplug">
+<section id="pci-hotplug">
<h2>PCI Hotplug<a class="headerlink" href="#pci-hotplug" title="Permalink to this headline">¶</a></h2>
<p>The implementation of PCI slot hotplug heavily relies on its power state.
Initially, the slot is powered off if there are no adapters behind it.
@@ -199,8 +199,8 @@ or adding devices behind the slot. The device nodes in the device tree are
removed or added accordingly, without actually changing the slot’s power state.
The API call will return OPAL_SUCCESS immediately and no further asynchronous
message will be sent.</p>
-</div>
-<div class="section" id="pci-slot-on-apollo-and-firenze">
+</section>
+<section id="pci-slot-on-apollo-and-firenze">
<h2>PCI Slot on Apollo and Firenze<a class="headerlink" href="#pci-slot-on-apollo-and-firenze" title="Permalink to this headline">¶</a></h2>
<p>On IBM’s Apollo and Firenze platform, the PCI VPD is fetched from dedicated LID,
which is organized in so-called 1004, 1005, or 1006 format. 1006 mapping format
@@ -214,29 +214,30 @@ those PCI slots, PERST pin is utilized to implement fundamental reset if externa
power management entity doesn’t exist.</p>
<p>For Apollo and Firenze platform, following PCI slot properties are exported through
PCI device tree node except those generic properties (as above):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="32%" />
-<col width="68%" />
+<col style="width: 32%" />
+<col style="width: 68%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Property</th>
-<th class="head">Definition</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Property</p></th>
+<th class="head"><p>Definition</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>ibm,slot-location-code</td>
-<td>System location code string for the slot connector</td>
+<tbody>
+<tr class="row-even"><td><p>ibm,slot-location-code</p></td>
+<td><p>System location code string for the slot connector</p></td>
</tr>
-<tr class="row-odd"><td>ibm,slot-label</td>
-<td>Slot label, part of “ibm,slot-location-code”</td>
+<tr class="row-odd"><td><p>ibm,slot-label</p></td>
+<td><p>Slot label, part of “ibm,slot-location-code”</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -269,17 +270,15 @@ PCI device tree node except those generic properties (as above):</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -296,13 +295,14 @@ PCI device tree node except those generic properties (as above):</p>
<li class="right" >
<a href="pci.html" title="PCI"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">PCI Slots</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/pci.html b/doc/pci.html
index 00245b5..7a800ba 100644
--- a/doc/pci.html
+++ b/doc/pci.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>PCI &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>PCI &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="nvlink.html" title="OPAL/Skiboot Nvlink Interface Documentation"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">PCI</a></li>
</ul>
</div>
@@ -44,27 +44,27 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="pci">
+ <section id="pci">
<h1>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="debugging">
+<section id="debugging">
<h2>Debugging<a class="headerlink" href="#debugging" title="Permalink to this headline">¶</a></h2>
<p>There exist a couple of NVRAM options for enabling extra debug functionality
to help debug PCI issues. These are not ABI and may be changed or removed at
<strong>any</strong> time.</p>
-<div class="section" id="verbose-eeh">
+<section id="verbose-eeh">
<h3>Verbose EEH<a class="headerlink" href="#verbose-eeh" title="Permalink to this headline">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">nvram</span> <span class="o">-</span><span class="n">p</span> <span class="n">ibm</span><span class="p">,</span><span class="n">skiboot</span> <span class="o">--</span><span class="n">update</span><span class="o">-</span><span class="n">config</span> <span class="n">pci</span><span class="o">-</span><span class="n">eeh</span><span class="o">-</span><span class="n">verbose</span><span class="o">=</span><span class="n">true</span>
</pre></div>
</div>
-</div>
-<div class="section" id="disable-eeh-mmio">
+</section>
+<section id="disable-eeh-mmio">
<h3>Disable EEH MMIO<a class="headerlink" href="#disable-eeh-mmio" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt>::</dt>
-<dd>nvram -p ibm,skiboot –update-config pci-eeh-mmio=disabled</dd>
+<dl class="simple">
+<dt>::</dt><dd><p>nvram -p ibm,skiboot –update-config pci-eeh-mmio=disabled</p>
+</dd>
</dl>
-</div>
-<div class="section" id="check-for-rx-errors-after-link-training">
+</section>
+<section id="check-for-rx-errors-after-link-training">
<h3>Check for RX errors after link training<a class="headerlink" href="#check-for-rx-errors-after-link-training" title="Permalink to this headline">¶</a></h3>
<p>Some PHB4 PHYs can get stuck in a bad state where they are constantly
retraining the link. This happens transparently to skiboot and Linux
@@ -82,8 +82,8 @@ retrain the link. i.e.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">nvram</span> <span class="o">-</span><span class="n">p</span> <span class="n">ibm</span><span class="p">,</span><span class="n">skiboot</span> <span class="o">--</span><span class="n">update</span><span class="o">-</span><span class="n">config</span> <span class="n">phb</span><span class="o">-</span><span class="n">rx</span><span class="o">-</span><span class="n">err</span><span class="o">-</span><span class="nb">max</span><span class="o">=</span><span class="mi">8</span>
</pre></div>
</div>
-</div>
-<div class="section" id="retrain-link-if-degraded">
+</section>
+<section id="retrain-link-if-degraded">
<h3>Retrain link if degraded<a class="headerlink" href="#retrain-link-if-degraded" title="Permalink to this headline">¶</a></h3>
<p>On P9 Scale Out (Nimbus) DD2.0 and Scale in (Cumulus) DD1.0 (and
below) the PCIe PHY can lockup causing training issues. This can cause
@@ -107,16 +107,16 @@ P9 chips when a degraded link is detected. The new option is
</div>
<p>This option may increase the boot time if used on a badly behaving
card.</p>
-</div>
-<div class="section" id="maximum-link-speed">
+</section>
+<section id="maximum-link-speed">
<h3>Maximum link speed<a class="headerlink" href="#maximum-link-speed" title="Permalink to this headline">¶</a></h3>
<p>Was useful during bringup on P9 DD1.</p>
-<dl class="docutils">
-<dt>::</dt>
-<dd>nvram -p ibm,skiboot –update-config pcie-max-link-speed=4</dd>
+<dl class="simple">
+<dt>::</dt><dd><p>nvram -p ibm,skiboot –update-config pcie-max-link-speed=4</p>
+</dd>
</dl>
-</div>
-<div class="section" id="ric-mata-mode">
+</section>
+<section id="ric-mata-mode">
<h3>Ric Mata Mode<a class="headerlink" href="#ric-mata-mode" title="Permalink to this headline">¶</a></h3>
<p>This mode (for PHB4) will trace the training process closely. This activates
as soon as PERST is deasserted and produces human readable output of
@@ -149,9 +149,9 @@ and details on speed and link width.</p>
</div>
<p>Named after the person the output of this mode is typically sent to.</p>
<p><strong>WARNING</strong>: The documentation below <strong>urgently needs updating</strong> and is <em>woefully</em> incomplete.</p>
-</div>
-</div>
-<div class="section" id="ioda-pe-setup-sequences">
+</section>
+</section>
+<section id="ioda-pe-setup-sequences">
<h2>IODA PE Setup Sequences<a class="headerlink" href="#ioda-pe-setup-sequences" title="Permalink to this headline">¶</a></h2>
<p>(<strong>WARNING</strong>: this was rescued from old internal documentation. Needs verification)</p>
<p>To setup basic PE mappings, the host performs this basic sequence:</p>
@@ -162,23 +162,22 @@ allocate memory for PE structures and then calls
<p>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_set_peltv(phb_id,</span> <span class="pre">parent_pe,</span> <span class="pre">child_pe,</span> <span class="pre">state)</span></code> to
set a parent PELT vector bit for the child PE argument to 1 (a child of the
parent) or 0 (not in the parent PE domain).</p>
-</div>
-<div class="section" id="ioda-mmio-setup-sequences">
+</section>
+<section id="ioda-mmio-setup-sequences">
<h2>IODA MMIO Setup Sequences<a class="headerlink" href="#ioda-mmio-setup-sequences" title="Permalink to this headline">¶</a></h2>
<p>(<strong>WARNING</strong>: this was rescued from old internal documentation. Needs verification)</p>
<p>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_phb_mmio_enable(</span> <span class="pre">phb_id,</span> <span class="pre">window_type,</span> <span class="pre">window_num,</span> <span class="pre">0x0)</span></code> to disable the MMIO window.</p>
<p>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_set_phb_mmio_window(</span> <span class="pre">phb_id,</span> <span class="pre">mmio_window,</span> <span class="pre">starting_real_address,</span> <span class="pre">starting_pci_address,</span> <span class="pre">segment_size)</span></code> to change the MMIO window location in PCI and/or processor real address space, or to change the size – and corresponding window size – of a particular MMIO window.</p>
<p>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_map_pe_mmio_window(</span> <span class="pre">pe_number,</span> <span class="pre">mmio_window,</span> <span class="pre">segment_number)</span></code> to map PEs to window segments, for each segment mapped to each PE.</p>
<p>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_phb_mmio_enable(</span> <span class="pre">phb_id,</span> <span class="pre">window_type,</span> <span class="pre">window_num,</span> <span class="pre">0x1)</span></code> to enable the MMIO window.</p>
-</div>
-<div class="section" id="ioda-msi-setup-sequences">
+</section>
+<section id="ioda-msi-setup-sequences">
<h2>IODA MSI Setup Sequences<a class="headerlink" href="#ioda-msi-setup-sequences" title="Permalink to this headline">¶</a></h2>
<p>(<strong>WARNING</strong>: this was rescued from old internal documentation. Needs verification)</p>
<p>To setup MSIs:</p>
<ol class="arabic">
-<li><p class="first">For ibm,opal-ioda PHBs, the host chooses an MVE for a PE to use and calls <code class="docutils literal notranslate"><span class="pre">opal_pci_set_mve(</span> <span class="pre">phb_id,</span> <span class="pre">mve_number,</span> <span class="pre">pe_number,)</span></code> to setup the MVE for the PE number. HAL treats this call as a NOP and returns hal_success status for ibm,opal-ioda2 PHBs.</p>
-</li>
-<li><p class="first">The host chooses an XIVE to use with a PE and calls
+<li><p>For ibm,opal-ioda PHBs, the host chooses an MVE for a PE to use and calls <code class="docutils literal notranslate"><span class="pre">opal_pci_set_mve(</span> <span class="pre">phb_id,</span> <span class="pre">mve_number,</span> <span class="pre">pe_number,)</span></code> to setup the MVE for the PE number. HAL treats this call as a NOP and returns hal_success status for ibm,opal-ioda2 PHBs.</p></li>
+<li><p>The host chooses an XIVE to use with a PE and calls
a. <code class="docutils literal notranslate"><span class="pre">opal_pci_set_xive_pe(</span> <span class="pre">phb_id,</span> <span class="pre">xive_number,</span> <span class="pre">pe_number)</span></code> to authorize that PE to signal that XIVE as an interrupt. The host must call this function for each XIVE assigned to a particular PE, but may use this call for all XIVEs prior to calling <code class="docutils literal notranslate"><span class="pre">opel_pci_set_mve()</span></code> to bind the PE XIVEs to an MVE. For MSI conventional, the host must bind a unique MVE for each sequential set of 32 XIVEs.
b. The host forms the interrupt_source_number from the combination of the device tree MSI property base BUID and XIVE number, as an input to <code class="docutils literal notranslate"><span class="pre">opal_set_xive(interrupt_source_number,</span> <span class="pre">server_number,</span> <span class="pre">priority)</span></code> and <code class="docutils literal notranslate"><span class="pre">opal_get_xive(interrupt_source_number,</span> <span class="pre">server_number,</span> <span class="pre">priority)</span></code> to set or return the server and priority numbers within an XIVE.
c. <code class="docutils literal notranslate"><span class="pre">opal_get_msi_64[32](phb_id,</span> <span class="pre">mve_number,</span> <span class="pre">xive_num,</span> <span class="pre">msi_range,</span> <span class="pre">msi_address,</span> <span class="pre">message_data)</span></code> to determine the MSI DMA address (32 or 64 bit) and message data value for that xive.</p>
@@ -186,26 +185,26 @@ c. <code class="docutils literal notranslate"><span class="pre">opal_get_msi_64[
<div><p>For MSI conventional, the host uses this for each sequential power of 2 set of 1 to 32 MSIs, to determine the MSI DMA address and starting message data value for that MSI range. For MSI-X, the host calls this uniquely for each MSI interrupt with an msi_range input value of 1.</p>
</div></blockquote>
</li>
-<li><p class="first">For <code class="docutils literal notranslate"><span class="pre">ibm,opal-ioda</span></code> PHBs, once the MVE and XIVRs are setup for a PE, the host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_set_mve_enable(</span> <span class="pre">phb_id,</span> <span class="pre">mve_number,</span> <span class="pre">state)</span></code> to enable that MVE to be a valid target of MSI DMAs. The host may also call this function to disable an MVE when changing PE domains or states.</p>
-</li>
+<li><p>For <code class="docutils literal notranslate"><span class="pre">ibm,opal-ioda</span></code> PHBs, once the MVE and XIVRs are setup for a PE, the host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_set_mve_enable(</span> <span class="pre">phb_id,</span> <span class="pre">mve_number,</span> <span class="pre">state)</span></code> to enable that MVE to be a valid target of MSI DMAs. The host may also call this function to disable an MVE when changing PE domains or states.</p></li>
</ol>
-</div>
-<div class="section" id="ioda-dma-setup-sequences">
+</section>
+<section id="ioda-dma-setup-sequences">
<h2>IODA DMA Setup Sequences<a class="headerlink" href="#ioda-dma-setup-sequences" title="Permalink to this headline">¶</a></h2>
<p>(<strong>WARNING</strong>: this was rescued from old internal documentation. Needs verification)</p>
<p>To Manage DMA Windows :</p>
<ol class="arabic simple">
-<li>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_map_pe_dma_window(</span> <span class="pre">phb_id,</span> <span class="pre">dma_window_number,</span> <span class="pre">pe_number,</span> <span class="pre">tce_levels,</span> <span class="pre">tce_table_addr,</span> <span class="pre">tce_table_size,</span> <span class="pre">tce_page_size,</span> <span class="pre">utin64_t*</span> <span class="pre">pci_start_addr</span> <span class="pre">)</span></code> to setup a DMA window for a PE to translate through a TCE table structure in KVM memory.</li>
-<li>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_map_pe_dma_window_real(</span> <span class="pre">phb_id,</span> <span class="pre">dma_window_number,</span> <span class="pre">pe_number,</span> <span class="pre">mem_low_addr,</span> <span class="pre">mem_high_addr)</span></code> to setup a DMA window for a PE that is translated (but validated by the PHB as an untranlsated address space authorized to this PE).</li>
+<li><p>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_map_pe_dma_window(</span> <span class="pre">phb_id,</span> <span class="pre">dma_window_number,</span> <span class="pre">pe_number,</span> <span class="pre">tce_levels,</span> <span class="pre">tce_table_addr,</span> <span class="pre">tce_table_size,</span> <span class="pre">tce_page_size,</span> <span class="pre">utin64_t*</span> <span class="pre">pci_start_addr</span> <span class="pre">)</span></code> to setup a DMA window for a PE to translate through a TCE table structure in KVM memory.</p></li>
+<li><p>The host calls <code class="docutils literal notranslate"><span class="pre">opal_pci_map_pe_dma_window_real(</span> <span class="pre">phb_id,</span> <span class="pre">dma_window_number,</span> <span class="pre">pe_number,</span> <span class="pre">mem_low_addr,</span> <span class="pre">mem_high_addr)</span></code> to setup a DMA window for a PE that is translated (but validated by the PHB as an untranlsated address space authorized to this PE).</p></li>
</ol>
-</div>
-<div class="section" id="device-tree-bindings">
+</section>
+<section id="device-tree-bindings">
<h2>Device Tree Bindings<a class="headerlink" href="#device-tree-bindings" title="Permalink to this headline">¶</a></h2>
<p>See <a class="reference internal" href="device-tree/pci.html"><span class="doc">PCI Device Tree Bindings</span></a> for device tree information.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -246,17 +245,15 @@ c. <code class="docutils literal notranslate"><span class="pre">opal_get_msi_64[
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -273,13 +270,14 @@ c. <code class="docutils literal notranslate"><span class="pre">opal_get_msi_64[
<li class="right" >
<a href="nvlink.html" title="OPAL/Skiboot Nvlink Interface Documentation"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">PCI</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/platforms-and-cpus.html b/doc/platforms-and-cpus.html
index bb67886..32acf96 100644
--- a/doc/platforms-and-cpus.html
+++ b/doc/platforms-and-cpus.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Supported platforms &amp; CPUs &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Supported platforms &amp; CPUs &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="opal-spec.html" title="OPAL Specification"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Supported platforms &amp; CPUs</a></li>
</ul>
</div>
@@ -44,325 +44,325 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="supported-platforms-cpus">
+ <section id="supported-platforms-cpus">
<h1>Supported platforms &amp; CPUs<a class="headerlink" href="#supported-platforms-cpus" title="Permalink to this headline">¶</a></h1>
<p>NB. This file should only contain publicly available information.</p>
-<div class="section" id="cpus">
+<section id="cpus">
<h2>CPUs<a class="headerlink" href="#cpus" title="Permalink to this headline">¶</a></h2>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="28%" />
-<col width="28%" />
-<col width="43%" />
+<col style="width: 28%" />
+<col style="width: 28%" />
+<col style="width: 43%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Name</th>
-<th class="head">PVR</th>
-<th class="head">Other names</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Name</p></th>
+<th class="head"><p>PVR</p></th>
+<th class="head"><p>Other names</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Power8E</td>
-<td>0x004bxxxx</td>
-<td>Murano</td>
+<tbody>
+<tr class="row-even"><td><p>Power8E</p></td>
+<td><p>0x004bxxxx</p></td>
+<td><p>Murano</p></td>
</tr>
-<tr class="row-odd"><td>Power8</td>
-<td>0x004dxxxx</td>
-<td>Venice</td>
+<tr class="row-odd"><td><p>Power8</p></td>
+<td><p>0x004dxxxx</p></td>
+<td><p>Venice</p></td>
</tr>
-<tr class="row-even"><td>Power8NVL</td>
-<td>0x004cxxxx</td>
-<td>Naples (P8 with NVLink)</td>
+<tr class="row-even"><td><p>Power8NVL</p></td>
+<td><p>0x004cxxxx</p></td>
+<td><p>Naples (P8 with NVLink)</p></td>
</tr>
-<tr class="row-odd"><td>Power9N</td>
-<td>0x004e0xxx</td>
-<td>Nimbus 12 small core</td>
+<tr class="row-odd"><td><p>Power9N</p></td>
+<td><p>0x004e0xxx</p></td>
+<td><p>Nimbus 12 small core</p></td>
</tr>
-<tr class="row-even"><td>Power9N</td>
-<td>0x004e1xxx</td>
-<td>Nimbus 24 small core</td>
+<tr class="row-even"><td><p>Power9N</p></td>
+<td><p>0x004e1xxx</p></td>
+<td><p>Nimbus 24 small core</p></td>
</tr>
-<tr class="row-odd"><td>Power9C</td>
-<td>0x004e2xxx</td>
-<td>Cumulus 12 small core</td>
+<tr class="row-odd"><td><p>Power9C</p></td>
+<td><p>0x004e2xxx</p></td>
+<td><p>Cumulus 12 small core</p></td>
</tr>
-<tr class="row-even"><td>Power9C</td>
-<td>0x004e3xxx</td>
-<td>Cumulus 24 small core</td>
+<tr class="row-even"><td><p>Power9C</p></td>
+<td><p>0x004e3xxx</p></td>
+<td><p>Cumulus 24 small core</p></td>
</tr>
-<tr class="row-odd"><td>Power9P</td>
-<td>0x004fxxxx</td>
-<td>Axone</td>
+<tr class="row-odd"><td><p>Power9P</p></td>
+<td><p>0x004fxxxx</p></td>
+<td><p>Axone</p></td>
</tr>
-<tr class="row-even"><td>Power10</td>
-<td>0x0080xxxx</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>Power10</p></td>
+<td><p>0x0080xxxx</p></td>
+<td></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="platforms">
+</section>
+<section id="platforms">
<h2>Platforms<a class="headerlink" href="#platforms" title="Permalink to this headline">¶</a></h2>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="7%" />
-<col width="11%" />
-<col width="10%" />
-<col width="16%" />
-<col width="23%" />
-<col width="26%" />
-<col width="8%" />
+<col style="width: 7%" />
+<col style="width: 11%" />
+<col style="width: 10%" />
+<col style="width: 16%" />
+<col style="width: 23%" />
+<col style="width: 26%" />
+<col style="width: 8%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Platform</th>
-<th class="head">Sub platform</th>
-<th class="head">Host CPU(s)</th>
-<th class="head">Manufacturer</th>
-<th class="head">compatible</th>
-<th class="head">Other names/Notes</th>
-<th class="head">Link(s)</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Platform</p></th>
+<th class="head"><p>Sub platform</p></th>
+<th class="head"><p>Host CPU(s)</p></th>
+<th class="head"><p>Manufacturer</p></th>
+<th class="head"><p>compatible</p></th>
+<th class="head"><p>Other names/Notes</p></th>
+<th class="head"><p>Link(s)</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>astbmc</td>
-<td>barreleye</td>
-<td>Power8</td>
-<td>Ingrasys (Foxconn)</td>
-<td>“ingrasys,barreleye”</td>
-<td>Barreleye, Rackspace machine</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>firestone</td>
-<td>Power8</td>
-<td>Wistron, IBM</td>
-<td>“ibm,firestone”</td>
-<td>Firestone, S822LC</td>
-<td><a class="footnote-reference" href="#id11" id="id1">[1]</a></td>
-</tr>
-<tr class="row-even"><td>astbmc</td>
-<td>garrison</td>
-<td>Power8NVL</td>
-<td>IBM</td>
-<td>“ibm,garrison”</td>
-<td>Minsky, “S822LC for HPC”</td>
-<td><a class="footnote-reference" href="#id12" id="id2">[2]</a></td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>habanero</td>
-<td>Power8</td>
-<td>Tyan</td>
-<td>“tyan,habanero”</td>
-<td>Habanero, TN71-BP012</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>astbmc</td>
-<td>p8dtu</td>
-<td>Power8</td>
-<td>Supermicro</td>
-<td>“supermicro,p8dtu1u”</td>
-<td>Briggs, “S822LC for Big Data”</td>
-<td><a class="footnote-reference" href="#id13" id="id3">[3]</a> <a class="footnote-reference" href="#id15" id="id4">[4]</a></td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>p8dtu</td>
-<td>Power8</td>
-<td>Supermicro</td>
-<td>“supermicro,p8dtu2u”</td>
-<td>Stratton, S821LC</td>
-<td><a class="footnote-reference" href="#id16" id="id5">[5]</a> <a class="footnote-reference" href="#id18" id="id6">[6]</a></td>
-</tr>
-<tr class="row-even"><td>astbmc</td>
-<td>p8dnu</td>
-<td>Power8NVL</td>
-<td>Supermicro</td>
-<td>“supermicro,p8dnu(1u|2u)?”</td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>palmetto</td>
-<td>Power8</td>
-<td>Tyan</td>
-<td>“tyan,palmetto”</td>
-<td>Palmetto, GN70-BP010</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>astbmc</td>
-<td>vesnin</td>
-<td>Power8</td>
-<td>Yadro</td>
-<td>“YADRO,vesnin”</td>
-<td>VESNIN</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td>ibm-fsp</td>
-<td>firenze</td>
-<td>Power8E</td>
-<td>IBM</td>
-<td>“ibm,firenze”</td>
-<td>Tuleta, S812L, S822L</td>
-<td><a class="footnote-reference" href="#id19" id="id7">[7]</a></td>
-</tr>
-<tr class="row-even"><td>rhesus</td>
-<td>n/a</td>
-<td>Power8E</td>
-<td>&#160;</td>
-<td>“ibm,powernv”</td>
-<td>Rhesus, Google machine</td>
-<td>&#160;</td>
+<tbody>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>barreleye</p></td>
+<td><p>Power8</p></td>
+<td><p>Ingrasys (Foxconn)</p></td>
+<td><p>“ingrasys,barreleye”</p></td>
+<td><p>Barreleye, Rackspace machine</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>firestone</p></td>
+<td><p>Power8</p></td>
+<td><p>Wistron, IBM</p></td>
+<td><p>“ibm,firestone”</p></td>
+<td><p>Firestone, S822LC</p></td>
+<td><p><a class="footnote-reference brackets" href="#id11" id="id1">1</a></p></td>
+</tr>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>garrison</p></td>
+<td><p>Power8NVL</p></td>
+<td><p>IBM</p></td>
+<td><p>“ibm,garrison”</p></td>
+<td><p>Minsky, “S822LC for HPC”</p></td>
+<td><p><a class="footnote-reference brackets" href="#id12" id="id2">2</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>habanero</p></td>
+<td><p>Power8</p></td>
+<td><p>Tyan</p></td>
+<td><p>“tyan,habanero”</p></td>
+<td><p>Habanero, TN71-BP012</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>p8dtu</p></td>
+<td><p>Power8</p></td>
+<td><p>Supermicro</p></td>
+<td><p>“supermicro,p8dtu1u”</p></td>
+<td><p>Briggs, “S822LC for Big Data”</p></td>
+<td><p><a class="footnote-reference brackets" href="#id13" id="id3">3</a> <a class="footnote-reference brackets" href="#id15" id="id4">4</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>p8dtu</p></td>
+<td><p>Power8</p></td>
+<td><p>Supermicro</p></td>
+<td><p>“supermicro,p8dtu2u”</p></td>
+<td><p>Stratton, S821LC</p></td>
+<td><p><a class="footnote-reference brackets" href="#id16" id="id5">5</a> <a class="footnote-reference brackets" href="#id18" id="id6">6</a></p></td>
+</tr>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>p8dnu</p></td>
+<td><p>Power8NVL</p></td>
+<td><p>Supermicro</p></td>
+<td><p>“supermicro,p8dnu(1u|2u)?”</p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>palmetto</p></td>
+<td><p>Power8</p></td>
+<td><p>Tyan</p></td>
+<td><p>“tyan,palmetto”</p></td>
+<td><p>Palmetto, GN70-BP010</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>vesnin</p></td>
+<td><p>Power8</p></td>
+<td><p>Yadro</p></td>
+<td><p>“YADRO,vesnin”</p></td>
+<td><p>VESNIN</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>ibm-fsp</p></td>
+<td><p>firenze</p></td>
+<td><p>Power8E</p></td>
+<td><p>IBM</p></td>
+<td><p>“ibm,firenze”</p></td>
+<td><p>Tuleta, S812L, S822L</p></td>
+<td><p><a class="footnote-reference brackets" href="#id19" id="id7">7</a></p></td>
+</tr>
+<tr class="row-even"><td><p>rhesus</p></td>
+<td><p>n/a</p></td>
+<td><p>Power8E</p></td>
+<td></td>
+<td><p>“ibm,powernv”</p></td>
+<td><p>Rhesus, Google machine</p></td>
+<td></td>
</tr>
</tbody>
</table>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="7%" />
-<col width="11%" />
-<col width="10%" />
-<col width="16%" />
-<col width="23%" />
-<col width="26%" />
-<col width="6%" />
+<col style="width: 7%" />
+<col style="width: 11%" />
+<col style="width: 10%" />
+<col style="width: 16%" />
+<col style="width: 23%" />
+<col style="width: 26%" />
+<col style="width: 6%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Platform</th>
-<th class="head">Sub platform</th>
-<th class="head">Host CPU(s)</th>
-<th class="head">Manufacturer</th>
-<th class="head">compatible</th>
-<th class="head">Other names/Notes</th>
-<th class="head">Link(s)</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Platform</p></th>
+<th class="head"><p>Sub platform</p></th>
+<th class="head"><p>Host CPU(s)</p></th>
+<th class="head"><p>Manufacturer</p></th>
+<th class="head"><p>compatible</p></th>
+<th class="head"><p>Other names/Notes</p></th>
+<th class="head"><p>Link(s)</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>astbmc</td>
-<td>p9sdu</td>
-<td>Power9N</td>
-<td>Supermicro</td>
-<td>“supermicro,p9dsu”</td>
-<td>Boston, LC921/LC922</td>
-<td><a class="footnote-reference" href="#id20" id="id8">[8]</a></td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>romulus</td>
-<td>Power9N</td>
-<td>&#160;</td>
-<td>“ibm,romulus”</td>
-<td>Romulus</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>astbmc</td>
-<td>talos</td>
-<td>Power9N</td>
-<td>Raptor</td>
-<td>“rcs,talos”</td>
-<td>Talos II, similar to Romulus</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>blackbird</td>
-<td>Power9N</td>
-<td>Raptor</td>
-<td>“rcs,blackbird”</td>
-<td>Blackbrid</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>astbmc</td>
-<td>witherspoon</td>
-<td>Power9N</td>
-<td>&#160;</td>
-<td>“ibm,witherspoon”</td>
-<td>Witherspoon, Newell, AC922</td>
-<td><a class="footnote-reference" href="#id21" id="id9">[9]</a></td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>zaius</td>
-<td>Power9N</td>
-<td>Ingrasys (Foxconn)</td>
-<td>“ingrasys,zaius”</td>
-<td>Zaius, Barreleye Gen2</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>astbmc</td>
-<td>mihawk</td>
-<td>Power9N</td>
-<td>&#160;</td>
-<td>“{wistron,ibm},mihawk”</td>
-<td>Mihawk, IC922</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>nicole</td>
-<td>Power9N</td>
-<td>Yadro</td>
-<td>“YADRO,nicole”</td>
-<td>Nicole</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>ibm-fsp</td>
-<td>zz</td>
-<td>Power9N</td>
-<td>&#160;</td>
-<td>“ibm,zz-(1|2)s(2|4)u”</td>
-<td>&#160;</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-odd"><td>astbmc</td>
-<td>swift</td>
-<td>Power9P</td>
-<td>&#160;</td>
-<td>“ibm,swift”</td>
-<td>Swift</td>
-<td>&#160;</td>
-</tr>
-<tr class="row-even"><td>astbmc</td>
-<td>mowgli</td>
-<td>Power9N</td>
-<td>Wistron</td>
-<td>“ibm,mowgli”</td>
-<td>Mowgli</td>
-<td>&#160;</td>
+<tbody>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>p9sdu</p></td>
+<td><p>Power9N</p></td>
+<td><p>Supermicro</p></td>
+<td><p>“supermicro,p9dsu”</p></td>
+<td><p>Boston, LC921/LC922</p></td>
+<td><p><a class="footnote-reference brackets" href="#id20" id="id8">8</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>romulus</p></td>
+<td><p>Power9N</p></td>
+<td></td>
+<td><p>“ibm,romulus”</p></td>
+<td><p>Romulus</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>talos</p></td>
+<td><p>Power9N</p></td>
+<td><p>Raptor</p></td>
+<td><p>“rcs,talos”</p></td>
+<td><p>Talos II, similar to Romulus</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>blackbird</p></td>
+<td><p>Power9N</p></td>
+<td><p>Raptor</p></td>
+<td><p>“rcs,blackbird”</p></td>
+<td><p>Blackbrid</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>witherspoon</p></td>
+<td><p>Power9N</p></td>
+<td></td>
+<td><p>“ibm,witherspoon”</p></td>
+<td><p>Witherspoon, Newell, AC922</p></td>
+<td><p><a class="footnote-reference brackets" href="#id21" id="id9">9</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>zaius</p></td>
+<td><p>Power9N</p></td>
+<td><p>Ingrasys (Foxconn)</p></td>
+<td><p>“ingrasys,zaius”</p></td>
+<td><p>Zaius, Barreleye Gen2</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>mihawk</p></td>
+<td><p>Power9N</p></td>
+<td></td>
+<td><p>“{wistron,ibm},mihawk”</p></td>
+<td><p>Mihawk, IC922</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>nicole</p></td>
+<td><p>Power9N</p></td>
+<td><p>Yadro</p></td>
+<td><p>“YADRO,nicole”</p></td>
+<td><p>Nicole</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>ibm-fsp</p></td>
+<td><p>zz</p></td>
+<td><p>Power9N</p></td>
+<td></td>
+<td><p>“ibm,zz-(1|2)s(2|4)u”</p></td>
+<td></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p>astbmc</p></td>
+<td><p>swift</p></td>
+<td><p>Power9P</p></td>
+<td></td>
+<td><p>“ibm,swift”</p></td>
+<td><p>Swift</p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>mowgli</p></td>
+<td><p>Power9N</p></td>
+<td><p>Wistron</p></td>
+<td><p>“ibm,mowgli”</p></td>
+<td><p>Mowgli</p></td>
+<td></td>
</tr>
</tbody>
</table>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="7%" />
-<col width="11%" />
-<col width="10%" />
-<col width="16%" />
-<col width="23%" />
-<col width="26%" />
-<col width="6%" />
+<col style="width: 7%" />
+<col style="width: 11%" />
+<col style="width: 10%" />
+<col style="width: 16%" />
+<col style="width: 23%" />
+<col style="width: 26%" />
+<col style="width: 6%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Platform</th>
-<th class="head">Sub platform</th>
-<th class="head">Host CPU(s)</th>
-<th class="head">Manufacturer</th>
-<th class="head">compatible</th>
-<th class="head">Other names/Notes</th>
-<th class="head">Link(s)</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Platform</p></th>
+<th class="head"><p>Sub platform</p></th>
+<th class="head"><p>Host CPU(s)</p></th>
+<th class="head"><p>Manufacturer</p></th>
+<th class="head"><p>compatible</p></th>
+<th class="head"><p>Other names/Notes</p></th>
+<th class="head"><p>Link(s)</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>astbmc</td>
-<td>rainier</td>
-<td>Power10</td>
-<td>&#160;</td>
-<td>“ibm,rainier”
+<tbody>
+<tr class="row-even"><td><p>astbmc</p></td>
+<td><p>rainier</p></td>
+<td><p>Power10</p></td>
+<td></td>
+<td><p>“ibm,rainier”
“ibm,rainier-1s4u”
“ibm,rainier-2s2u”
-“ibm,rainier-2s4u”</td>
-<td>S1014
+“ibm,rainier-2s4u”</p></td>
+<td><p>S1014
S1022
-S1024</td>
-<td><a class="footnote-reference" href="#id22" id="id10">[10]</a></td>
+S1024</p></td>
+<td><p><a class="footnote-reference brackets" href="#id22" id="id10">10</a></p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="dropped-platforms">
+</section>
+<section id="dropped-platforms">
<h2>Dropped Platforms<a class="headerlink" href="#dropped-platforms" title="Permalink to this headline">¶</a></h2>
<p>Support for Power7 based systems was removed in <cite>v6.3-191-g16b7ae641037</cite>.
Power7 hardware was supported largely because it was the initial bringup
@@ -370,88 +370,62 @@ platform for Skiboot. Once P8 hardware became available almost all
development (and testing) on P7 ceased. Anyone interested in using OPAL on
a P7 should look at one of the early <cite>v5.x</cite> releases.</p>
<p class="rubric">Footnotes</p>
-<table class="docutils footnote" frame="void" id="id11" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td><a class="reference external" href="https://www.nextplatform.com/2015/10/08/ibm-back-in-hpc-with-power-systems-lc-clusters/">IBM Back In HPC With Power Systems LC Clusters</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id12" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td><a class="reference external" href="https://www.nextplatform.com/2016/09/08/refreshed-ibm-power-linux-systems-add-nvlink/">Refreshed IBM Power Linux Systems Add NVLink</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id13" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id3">[3]</a></td><td><a class="reference external" href="https://www.nextplatform.com/2016/09/08/refreshed-ibm-power-linux-systems-add-nvlink/">Refreshed IBM Power Linux Systems Add NVLink</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id15" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id4">[4]</a></td><td><a class="reference external" href="https://www.youtube.com/watch?v=TnW-NcLR28g">First Look IBM POWER8 S822LC 8001-22C (Briggs)</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id16" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id5">[5]</a></td><td><a class="reference external" href="https://www.nextplatform.com/2016/09/08/refreshed-ibm-power-linux-systems-add-nvlink/">Refreshed IBM Power Linux Systems Add NVLink</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id18" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id6">[6]</a></td><td><a class="reference external" href="https://www.youtube.com/watch?v=OM3wU4Uu8LI">First Look IBM POWER8 S821LC 8001-12C (Stratton)</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id19" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id7">[7]</a></td><td><a class="reference external" href="https://www.itjungle.com/2018/05/14/boston-power9s-set-to-debut/">Boston Power9s Set To Debut</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id20" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id8">[8]</a></td><td><a class="reference external" href="https://www.nextplatform.com/2017/12/05/power9-to-the-people/">POWER9 TO THE PEOPLE</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id21" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id9">[9]</a></td><td><a class="reference external" href="https://www.ibm.com/au-en/marketplace/power-system-s812l-s822l">IBM Power System S812L and IBM Power System S822L</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id22" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id10">[10]</a></td><td>` Announcing IBM Power10 Scale-Out and Midrange Servers &lt;<a class="reference external" href="https://www.ibm.com/cloud/blog/announcements/announcing-ibm-power10-scale-out-and-midrange-servers">https://www.ibm.com/cloud/blog/announcements/announcing-ibm-power10-scale-out-and-midrange-servers</a>&gt;`_</td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id23" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[11]</td><td><a class="reference external" href="https://www.ibm.com/products/power-s1014">IBM Power S1014</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id24" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[12]</td><td><a class="reference external" href="https://www.ibm.com/products/power-s1022">IBM Power S1022</a></td></tr>
-</tbody>
-</table>
-<table class="docutils footnote" frame="void" id="id25" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[13]</td><td><a class="reference external" href="https://www.ibm.com/products/power-s1024">IBM Power S1024</a></td></tr>
-</tbody>
-</table>
-</div>
-</div>
+<dl class="footnote brackets">
+<dt class="label" id="id11"><span class="brackets"><a class="fn-backref" href="#id1">1</a></span></dt>
+<dd><p><a class="reference external" href="https://www.nextplatform.com/2015/10/08/ibm-back-in-hpc-with-power-systems-lc-clusters/">IBM Back In HPC With Power Systems LC Clusters</a></p>
+</dd>
+</dl>
+<dl class="footnote brackets">
+<dt class="label" id="id12"><span class="brackets"><a class="fn-backref" href="#id2">2</a></span></dt>
+<dd><p><a class="reference external" href="https://www.nextplatform.com/2016/09/08/refreshed-ibm-power-linux-systems-add-nvlink/">Refreshed IBM Power Linux Systems Add NVLink</a></p>
+</dd>
+</dl>
+<dl class="footnote brackets">
+<dt class="label" id="id13"><span class="brackets"><a class="fn-backref" href="#id3">3</a></span></dt>
+<dd><p><a class="reference external" href="https://www.nextplatform.com/2016/09/08/refreshed-ibm-power-linux-systems-add-nvlink/">Refreshed IBM Power Linux Systems Add NVLink</a></p>
+</dd>
+<dt class="label" id="id15"><span class="brackets"><a class="fn-backref" href="#id4">4</a></span></dt>
+<dd><p><a class="reference external" href="https://www.youtube.com/watch?v=TnW-NcLR28g">First Look IBM POWER8 S822LC 8001-22C (Briggs)</a></p>
+</dd>
+</dl>
+<dl class="footnote brackets">
+<dt class="label" id="id16"><span class="brackets"><a class="fn-backref" href="#id5">5</a></span></dt>
+<dd><p><a class="reference external" href="https://www.nextplatform.com/2016/09/08/refreshed-ibm-power-linux-systems-add-nvlink/">Refreshed IBM Power Linux Systems Add NVLink</a></p>
+</dd>
+<dt class="label" id="id18"><span class="brackets"><a class="fn-backref" href="#id6">6</a></span></dt>
+<dd><p><a class="reference external" href="https://www.youtube.com/watch?v=OM3wU4Uu8LI">First Look IBM POWER8 S821LC 8001-12C (Stratton)</a></p>
+</dd>
+<dt class="label" id="id19"><span class="brackets"><a class="fn-backref" href="#id7">7</a></span></dt>
+<dd><p><a class="reference external" href="https://www.itjungle.com/2018/05/14/boston-power9s-set-to-debut/">Boston Power9s Set To Debut</a></p>
+</dd>
+<dt class="label" id="id20"><span class="brackets"><a class="fn-backref" href="#id8">8</a></span></dt>
+<dd><p><a class="reference external" href="https://www.nextplatform.com/2017/12/05/power9-to-the-people/">POWER9 TO THE PEOPLE</a></p>
+</dd>
+</dl>
+<dl class="footnote brackets">
+<dt class="label" id="id21"><span class="brackets"><a class="fn-backref" href="#id9">9</a></span></dt>
+<dd><p><a class="reference external" href="https://www.ibm.com/au-en/marketplace/power-system-s812l-s822l">IBM Power System S812L and IBM Power System S822L</a></p>
+</dd>
+</dl>
+<dl class="footnote brackets">
+<dt class="label" id="id22"><span class="brackets"><a class="fn-backref" href="#id10">10</a></span></dt>
+<dd><p>` Announcing IBM Power10 Scale-Out and Midrange Servers &lt;<a class="reference external" href="https://www.ibm.com/cloud/blog/announcements/announcing-ibm-power10-scale-out-and-midrange-servers">https://www.ibm.com/cloud/blog/announcements/announcing-ibm-power10-scale-out-and-midrange-servers</a>&gt;`_</p>
+</dd>
+<dt class="label" id="id23"><span class="brackets">11</span></dt>
+<dd><p><a class="reference external" href="https://www.ibm.com/products/power-s1014">IBM Power S1014</a></p>
+</dd>
+<dt class="label" id="id24"><span class="brackets">12</span></dt>
+<dd><p><a class="reference external" href="https://www.ibm.com/products/power-s1022">IBM Power S1022</a></p>
+</dd>
+<dt class="label" id="id25"><span class="brackets">13</span></dt>
+<dd><p><a class="reference external" href="https://www.ibm.com/products/power-s1024">IBM Power S1024</a></p>
+</dd>
+</dl>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -481,17 +455,15 @@ a P7 should look at one of the early <cite>v5.x</cite> releases.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -508,13 +480,14 @@ a P7 should look at one of the early <cite>v5.x</cite> releases.</p>
<li class="right" >
<a href="opal-spec.html" title="OPAL Specification"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Supported platforms &amp; CPUs</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/power-management.html b/doc/power-management.html
index 08d3f1b..dea278e 100644
--- a/doc/power-management.html
+++ b/doc/power-management.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Power Management &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Power Management &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="imc.html" title="OPAL/Skiboot In-Memory Collection (IMC) interface Documentation"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Power Management</a></li>
</ul>
</div>
@@ -44,25 +44,26 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="power-management">
+ <section id="power-management">
<h1>Power Management<a class="headerlink" href="#power-management" title="Permalink to this headline">¶</a></h1>
-<p>See <a class="reference internal" href="device-tree/ibm,opal/power-mgt.html#power-mgt-devtree"><span class="std std-ref">ibm,opal/power-mgt device tree entries</span></a> for device tree structure describing power management facilities.</p>
-<div class="section" id="debugging">
+<p>See <a class="reference internal" href="device-tree/ibm%2Copal/power-mgt.html#power-mgt-devtree"><span class="std std-ref">ibm,opal/power-mgt device tree entries</span></a> for device tree structure describing power management facilities.</p>
+<section id="debugging">
<h2>Debugging<a class="headerlink" href="#debugging" title="Permalink to this headline">¶</a></h2>
<p>There exist a few debug knobs that can be set via nvram settings. These are
<strong>not</strong> ABI and may be changed or removed at <em>any</em> time.</p>
-<div class="section" id="disabling-specific-stop-states">
+<section id="disabling-specific-stop-states">
<h3>Disabling specific stop states<a class="headerlink" href="#disabling-specific-stop-states" title="Permalink to this headline">¶</a></h3>
<p>On boot, specific stop states can be disabled via setting a mask. For example,
to disable all but stop 0,1,2, use ~0xE0000000.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">nvram</span> <span class="o">-</span><span class="n">p</span> <span class="n">ibm</span><span class="p">,</span><span class="n">skiboot</span> <span class="o">--</span><span class="n">update</span><span class="o">-</span><span class="n">config</span> <span class="n">opal</span><span class="o">-</span><span class="n">stop</span><span class="o">-</span><span class="n">state</span><span class="o">-</span><span class="n">disable</span><span class="o">-</span><span class="n">mask</span><span class="o">=</span><span class="mh">0x1FFFFFFF</span>
</pre></div>
</div>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -93,17 +94,15 @@ to disable all but stop 0,1,2, use ~0xE0000000.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -120,13 +119,14 @@ to disable all but stop 0,1,2, use ~0xE0000000.</p>
<li class="right" >
<a href="imc.html" title="OPAL/Skiboot In-Memory Collection (IMC) interface Documentation"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Power Management</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/process/CONTRIBUTING.html b/doc/process/CONTRIBUTING.html
index c07ed11..78c27d0 100644
--- a/doc/process/CONTRIBUTING.html
+++ b/doc/process/CONTRIBUTING.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Contributing to skiboot &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Contributing to skiboot &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="dev-release-process.html" title="Development and Release Process"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Contributing to skiboot</a></li>
</ul>
</div>
@@ -44,76 +44,71 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="contributing-to-skiboot">
-<span id="contributing-to-skiboot"></span><h1>Contributing to skiboot<a class="headerlink" href="#contributing-to-skiboot" title="Permalink to this headline">¶</a></h1>
+ <section id="contributing-to-skiboot">
+<h1>Contributing to skiboot<a class="headerlink" href="#contributing-to-skiboot" title="Permalink to this headline">¶</a></h1>
<p>skiboot is OPAL (OpenPOWER Abstraction Layer) boot and runtime firmware for
POWER.</p>
<p>If you haven’t already, join us on IRC (#openpower on Freenode) and on
-the mailing list ( skiboot&#64;lists.ozlabs.org - subscribe by
-going to https://lists.ozlabs.org/listinfo/skiboot )</p>
+the mailing list ( <a class="reference external" href="mailto:skiboot&#37;&#52;&#48;lists&#46;ozlabs&#46;org">skiboot<span>&#64;</span>lists<span>&#46;</span>ozlabs<span>&#46;</span>org</a> - subscribe by
+going to <a class="reference external" href="https://lists.ozlabs.org/listinfo/skiboot">https://lists.ozlabs.org/listinfo/skiboot</a> )</p>
<p>While we do use GitHub Issues, patches are accepted via the mailing list.
We expect participants to adhere to the GitHub Community Guidelines (found
-at https://help.github.com/articles/github-community-guidelines/ ).</p>
+at <a class="reference external" href="https://help.github.com/articles/github-community-guidelines/">https://help.github.com/articles/github-community-guidelines/</a> ).</p>
<p>All contributions should have a Developer Certificate of Origin (see below).</p>
-<div class="section" id="development-environment">
-<span id="development-environment"></span><h2>Development Environment<a class="headerlink" href="#development-environment" title="Permalink to this headline">¶</a></h2>
+<section id="development-environment">
+<h2>Development Environment<a class="headerlink" href="#development-environment" title="Permalink to this headline">¶</a></h2>
<p>A host GCC of at least 4.9 is recommended (all modern Linux distributions
provide this).</p>
<p>You can build on x86-64, ppc64 or ppc64le, you just need a powerpc64 (BE)
cross compiler. The powerpc64le cross compilers packaged in Linux distributions
can build BE code, so they are fine.</p>
-</div>
-<div class="section" id="developer-certificate-of-origin">
-<span id="developer-certificate-of-origin"></span><h2>Developer Certificate of Origin<a class="headerlink" href="#developer-certificate-of-origin" title="Permalink to this headline">¶</a></h2>
-<p>Contributions to this project should conform to the <code class="docutils literal notranslate"><span class="pre">Developer</span> <span class="pre">Certificate</span> <span class="pre">of</span> <span class="pre">Origin</span></code> as defined at http://elinux.org/Developer_Certificate_Of_Origin.
+</section>
+<section id="developer-certificate-of-origin">
+<h2>Developer Certificate of Origin<a class="headerlink" href="#developer-certificate-of-origin" title="Permalink to this headline">¶</a></h2>
+<p>Contributions to this project should conform to the <cite>Developer Certificate
+of Origin</cite> as defined at <a class="reference external" href="http://elinux.org/Developer_Certificate_Of_Origin">http://elinux.org/Developer_Certificate_Of_Origin</a>.
Commits to this project need to contain the following line to indicate
-the submitter accepts the DCO:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Signed</span><span class="o">-</span><span class="n">off</span><span class="o">-</span><span class="n">by</span><span class="p">:</span> <span class="n">Your</span> <span class="n">Name</span> <span class="o">&lt;</span><span class="n">your_email</span><span class="nd">@domain</span><span class="o">.</span><span class="n">com</span><span class="o">&gt;</span>
-</pre></div>
-</div>
-<p>By contributing in this way, you agree to the terms as follows:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Developer</span> <span class="n">Certificate</span> <span class="n">of</span> <span class="n">Origin</span>
-<span class="n">Version</span> <span class="mf">1.1</span>
-
-<span class="n">Copyright</span> <span class="p">(</span><span class="n">C</span><span class="p">)</span> <span class="mi">2004</span><span class="p">,</span> <span class="mi">2006</span> <span class="n">The</span> <span class="n">Linux</span> <span class="n">Foundation</span> <span class="ow">and</span> <span class="n">its</span> <span class="n">contributors</span><span class="o">.</span>
-<span class="mi">660</span> <span class="n">York</span> <span class="n">Street</span><span class="p">,</span> <span class="n">Suite</span> <span class="mi">102</span><span class="p">,</span>
-<span class="n">San</span> <span class="n">Francisco</span><span class="p">,</span> <span class="n">CA</span> <span class="mi">94110</span> <span class="n">USA</span>
-
-<span class="n">Everyone</span> <span class="ow">is</span> <span class="n">permitted</span> <span class="n">to</span> <span class="n">copy</span> <span class="ow">and</span> <span class="n">distribute</span> <span class="n">verbatim</span> <span class="n">copies</span> <span class="n">of</span> <span class="n">this</span>
-<span class="n">license</span> <span class="n">document</span><span class="p">,</span> <span class="n">but</span> <span class="n">changing</span> <span class="n">it</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">allowed</span><span class="o">.</span>
-
-
-<span class="n">Developer</span><span class="s1">&#39;s Certificate of Origin 1.1</span>
-
-<span class="n">By</span> <span class="n">making</span> <span class="n">a</span> <span class="n">contribution</span> <span class="n">to</span> <span class="n">this</span> <span class="n">project</span><span class="p">,</span> <span class="n">I</span> <span class="n">certify</span> <span class="n">that</span><span class="p">:</span>
-
-<span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="n">The</span> <span class="n">contribution</span> <span class="n">was</span> <span class="n">created</span> <span class="ow">in</span> <span class="n">whole</span> <span class="ow">or</span> <span class="ow">in</span> <span class="n">part</span> <span class="n">by</span> <span class="n">me</span> <span class="ow">and</span> <span class="n">I</span>
- <span class="n">have</span> <span class="n">the</span> <span class="n">right</span> <span class="n">to</span> <span class="n">submit</span> <span class="n">it</span> <span class="n">under</span> <span class="n">the</span> <span class="nb">open</span> <span class="n">source</span> <span class="n">license</span>
- <span class="n">indicated</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">file</span><span class="p">;</span> <span class="ow">or</span>
-
-<span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="n">The</span> <span class="n">contribution</span> <span class="ow">is</span> <span class="n">based</span> <span class="n">upon</span> <span class="n">previous</span> <span class="n">work</span> <span class="n">that</span><span class="p">,</span> <span class="n">to</span> <span class="n">the</span> <span class="n">best</span>
- <span class="n">of</span> <span class="n">my</span> <span class="n">knowledge</span><span class="p">,</span> <span class="ow">is</span> <span class="n">covered</span> <span class="n">under</span> <span class="n">an</span> <span class="n">appropriate</span> <span class="nb">open</span> <span class="n">source</span>
- <span class="n">license</span> <span class="ow">and</span> <span class="n">I</span> <span class="n">have</span> <span class="n">the</span> <span class="n">right</span> <span class="n">under</span> <span class="n">that</span> <span class="n">license</span> <span class="n">to</span> <span class="n">submit</span> <span class="n">that</span>
- <span class="n">work</span> <span class="k">with</span> <span class="n">modifications</span><span class="p">,</span> <span class="n">whether</span> <span class="n">created</span> <span class="ow">in</span> <span class="n">whole</span> <span class="ow">or</span> <span class="ow">in</span> <span class="n">part</span>
- <span class="n">by</span> <span class="n">me</span><span class="p">,</span> <span class="n">under</span> <span class="n">the</span> <span class="n">same</span> <span class="nb">open</span> <span class="n">source</span> <span class="n">license</span> <span class="p">(</span><span class="n">unless</span> <span class="n">I</span> <span class="n">am</span>
- <span class="n">permitted</span> <span class="n">to</span> <span class="n">submit</span> <span class="n">under</span> <span class="n">a</span> <span class="n">different</span> <span class="n">license</span><span class="p">),</span> <span class="k">as</span> <span class="n">indicated</span>
- <span class="ow">in</span> <span class="n">the</span> <span class="n">file</span><span class="p">;</span> <span class="ow">or</span>
-
-<span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="n">The</span> <span class="n">contribution</span> <span class="n">was</span> <span class="n">provided</span> <span class="n">directly</span> <span class="n">to</span> <span class="n">me</span> <span class="n">by</span> <span class="n">some</span> <span class="n">other</span>
- <span class="n">person</span> <span class="n">who</span> <span class="n">certified</span> <span class="p">(</span><span class="n">a</span><span class="p">),</span> <span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="ow">or</span> <span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="ow">and</span> <span class="n">I</span> <span class="n">have</span> <span class="ow">not</span> <span class="n">modified</span>
- <span class="n">it</span><span class="o">.</span>
-
-<span class="p">(</span><span class="n">d</span><span class="p">)</span> <span class="n">I</span> <span class="n">understand</span> <span class="ow">and</span> <span class="n">agree</span> <span class="n">that</span> <span class="n">this</span> <span class="n">project</span> <span class="ow">and</span> <span class="n">the</span> <span class="n">contribution</span>
- <span class="n">are</span> <span class="n">public</span> <span class="ow">and</span> <span class="n">that</span> <span class="n">a</span> <span class="n">record</span> <span class="n">of</span> <span class="n">the</span> <span class="n">contribution</span> <span class="p">(</span><span class="n">including</span> <span class="nb">all</span>
- <span class="n">personal</span> <span class="n">information</span> <span class="n">I</span> <span class="n">submit</span> <span class="k">with</span> <span class="n">it</span><span class="p">,</span> <span class="n">including</span> <span class="n">my</span> <span class="n">sign</span><span class="o">-</span><span class="n">off</span><span class="p">)</span> <span class="ow">is</span>
- <span class="n">maintained</span> <span class="n">indefinitely</span> <span class="ow">and</span> <span class="n">may</span> <span class="n">be</span> <span class="n">redistributed</span> <span class="n">consistent</span> <span class="k">with</span>
- <span class="n">this</span> <span class="n">project</span> <span class="ow">or</span> <span class="n">the</span> <span class="nb">open</span> <span class="n">source</span> <span class="n">license</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="n">involved</span><span class="o">.</span>
-</pre></div>
-</div>
-</div>
-</div>
+the submitter accepts the DCO:
+<code class="docutils literal notranslate"><span class="pre">`</span>
+<span class="pre">Signed-off-by:</span> <span class="pre">Your</span> <span class="pre">Name</span> <span class="pre">&lt;your_email&#64;domain.com&gt;</span>
+<span class="pre">`</span></code>
+By contributing in this way, you agree to the terms as follows:
+<a href="#id1"><span class="problematic" id="id2">``</span></a>`
+Developer Certificate of Origin
+Version 1.1</p>
+<p>Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
+660 York Street, Suite 102,
+San Francisco, CA 94110 USA</p>
+<p>Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.</p>
+<p>Developer’s Certificate of Origin 1.1</p>
+<p>By making a contribution to this project, I certify that:</p>
+<ol class="loweralpha simple">
+<li><p>The contribution was created in whole or in part by me and I
+have the right to submit it under the open source license
+indicated in the file; or</p></li>
+<li><p>The contribution is based upon previous work that, to the best
+of my knowledge, is covered under an appropriate open source
+license and I have the right under that license to submit that
+work with modifications, whether created in whole or in part
+by me, under the same open source license (unless I am
+permitted to submit under a different license), as indicated
+in the file; or</p></li>
+<li><p>The contribution was provided directly to me by some other
+person who certified (a), (b) or (c) and I have not modified
+it.</p></li>
+<li><p>I understand and agree that this project and the contribution
+are public and that a record of the contribution (including all
+personal information I submit with it, including my sign-off) is
+maintained indefinitely and may be redistributed consistent with
+this project or the open source license(s) involved.</p></li>
+</ol>
+<p><a href="#id3"><span class="problematic" id="id4">``</span></a><a href="#id5"><span class="problematic" id="id6">`</span></a></p>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -142,17 +137,15 @@ the submitter accepts the DCO:</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -169,13 +162,14 @@ the submitter accepts the DCO:</p>
<li class="right" >
<a href="dev-release-process.html" title="Development and Release Process"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Contributing to skiboot</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/process/dev-release-process.html b/doc/process/dev-release-process.html
index 4ea5d9a..86d1ac3 100644
--- a/doc/process/dev-release-process.html
+++ b/doc/process/dev-release-process.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Development and Release Process &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Development and Release Process &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="../platforms-and-cpus.html" title="Supported platforms &amp; CPUs"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Development and Release Process</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="development-and-release-process">
+ <section id="development-and-release-process">
<span id="release-process"></span><h1>Development and Release Process<a class="headerlink" href="#development-and-release-process" title="Permalink to this headline">¶</a></h1>
<p>Skiboot follows the release cycle of <cite>op-build</cite>, so that each new op-build
has a new stable skiboot. Currently, this means that we release once every
@@ -58,48 +58,48 @@ device tree bindings) to come in <em>early</em> in the cycle.</p>
Linux process, but not a slave to it. For example, there is currently not
the volume of patches to justify a next tree.</p>
<p>Here’s how some of the recent (at time of writing) releases have gone:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="59%" />
-<col width="41%" />
+<col style="width: 59%" />
+<col style="width: 41%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Date</th>
-<th class="head">Release</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Date</p></th>
+<th class="head"><p>Release</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oct 31st 2017</td>
-<td>v5.9</td>
+<tbody>
+<tr class="row-even"><td><p>Oct 31st 2017</p></td>
+<td><p>v5.9</p></td>
</tr>
-<tr class="row-odd"><td>Feb 6th 2018</td>
-<td>v5.10-rc1</td>
+<tr class="row-odd"><td><p>Feb 6th 2018</p></td>
+<td><p>v5.10-rc1</p></td>
</tr>
-<tr class="row-even"><td>Feb 9th 2018</td>
-<td>v5.10-rc2</td>
+<tr class="row-even"><td><p>Feb 9th 2018</p></td>
+<td><p>v5.10-rc2</p></td>
</tr>
-<tr class="row-odd"><td>Feb 15th 2018</td>
-<td>v5.10-rc3</td>
+<tr class="row-odd"><td><p>Feb 15th 2018</p></td>
+<td><p>v5.10-rc3</p></td>
</tr>
-<tr class="row-even"><td>Feb 21st 2018</td>
-<td>v5.10-rc4</td>
+<tr class="row-even"><td><p>Feb 21st 2018</p></td>
+<td><p>v5.10-rc4</p></td>
</tr>
-<tr class="row-odd"><td>Feb 23rd 2018</td>
-<td>v5.10</td>
+<tr class="row-odd"><td><p>Feb 23rd 2018</p></td>
+<td><p>v5.10</p></td>
</tr>
-<tr class="row-even"><td>Mar 28th 2018</td>
-<td>v5.11-rc1</td>
+<tr class="row-even"><td><p>Mar 28th 2018</p></td>
+<td><p>v5.11-rc1</p></td>
</tr>
-<tr class="row-odd"><td>Apr 6th 2018</td>
-<td>v5.11</td>
+<tr class="row-odd"><td><p>Apr 6th 2018</p></td>
+<td><p>v5.11</p></td>
</tr>
</tbody>
</table>
-<div class="section" id="lifecycle-of-a-patch">
+<section id="lifecycle-of-a-patch">
<h2>Lifecycle of a patch<a class="headerlink" href="#lifecycle-of-a-patch" title="Permalink to this headline">¶</a></h2>
<p>Roughly speaking, a patch has the following lifecycle:</p>
<ul>
-<li><p class="first">Design</p>
+<li><p>Design</p>
<p>It is best to do design work in the open, although sometimes this is hard
when upcoming unannounced hardware is involved. Often, it can be useful to
post an RFC design or patch to encourage discussion. This is especially
@@ -111,7 +111,7 @@ getting the applicable code upstream. Different perspectives are important
in coming to elegant solutions, as is having more than one person understand
the reasoning behind design decisions.</p>
</li>
-<li><p class="first">Review and Test</p>
+<li><p>Review and Test</p>
<p>Once you think your patch is a state suitable for merging, send it to the
mailing list for others to review and test. Using <cite>git format-patch</cite> and
<cite>git send-email</cite> is good practice to ensure your patches survive being sent
@@ -124,7 +124,7 @@ testing code before we merge it is to limit any problems to the smallest
number of people possible, only merging code we are collectively confident
that will <em>improve</em> life for all users and developers.</p>
</li>
-<li><p class="first">Merged to master</p>
+<li><p>Merged to master</p>
<p>The maintainer as merged your patches to the development tree (the ‘master’
git branch). Soon after this, many more people are going to be running your
code, so good review and testing helps ensure your inbox isn’t flooded with
@@ -132,19 +132,19 @@ bug reports.</p>
<p>If your patch has also been sent to the stable tree, it’s possible it also
gets merged there soonafter.</p>
</li>
-<li><p class="first">Stable release</p>
+<li><p>Stable release</p>
<p>Once a stable release is made, it’s likely that your code makes its way into
vendor’s firmware releases via their test cycles.</p>
</li>
-<li><p class="first">Bug fixes and maintenance</p>
+<li><p>Bug fixes and maintenance</p>
<p>Bugs are a fact of life, sometimes in our own code, sometimes in others, and
sometimes in hardware. After your patch is accepted, being available for
input on possible bugs found and possible fixes is invaluable so that all
can ship high quality firmware.</p>
</li>
</ul>
-</div>
-<div class="section" id="on-closed-source-branches-and-forks">
+</section>
+<section id="on-closed-source-branches-and-forks">
<h2>On closed source branches and forks<a class="headerlink" href="#on-closed-source-branches-and-forks" title="Permalink to this headline">¶</a></h2>
<p>Even though the license that skiboot is distributed under does <em>allow</em> you
to keep your changes private, we (the skiboot developers) cannot in any way
@@ -154,17 +154,18 @@ time, or resources to support Linux running on such closed source forks.
The kernel developers have said that patches to the kernel to support or
work around closed skiboot changes will <em>not</em> be accepted upstream.</p>
<p>If you keep your changes private, you are <em>entirely</em> on your own.</p>
-</div>
-<div class="section" id="license">
+</section>
+<section id="license">
<h2>License<a class="headerlink" href="#license" title="Permalink to this headline">¶</a></h2>
<p>Skiboot is licensed under the Apache 2.0 license (see the LICENSE file in the
source tree for the full text).</p>
<p>Portions (e.g. our libc, CCAN modules we use) are made available under a CC0, BSD,
or BSD-MIT license (see LICENSE files for specifics).</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -194,17 +195,15 @@ or BSD-MIT license (see LICENSE files for specifics).</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -221,13 +220,14 @@ or BSD-MIT license (see LICENSE files for specifics).</p>
<li class="right" >
<a href="../platforms-and-cpus.html" title="Supported platforms &amp; CPUs"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Development and Release Process</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/process/stable-skiboot-rules.html b/doc/process/stable-skiboot-rules.html
index 3eb6284..558be10 100644
--- a/doc/process/stable-skiboot-rules.html
+++ b/doc/process/stable-skiboot-rules.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Skiboot stable tree rules and releases &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Skiboot stable tree rules and releases &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="CONTRIBUTING.html" title="Contributing to skiboot"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Skiboot stable tree rules and releases</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-stable-tree-rules-and-releases">
+ <section id="skiboot-stable-tree-rules-and-releases">
<span id="stable-rules"></span><h1>Skiboot stable tree rules and releases<a class="headerlink" href="#skiboot-stable-tree-rules-and-releases" title="Permalink to this headline">¶</a></h1>
<p>If you’re at all familiar with the Linux kernel stable trees, this should
seem fairly familiar.</p>
@@ -54,65 +54,65 @@ releases contain critical fixes only.</p>
<p>As a general rule, on the most recent skiboot release gets a maintained
-stable tree. If you wish to maintain an older tree, speak up! For example,
with my IBMer hat on, we’ll maintain branches that we ship in products.</p>
-<div class="section" id="what-patches-are-accepted">
+<section id="what-patches-are-accepted">
<h2>What patches are accepted?<a class="headerlink" href="#what-patches-are-accepted" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Patches must be obviously correct and tested<ul>
-<li>A Tested-by signoff is <em>important</em></li>
+<li><p>Patches must be obviously correct and tested</p>
+<ul>
+<li><p>A Tested-by signoff is <em>important</em></p></li>
</ul>
</li>
-<li>A patch must fix a real bug</li>
-<li>No trivial patches, such fixups belong in main branch</li>
-<li>Not fix a purely theoretical problem unless you can prove how
-it’s exploitable</li>
-<li>The patch, or an equivalent one, must already be in master<ul>
-<li>Submitting to both at the same time is okay, but backporting is better</li>
+<li><p>A patch must fix a real bug</p></li>
+<li><p>No trivial patches, such fixups belong in main branch</p></li>
+<li><p>Not fix a purely theoretical problem unless you can prove how
+it’s exploitable</p></li>
+<li><p>The patch, or an equivalent one, must already be in master</p>
+<ul>
+<li><p>Submitting to both at the same time is okay, but backporting is better</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="howto-submit-to-stable">
+</section>
+<section id="howto-submit-to-stable">
<h2>HOWTO submit to stable<a class="headerlink" href="#howto-submit-to-stable" title="Permalink to this headline">¶</a></h2>
<p>Two ways:</p>
<ol class="arabic">
-<li><p class="first">Send patch to the <a class="reference external" href="mailto:skiboot-stable&#37;&#52;&#48;lists&#46;ozlabs&#46;org">skiboot-stable<span>&#64;</span>lists<span>&#46;</span>ozlabs<span>&#46;</span>org</a> list with
+<li><p>Send patch to the <a class="reference external" href="mailto:skiboot-stable&#37;&#52;&#48;lists&#46;ozlabs&#46;org">skiboot-stable<span>&#64;</span>lists<span>&#46;</span>ozlabs<span>&#46;</span>org</a> list with
“[PATCH &lt;stable version&gt;]” in subject</p>
<ul>
-<li><p class="first">This targets the patch <em>ONLY</em> to the stable branch.</p>
+<li><p>This targets the patch <em>ONLY</em> to the stable branch.</p>
<ul class="simple">
-<li>Such commits will <em>NOT</em> be merged into master.</li>
+<li><p>Such commits will <em>NOT</em> be merged into master.</p></li>
</ul>
</li>
-<li><p class="first">Use this when:</p>
+<li><p>Use this when:</p>
<ol class="loweralpha simple">
-<li>cherry-picking a fix from master</li>
-<li>fixing something that is only broken in stable</li>
-<li>fix in stable needs to be completely different than in master</li>
+<li><p>cherry-picking a fix from master</p></li>
+<li><p>fixing something that is only broken in stable</p></li>
+<li><p>fix in stable needs to be completely different than in master</p></li>
</ol>
<p>If b or c: explain why.</p>
</li>
-<li><p class="first">If cherry-picking, include the following at the top of your
+<li><p>If cherry-picking, include the following at the top of your
commit message:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">commit</span> <span class="o">&lt;</span><span class="n">sha1</span><span class="o">&gt;</span> <span class="n">upstream</span><span class="o">.</span>
</pre></div>
</div>
</li>
-<li><p class="first">If the patch has been modified, explain why in description.</p>
-</li>
+<li><p>If the patch has been modified, explain why in description.</p></li>
</ul>
</li>
-<li><p class="first">Add “Cc: <a class="reference external" href="mailto:skiboot-stable&#37;&#52;&#48;lists&#46;ozlabs&#46;org">skiboot-stable<span>&#64;</span>lists<span>&#46;</span>ozlabs<span>&#46;</span>org</a>” above your Signed-off-by line
+<li><p>Add “Cc: <a class="reference external" href="mailto:skiboot-stable&#37;&#52;&#48;lists&#46;ozlabs&#46;org">skiboot-stable<span>&#64;</span>lists<span>&#46;</span>ozlabs<span>&#46;</span>org</a>” above your Signed-off-by line
when sending to skiboot&#64;</p>
<ul>
-<li><p class="first">This targets the patch to master and stable.</p>
-</li>
-<li><p class="first">You can target a patch to a specific stable tree with:</p>
+<li><p>This targets the patch to master and stable.</p></li>
+<li><p>You can target a patch to a specific stable tree with:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Cc</span><span class="p">:</span> <span class="n">skiboot</span><span class="o">-</span><span class="n">stable</span><span class="nd">@lists</span><span class="o">.</span><span class="n">ozlabs</span><span class="o">.</span><span class="n">org</span> <span class="c1"># 5.1.x</span>
</pre></div>
</div>
<p>and that will target it to the 5.1.x branch.</p>
</li>
-<li><p class="first">You can ask for prerequisites to be cherry-picked:</p>
+<li><p>You can ask for prerequisites to be cherry-picked:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Cc</span><span class="p">:</span> <span class="n">skiboot</span><span class="o">-</span><span class="n">stable</span><span class="nd">@lists</span><span class="o">.</span><span class="n">ozlabs</span><span class="o">.</span><span class="n">org</span> <span class="c1"># 5.1.x 55ae15b Ensure we run pollers in cpu_wait_job()</span>
<span class="n">Cc</span><span class="p">:</span> <span class="n">skiboot</span><span class="o">-</span><span class="n">stable</span><span class="nd">@lists</span><span class="o">.</span><span class="n">ozlabs</span><span class="o">.</span><span class="n">org</span> <span class="c1"># 5.1.x</span>
</pre></div>
@@ -120,32 +120,35 @@ when sending to skiboot&#64;</p>
<p>Which means:</p>
<blockquote>
<div><ol class="arabic simple">
-<li>please <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">cherry-pick</span> <span class="pre">55ae15b</span></code></li>
-<li>then apply this patch to 5.1.x”.</li>
+<li><p>please <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">cherry-pick</span> <span class="pre">55ae15b</span></code></p></li>
+<li><p>then apply this patch to 5.1.x”.</p></li>
</ol>
</div></blockquote>
</li>
</ul>
</li>
</ol>
-</div>
-<div class="section" id="trees">
+</section>
+<section id="trees">
<h2>Trees<a class="headerlink" href="#trees" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><a class="reference external" href="https://github.com/open-power/skiboot/">https://github.com/open-power/skiboot/</a> (or via ssh at <code class="docutils literal notranslate"><span class="pre">git&#64;github.com:open-power/skiboot.git</span></code> )<ul>
-<li>(branches are skiboot-X.Y.x - e.g. skiboot-5.1.x)</li>
+<li><p><a class="reference external" href="https://github.com/open-power/skiboot/">https://github.com/open-power/skiboot/</a> (or via ssh at <code class="docutils literal notranslate"><span class="pre">git&#64;github.com:open-power/skiboot.git</span></code> )</p>
+<ul>
+<li><p>(branches are skiboot-X.Y.x - e.g. skiboot-5.1.x)</p></li>
</ul>
</li>
-<li>Some stable versions may last longer than others<ul>
-<li>So there may be skiboot-5.1.x and skiboot-5.2.x actively maintained
-and skiboot-5.1.x could possibly outlast skiboot-5.2.x</li>
+<li><p>Some stable versions may last longer than others</p>
+<ul>
+<li><p>So there may be skiboot-5.1.x and skiboot-5.2.x actively maintained
+and skiboot-5.1.x could possibly outlast skiboot-5.2.x</p></li>
</ul>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -175,17 +178,15 @@ and skiboot-5.1.x could possibly outlast skiboot-5.2.x</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -202,13 +203,14 @@ and skiboot-5.1.x could possibly outlast skiboot-5.2.x</li>
<li class="right" >
<a href="CONTRIBUTING.html" title="Contributing to skiboot"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Skiboot stable tree rules and releases</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/process/versioning.html b/doc/process/versioning.html
index b310623..9621233 100644
--- a/doc/process/versioning.html
+++ b/doc/process/versioning.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Versioning Scheme of skiboot &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Versioning Scheme of skiboot &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="stable-skiboot-rules.html" title="Skiboot stable tree rules and releases"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Versioning Scheme of skiboot</a></li>
</ul>
</div>
@@ -44,25 +44,25 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="versioning-scheme-of-skiboot">
+ <section id="versioning-scheme-of-skiboot">
<span id="versioning"></span><h1>Versioning Scheme of skiboot<a class="headerlink" href="#versioning-scheme-of-skiboot" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="history">
+<section id="history">
<h2>History<a class="headerlink" href="#history" title="Permalink to this headline">¶</a></h2>
<p>For roughly the first six months of public life, skiboot just presented a
git SHA1 as a version “number”. This was “user visible” in two places:</p>
<ol class="arabic simple">
-<li><code class="docutils literal notranslate"><span class="pre">/sys/firmware/opal/msglog</span></code>
-the familiar <code class="docutils literal notranslate"><span class="pre">SkiBoot</span> <span class="pre">71664fd-dirty</span> <span class="pre">starting...</span></code> message</li>
-<li>device tree:
-<code class="docutils literal notranslate"><span class="pre">/proc/device-tree/ibm,opal/firmware/git-id</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">/sys/firmware/opal/msglog</span></code>
+the familiar <code class="docutils literal notranslate"><span class="pre">SkiBoot</span> <span class="pre">71664fd-dirty</span> <span class="pre">starting...</span></code> message</p></li>
+<li><p>device tree:
+<code class="docutils literal notranslate"><span class="pre">/proc/device-tree/ibm,opal/firmware/git-id</span></code></p></li>
</ol>
<p>Builds were also referred to by date and by corresponding PowerKVM release.
Clearly, this was unlikely to be good practice going forward.</p>
<p>As of skiboot-4.0, this scheme has changed and we now present a version
string instead. This better addresses the needs of everybody who is building
OpenPower systems.</p>
-</div>
-<div class="section" id="current-practice">
+</section>
+<section id="current-practice">
<h2>Current practice<a class="headerlink" href="#current-practice" title="Permalink to this headline">¶</a></h2>
<p>The version string is constructed from a few places and is designed to
be <em>highly</em> informative about what you’re running. For the most part,
@@ -71,21 +71,21 @@ only times you need to do something is if you are a) making an upstream
skiboot release or b) building firmware to release for your platform(s).</p>
<p>OPAL/skiboot has several consumers, for example:</p>
<ul class="simple">
-<li>IBM shipping POWER8 systems with an FSP (FW810.XX and future)</li>
-<li>OpenPower</li>
-<li>OpenPower partners manufacturing OpenPower systems</li>
-<li>developers, test and support needing to understand what code a system
-is running</li>
+<li><p>IBM shipping POWER8 systems with an FSP (FW810.XX and future)</p></li>
+<li><p>OpenPower</p></li>
+<li><p>OpenPower partners manufacturing OpenPower systems</p></li>
+<li><p>developers, test and support needing to understand what code a system
+is running</p></li>
</ul>
<p>and there are going to be several concurrent maintained releases in the wild,
likely build by different teams of people at different companies.</p>
<p>tl;dr; is you’re likely going to see version numbers like this (for the
hypothetical platforms ‘ketchup’ and ‘mustard’):</p>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">skiboot-4.0-ketchup-0</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">skiboot-4.0-ketchup-1</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">skiboot-4.1-mustard-4</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">skiboot-4.1-ketchup-0</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">skiboot-4.0-ketchup-0</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">skiboot-4.0-ketchup-1</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">skiboot-4.1-mustard-4</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">skiboot-4.1-ketchup-0</span></code></p></li>
</ul>
<p>If you see <em>extra</em> things on the end of the version, then you’re running
a custom build from a developer
@@ -134,8 +134,8 @@ release. So, you could ship a skiboot with the following version string:</p>
</div>
<p>This version string tells your users to expect what is in skiboot-4.0 plus
some revisions for your platform.</p>
-</div>
-<div class="section" id="practical-considerations">
+</section>
+<section id="practical-considerations">
<h2>Practical Considerations<a class="headerlink" href="#practical-considerations" title="Permalink to this headline">¶</a></h2>
<p>You MUST correctly tag your git tree for sensible version numbers to be
generated. Look at the (generated) version.c file to confirm you’re building
@@ -143,10 +143,11 @@ the correct version number. You will need annotated tags (git tag -a).</p>
<p>If your build infrastructure does <em>not</em> build skiboot from a git tree, you
should specify SKIBOOT_VERSION as an environment variable (following this
versioning scheme), otherwise the build will fail.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -176,17 +177,15 @@ versioning scheme), otherwise the build will fail.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -203,13 +202,14 @@ versioning scheme), otherwise the build will fail.</p>
<li class="right" >
<a href="stable-skiboot-rules.html" title="Skiboot stable tree rules and releases"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Versioning Scheme of skiboot</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/index.html b/doc/release-notes/index.html
index 099d28a..dec3b44 100644
--- a/doc/release-notes/index.html
+++ b/doc/release-notes/index.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Release Notes &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Release Notes &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="../opal-api/return-codes.html" title="OPAL API Return Codes"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Release Notes</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="release-notes">
+ <section id="release-notes">
<h1>Release Notes<a class="headerlink" href="#release-notes" title="Permalink to this headline">¶</a></h1>
<div class="toctree-wrapper compound">
<ul>
@@ -218,9 +218,10 @@
<li class="toctree-l1"><a class="reference internal" href="skiboot-7.0.html">skiboot-7.0</a></li>
</ul>
</div>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -240,17 +241,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -267,13 +266,14 @@
<li class="right" >
<a href="../opal-api/return-codes.html" title="OPAL API Return Codes"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Release Notes</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-4.0.html b/doc/release-notes/skiboot-4.0.html
index b790ff2..7277dc9 100644
--- a/doc/release-notes/skiboot-4.0.html
+++ b/doc/release-notes/skiboot-4.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot 4.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot 4.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="index.html" title="Release Notes"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot 4.0</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-4-0">
+ <section id="skiboot-4-0">
<span id="id1"></span><h1>skiboot 4.0<a class="headerlink" href="#skiboot-4-0" title="Permalink to this headline">¶</a></h1>
<p>Skiboot 4.0 was released 19th November 2014. It was the first release to obtain
an independent version number and numbering scheme. Previous releases were
@@ -54,14 +54,15 @@ number.</p>
<p>This release introduced the following OPAL calls:</p>
<blockquote>
<div><ul class="simple">
-<li><a class="reference internal" href="../opal-api/opal-ipmi-send-recv-107-108.html#opal-ipmi-send"><span class="std std-ref">OPAL_IPMI_SEND</span></a></li>
-<li><a class="reference internal" href="../opal-api/opal-ipmi-send-recv-107-108.html#opal-ipmi-recv"><span class="std std-ref">OPAL_IPMI_RECV</span></a></li>
-<li><a class="reference internal" href="../opal-api/opal-i2c-request-109.html#opal-i2c-request"><span class="std std-ref">OPAL_I2C_REQUEST</span></a></li>
+<li><p><a class="reference internal" href="../opal-api/opal-ipmi-send-recv-107-108.html#opal-ipmi-send"><span class="std std-ref">OPAL_IPMI_SEND</span></a></p></li>
+<li><p><a class="reference internal" href="../opal-api/opal-ipmi-send-recv-107-108.html#opal-ipmi-recv"><span class="std std-ref">OPAL_IPMI_RECV</span></a></p></li>
+<li><p><a class="reference internal" href="../opal-api/opal-i2c-request-109.html#opal-i2c-request"><span class="std std-ref">OPAL_I2C_REQUEST</span></a></p></li>
</ul>
</div></blockquote>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -81,17 +82,15 @@ number.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -108,14 +107,15 @@ number.</p>
<li class="right" >
<a href="index.html" title="Release Notes"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot 4.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-4.1.1.html b/doc/release-notes/skiboot-4.1.1.html
index d3296fe..159c2b1 100644
--- a/doc/release-notes/skiboot-4.1.1.html
+++ b/doc/release-notes/skiboot-4.1.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot 4.1.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot 4.1.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-4.1.html" title="skiboot 4.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot 4.1.1</a></li>
</ul>
</div>
@@ -45,48 +45,50 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-4-1-1">
+ <section id="skiboot-4-1-1">
<span id="id1"></span><h1>skiboot 4.1.1<a class="headerlink" href="#skiboot-4-1-1" title="Permalink to this headline">¶</a></h1>
<p>Skiboot 4.1 was released 30th January 2015.</p>
<blockquote>
<div><ul class="simple">
-<li>fsp: Avoid NULL dereference in case of invalid class_resp bits
-CQ: SW288484</li>
-<li>Makefile: Support CROSS_COMPILE as well as CROSS</li>
-<li>Additional unit testing:<ul>
-<li>Tiny hello_world kernel</li>
-<li>Will run boot tests with hello_world and (if present) petitboot
-image in the POWER8 Functional simulator (mambo) (if present)</li>
-<li>Run CCAN unit tests as part of ‘make check’</li>
-<li>Increased testing of PEL code</li>
-<li>unit test console-log</li>
-<li>skeleton libc unit tests</li>
+<li><p>fsp: Avoid NULL dereference in case of invalid class_resp bits
+CQ: SW288484</p></li>
+<li><p>Makefile: Support CROSS_COMPILE as well as CROSS</p></li>
+<li><p>Additional unit testing:</p>
+<ul>
+<li><p>Tiny hello_world kernel</p></li>
+<li><p>Will run boot tests with hello_world and (if present) petitboot
+image in the POWER8 Functional simulator (mambo) (if present)</p></li>
+<li><p>Run CCAN unit tests as part of ‘make check’</p></li>
+<li><p>Increased testing of PEL code</p></li>
+<li><p>unit test console-log</p></li>
+<li><p>skeleton libc unit tests</p></li>
</ul>
</li>
-<li>Fix compatible match for palmetto &amp; habanero
+<li><p>Fix compatible match for palmetto &amp; habanero
The strings should be “tyan,…” not “ibm,…”
-(N/A for IBM systems)</li>
-<li>i2c: Unify the frequencies to calculate bit rate divisor</li>
-<li>Unlock rtc cache lock when cache isn’t valid
-Could cause IPL crash on POWER7</li>
-<li>Initial documentation for OPAL API, ABI and Specification</li>
-<li>Add Firestone platform</li>
-<li>Fix crash when one socket wasn’t populated with a CPU
-LTC-Bugzilla: 120562</li>
-<li>Bug fix in RTC state machine which possibly led to RTC not working</li>
-<li>Makefile fixes for running with some GCC 4.9 compilers</li>
-<li>Add device tree properties for pstate vdd and vcs values</li>
-<li>cpuidle: Add validated metrics for idle states
-Export residency times in device tree</li>
-<li>Revert “platforms/astbmc: Temporary reboot workaround”
-(N/A for IBM systems)</li>
-<li>Fix buffer overrun in print_* functions.
-This could cause IPL failures or conceivably other runtime problems</li>
+(N/A for IBM systems)</p></li>
+<li><p>i2c: Unify the frequencies to calculate bit rate divisor</p></li>
+<li><p>Unlock rtc cache lock when cache isn’t valid
+Could cause IPL crash on POWER7</p></li>
+<li><p>Initial documentation for OPAL API, ABI and Specification</p></li>
+<li><p>Add Firestone platform</p></li>
+<li><p>Fix crash when one socket wasn’t populated with a CPU
+LTC-Bugzilla: 120562</p></li>
+<li><p>Bug fix in RTC state machine which possibly led to RTC not working</p></li>
+<li><p>Makefile fixes for running with some GCC 4.9 compilers</p></li>
+<li><p>Add device tree properties for pstate vdd and vcs values</p></li>
+<li><p>cpuidle: Add validated metrics for idle states
+Export residency times in device tree</p></li>
+<li><p>Revert “platforms/astbmc: Temporary reboot workaround”
+(N/A for IBM systems)</p></li>
+<li><p>Fix buffer overrun in print_* functions.
+This could cause IPL failures or conceivably other runtime problems</p></li>
</ul>
</div></blockquote>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -106,17 +108,15 @@ This could cause IPL failures or conceivably other runtime problems</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -133,14 +133,15 @@ This could cause IPL failures or conceivably other runtime problems</li>
<li class="right" >
<a href="skiboot-4.1.html" title="skiboot 4.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot 4.1.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-4.1.html b/doc/release-notes/skiboot-4.1.html
index 32ab978..2f60756 100644
--- a/doc/release-notes/skiboot-4.1.html
+++ b/doc/release-notes/skiboot-4.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot 4.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot 4.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-4.0.html" title="skiboot 4.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot 4.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-4-1">
+ <section id="skiboot-4-1">
<span id="id1"></span><h1>skiboot 4.1<a class="headerlink" href="#skiboot-4-1" title="Permalink to this headline">¶</a></h1>
<p>Skiboot 4.1 was released 10th December 2014. It was a release where more
development transitioned to the open source mailing list rather than internal
@@ -53,45 +53,49 @@ mailing lists.</p>
<p>Changes include:</p>
<blockquote>
<div><ul class="simple">
-<li>We now build with -fstack-protector and -Werror</li>
-<li>Stack checking extensions when built with STACK_CHECK=1</li>
-<li>Reduced stack usage in some areas, -Wstack-usage=1024 now.<ul>
-<li>Some functions could use 2kb stack, now all are &lt;1kb</li>
+<li><p>We now build with -fstack-protector and -Werror</p></li>
+<li><p>Stack checking extensions when built with STACK_CHECK=1</p></li>
+<li><p>Reduced stack usage in some areas, -Wstack-usage=1024 now.</p>
+<ul>
+<li><p>Some functions could use 2kb stack, now all are &lt;1kb</p></li>
</ul>
</li>
-<li>Unsafe libc functions such as sprintf() have been removed</li>
-<li>Symbolic backtraces</li>
-<li>expose skiboot symbol map to OS (via device-tree)</li>
-<li>removed machine check interrupt patching in OPAL</li>
-<li>occ/hbrt: Call stopOCC() for implementing reset OCC command from FSP</li>
-<li>occ: Fix the low level ACK message sent to FSP on receiving {RESET/LOAD}_OCC</li>
-<li>hardening to errors of various FSP code<ul>
-<li>fsp: Avoid NULL dereference in case of invalid class_resp bits-
-abort if device tree parsing fails</li>
-<li>FSP: Validate fsp_msg in fsp_queue_msg</li>
-<li>fsp-elog: Add various NULL checks</li>
+<li><p>Unsafe libc functions such as sprintf() have been removed</p></li>
+<li><p>Symbolic backtraces</p></li>
+<li><p>expose skiboot symbol map to OS (via device-tree)</p></li>
+<li><p>removed machine check interrupt patching in OPAL</p></li>
+<li><p>occ/hbrt: Call stopOCC() for implementing reset OCC command from FSP</p></li>
+<li><p>occ: Fix the low level ACK message sent to FSP on receiving {RESET/LOAD}_OCC</p></li>
+<li><p>hardening to errors of various FSP code</p>
+<ul>
+<li><p>fsp: Avoid NULL dereference in case of invalid class_resp bits-
+abort if device tree parsing fails</p></li>
+<li><p>FSP: Validate fsp_msg in fsp_queue_msg</p></li>
+<li><p>fsp-elog: Add various NULL checks</p></li>
</ul>
</li>
-<li>Finessing of when to use error log vs prerror()</li>
-<li>More i2c work</li>
-<li>Can now run under Mambo simulator (see external/mambo/skiboot.tcl)
-(commonly known as “POWER8 Functional Simulator”)</li>
-<li>Document skiboot versioning scheme</li>
-<li>opal: Handle more TFAC errors.<ul>
-<li>TB_RESIDUE_ERR, FW_CONTROL_ERR and CHIP_TOD_PARITY_ERR</li>
+<li><p>Finessing of when to use error log vs prerror()</p></li>
+<li><p>More i2c work</p></li>
+<li><p>Can now run under Mambo simulator (see external/mambo/skiboot.tcl)
+(commonly known as “POWER8 Functional Simulator”)</p></li>
+<li><p>Document skiboot versioning scheme</p></li>
+<li><p>opal: Handle more TFAC errors.</p>
+<ul>
+<li><p>TB_RESIDUE_ERR, FW_CONTROL_ERR and CHIP_TOD_PARITY_ERR</p></li>
</ul>
</li>
-<li>ipmi: populate FRU data</li>
-<li>rtc: Add a generic rtc cache</li>
-<li>ipmi/rtc: use generic cache</li>
-<li>Error Logging backend for bmc based machines</li>
-<li>PSI: Drive link down on HIR</li>
-<li>occ: Fix clearing of OCC interrupt on remote fix</li>
+<li><p>ipmi: populate FRU data</p></li>
+<li><p>rtc: Add a generic rtc cache</p></li>
+<li><p>ipmi/rtc: use generic cache</p></li>
+<li><p>Error Logging backend for bmc based machines</p></li>
+<li><p>PSI: Drive link down on HIR</p></li>
+<li><p>occ: Fix clearing of OCC interrupt on remote fix</p></li>
</ul>
</div></blockquote>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -111,17 +115,15 @@ abort if device tree parsing fails</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -138,14 +140,15 @@ abort if device tree parsing fails</li>
<li class="right" >
<a href="skiboot-4.0.html" title="skiboot 4.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot 4.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.0.html b/doc/release-notes/skiboot-5.0.html
index 1ba85a7..2b8ef64 100644
--- a/doc/release-notes/skiboot-5.0.html
+++ b/doc/release-notes/skiboot-5.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot 5.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot 5.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-4.1.1.html" title="skiboot 4.1.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot 5.0</a></li>
</ul>
</div>
@@ -45,122 +45,103 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-0">
+ <section id="skiboot-5-0">
<span id="id1"></span><h1>skiboot 5.0<a class="headerlink" href="#skiboot-5-0" title="Permalink to this headline">¶</a></h1>
<p>Skiboot 5.0 was released Friday 10th April 2015.</p>
<p>Changes in 5.0 (since rc3):</p>
<blockquote>
<div><ul class="simple">
-<li>Fix chip id for nx coprocessors.</li>
-<li>hw/ipmi: Fix FW Boot Progress sensor</li>
-<li>bt: Add a temporary workaround for bmc dropping messages</li>
-<li>FSP/CUPD: Fix lock issue</li>
+<li><p>Fix chip id for nx coprocessors.</p></li>
+<li><p>hw/ipmi: Fix FW Boot Progress sensor</p></li>
+<li><p>bt: Add a temporary workaround for bmc dropping messages</p></li>
+<li><p>FSP/CUPD: Fix lock issue</p></li>
</ul>
</div></blockquote>
<p>Changes in rc3 (since rc2):</p>
<blockquote>
<div><ul class="simple">
-<li>add support for cec_power_down on mambo</li>
-<li>external/opal-prd: Use link register for cross-endian branch</li>
-<li>opal header file rework, Linux and skiboot now very closely match (API
-in opal-api.h)</li>
-<li>libflash: don’t use the low level interface if it doesn’t exist</li>
-<li>libflash/file: add file abstraction for libflash</li>
-<li>external: create a GUARD partition parsing utility</li>
+<li><p>add support for cec_power_down on mambo</p></li>
+<li><p>external/opal-prd: Use link register for cross-endian branch</p></li>
+<li><p>opal header file rework, Linux and skiboot now very closely match (API
+in opal-api.h)</p></li>
+<li><p>libflash: don’t use the low level interface if it doesn’t exist</p></li>
+<li><p>libflash/file: add file abstraction for libflash</p></li>
+<li><p>external: create a GUARD partition parsing utility</p></li>
</ul>
</div></blockquote>
<p>Changes in rc2 (since rc1):</p>
<blockquote>
<div><ul class="simple">
-<li>opal: Fix an issue where partial LID load causes opal to hang.</li>
-<li>nx: use proc_gen instead of param</li>
-<li>use chip id for NX engine Coproc Instance num</li>
-<li>Fix (hopefully) missing dot symbols in skiboot.map</li>
-<li>exceptions: Catch exceptions at boot time</li>
-<li>exceptions: Remove deprecated exception patching stuff</li>
-<li>mambo: Make mambo_utils.tcl optional</li>
-<li>mambo: Exit mambo when the simulation is stopped</li>
-<li>add NX register defines</li>
-<li>set NX crb input queues to 842 only</li>
-<li>core: Catch attempts to branch through a NULL pointer</li>
-<li>plat/firestone: Add missing platform hooks</li>
-<li>plat/firestone: Add missing platform hooks</li>
-<li>elog: Don’t call uninitialized platform elog_commit</li>
-<li>external/opal-prd: Use “official” switch-endian syscall</li>
-<li>hw/ipmi: Rework sensors and fix boot count sensor</li>
+<li><p>opal: Fix an issue where partial LID load causes opal to hang.</p></li>
+<li><p>nx: use proc_gen instead of param</p></li>
+<li><p>use chip id for NX engine Coproc Instance num</p></li>
+<li><p>Fix (hopefully) missing dot symbols in skiboot.map</p></li>
+<li><p>exceptions: Catch exceptions at boot time</p></li>
+<li><p>exceptions: Remove deprecated exception patching stuff</p></li>
+<li><p>mambo: Make mambo_utils.tcl optional</p></li>
+<li><p>mambo: Exit mambo when the simulation is stopped</p></li>
+<li><p>add NX register defines</p></li>
+<li><p>set NX crb input queues to 842 only</p></li>
+<li><p>core: Catch attempts to branch through a NULL pointer</p></li>
+<li><p>plat/firestone: Add missing platform hooks</p></li>
+<li><p>plat/firestone: Add missing platform hooks</p></li>
+<li><p>elog: Don’t call uninitialized platform elog_commit</p></li>
+<li><p>external/opal-prd: Use “official” switch-endian syscall</p></li>
+<li><p>hw/ipmi: Rework sensors and fix boot count sensor</p></li>
</ul>
</div></blockquote>
<p>Changes in rc1 (since 4.1.1):</p>
<p>General:</p>
<blockquote>
<div><ul>
-<li><p class="first">big OPAL API documentation updates
+<li><p>big OPAL API documentation updates
We now document around 19 OPAL calls. There’s still ~100 left to doc
-though :)</p>
-</li>
-<li><p class="first">skiboot can load FreeBSD kernel payload (thanks to Nathan Whitehorn)</p>
-</li>
-<li><p class="first">You can now run sparse by setting C=1 when building</p>
-</li>
-<li><p class="first">PSI: Revert the timeout for PSI link recovery to architected value
-now 30mins (prev 15)</p>
-</li>
-<li><p class="first">cpuidle: Add validated metrics for idle states</p>
-</li>
-<li><p class="first">core/flash: Add flash API
-OPAL_FLASH_(READ|WRITE|ERASE)</p>
-</li>
-<li><p class="first">capi: Dynamically calculate which CAPP port to use
-no longer hardwired to PHB0</p>
-</li>
-<li><p class="first">vpd: Use slca parent-child relationship to create vpd tree</p>
-</li>
-<li><p class="first">opal: Do not overwrite same HMI event for multiple HMI errors.
-Now Linux will get a HMI event for each HMI error</p>
-</li>
-<li><p class="first">HMI event v2 now includes information about checkstop</p>
-</li>
-<li><p class="first">HMI improvements, handle more conditions gracefully:</p>
+though :)</p></li>
+<li><p>skiboot can load FreeBSD kernel payload (thanks to Nathan Whitehorn)</p></li>
+<li><p>You can now run sparse by setting C=1 when building</p></li>
+<li><p>PSI: Revert the timeout for PSI link recovery to architected value
+now 30mins (prev 15)</p></li>
+<li><p>cpuidle: Add validated metrics for idle states</p></li>
+<li><p>core/flash: Add flash API
+OPAL_FLASH_(READ|WRITE|ERASE)</p></li>
+<li><p>capi: Dynamically calculate which CAPP port to use
+no longer hardwired to PHB0</p></li>
+<li><p>vpd: Use slca parent-child relationship to create vpd tree</p></li>
+<li><p>opal: Do not overwrite same HMI event for multiple HMI errors.
+Now Linux will get a HMI event for each HMI error</p></li>
+<li><p>HMI event v2 now includes information about checkstop</p></li>
+<li><p>HMI improvements, handle more conditions gracefully:</p>
<ul class="simple">
-<li>TB residue error</li>
-<li>TFMR firmware control error</li>
-<li>TFMR parity</li>
-<li>TFMR HDEC parity error</li>
-<li>TFMR DEC parity error</li>
-<li>TFMR SPURR/PURR parity error</li>
-<li>TB residue and HDEC parity HMI errors on split core</li>
+<li><p>TB residue error</p></li>
+<li><p>TFMR firmware control error</p></li>
+<li><p>TFMR parity</p></li>
+<li><p>TFMR HDEC parity error</p></li>
+<li><p>TFMR DEC parity error</p></li>
+<li><p>TFMR SPURR/PURR parity error</p></li>
+<li><p>TB residue and HDEC parity HMI errors on split core</p></li>
</ul>
</li>
-<li><p class="first">hostservices: Cache lids prior to first load request</p>
-</li>
-<li><p class="first">Warn when pollers are called with a lock held
+<li><p>hostservices: Cache lids prior to first load request</p></li>
+<li><p>Warn when pollers are called with a lock held
and keep track of lock depth.</p>
<p><strong>NOTE:</strong> This means we will get backtraces in skiboot msglog on FSP machines
This is a KNOWN ISSUE and is largely harmless.
There’s still a couple that we haven’t yet cleaned, these
messages can be thought of as a TODO list for developers.</p>
</li>
-<li><p class="first">Don’t run pollers in time_wait if lock held</p>
-</li>
-<li><p class="first">pci: Don’t hang if we have only one CPU</p>
-</li>
-<li><p class="first">Detect recursive poller entry</p>
-</li>
-<li><p class="first">General cleanup</p>
-</li>
-<li><p class="first">Cleanup of opal.h so that we can have Linux and skiboot match</p>
-</li>
-<li><p class="first">add sparse annotations to opal.h</p>
-</li>
-<li><p class="first">Platform hooks for loading and preloading resources (LIDs)
+<li><p>Don’t run pollers in time_wait if lock held</p></li>
+<li><p>pci: Don’t hang if we have only one CPU</p></li>
+<li><p>Detect recursive poller entry</p></li>
+<li><p>General cleanup</p></li>
+<li><p>Cleanup of opal.h so that we can have Linux and skiboot match</p></li>
+<li><p>add sparse annotations to opal.h</p></li>
+<li><p>Platform hooks for loading and preloading resources (LIDs)
This lays the groundwork for cutting 4-20 seconds off boot in a
-future skiboot release.</p>
-</li>
-<li><p class="first">Fix potential race when clearing OCC interrupt status</p>
-</li>
-<li><p class="first">Add platform operation for reading sensors</p>
+future skiboot release.</p></li>
+<li><p>Fix potential race when clearing OCC interrupt status</p></li>
+<li><p>Add platform operation for reading sensors</p>
<ul class="simple">
-<li>add support to read core and memory buffer temperatures</li>
+<li><p>add support to read core and memory buffer temperatures</p></li>
</ul>
</li>
</ul>
@@ -168,66 +149,67 @@ future skiboot release.</p>
<p>Mambo/POWER8 Functional Simulator:</p>
<blockquote>
<div><ul class="simple">
-<li>Replace is_mambo_chip() with a better quirks mechanism.</li>
-<li>Don’t hang if we only have one CPU and PCI.</li>
+<li><p>Replace is_mambo_chip() with a better quirks mechanism.</p></li>
+<li><p>Don’t hang if we only have one CPU and PCI.</p></li>
</ul>
</div></blockquote>
<p>BMC systems:</p>
<blockquote>
<div><ul class="simple">
-<li>BMC can load payload from flash</li>
-<li>IPMI on BMC systems: graceful poweroff and reboot</li>
-<li>IPMI on BMC systems: watchdog timer support</li>
-<li>IPMI on BMC systems: PNOR locking</li>
-<li>Support for IPMI progress sensor</li>
-<li>IPMI boot count sensor</li>
-<li>capi: Rework microcode flash download and CAPP upload
-load microcode on non-fsp systems</li>
-<li>NEW opal-prd userspace tool that handles PRD on non-FSP systems.
-and OPAL PRD calls to support it.</li>
-<li>Improvements to opal-prd, libflash, and ipmi</li>
-<li>ECC support in libflash</li>
-<li>Load CAPI micro code, enabling CAPI on OpenPower systems.</li>
-<li>Dynamically calculate which CAPP port to use, don’t hardcode to PHB0</li>
-<li>memboot flash backend</li>
+<li><p>BMC can load payload from flash</p></li>
+<li><p>IPMI on BMC systems: graceful poweroff and reboot</p></li>
+<li><p>IPMI on BMC systems: watchdog timer support</p></li>
+<li><p>IPMI on BMC systems: PNOR locking</p></li>
+<li><p>Support for IPMI progress sensor</p></li>
+<li><p>IPMI boot count sensor</p></li>
+<li><p>capi: Rework microcode flash download and CAPP upload
+load microcode on non-fsp systems</p></li>
+<li><p>NEW opal-prd userspace tool that handles PRD on non-FSP systems.
+and OPAL PRD calls to support it.</p></li>
+<li><p>Improvements to opal-prd, libflash, and ipmi</p></li>
+<li><p>ECC support in libflash</p></li>
+<li><p>Load CAPI micro code, enabling CAPI on OpenPower systems.</p></li>
+<li><p>Dynamically calculate which CAPP port to use, don’t hardcode to PHB0</p></li>
+<li><p>memboot flash backend</p></li>
</ul>
</div></blockquote>
<p>POWER8</p>
<blockquote>
<div><ul class="simple">
-<li>add nx-842 coproc support</li>
+<li><p>add nx-842 coproc support</p></li>
</ul>
</div></blockquote>
<p>FSP systems:</p>
<blockquote>
<div><ul class="simple">
-<li>Make abort() update sp attn area (like assert does)
-On FSP systems this gives better error logs/dumps when abort() is hit</li>
-<li>FSP/LEDS: Many improvements and bug fixes</li>
-<li>LED support for FSP machines
-Adds OPAL_LEDS_(GET|SET)_INDICATOR and device-tree bindings</li>
-<li>Refactor of fsp-rtc</li>
-<li>OCC loading fixes, including possible race condition where we would
-fail to IPL.</li>
+<li><p>Make abort() update sp attn area (like assert does)
+On FSP systems this gives better error logs/dumps when abort() is hit</p></li>
+<li><p>FSP/LEDS: Many improvements and bug fixes</p></li>
+<li><p>LED support for FSP machines
+Adds OPAL_LEDS_(GET|SET)_INDICATOR and device-tree bindings</p></li>
+<li><p>Refactor of fsp-rtc</p></li>
+<li><p>OCC loading fixes, including possible race condition where we would
+fail to IPL.</p></li>
</ul>
</div></blockquote>
<p>POWER7</p>
<blockquote>
<div><ul class="simple">
-<li>Fix unsupported return code of OPAL_(UN)REGISTER_DUMP_REGION on P7</li>
-<li>occ: Don’t do bad XSCOMs on P7
+<li><p>Fix unsupported return code of OPAL_(UN)REGISTER_DUMP_REGION on P7</p></li>
+<li><p>occ: Don’t do bad XSCOMs on P7
The OCC interrupt register only exists on P8, accessing it on P7 causes
-not only error logs but also causes PRD to eventually gard chips.</li>
-<li>cpu: Handle opal_reinit_cpus() more gracefully on P7
-no longer generate error logs</li>
-<li>libflash updates for openpower</li>
-<li>misc code cleanup</li>
-<li>add nx-842 coproc support</li>
+not only error logs but also causes PRD to eventually gard chips.</p></li>
+<li><p>cpu: Handle opal_reinit_cpus() more gracefully on P7
+no longer generate error logs</p></li>
+<li><p>libflash updates for openpower</p></li>
+<li><p>misc code cleanup</p></li>
+<li><p>add nx-842 coproc support</p></li>
</ul>
</div></blockquote>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -247,17 +229,15 @@ no longer generate error logs</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -274,14 +254,15 @@ no longer generate error logs</li>
<li class="right" >
<a href="skiboot-4.1.1.html" title="skiboot 4.1.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot 5.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.0-beta1.html b/doc/release-notes/skiboot-5.1.0-beta1.html
index a55868f..fca644b 100644
--- a/doc/release-notes/skiboot-5.1.0-beta1.html
+++ b/doc/release-notes/skiboot-5.1.0-beta1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.0-beta1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.0-beta1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.0.html" title="skiboot-5.1.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.0-beta1</a></li>
</ul>
</div>
@@ -45,573 +45,585 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-0-beta1">
+ <section id="skiboot-5-1-0-beta1">
<h1>skiboot-5.1.0-beta1<a class="headerlink" href="#skiboot-5-1-0-beta1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.0-beta1 was released on July 21st, 2015.</p>
<p>skiboot-5.1.0-beta1 is the first beta release of skiboot 5.1, which will
become a new stable release, replacing skiboot-5.0 (released April 14th 2015)</p>
<p>Skiboot 5.1-beta1 contains all fixes from skiboot-5.0 stable branch up to
skiboot-5.0.5.</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.0, the following features have been added:</p>
<ul class="simple">
-<li>Centaur i2c support</li>
-<li>Add Naples chip (CPU, PHB, LPC serial interrupts) support</li>
-<li>Added qemu platform</li>
-<li>improvements to FSI error handling</li>
-<li>improvements in chip TOD failover (some only on FSP systems)</li>
-<li>Set Relative Priority Register (RPR) to recommended value<ul>
-<li>this affects thread priority in SMT modes</li>
+<li><p>Centaur i2c support</p></li>
+<li><p>Add Naples chip (CPU, PHB, LPC serial interrupts) support</p></li>
+<li><p>Added qemu platform</p></li>
+<li><p>improvements to FSI error handling</p></li>
+<li><p>improvements in chip TOD failover (some only on FSP systems)</p></li>
+<li><p>Set Relative Priority Register (RPR) to recommended value</p>
+<ul>
+<li><p>this affects thread priority in SMT modes</p></li>
</ul>
</li>
-<li>greatly reduce memory consumption by CPU stacks for non-present CPUs<ul>
-<li>Previously we would reserve enough memory for max PIR for each CPU type.</li>
-<li>This fix frees up 77MB of RAM on a typical P8 system.</li>
+<li><p>greatly reduce memory consumption by CPU stacks for non-present CPUs</p>
+<ul>
+<li><p>Previously we would reserve enough memory for max PIR for each CPU type.</p></li>
+<li><p>This fix frees up 77MB of RAM on a typical P8 system.</p></li>
</ul>
</li>
-<li>increased OPAL API documentation</li>
-<li>Asynchronous preloading of resources from FSP/flash<ul>
-<li>improves boot time on some systems</li>
+<li><p>increased OPAL API documentation</p></li>
+<li><p>Asynchronous preloading of resources from FSP/flash</p>
+<ul>
+<li><p>improves boot time on some systems</p></li>
</ul>
</li>
-<li>Basic Garrison platform support</li>
-<li>Add Mambo platform (P8 Functional Simulator, systemsim)<ul>
-<li>includes fake NVRAM, RTC</li>
+<li><p>Basic Garrison platform support</p></li>
+<li><p>Add Mambo platform (P8 Functional Simulator, systemsim)</p>
+<ul>
+<li><p>includes fake NVRAM, RTC</p></li>
</ul>
</li>
-<li>Support building with GCOV, increasing memory for skiboot binary to 2MB<ul>
-<li>includes boot code coverage testing</li>
+<li><p>Support building with GCOV, increasing memory for skiboot binary to 2MB</p>
+<ul>
+<li><p>includes boot code coverage testing</p></li>
</ul>
</li>
-<li>Increased skiboot HEAP size.<ul>
-<li>We are not aware of any system where you would run out, but on large
-systems it was getting closer than we liked.</li>
+<li><p>Increased skiboot HEAP size.</p>
+<ul>
+<li><p>We are not aware of any system where you would run out, but on large
+systems it was getting closer than we liked.</p></li>
</ul>
</li>
-<li>add boot_tests.sh for helping automate boot testing on FSP and BMC machines</li>
-<li>Versioning of pflash and gard utilities to help Linux (or other OS)
-distributions with packaging.</li>
-<li>OCC throttle status messages to host</li>
-<li>CAPP timebase sync (“ibm,capp-timebase-sync” in DT to indicate CAPP timebase
-was synced by OPAL)</li>
+<li><p>add boot_tests.sh for helping automate boot testing on FSP and BMC machines</p></li>
+<li><p>Versioning of pflash and gard utilities to help Linux (or other OS)
+distributions with packaging.</p></li>
+<li><p>OCC throttle status messages to host</p></li>
+<li><p>CAPP timebase sync (“ibm,capp-timebase-sync” in DT to indicate CAPP timebase
+was synced by OPAL)</p></li>
</ul>
-</div>
-<div class="section" id="new-features-for-fsp-based-machines">
+</section>
+<section id="new-features-for-fsp-based-machines">
<h2>New features for FSP based machines<a class="headerlink" href="#new-features-for-fsp-based-machines" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>in-band IPMI support</li>
-<li>ethernet adaptor location codes</li>
-<li>add DIMM frequency information to device tree</li>
-<li>improvements in FSP error log code paths</li>
-<li>fix some boot time memory leaks<ul>
-<li>harmless to end user</li>
+<li><p>in-band IPMI support</p></li>
+<li><p>ethernet adaptor location codes</p></li>
+<li><p>add DIMM frequency information to device tree</p></li>
+<li><p>improvements in FSP error log code paths</p></li>
+<li><p>fix some boot time memory leaks</p>
+<ul>
+<li><p>harmless to end user</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="new-features-for-ami-bmc-based-machines">
+</section>
+<section id="new-features-for-ami-bmc-based-machines">
<h2>New features for AMI BMC based machines<a class="headerlink" href="#new-features-for-ami-bmc-based-machines" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>PCIe power workaround for K80</li>
-<li>Added support for Macronix 128Mbit flash chips</li>
-<li>Initial PRD support for Firestone platform</li>
-<li>improved reliability when BMC reboots</li>
+<li><p>PCIe power workaround for K80</p></li>
+<li><p>Added support for Macronix 128Mbit flash chips</p></li>
+<li><p>Initial PRD support for Firestone platform</p></li>
+<li><p>improved reliability when BMC reboots</p></li>
</ul>
-</div>
-<div class="section" id="bug-fixes">
+</section>
+<section id="bug-fixes">
<h2>Bug Fixes<a class="headerlink" href="#bug-fixes" title="Permalink to this headline">¶</a></h2>
<p>The following bugs have been fixed:</p>
<ul class="simple">
-<li>Increase PHB3 timeout for electrical links coming up to 2 seconds.<ul>
-<li>fixes issues with some Mellanox cards</li>
+<li><p>Increase PHB3 timeout for electrical links coming up to 2 seconds.</p>
+<ul>
+<li><p>fixes issues with some Mellanox cards</p></li>
</ul>
</li>
-<li>Hang in opal_reinit_cpus() that could prevent kdump from functioning</li>
-<li>PHB3: fix crash in phb3_init</li>
-<li>PHB3: fix crash with fenced PHB in phb3_init_hw()</li>
-<li>Fix bugs in hw/bt.c (interface for IPMI on BMC machines) that could possibly
-lead to a crash (dereferencing invalid address, deadlock)</li>
-<li>ipmi/sel: fix use-after-free</li>
-<li>Bug fixes in EEH handling<ul>
-<li>opal_pci_next_error() cleared OPAL_EVENT_PCI_ERROR unconditionally, possibly leading to missed errors.</li>
+<li><p>Hang in opal_reinit_cpus() that could prevent kdump from functioning</p></li>
+<li><p>PHB3: fix crash in phb3_init</p></li>
+<li><p>PHB3: fix crash with fenced PHB in phb3_init_hw()</p></li>
+<li><p>Fix bugs in hw/bt.c (interface for IPMI on BMC machines) that could possibly
+lead to a crash (dereferencing invalid address, deadlock)</p></li>
+<li><p>ipmi/sel: fix use-after-free</p></li>
+<li><p>Bug fixes in EEH handling</p>
+<ul>
+<li><p>opal_pci_next_error() cleared OPAL_EVENT_PCI_ERROR unconditionally, possibly leading to missed errors.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="fsp-specific-bugs-fixed">
+</section>
+<section id="fsp-specific-bugs-fixed">
<h2>FSP-specific bugs fixed:<a class="headerlink" href="#fsp-specific-bugs-fixed" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">(also fixed in skiboot-5.0.2) Fix race in firenze_get_slot_info() leading to
+<li><p>(also fixed in skiboot-5.0.2) Fix race in firenze_get_slot_info() leading to
assert() with many PCI cards</p>
<p>With many PCI cards, we’d hit a race where calls to
firenze_add_pcidev_to_fsp_inventory would step on each other leading to
memory corruption and finally an assert() in the allocator being hit
during boot.</p>
</li>
-<li><p class="first">PCIe power workaround for K80 cards</p>
-</li>
-<li><p class="first">/ibm,opal/led renamed to /ibm,opal/leds in Device Tree</p>
+<li><p>PCIe power workaround for K80 cards</p></li>
+<li><p>/ibm,opal/led renamed to /ibm,opal/leds in Device Tree</p>
<ul class="simple">
-<li>compatible change as no FSP based systems shipped with skiboot-5.0</li>
+<li><p>compatible change as no FSP based systems shipped with skiboot-5.0</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="general-improvements">
+</section>
+<section id="general-improvements">
<h2>General improvements:<a class="headerlink" href="#general-improvements" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>don’t run pollers on non-boot CPUs in time_wait</li>
-<li>improvements to opal-prd, pflash, libflash<ul>
-<li>including new blocklevel interface in libflash</li>
+<li><p>don’t run pollers on non-boot CPUs in time_wait</p></li>
+<li><p>improvements to opal-prd, pflash, libflash</p>
+<ul>
+<li><p>including new blocklevel interface in libflash</p></li>
</ul>
</li>
-<li>many minor fixes to issues found by static analysis</li>
-<li>improvements in FSP error log code paths</li>
-<li>code cleanup in memory allocator</li>
-<li>Don’t expose individual nvram partitions in the device tree, just the whole
-flash device.</li>
-<li>build improvements for building on ppc64el host</li>
-<li>improvements in cpu_relax() for idle threads, needed for GCOV on large
-machines.</li>
-<li>Optimized memset() for POWER8, greatly reducing number of instructions
-executed for boot, which helps boot time in simulators.</li>
-<li>Major improvements in hello_world kernel<ul>
-<li>Bloat of huge 17 instruction test case reduced to 10.</li>
+<li><p>many minor fixes to issues found by static analysis</p></li>
+<li><p>improvements in FSP error log code paths</p></li>
+<li><p>code cleanup in memory allocator</p></li>
+<li><p>Don’t expose individual nvram partitions in the device tree, just the whole
+flash device.</p></li>
+<li><p>build improvements for building on ppc64el host</p></li>
+<li><p>improvements in cpu_relax() for idle threads, needed for GCOV on large
+machines.</p></li>
+<li><p>Optimized memset() for POWER8, greatly reducing number of instructions
+executed for boot, which helps boot time in simulators.</p></li>
+<li><p>Major improvements in hello_world kernel</p>
+<ul>
+<li><p>Bloat of huge 17 instruction test case reduced to 10.</p></li>
</ul>
</li>
-<li>Disable bust_locks for general calls of abort()<ul>
-<li>Should enable better error messages during abort() when other users of
-LPC bus exist (e.g. flash)</li>
+<li><p>Disable bust_locks for general calls of abort()</p>
+<ul>
+<li><p>Should enable better error messages during abort() when other users of
+LPC bus exist (e.g. flash)</p></li>
</ul>
</li>
</ul>
-<div class="section" id="contributors">
+<section id="contributors">
<h3>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h3>
<p>Thanks to everyone who has made skiboot-5.1.0-beta1 happen!</p>
<p>Processed 321 csets from 25 developers
3 employers found
A total of 13696 lines added, 2754 removed (delta 10942)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="30%" />
+<col style="width: 70%" />
+<col style="width: 30%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">Changesets</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>Changesets</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>101 (31.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>101 (31.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>32 (10.0%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>32 (10.0%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>31 (9.7%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>31 (9.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>28 (8.7%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>28 (8.7%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>27 (8.4%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>27 (8.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Kamalesh Babulal</td>
-<td>19 (5.9%)</td>
+<tr class="row-odd"><td><p>Kamalesh Babulal</p></td>
+<td><p>19 (5.9%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>12 (3.7%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>12 (3.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>12 (3.7%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>12 (3.7%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>8 (2.5%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>8 (2.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>8 (2.5%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>8 (2.5%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>8 (2.5%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>8 (2.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>8 (2.5%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>8 (2.5%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>6 (1.9%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>6 (1.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>6 (1.9%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>6 (1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Bonnard</td>
-<td>3 (0.9%)</td>
+<tr class="row-even"><td><p>Frederic Bonnard</p></td>
+<td><p>3 (0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>2 (0.6%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>2 (0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>2 (0.6%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>2 (0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Axtens</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Daniel Axtens</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Hari Bathini</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Hari Bathini</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Andrei Warkentin</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Andrei Warkentin</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Dan Horák</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Dan Horák</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Anton Blanchard</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Anton Blanchard</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="33%" />
+<col style="width: 67%" />
+<col style="width: 33%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">Changed Lines</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>Changed Lines</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>3987 (27.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>3987 (27.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>3811 (26.6%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>3811 (26.6%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>1918 (13.4%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>1918 (13.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>1307 (9.1%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>1307 (9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>886 (6.2%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>886 (6.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>764 (5.3%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>764 (5.3%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>473 (3.3%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>473 (3.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>176 (1.2%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>176 (1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>175 (1.2%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>175 (1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>171 (1.2%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>171 (1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>165 (1.2%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>165 (1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>89 (0.6%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>89 (0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Bonnard</td>
-<td>78 (0.5%)</td>
+<tr class="row-even"><td><p>Frederic Bonnard</p></td>
+<td><p>78 (0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>73 (0.5%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>73 (0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>65 (0.5%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>65 (0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Kamalesh Babulal</td>
-<td>63 (0.4%)</td>
+<tr class="row-odd"><td><p>Kamalesh Babulal</p></td>
+<td><p>63 (0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>47 (0.3%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>47 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Axtens</td>
-<td>31 (0.2%)</td>
+<tr class="row-odd"><td><p>Daniel Axtens</p></td>
+<td><p>31 (0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>22 (0.2%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>22 (0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Anton Blanchard</td>
-<td>3 (0.0%)</td>
+<tr class="row-odd"><td><p>Anton Blanchard</p></td>
+<td><p>3 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>2 (0.0%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>2 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Hari Bathini</td>
-<td>2 (0.0%)</td>
+<tr class="row-odd"><td><p>Hari Bathini</p></td>
+<td><p>2 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Ellerman</td>
-<td>1 (0.0%)</td>
+<tr class="row-even"><td><p>Michael Ellerman</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrei Warkentin</td>
-<td>1 (0.0%)</td>
+<tr class="row-odd"><td><p>Andrei Warkentin</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Dan Horák</td>
-<td>1 (0.0%)</td>
+<tr class="row-even"><td><p>Dan Horák</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="64%" />
-<col width="36%" />
+<col style="width: 64%" />
+<col style="width: 36%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>105 (3.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>105 (3.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>24 (0.9%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>24 (0.9%)</p></td>
</tr>
-<tr class="row-even"><td>Hari Bathini</td>
-<td>1 (0.0%)</td>
+<tr class="row-even"><td><p>Hari Bathini</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 214)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="64%" />
-<col width="36%" />
+<col style="width: 64%" />
+<col style="width: 36%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>214 (100.0%)</td>
+<tbody>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>214 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 21)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="65%" />
-<col width="35%" />
+<col style="width: 65%" />
+<col style="width: 35%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>7 (33.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>7 (33.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>3 (14.3%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>3 (14.3%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>2 (9.5%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>2 (9.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Kamalesh Babulal</td>
-<td>2 (9.5%)</td>
+<tr class="row-odd"><td><p>Kamalesh Babulal</p></td>
+<td><p>2 (9.5%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>2 (9.5%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>2 (9.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1 (4.8%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1 (4.8%)</p></td>
</tr>
-<tr class="row-even"><td>Andrei Warkentin</td>
-<td>1 (4.8%)</td>
+<tr class="row-even"><td><p>Andrei Warkentin</p></td>
+<td><p>1 (4.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Preeti U Murthy</td>
-<td>1 (4.8%)</td>
+<tr class="row-odd"><td><p>Preeti U Murthy</p></td>
+<td><p>1 (4.8%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>1 (4.8%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>1 (4.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>1 (4.8%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1 (4.8%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="64%" />
-<col width="36%" />
+<col style="width: 64%" />
+<col style="width: 36%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Chad Larson</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Chad Larson</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most tested-by credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="64%" />
-<col width="36%" />
+<col style="width: 64%" />
+<col style="width: 36%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most report credits (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="64%" />
-<col width="36%" />
+<col style="width: 64%" />
+<col style="width: 36%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>2 (50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>2 (50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Chad Larson</td>
-<td>1 (25.0%)</td>
+<tr class="row-odd"><td><p>Chad Larson</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
-<tr class="row-even"><td>Andrei Warkentin</td>
-<td>1 (25.0%)</td>
+<tr class="row-even"><td><p>Andrei Warkentin</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="64%" />
-<col width="36%" />
+<col style="width: 64%" />
+<col style="width: 36%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>3 (75.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>3 (75.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1 (25.0%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
</tbody>
</table>
<p>Top changeset contributors by employer</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="65%" />
-<col width="35%" />
+<col style="width: 65%" />
+<col style="width: 35%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>319 (99.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>319 (99.4%)</p></td>
</tr>
-<tr class="row-odd"><td><a class="reference external" href="mailto:dan&#37;&#52;&#48;danny&#46;cz">dan<span>&#64;</span>danny<span>&#46;</span>cz</a></td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p><a class="reference external" href="mailto:dan&#37;&#52;&#48;danny&#46;cz">dan<span>&#64;</span>danny<span>&#46;</span>cz</a></p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td><a class="reference external" href="mailto:andrey&#46;warkentin&#37;&#52;&#48;gmail&#46;com">andrey<span>&#46;</span>warkentin<span>&#64;</span>gmail<span>&#46;</span>com</a></td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p><a class="reference external" href="mailto:andrey&#46;warkentin&#37;&#52;&#48;gmail&#46;com">andrey<span>&#46;</span>warkentin<span>&#64;</span>gmail<span>&#46;</span>com</a></p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
</tbody>
</table>
<p>Top lines changed by employer</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="65%" />
-<col width="35%" />
+<col style="width: 65%" />
+<col style="width: 35%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>14309 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>14309 (100.0%)</p></td>
</tr>
-<tr class="row-odd"><td><a class="reference external" href="mailto:dan&#37;&#52;&#48;danny&#46;cz">dan<span>&#64;</span>danny<span>&#46;</span>cz</a></td>
-<td>1 (0.0%)</td>
+<tr class="row-odd"><td><p><a class="reference external" href="mailto:dan&#37;&#52;&#48;danny&#46;cz">dan<span>&#64;</span>danny<span>&#46;</span>cz</a></p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td><a class="reference external" href="mailto:andrey&#46;warkentin&#37;&#52;&#48;gmail&#46;com">andrey<span>&#46;</span>warkentin<span>&#64;</span>gmail<span>&#46;</span>com</a></td>
-<td>1 (0.0%)</td>
+<tr class="row-even"><td><p><a class="reference external" href="mailto:andrey&#46;warkentin&#37;&#52;&#48;gmail&#46;com">andrey<span>&#46;</span>warkentin<span>&#64;</span>gmail<span>&#46;</span>com</a></p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most signoffs (total 214)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="64%" />
-<col width="36%" />
+<col style="width: 64%" />
+<col style="width: 36%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>IBM</td>
-<td>214 (100.0%)</td>
+<tbody>
+<tr class="row-odd"><td><p>IBM</p></td>
+<td><p>214 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most hackers (total 25)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="65%" />
-<col width="35%" />
+<col style="width: 65%" />
+<col style="width: 35%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>23 (92.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>23 (92.0%)</p></td>
</tr>
-<tr class="row-odd"><td><a class="reference external" href="mailto:dan&#37;&#52;&#48;danny&#46;cz">dan<span>&#64;</span>danny<span>&#46;</span>cz</a></td>
-<td>1 (4.0%)</td>
+<tr class="row-odd"><td><p><a class="reference external" href="mailto:dan&#37;&#52;&#48;danny&#46;cz">dan<span>&#64;</span>danny<span>&#46;</span>cz</a></p></td>
+<td><p>1 (4.0%)</p></td>
</tr>
-<tr class="row-even"><td><a class="reference external" href="mailto:andrey&#46;warkentin&#37;&#52;&#48;gmail&#46;com">andrey<span>&#46;</span>warkentin<span>&#64;</span>gmail<span>&#46;</span>com</a></td>
-<td>1 (4.0%)</td>
+<tr class="row-even"><td><p><a class="reference external" href="mailto:andrey&#46;warkentin&#37;&#52;&#48;gmail&#46;com">andrey<span>&#46;</span>warkentin<span>&#64;</span>gmail<span>&#46;</span>com</a></p></td>
+<td><p>1 (4.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -647,17 +659,15 @@ A total of 13696 lines added, 2754 removed (delta 10942)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -674,14 +684,15 @@ A total of 13696 lines added, 2754 removed (delta 10942)</p>
<li class="right" >
<a href="skiboot-5.1.0.html" title="skiboot-5.1.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.0-beta1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.0-beta2.html b/doc/release-notes/skiboot-5.1.0-beta2.html
index d4205b5..78c674f 100644
--- a/doc/release-notes/skiboot-5.1.0-beta2.html
+++ b/doc/release-notes/skiboot-5.1.0-beta2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.0-beta2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.0-beta2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.0-beta1.html" title="skiboot-5.1.0-beta1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.0-beta2</a></li>
</ul>
</div>
@@ -45,89 +45,97 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-0-beta2">
+ <section id="skiboot-5-1-0-beta2">
<h1>skiboot-5.1.0-beta2<a class="headerlink" href="#skiboot-5-1-0-beta2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.0-beta2 was released on August 14th, 2015.</p>
<p>skiboot-5.1.0-beta2 is the second beta release of skiboot 5.1, which will
become a new stable release, replacing skiboot-5.0 (released April 14th 2015)</p>
<p>Skiboot 5.1.0-beta2 contains all fixes from skiboot-5.0 stable branch up to
skiboot-5.0.5 and everything from 5.1.0-beta1.</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1.0-beta1, the following features have been added:</p>
<ul>
-<li><dl class="first docutils">
-<dt>opal-api: Add OPAL call to handle abnormal reboots.</dt>
-<dd><p class="first">OPAL_CEC_REBOOT2
+<li><dl>
+<dt>opal-api: Add OPAL call to handle abnormal reboots.</dt><dd><p>OPAL_CEC_REBOOT2
Currently it will support two reboot types (0). normal reboot, that
will behave similar to that of opal_cec_reboot() call, and
(1). platform error reboot.</p>
-<p class="last">Long term, this is designed to replace OPAL_CEC_REBOOT.</p>
+<p>Long term, this is designed to replace OPAL_CEC_REBOOT.</p>
</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="bug-fixes">
+</section>
+<section id="bug-fixes">
<h2>Bug fixes<a class="headerlink" href="#bug-fixes" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1.0-beta1, the following bugs have been fixed:</p>
<ul class="simple">
-<li>external/opal-prd: Only map each PRD range once<ul>
-<li>could eventually lead to failing to map PRD ranges</li>
+<li><p>external/opal-prd: Only map each PRD range once</p>
+<ul>
+<li><p>could eventually lead to failing to map PRD ranges</p></li>
</ul>
</li>
-<li>On skiboot crash, don’t try to print symbol when we didn’t find one<ul>
-<li>makes backtrace prettier</li>
+<li><p>On skiboot crash, don’t try to print symbol when we didn’t find one</p>
+<ul>
+<li><p>makes backtrace prettier</p></li>
</ul>
</li>
-<li>On skiboot crash, dump hssr0 and hsrr1 registers correctly.</li>
-<li>Better support old and biarch compilers<ul>
-<li>test “new” compiler flags before using them</li>
-<li>Specify -mabi=elfv1 if supported (which means it’s needed)</li>
+<li><p>On skiboot crash, dump hssr0 and hsrr1 registers correctly.</p></li>
+<li><p>Better support old and biarch compilers</p>
+<ul>
+<li><p>test “new” compiler flags before using them</p></li>
+<li><p>Specify -mabi=elfv1 if supported (which means it’s needed)</p></li>
</ul>
</li>
-<li>fix boot-coverage-report makefile target</li>
-<li>ipmi: Fix the opal_ipmi_recv() call to handle the error path<ul>
-<li>Could make kernel a sad panda when in continues with other IPMI commands</li>
+<li><p>fix boot-coverage-report makefile target</p></li>
+<li><p>ipmi: Fix the opal_ipmi_recv() call to handle the error path</p>
+<ul>
+<li><p>Could make kernel a sad panda when in continues with other IPMI commands</p></li>
</ul>
</li>
-<li>IPMI: truncate SELs at 2kb<ul>
-<li>it’s the limit of the astbmc. We think.</li>
+<li><p>IPMI: truncate SELs at 2kb</p>
+<ul>
+<li><p>it’s the limit of the astbmc. We think.</p></li>
</ul>
</li>
-<li>IPMI/SEL/PEL:<ul>
-<li>As per PEL spec, we should log events with severity &gt;= 0x22 and “service
+<li><p>IPMI/SEL/PEL:</p>
+<ul>
+<li><p>As per PEL spec, we should log events with severity &gt;= 0x22 and “service
action flag” is “on”. But in our case, all logs OPAL originagted logs
are makred as report externally.
-We now only report logs with severity &gt;= 0x22</li>
+We now only report logs with severity &gt;= 0x22</p></li>
</ul>
</li>
-<li>IPMI: fixes to eSEL logging</li>
-<li>hw/phb3: Change reserved PE to 255<ul>
-<li>Currently, we have reserved PE#0 to which all RIDs are mapped prior
+<li><p>IPMI: fixes to eSEL logging</p></li>
+<li><p>hw/phb3: Change reserved PE to 255</p>
+<ul>
+<li><p>Currently, we have reserved PE#0 to which all RIDs are mapped prior
to PE assignment request from kernel. The last M64 BAR is configured
to have shared mode. So we have to cut off the first M64 segment,
which corresponds to reserved PE#0 in kernel. If the first BAR
(for example PF’s IOV BAR) requires huge alignment in kernel, we
have to waste huge M64 space to accommodate the alignment. If we
-have reserved PE#256, the waste of M64 space will be avoided.</li>
+have reserved PE#256, the waste of M64 space will be avoided.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="other-changes">
+</section>
+<section id="other-changes">
<h2>Other changes<a class="headerlink" href="#other-changes" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>unified version numbers for bundled utilities</li>
-<li>external/boot_test/boot_test.sh<ul>
-<li>better usable for automated boot testing</li>
+<li><p>unified version numbers for bundled utilities</p></li>
+<li><p>external/boot_test/boot_test.sh</p>
+<ul>
+<li><p>better usable for automated boot testing</p></li>
</ul>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -157,17 +165,15 @@ have reserved PE#256, the waste of M64 space will be avoided.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -184,14 +190,15 @@ have reserved PE#256, the waste of M64 space will be avoided.</li>
<li class="right" >
<a href="skiboot-5.1.0-beta1.html" title="skiboot-5.1.0-beta1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.0-beta2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.0.html b/doc/release-notes/skiboot-5.1.0.html
index 09828eb..a3150d4 100644
--- a/doc/release-notes/skiboot-5.1.0.html
+++ b/doc/release-notes/skiboot-5.1.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.0.html" title="skiboot 5.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.0</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-0">
+ <section id="skiboot-5-1-0">
<span id="id1"></span><h1>skiboot-5.1.0<a class="headerlink" href="#skiboot-5-1-0" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.0 was released on August 17th, 2015.</p>
<p>skiboot-5.1.0 is the first stable release of 5.1.0 following two beta releases.
@@ -55,640 +55,660 @@ release (5.0 was released April 14th 2015).</p>
skiboot-5.0.5 and everything from 5.1.0-beta1 and 5.1.0-beta2.</p>
<p>Over skiboot-5.1.0-beta2, we have the following changes:</p>
<ul class="simple">
-<li>opal_prd now supports multiple socket systems</li>
-<li>fix compiler warnings in gard and libflash</li>
+<li><p>opal_prd now supports multiple socket systems</p></li>
+<li><p>fix compiler warnings in gard and libflash</p></li>
</ul>
<p>Below are the changes introduced in previous skiboot-5.1.0 releases over
the previous stable release, skiboot-5.0:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Add Naples chip (CPU, PHB, LPC serial interrupts) support</li>
-<li>Added qemu platform</li>
-<li>improvements to FSI error handling</li>
-<li>improvements in chip TOD failover (some only on FSP systems)</li>
-<li>Set Relative Priority Register (RPR) to recommended value<ul>
-<li>this affects thread priority in SMT modes</li>
+<li><p>Add Naples chip (CPU, PHB, LPC serial interrupts) support</p></li>
+<li><p>Added qemu platform</p></li>
+<li><p>improvements to FSI error handling</p></li>
+<li><p>improvements in chip TOD failover (some only on FSP systems)</p></li>
+<li><p>Set Relative Priority Register (RPR) to recommended value</p>
+<ul>
+<li><p>this affects thread priority in SMT modes</p></li>
</ul>
</li>
-<li>greatly reduce memory consumption by CPU stacks for non-present CPUs<ul>
-<li>Previously we would reserve enough memory for max PIR for each CPU
-type.</li>
-<li>This fix frees up 77MB of RAM on a typical P8 system.</li>
+<li><p>greatly reduce memory consumption by CPU stacks for non-present CPUs</p>
+<ul>
+<li><p>Previously we would reserve enough memory for max PIR for each CPU
+type.</p></li>
+<li><p>This fix frees up 77MB of RAM on a typical P8 system.</p></li>
</ul>
</li>
-<li>increased OPAL API documentation</li>
-<li>Asynchronous preloading of resources from FSP/flash<ul>
-<li>improves boot time on some systems</li>
+<li><p>increased OPAL API documentation</p></li>
+<li><p>Asynchronous preloading of resources from FSP/flash</p>
+<ul>
+<li><p>improves boot time on some systems</p></li>
</ul>
</li>
-<li>Basic Garrison platform support</li>
-<li>Add Mambo platform (P8 Functional Simulator, systemsim)<ul>
-<li>includes fake NVRAM, RTC</li>
+<li><p>Basic Garrison platform support</p></li>
+<li><p>Add Mambo platform (P8 Functional Simulator, systemsim)</p>
+<ul>
+<li><p>includes fake NVRAM, RTC</p></li>
</ul>
</li>
-<li>Support building with GCOV, increasing memory for skiboot binary to 2MB<ul>
-<li>includes boot code coverage testing</li>
+<li><p>Support building with GCOV, increasing memory for skiboot binary to 2MB</p>
+<ul>
+<li><p>includes boot code coverage testing</p></li>
</ul>
</li>
-<li>Increased skiboot HEAP size.<ul>
-<li>We are not aware of any system where you would run out, but on large
-systems it was getting closer than we liked.</li>
+<li><p>Increased skiboot HEAP size.</p>
+<ul>
+<li><p>We are not aware of any system where you would run out, but on large
+systems it was getting closer than we liked.</p></li>
</ul>
</li>
-<li>add boot_tests.sh for helping automate boot testing on FSP and BMC machines</li>
-<li>Versioning of pflash and gard utilities to help Linux (or other OS)
-distributions with packaging.</li>
-<li>OCC throttle status messages to host</li>
-<li>CAPP timebase sync (“ibm,capp-timebase-sync” in DT to indicate CAPP timebase
-was synced by OPAL)</li>
-<li>opal-api: Add OPAL call to handle abnormal reboots.</li>
+<li><p>add boot_tests.sh for helping automate boot testing on FSP and BMC machines</p></li>
+<li><p>Versioning of pflash and gard utilities to help Linux (or other OS)
+distributions with packaging.</p></li>
+<li><p>OCC throttle status messages to host</p></li>
+<li><p>CAPP timebase sync (“ibm,capp-timebase-sync” in DT to indicate CAPP timebase
+was synced by OPAL)</p></li>
+<li><p>opal-api: Add OPAL call to handle abnormal reboots.</p></li>
</ul>
<p><code class="docutils literal notranslate"><span class="pre">OPAL_CEC_REBOOT2</span></code> currently supports two reboot types:</p>
<blockquote>
<div><ol class="arabic simple" start="0">
-<li>normal reboot, that will behave similar to that of opal_cec_reboot() call</li>
-<li>platform error reboot.</li>
+<li><p>normal reboot, that will behave similar to that of opal_cec_reboot() call</p></li>
+<li><p>platform error reboot.</p></li>
</ol>
</div></blockquote>
<p>Long term, this is designed to replace OPAL_CEC_REBOOT.</p>
-</div>
-<div class="section" id="new-features-for-fsp-based-machines">
+</section>
+<section id="new-features-for-fsp-based-machines">
<h2>New features for FSP based machines<a class="headerlink" href="#new-features-for-fsp-based-machines" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>in-band IPMI support</li>
-<li>ethernet adaptor location codes</li>
-<li>add DIMM frequency information to device tree</li>
-<li>improvements in FSP error log code paths</li>
-<li>fix some boot time memory leaks<ul>
-<li>harmless to end user</li>
+<li><p>in-band IPMI support</p></li>
+<li><p>ethernet adaptor location codes</p></li>
+<li><p>add DIMM frequency information to device tree</p></li>
+<li><p>improvements in FSP error log code paths</p></li>
+<li><p>fix some boot time memory leaks</p>
+<ul>
+<li><p>harmless to end user</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="new-features-for-ami-bmc-based-machines">
+</section>
+<section id="new-features-for-ami-bmc-based-machines">
<h2>New features for AMI BMC based machines<a class="headerlink" href="#new-features-for-ami-bmc-based-machines" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>PCIe power workaround for K80</li>
-<li>Added support for Macronix 128Mbit flash chips</li>
-<li>Initial PRD support for Firestone platform</li>
-<li>improved reliability when BMC reboots</li>
+<li><p>PCIe power workaround for K80</p></li>
+<li><p>Added support for Macronix 128Mbit flash chips</p></li>
+<li><p>Initial PRD support for Firestone platform</p></li>
+<li><p>improved reliability when BMC reboots</p></li>
</ul>
-</div>
-<div class="section" id="the-following-bugs-have-been-fixed">
+</section>
+<section id="the-following-bugs-have-been-fixed">
<h2>The following bugs have been fixed<a class="headerlink" href="#the-following-bugs-have-been-fixed" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Increase PHB3 timeout for electrical links coming up to 2 seconds.<ul>
-<li>fixes issues with some Mellanox cards</li>
+<li><p>Increase PHB3 timeout for electrical links coming up to 2 seconds.</p>
+<ul>
+<li><p>fixes issues with some Mellanox cards</p></li>
</ul>
</li>
-<li>Hang in opal_reinit_cpus() that could prevent kdump from functioning</li>
-<li>PHB3: fix crash in phb3_init</li>
-<li>PHB3: fix crash with fenced PHB in phb3_init_hw()</li>
-<li>Fix bugs in hw/bt.c (interface for IPMI on BMC machines) that could possibly
-lead to a crash (dereferencing invalid address, deadlock)</li>
-<li>ipmi/sel: fix use-after-free</li>
-<li>Bug fixes in EEH handling<ul>
-<li>opal_pci_next_error() cleared OPAL_EVENT_PCI_ERROR unconditionally,
-possibly leading to missed errors.</li>
+<li><p>Hang in opal_reinit_cpus() that could prevent kdump from functioning</p></li>
+<li><p>PHB3: fix crash in phb3_init</p></li>
+<li><p>PHB3: fix crash with fenced PHB in phb3_init_hw()</p></li>
+<li><p>Fix bugs in hw/bt.c (interface for IPMI on BMC machines) that could possibly
+lead to a crash (dereferencing invalid address, deadlock)</p></li>
+<li><p>ipmi/sel: fix use-after-free</p></li>
+<li><p>Bug fixes in EEH handling</p>
+<ul>
+<li><p>opal_pci_next_error() cleared OPAL_EVENT_PCI_ERROR unconditionally,
+possibly leading to missed errors.</p></li>
</ul>
</li>
-<li>external/opal-prd: Only map each PRD range once<ul>
-<li>could eventually lead to failing to map PRD ranges</li>
+<li><p>external/opal-prd: Only map each PRD range once</p>
+<ul>
+<li><p>could eventually lead to failing to map PRD ranges</p></li>
</ul>
</li>
-<li>On skiboot crash, don’t try to print symbol when we didn’t find one<ul>
-<li>makes backtrace prettier</li>
+<li><p>On skiboot crash, don’t try to print symbol when we didn’t find one</p>
+<ul>
+<li><p>makes backtrace prettier</p></li>
</ul>
</li>
-<li>On skiboot crash, dump hssr0 and hsrr1 registers correctly.</li>
-<li>Better support old and biarch compilers<ul>
-<li>test “new” compiler flags before using them</li>
-<li>Specify -mabi=elfv1 if supported (which means it’s needed)</li>
+<li><p>On skiboot crash, dump hssr0 and hsrr1 registers correctly.</p></li>
+<li><p>Better support old and biarch compilers</p>
+<ul>
+<li><p>test “new” compiler flags before using them</p></li>
+<li><p>Specify -mabi=elfv1 if supported (which means it’s needed)</p></li>
</ul>
</li>
-<li>fix boot-coverage-report makefile target</li>
-<li>ipmi: Fix the opal_ipmi_recv() call to handle the error path</li>
-<li>Could make kernel a sad panda when in continues with other IPMI commands</li>
-<li>IPMI: truncate SELs at 2kb<ul>
-<li>it’s the limit of the astbmc. We think.</li>
+<li><p>fix boot-coverage-report makefile target</p></li>
+<li><p>ipmi: Fix the opal_ipmi_recv() call to handle the error path</p></li>
+<li><p>Could make kernel a sad panda when in continues with other IPMI commands</p></li>
+<li><p>IPMI: truncate SELs at 2kb</p>
+<ul>
+<li><p>it’s the limit of the astbmc. We think.</p></li>
</ul>
</li>
-<li>IPMI/SEL/PEL:<ul>
-<li>As per PEL spec, we should log events with severity &gt;= 0x22 and “service
+<li><p>IPMI/SEL/PEL:</p>
+<ul>
+<li><p>As per PEL spec, we should log events with severity &gt;= 0x22 and “service
action flag” is “on”. But in our case, all logs OPAL originagted logs
are makred as report externally.
-We now only report logs with severity &gt;= 0x22</li>
+We now only report logs with severity &gt;= 0x22</p></li>
</ul>
</li>
-<li>IPMI: fixes to eSEL logging</li>
-<li>hw/phb3: Change reserved PE to 255<ul>
-<li>Currently, we have reserved PE#0 to which all RIDs are mapped prior
+<li><p>IPMI: fixes to eSEL logging</p></li>
+<li><p>hw/phb3: Change reserved PE to 255</p>
+<ul>
+<li><p>Currently, we have reserved PE#0 to which all RIDs are mapped prior
to PE assignment request from kernel. The last M64 BAR is configured
to have shared mode. So we have to cut off the first M64 segment,
which corresponds to reserved PE#0 in kernel. If the first BAR
(for example PF’s IOV BAR) requires huge alignment in kernel, we
have to waste huge M64 space to accommodate the alignment. If we
-have reserved PE#256, the waste of M64 space will be avoided.</li>
+have reserved PE#256, the waste of M64 space will be avoided.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="fsp-specific-bugs-fixed">
+</section>
+<section id="fsp-specific-bugs-fixed">
<h2>FSP-specific bugs fixed<a class="headerlink" href="#fsp-specific-bugs-fixed" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">(also fixed in skiboot-5.0.2) Fix race in firenze_get_slot_info() leading to
+<li><p>(also fixed in skiboot-5.0.2) Fix race in firenze_get_slot_info() leading to
assert() with many PCI cards</p>
<p>With many PCI cards, we’d hit a race where calls to
firenze_add_pcidev_to_fsp_inventory would step on each other leading to
memory corruption and finally an assert() in the allocator being hit
during boot.</p>
</li>
-<li><p class="first">PCIe power workaround for K80 cards</p>
-</li>
-<li><p class="first">/ibm,opal/led renamed to /ibm,opal/leds in Device Tree</p>
+<li><p>PCIe power workaround for K80 cards</p></li>
+<li><p>/ibm,opal/led renamed to /ibm,opal/leds in Device Tree</p>
<ul class="simple">
-<li>compatible change as no FSP based systems shipped with skiboot-5.0</li>
+<li><p>compatible change as no FSP based systems shipped with skiboot-5.0</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="general-improvements">
+</section>
+<section id="general-improvements">
<h2>General improvements<a class="headerlink" href="#general-improvements" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Preliminary Centaur i2c support<ul>
-<li>lays framework for supporting Centaur i2c</li>
+<li><p>Preliminary Centaur i2c support</p>
+<ul>
+<li><p>lays framework for supporting Centaur i2c</p></li>
</ul>
</li>
-<li>don’t run pollers on non-boot CPUs in time_wait</li>
-<li>improvements to opal-prd, pflash, libflash<ul>
-<li>including new blocklevel interface in libflash</li>
+<li><p>don’t run pollers on non-boot CPUs in time_wait</p></li>
+<li><p>improvements to opal-prd, pflash, libflash</p>
+<ul>
+<li><p>including new blocklevel interface in libflash</p></li>
</ul>
</li>
-<li>many minor fixes to issues found by static analysis</li>
-<li>improvements in FSP error log code paths</li>
-<li>code cleanup in memory allocator</li>
-<li>Don’t expose individual nvram partitions in the device tree, just the whole
-flash device.</li>
-<li>build improvements for building on ppc64el host</li>
-<li>improvements in cpu_relax() for idle threads, needed for GCOV on large
-machines.</li>
-<li>Optimized memset() for POWER8, greatly reducing number of instructions
-executed for boot, which helps boot time in simulators.</li>
-<li>Major improvements in hello_world kernel<ul>
-<li>Bloat of huge 17 instruction test case reduced to 10.</li>
+<li><p>many minor fixes to issues found by static analysis</p></li>
+<li><p>improvements in FSP error log code paths</p></li>
+<li><p>code cleanup in memory allocator</p></li>
+<li><p>Don’t expose individual nvram partitions in the device tree, just the whole
+flash device.</p></li>
+<li><p>build improvements for building on ppc64el host</p></li>
+<li><p>improvements in cpu_relax() for idle threads, needed for GCOV on large
+machines.</p></li>
+<li><p>Optimized memset() for POWER8, greatly reducing number of instructions
+executed for boot, which helps boot time in simulators.</p></li>
+<li><p>Major improvements in hello_world kernel</p>
+<ul>
+<li><p>Bloat of huge 17 instruction test case reduced to 10.</p></li>
</ul>
</li>
-<li>Disable bust_locks for general calls of abort()<ul>
-<li>Should enable better error messages during abort() when other users of
-LPC bus exist (e.g. flash)</li>
+<li><p>Disable bust_locks for general calls of abort()</p>
+<ul>
+<li><p>Should enable better error messages during abort() when other users of
+LPC bus exist (e.g. flash)</p></li>
</ul>
</li>
-<li>unified version numbers for bundled utilities</li>
-<li>external/boot_test/boot_test.sh<ul>
-<li>better usable for automated boot testing</li>
+<li><p>unified version numbers for bundled utilities</p></li>
+<li><p>external/boot_test/boot_test.sh</p>
+<ul>
+<li><p>better usable for automated boot testing</p></li>
</ul>
</li>
</ul>
-<div class="section" id="contributors">
+<section id="contributors">
<h3>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h3>
<p>Since skiboot-5.0, we’ve had the following changesets:</p>
<p>Processed 372 csets from 27 developers
2 employers found
A total of 15868 lines added, 3359 removed (delta 12509)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="33%" />
+<col style="width: 67%" />
+<col style="width: 33%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">Changesets</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>Changesets</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>117 (31.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>117 (31.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>37 (9.9%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>37 (9.9%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>33 (8.9%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>33 (8.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>32 (8.6%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>32 (8.6%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>32 (8.6%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>32 (8.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Kamalesh Babulal</td>
-<td>22 (5.9%)</td>
+<tr class="row-odd"><td><p>Kamalesh Babulal</p></td>
+<td><p>22 (5.9%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>12 (3.2%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>12 (3.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>12 (3.2%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>12 (3.2%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>12 (3.2%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>12 (3.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Neelesh Gupta</td>
-<td>9 (2.4%)</td>
+<tr class="row-odd"><td><p>Neelesh Gupta</p></td>
+<td><p>9 (2.4%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>8 (2.2%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>8 (2.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>8 (2.2%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>8 (2.2%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>8 (2.2%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>8 (2.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>6 (1.6%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>6 (1.6%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>6 (1.6%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>6 (1.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>3 (0.8%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>3 (0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Bonnard</td>
-<td>3 (0.8%)</td>
+<tr class="row-even"><td><p>Frederic Bonnard</p></td>
+<td><p>3 (0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>2 (0.5%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>2 (0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>2 (0.5%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>2 (0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Axtens</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Daniel Axtens</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Hari Bathini</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Hari Bathini</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Andrei Warkentin</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Andrei Warkentin</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Dan Horák</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Dan Horák</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Anton Blanchard</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Anton Blanchard</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>4499 (27.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>4499 (27.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>3782 (22.9%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>3782 (22.9%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>1887 (11.4%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>1887 (11.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1654 (10.0%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1654 (10.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>959 (5.8%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>959 (5.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>886 (5.4%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>886 (5.4%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>473 (2.9%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>473 (2.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>387 (2.3%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>387 (2.3%)</p></td>
</tr>
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>332 (2.0%)</td>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>332 (2.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>171 (1.0%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>171 (1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>165 (1.0%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>165 (1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>151 (0.9%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>151 (0.9%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>105 (0.6%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>105 (0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>89 (0.5%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>89 (0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>83 (0.5%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>83 (0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Bonnard</td>
-<td>76 (0.5%)</td>
+<tr class="row-odd"><td><p>Frederic Bonnard</p></td>
+<td><p>76 (0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Kamalesh Babulal</td>
-<td>65 (0.4%)</td>
+<tr class="row-even"><td><p>Kamalesh Babulal</p></td>
+<td><p>65 (0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>46 (0.3%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>46 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Daniel Axtens</td>
-<td>31 (0.2%)</td>
+<tr class="row-even"><td><p>Daniel Axtens</p></td>
+<td><p>31 (0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>22 (0.1%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>22 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>20 (0.1%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>20 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Anton Blanchard</td>
-<td>3 (0.0%)</td>
+<tr class="row-odd"><td><p>Anton Blanchard</p></td>
+<td><p>3 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>2 (0.0%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>2 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Hari Bathini</td>
-<td>2 (0.0%)</td>
+<tr class="row-odd"><td><p>Hari Bathini</p></td>
+<td><p>2 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Ellerman</td>
-<td>1 (0.0%)</td>
+<tr class="row-even"><td><p>Michael Ellerman</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrei Warkentin</td>
-<td>1 (0.0%)</td>
+<tr class="row-odd"><td><p>Andrei Warkentin</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Dan Horák</td>
-<td>1 (0.0%)</td>
+<tr class="row-even"><td><p>Dan Horák</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="31%" />
+<col style="width: 69%" />
+<col style="width: 31%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Michael Neuling</td>
-<td>24 (0.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>24 (0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Hari Bathini</td>
-<td>1 (0.0%)</td>
+<tr class="row-odd"><td><p>Hari Bathini</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 253)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="31%" />
+<col style="width: 69%" />
+<col style="width: 31%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>249 (98.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>249 (98.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>4 (1.6%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>4 (1.6%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 24)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="31%" />
+<col style="width: 69%" />
+<col style="width: 31%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>9 (37.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>9 (37.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>3 (12.5%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>3 (12.5%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>2 (8.3%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>2 (8.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Kamalesh Babulal</td>
-<td>2 (8.3%)</td>
+<tr class="row-odd"><td><p>Kamalesh Babulal</p></td>
+<td><p>2 (8.3%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>2 (8.3%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>2 (8.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>2 (8.3%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>2 (8.3%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>1 (4.2%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>1 (4.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrei Warkentin</td>
-<td>1 (4.2%)</td>
+<tr class="row-odd"><td><p>Andrei Warkentin</p></td>
+<td><p>1 (4.2%)</p></td>
</tr>
-<tr class="row-even"><td>Preeti U Murthy</td>
-<td>1 (4.2%)</td>
+<tr class="row-even"><td><p>Preeti U Murthy</p></td>
+<td><p>1 (4.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>1 (4.2%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1 (4.2%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="31%" />
+<col style="width: 69%" />
+<col style="width: 31%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Chad Larson</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Chad Larson</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most tested-by credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="31%" />
+<col style="width: 69%" />
+<col style="width: 31%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most report credits (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="31%" />
+<col style="width: 69%" />
+<col style="width: 31%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>2 (50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>2 (50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Chad Larson</td>
-<td>1 (25.0%)</td>
+<tr class="row-odd"><td><p>Chad Larson</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
-<tr class="row-even"><td>Andrei Warkentin</td>
-<td>1 (25.0%)</td>
+<tr class="row-even"><td><p>Andrei Warkentin</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="31%" />
+<col style="width: 69%" />
+<col style="width: 31%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>3 (75.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>3 (75.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1 (25.0%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
</tbody>
</table>
<p>Top changeset contributors by employer</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>369 (99.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>369 (99.2%)</p></td>
</tr>
-<tr class="row-odd"><td>(Unknown)</td>
-<td>3 (0.8%)</td>
+<tr class="row-odd"><td><p>(Unknown)</p></td>
+<td><p>3 (0.8%)</p></td>
</tr>
</tbody>
</table>
<p>Top lines changed by employer</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="64%" />
-<col width="36%" />
+<col style="width: 64%" />
+<col style="width: 36%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>16497 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>16497 (100.0%)</p></td>
</tr>
-<tr class="row-odd"><td>(Unknown)</td>
-<td>3 (0.0%)</td>
+<tr class="row-odd"><td><p>(Unknown)</p></td>
+<td><p>3 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most signoffs (total 253)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>253 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>253 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most hackers (total 27)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>24 (88.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>24 (88.9%)</p></td>
</tr>
-<tr class="row-odd"><td>(Unknown)</td>
-<td>3 (11.1%)</td>
+<tr class="row-odd"><td><p>(Unknown)</p></td>
+<td><p>3 (11.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -724,17 +744,15 @@ A total of 15868 lines added, 3359 removed (delta 12509)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -751,14 +769,15 @@ A total of 15868 lines added, 3359 removed (delta 12509)</p>
<li class="right" >
<a href="skiboot-5.0.html" title="skiboot 5.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.1.html b/doc/release-notes/skiboot-5.1.1.html
index 1f02880..1544469 100644
--- a/doc/release-notes/skiboot-5.1.1.html
+++ b/doc/release-notes/skiboot-5.1.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.0-beta2.html" title="skiboot-5.1.0-beta2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.1</a></li>
</ul>
</div>
@@ -45,23 +45,21 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-1">
+ <section id="skiboot-5-1-1">
<h1>skiboot-5.1.1<a class="headerlink" href="#skiboot-5-1-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.1 was released on August 18th, 2015.</p>
<p>skiboot-5.1.1 is the send stable release of 5.1, it follows skiboot-5.1.0.</p>
<p>Skiboot 5.1.1 contains all fixes from skiboot-5.1.0 and is a minor bugfix
release.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1.0, we have the following changes:</p>
<ul>
-<li><p class="first">Fix detection of compiler options on ancient GCC (e.g. gcc 4.4, shipped with
-RHEL6)</p>
-</li>
-<li><p class="first">ensure the GNUC version defines for GCOV are coming from target CC rather
-than host CC for extract-gcov</p>
-</li>
-<li><p class="first">phb3: Continue CAPP setup even if PHB is already in CAPP mode
+<li><p>Fix detection of compiler options on ancient GCC (e.g. gcc 4.4, shipped with
+RHEL6)</p></li>
+<li><p>ensure the GNUC version defines for GCOV are coming from target CC rather
+than host CC for extract-gcov</p></li>
+<li><p>phb3: Continue CAPP setup even if PHB is already in CAPP mode
This fixes a critical bug in CAPI support.</p>
<p>CAPI requires that all faults are escalated into a fence, not a
freeze. This is done by setting bits in a number of MMIO
@@ -86,10 +84,11 @@ combination of the two attempted recoveries will get the PHB into
an inoperable state.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -117,17 +116,15 @@ an inoperable state.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -144,14 +141,15 @@ an inoperable state.</p>
<li class="right" >
<a href="skiboot-5.1.0-beta2.html" title="skiboot-5.1.0-beta2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.10.html b/doc/release-notes/skiboot-5.1.10.html
index e4f0ef0..1513ecc 100644
--- a/doc/release-notes/skiboot-5.1.10.html
+++ b/doc/release-notes/skiboot-5.1.10.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.10 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.10 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.1.html" title="skiboot-5.1.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.10</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-10">
+ <section id="skiboot-5-1-10">
<h1>skiboot-5.1.10<a class="headerlink" href="#skiboot-5-1-10" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.10 was released on Friday November 13th, 2015.</p>
<p>skiboot-5.1.10 is the 11th stable release of 5.1, it follows skiboot-5.1.9
@@ -53,25 +53,24 @@
<p>Skiboot 5.1.10 contains all fixes from skiboot-5.1.9 and is a minor bug
fix release.</p>
<p>Over skiboot-5.1.9, we have the following change:</p>
-<div class="section" id="ibm-fsp-machines">
+<section id="ibm-fsp-machines">
<h2>IBM FSP machines<a class="headerlink" href="#ibm-fsp-machines" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">FSP: Handle Delayed Power Off initiated CEC shutdown with FSP in Reset/Reload</p>
+<li><p>FSP: Handle Delayed Power Off initiated CEC shutdown with FSP in Reset/Reload</p>
<p>In a scenario where the DPO has been initiated, but the FSP then went into
reset before the CEC power down came in, OPAL may not give up the link since
it may never see the PSI interrupt. So, if we are in dpo_pending and an FSP
reset is detected via the DISR, give up the PSI link voluntarily.</p>
</li>
</ul>
-</div>
-<div class="section" id="generic">
+</section>
+<section id="generic">
<h2>Generic<a class="headerlink" href="#generic" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">sensor: add a compatible property
+<li><p>sensor: add a compatible property
OPAL needs an extra compatible property “ibm,opal-sensor” to make
-module autoload work smoothly in Linux for ibmpowernv driver.</p>
-</li>
-<li><p class="first">console: Completely flush output buffer before power down and reboot
+module autoload work smoothly in Linux for ibmpowernv driver.</p></li>
+<li><p>console: Completely flush output buffer before power down and reboot
Completely flush the output buffer of the console driver before
power down and reboot. Implements the flushing function for uart
consoles, which includes the astbmc and rhesus platforms.</p>
@@ -81,10 +80,11 @@ in other console types then it can be fixed later by adding a .flush
to that driver’s con_ops.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -113,17 +113,15 @@ to that driver’s con_ops.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -140,14 +138,15 @@ to that driver’s con_ops.</p>
<li class="right" >
<a href="skiboot-5.1.1.html" title="skiboot-5.1.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.10</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.11.html b/doc/release-notes/skiboot-5.1.11.html
index c8ce142..7d26fd4 100644
--- a/doc/release-notes/skiboot-5.1.11.html
+++ b/doc/release-notes/skiboot-5.1.11.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.11 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.11 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.10.html" title="skiboot-5.1.10"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.11</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-11">
+ <section id="skiboot-5-1-11">
<h1>skiboot-5.1.11<a class="headerlink" href="#skiboot-5-1-11" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.11 was released on Friday November 13th, 2015.</p>
<p>Since it was Friday 13th, we had to find a bug right after we tagged
@@ -55,12 +55,13 @@ and released skiboot-5.1.10.</p>
<p>Skiboot 5.1.11 contains one additional bug fix over skiboot-5.1.10.</p>
<p>It is:</p>
<ul class="simple">
-<li>On IBM FSP machines, if IPMI/Serial console is not connected during shutdown
-or reboot, machine would enter termination state rather than shut down.</li>
+<li><p>On IBM FSP machines, if IPMI/Serial console is not connected during shutdown
+or reboot, machine would enter termination state rather than shut down.</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ or reboot, machine would enter termination state rather than shut down.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ or reboot, machine would enter termination state rather than shut down.</li>
<li class="right" >
<a href="skiboot-5.1.10.html" title="skiboot-5.1.10"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.11</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.12.html b/doc/release-notes/skiboot-5.1.12.html
index 1788ae6..af2d52f 100644
--- a/doc/release-notes/skiboot-5.1.12.html
+++ b/doc/release-notes/skiboot-5.1.12.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.12 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.12 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.11.html" title="skiboot-5.1.11"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.12</a></li>
</ul>
</div>
@@ -45,70 +45,70 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-12">
+ <section id="skiboot-5-1-12">
<h1>skiboot-5.1.12<a class="headerlink" href="#skiboot-5-1-12" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.12 was released on Friday December 4th, 2015.</p>
<p>skiboot-5.1.12 is the 13th stable release of 5.1, it follows skiboot-5.1.11
(which was released November 13th, 2015).</p>
<p>Skiboot 5.1.12 contains bug fixes and a performance improvement.</p>
-<div class="section" id="opal-prd">
+<section id="opal-prd">
<h2>opal-prd<a class="headerlink" href="#opal-prd" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Display an explict and obvious message if running on a system that does
+<li><p>Display an explict and obvious message if running on a system that does
not support opal-prd, such as an IBM FSP based POWER system, where the
-FSP takes on the role of opal-prd.</li>
+FSP takes on the role of opal-prd.</p></li>
</ul>
-</div>
-<div class="section" id="pflash">
+</section>
+<section id="pflash">
<h2>pflash<a class="headerlink" href="#pflash" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Fix a missing (C) header
-- cherry-picked from master.</li>
+<li><p>Fix a missing (C) header
+- cherry-picked from master.</p></li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Don’t link with libgcc
-- On some toolchains, we don’t have libgcc available.</li>
+<li><p>Don’t link with libgcc
+- On some toolchains, we don’t have libgcc available.</p></li>
</ul>
-</div>
-<div class="section" id="power8-phb-pcie-specific">
+</section>
+<section id="power8-phb-pcie-specific">
<h2>POWER8 PHB (PCIe) specific<a class="headerlink" href="#power8-phb-pcie-specific" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><dl class="first docutils">
-<dt>hw/phb3: Flush cache line after updating P/Q bits</dt>
-<dd><p class="first">When doing an MSI EOI, we update the P and Q bits in the IVE. That causes
+<li><dl>
+<dt>hw/phb3: Flush cache line after updating P/Q bits</dt><dd><p>When doing an MSI EOI, we update the P and Q bits in the IVE. That causes
the corresponding cache line to be dirty in the L3 which will cause a
subsequent update by the PHB (upon receiving the next MSI) to get a few
retries until it gets flushed.</p>
<p>We improve the situation (and thus performance) by doing a dcbf
instruction to force a flush of the update we do in SW.</p>
-<p class="last">This improves interrupt performance, reducing latency per interrupt.
+<p>This improves interrupt performance, reducing latency per interrupt.
The improvement will vary by workload.</p>
</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-based-machines">
+</section>
+<section id="ibm-fsp-based-machines">
<h2>IBM FSP based machines<a class="headerlink" href="#ibm-fsp-based-machines" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>FSP: Give up PSI link on shutdown
-This clears up some erroneous SRCs (error logs) in some situations.</li>
-<li><dl class="first docutils">
-<dt>Correctly report back Real Time Clock errors to host</dt>
-<dd>Under certain rare error conditions, we could return an error code
+<li><p>FSP: Give up PSI link on shutdown
+This clears up some erroneous SRCs (error logs) in some situations.</p></li>
+<li><dl class="simple">
+<dt>Correctly report back Real Time Clock errors to host</dt><dd><p>Under certain rare error conditions, we could return an error code
to the host OS that would cause current Linux kernels to get stuck
in an infinite loop during boot.
-This was introduced in skiboot-5.0-rc1.</dd>
+This was introduced in skiboot-5.0-rc1.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -140,17 +140,15 @@ This was introduced in skiboot-5.0-rc1.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -167,14 +165,15 @@ This was introduced in skiboot-5.0-rc1.</dd>
<li class="right" >
<a href="skiboot-5.1.11.html" title="skiboot-5.1.11"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.12</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.13.html b/doc/release-notes/skiboot-5.1.13.html
index de12a1c..2937504 100644
--- a/doc/release-notes/skiboot-5.1.13.html
+++ b/doc/release-notes/skiboot-5.1.13.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.13 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.13 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.12.html" title="skiboot-5.1.12"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.13</a></li>
</ul>
</div>
@@ -45,23 +45,23 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-13">
+ <section id="skiboot-5-1-13">
<span id="id1"></span><h1>skiboot-5.1.13<a class="headerlink" href="#skiboot-5-1-13" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.13 was released on Wed January 27th, 2016.</p>
<p>skiboot-5.1.13 is the 14th stable release of 5.1, it follows skiboot-5.1.12
(which was released December 4th, 2015). This release contains bug fixes.</p>
-<div class="section" id="general">
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/device.c: Sort nodes with <a class="reference external" href="mailto:name&#37;&#52;&#48;unit">name<span>&#64;</span>unit</a> names by unit</p>
+<li><p>core/device.c: Sort nodes with <a class="reference external" href="mailto:name&#37;&#52;&#48;unit">name<span>&#64;</span>unit</a> names by unit</p>
<ul class="simple">
-<li>This gives predictable device tree ordering to the payload
-(usually petitboot)</li>
-<li>This means that utilities such as “lspci” will always return the same
-ordering.</li>
+<li><p>This gives predictable device tree ordering to the payload
+(usually petitboot)</p></li>
+<li><p>This means that utilities such as “lspci” will always return the same
+ordering.</p></li>
</ul>
</li>
-<li><p class="first">Add OPAL_CONSOLE_FLUSH to the OPAL API
+<li><p>Add OPAL_CONSOLE_FLUSH to the OPAL API
uart consoles only flush output when polled. The Linux kernel calls
these pollers frequently, except when in a panic state. As such, panic
messages are not fully printed unless the system is configured to reboot
@@ -74,36 +74,37 @@ This will allow the Linux kernel to ensure that panic message have been
fully printed out.</p>
</li>
</ul>
-</div>
-<div class="section" id="capi">
+</section>
+<section id="capi">
<h2>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hmi: Identify the phb upon CAPI malfunction alert
+<li><p>hmi: Identify the phb upon CAPI malfunction alert
Previously, any error on a CAPI adapter would assume PHB0.
-This could cause issues on Firestone machines.</li>
+This could cause issues on Firestone machines.</p></li>
</ul>
-</div>
-<div class="section" id="gard-utility">
+</section>
+<section id="gard-utility">
<h2>gard utility<a class="headerlink" href="#gard-utility" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Fix displaying ‘cleared’ gard records
+<li><p>Fix displaying ‘cleared’ gard records
When a garded component is replaced hostboot detects this and updates the
gard partition.</p>
<p>Previously, there was ambiguity on if the gard record ID or the whole gard
record needed to be erased. This fix makes gard and hostboot agree.</p>
</li>
</ul>
-</div>
-<div class="section" id="firestone-platform">
+</section>
+<section id="firestone-platform">
<h2>firestone platform<a class="headerlink" href="#firestone-platform" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>fix spacing in slot name
-The other SlotN names have no space.</li>
+<li><p>fix spacing in slot name
+The other SlotN names have no space.</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -134,17 +135,15 @@ The other SlotN names have no space.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -161,14 +160,15 @@ The other SlotN names have no space.</li>
<li class="right" >
<a href="skiboot-5.1.12.html" title="skiboot-5.1.12"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.13</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.14.html b/doc/release-notes/skiboot-5.1.14.html
index e230103..fd9e96b 100644
--- a/doc/release-notes/skiboot-5.1.14.html
+++ b/doc/release-notes/skiboot-5.1.14.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.14 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.14 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.13.html" title="skiboot-5.1.13"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.14</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-14">
+ <section id="skiboot-5-1-14">
<h1>skiboot-5.1.14<a class="headerlink" href="#skiboot-5-1-14" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.14 was released on Wed March 9th, 2016.</p>
<p>skiboot-5.1.14 is the 15th stable release of 5.1, it follows skiboot-5.1.13
@@ -57,15 +57,16 @@ to the BMC VGA port.</p>
are wanting the neat offb framebuffer trick.</p>
<p>Changes are:</p>
<ul class="simple">
-<li>fsp: fix spelling of “advertise” in log message
-See: <a class="reference external" href="https://www.youtube.com/watch?v=8Gv0H-vPoDc">https://www.youtube.com/watch?v=8Gv0H-vPoDc</a></li>
-<li>Explicit 1:1 mapping in ranges properties have been added to PCI
+<li><p>fsp: fix spelling of “advertise” in log message
+See: <a class="reference external" href="https://www.youtube.com/watch?v=8Gv0H-vPoDc">https://www.youtube.com/watch?v=8Gv0H-vPoDc</a></p></li>
+<li><p>Explicit 1:1 mapping in ranges properties have been added to PCI
bridges. This allows a neat trick with offb and VGA ports that should
-probably not be told to young children.</li>
+probably not be told to young children.</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -85,17 +86,15 @@ probably not be told to young children.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -112,14 +111,15 @@ probably not be told to young children.</li>
<li class="right" >
<a href="skiboot-5.1.13.html" title="skiboot-5.1.13"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.14</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.15.html b/doc/release-notes/skiboot-5.1.15.html
index 398e8d9..6f95044 100644
--- a/doc/release-notes/skiboot-5.1.15.html
+++ b/doc/release-notes/skiboot-5.1.15.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.15 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.15 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.14.html" title="skiboot-5.1.14"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.15</a></li>
</ul>
</div>
@@ -45,16 +45,17 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-15">
+ <section id="skiboot-5-1-15">
<h1>skiboot-5.1.15<a class="headerlink" href="#skiboot-5-1-15" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.15 was released on Wed March 16th, 2016.</p>
<p>skiboot-5.1.15 is the 16th stable release of 5.1, it follows skiboot-5.1.14
(which was released March 9th, 2016). This release contains one bug fix, a
fix for a memory leak in an error path for AMI BMC based systems when
logging non-severe errors. As such, it is a minor bug fix update.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -74,17 +75,15 @@ logging non-severe errors. As such, it is a minor bug fix update.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -101,14 +100,15 @@ logging non-severe errors. As such, it is a minor bug fix update.</p>
<li class="right" >
<a href="skiboot-5.1.14.html" title="skiboot-5.1.14"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.15</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.16.html b/doc/release-notes/skiboot-5.1.16.html
index 3ebdd71..aaffcd2 100644
--- a/doc/release-notes/skiboot-5.1.16.html
+++ b/doc/release-notes/skiboot-5.1.16.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.16 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.16 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.15.html" title="skiboot-5.1.15"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.16</a></li>
</ul>
</div>
@@ -45,18 +45,18 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-16">
+ <section id="skiboot-5-1-16">
<h1>skiboot-5.1.16<a class="headerlink" href="#skiboot-5-1-16" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.16 was released on Friday April 29th, 2016.</p>
<p>skiboot-5.1.16 is the 17th stable release of 5.1, it follows skiboot-5.1.15
(which was released March 16th, 2016).</p>
<p>This release contains a few bug fixes and is a recommended upgrade.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="phb3-all-power8-platforms">
+<section id="phb3-all-power8-platforms">
<h3>PHB3 (all POWER8 platforms)<a class="headerlink" href="#phb3-all-power8-platforms" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">hw/phb3: Ensure PQ bits are cleared in the IVC when masking IRQ
+<li><p>hw/phb3: Ensure PQ bits are cleared in the IVC when masking IRQ
When we mask an interrupt, we may race with another interrupt coming
in from the hardware. If this occurs, the P and/or Q bit may end up
being set but we never EOI/clear them. This could result in a lost
@@ -66,9 +66,8 @@ being presented.</p>
interrupt masking at the same time as high interrupt load. The fix is
not specific to CAPI though.</p>
</li>
-<li><dl class="first docutils">
-<dt>hw/phb3: Fix potential race in EOI</dt>
-<dd><p class="first last">When we EOI we need to clear the present (P) bit in the Interrupt
+<li><dl class="simple">
+<dt>hw/phb3: Fix potential race in EOI</dt><dd><p>When we EOI we need to clear the present (P) bit in the Interrupt
Vector Cache (IVC). We must clear P ensuring that any additional
interrupts that come in aren’t lost while also maintaining coherency
with the Interrupt Vector Table (IVT).</p>
@@ -83,18 +82,18 @@ what we wanted the new generation count to be if the update was
successful.</p>
</li>
</ul>
-</div>
-<div class="section" id="fsp-platforms">
+</section>
+<section id="fsp-platforms">
<h3>FSP platforms<a class="headerlink" href="#fsp-platforms" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>OPAL:Handle mbox response with bad status:0x24 during FSP termination
-OPAL committed a predictive log with SRC BB822411 in some situations.</li>
+<li><p>OPAL:Handle mbox response with bad status:0x24 during FSP termination
+OPAL committed a predictive log with SRC BB822411 in some situations.</p></li>
</ul>
-</div>
-<div class="section" id="generic">
+</section>
+<section id="generic">
<h3>Generic<a class="headerlink" href="#generic" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">hmi: Fix a bug where partial hmi event was reported to host.
+<li><p>hmi: Fix a bug where partial hmi event was reported to host.
This bug fix ensures the CPU PIR is reported correctly:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="p">[</span> <span class="mf">305.628283</span><span class="p">]</span> <span class="n">Fatal</span> <span class="n">Hypervisor</span> <span class="n">Maintenance</span> <span class="n">interrupt</span> <span class="p">[</span><span class="n">Not</span> <span class="n">recovered</span><span class="p">]</span>
<span class="p">[</span> <span class="mf">305.628341</span><span class="p">]</span> <span class="n">Error</span> <span class="n">detail</span><span class="p">:</span> <span class="n">Malfunction</span> <span class="n">Alert</span>
@@ -106,11 +105,12 @@ This bug fix ensures the CPU PIR is reported correctly:</p>
</div>
</li>
</ul>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -143,17 +143,15 @@ This bug fix ensures the CPU PIR is reported correctly:</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -170,14 +168,15 @@ This bug fix ensures the CPU PIR is reported correctly:</p>
<li class="right" >
<a href="skiboot-5.1.15.html" title="skiboot-5.1.15"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.16</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.17.html b/doc/release-notes/skiboot-5.1.17.html
index 3534177..225bf71 100644
--- a/doc/release-notes/skiboot-5.1.17.html
+++ b/doc/release-notes/skiboot-5.1.17.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.17 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.17 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.16.html" title="skiboot-5.1.16"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.17</a></li>
</ul>
</div>
@@ -45,27 +45,28 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-17">
+ <section id="skiboot-5-1-17">
<h1>skiboot-5.1.17<a class="headerlink" href="#skiboot-5-1-17" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.17 was released on Thursday 21st July 2016.</p>
<p>skiboot-5.1.17 is the 18th stable release of 5.1, it follows skiboot-5.1.16
(which was released April 29th, 2016).</p>
<p>This release contains a few minor bug fixes.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
<p>All platforms:</p>
<ul class="simple">
-<li>Fix a few typos in user visible (OPAL log) strings</li>
-<li>pci: Do a dummy config write to devices to establish bus number</li>
-<li>Make the XSCOM engine code more resilient to errors:
+<li><p>Fix a few typos in user visible (OPAL log) strings</p></li>
+<li><p>pci: Do a dummy config write to devices to establish bus number</p></li>
+<li><p>Make the XSCOM engine code more resilient to errors:
- hw/xscom: Reset XSCOM engine after querying sleeping core FIR
- hw/xscom: Reset XSCOM engine after finite number of retries when busy
-- xscom: Return OPAL_WRONG_STATE on XSCOM ops if CPU is asleep</li>
+- xscom: Return OPAL_WRONG_STATE on XSCOM ops if CPU is asleep</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -93,17 +94,15 @@
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -120,14 +119,15 @@
<li class="right" >
<a href="skiboot-5.1.16.html" title="skiboot-5.1.16"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.17</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.18.html b/doc/release-notes/skiboot-5.1.18.html
index f48192f..9b0a1c8 100644
--- a/doc/release-notes/skiboot-5.1.18.html
+++ b/doc/release-notes/skiboot-5.1.18.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.18 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.18 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.17.html" title="skiboot-5.1.17"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.18</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-18">
+ <section id="skiboot-5-1-18">
<span id="id1"></span><h1>skiboot-5.1.18<a class="headerlink" href="#skiboot-5-1-18" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.18 was released on Friday 26th August 2016.</p>
<p>skiboot-5.1.18 is the 19th stable release of 5.1, it follows skiboot-5.1.17
@@ -54,28 +54,29 @@
<p>Changes are:</p>
<p>All platforms:</p>
<ul class="simple">
-<li>opal/hmi: Fix a TOD HMI failure during a race condition.
-Rare race condition which meant we wouldn’t recover from TOD error</li>
-<li>hw/phb3: Update capi initialization sequence
+<li><p>opal/hmi: Fix a TOD HMI failure during a race condition.
+Rare race condition which meant we wouldn’t recover from TOD error</p></li>
+<li><p>hw/phb3: Update capi initialization sequence
The capi initialization sequence was revised in a circumvention
document when a ‘link down’ error was converted from fatal to Endpoint
Recoverable. Other, non-capi, register setup was corrected even before
the initial open-source release of skiboot, but a few capi-related
registers were not updated then, so this patch fixes it.
The point is that a link-down error detected by the UTL logic will
-lead to an AIB fence, so that the CAPP unit can detect the error.</li>
+lead to an AIB fence, so that the CAPP unit can detect the error.</p></li>
</ul>
<p>FSP platforms:</p>
<ul class="simple">
-<li>FSP/ELOG: Fix OPAL generated elog resend logic</li>
-<li>FSP/ELOG: Fix possible event notifier hangs</li>
-<li>FSP/ELOG: Disable event notification if list is not consistent</li>
-<li>FSP/ELOG: Fix OPAL generated elog event notification</li>
-<li>FSP/ELOG: Disable event notification during kexec</li>
+<li><p>FSP/ELOG: Fix OPAL generated elog resend logic</p></li>
+<li><p>FSP/ELOG: Fix possible event notifier hangs</p></li>
+<li><p>FSP/ELOG: Disable event notification if list is not consistent</p></li>
+<li><p>FSP/ELOG: Fix OPAL generated elog event notification</p></li>
+<li><p>FSP/ELOG: Disable event notification during kexec</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -95,17 +96,15 @@ lead to an AIB fence, so that the CAPP unit can detect the error.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -122,14 +121,15 @@ lead to an AIB fence, so that the CAPP unit can detect the error.</li>
<li class="right" >
<a href="skiboot-5.1.17.html" title="skiboot-5.1.17"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.18</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.19.html b/doc/release-notes/skiboot-5.1.19.html
index 24504cb..9b36e5c 100644
--- a/doc/release-notes/skiboot-5.1.19.html
+++ b/doc/release-notes/skiboot-5.1.19.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.19 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.19 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.18.html" title="skiboot-5.1.18"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.19</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-19">
+ <section id="skiboot-5-1-19">
<span id="id1"></span><h1>skiboot-5.1.19<a class="headerlink" href="#skiboot-5-1-19" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.19 was released on Monday 16th January 2017.</p>
<p>skiboot-5.1.19 is the 20th stable release of 5.1, it follows skiboot-5.1.18
@@ -54,48 +54,49 @@
<p>Changes are:</p>
<p>Generic:</p>
<ul class="simple">
-<li>Makefile: Disable stack protector due to gcc problems</li>
-<li>stack: Don’t recurse into __stack_chk_fail</li>
-<li>Makefile: Use -ffixed-r13
+<li><p>Makefile: Disable stack protector due to gcc problems</p></li>
+<li><p>stack: Don’t recurse into __stack_chk_fail</p></li>
+<li><p>Makefile: Use -ffixed-r13
We did not find evidence of this ever being a problem, but this fix
-is good and preventative.</li>
-<li>Limit number of “Poller recursion detected” errors to display
+is good and preventative.</p></li>
+<li><p>Limit number of “Poller recursion detected” errors to display
In some error conditions, we could spiral out of control on this
and spend all of our time printing the exact same backtrace.
-Limit it to 16 times, because 16 is a nice number.</li>
+Limit it to 16 times, because 16 is a nice number.</p></li>
</ul>
<p>FSP based Systems:</p>
<ul class="simple">
-<li>fsp: Don’t recurse pollers in ibm_fsp_terminate
+<li><p>fsp: Don’t recurse pollers in ibm_fsp_terminate
If we were to terminate in a poller, we’d call op_display() which
called pollers which hit the recursive poller warning, which ended
-in not much fun at all.</li>
+in not much fun at all.</p></li>
</ul>
<p>PCI:</p>
<ul class="simple">
-<li>hw/phb3: set PHB retry state correctly when fresetting during a creset</li>
-<li><dl class="first docutils">
-<dt>phb3: Lock the PHB on set_xive callbacks</dt>
-<dd>Those are called by the interrupts core and thus skip the locking
-implicit in the PCI opal calls.</dd>
+<li><p>hw/phb3: set PHB retry state correctly when fresetting during a creset</p></li>
+<li><dl class="simple">
+<dt>phb3: Lock the PHB on set_xive callbacks</dt><dd><p>Those are called by the interrupts core and thus skip the locking
+implicit in the PCI opal calls.</p>
+</dd>
</dl>
</li>
-<li>hw/{phb3, p7ioc}: Return success for freset on empty PHB
+<li><p>hw/{phb3, p7ioc}: Return success for freset on empty PHB
OPAL_CLOSED is returned when fundamental reset is issued on the
PHB who doesn’t have subordinate devices (root port excluded).
The kernel raises an error message, which is unnecessary. This
-returns OPAL_SUCCESS for this case to avoid the error message.</li>
-<li>hw/phb3: fix error handling in complete reset
+returns OPAL_SUCCESS for this case to avoid the error message.</p></li>
+<li><p>hw/phb3: fix error handling in complete reset
During a complete reset, when we get a timeout waiting for pending
transaction in state PHB3_STATE_CRESET_WAIT_CQ, we mark the PHB as broken
and return OPAL_PARAMETER.
Change the return code to OPAL_HARDWARE which is way more sensible, and set
the state to PHB3_STATE_FENCED so that the kernel can retry the complete
-reset.</li>
+reset.</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -115,17 +116,15 @@ reset.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -142,14 +141,15 @@ reset.</li>
<li class="right" >
<a href="skiboot-5.1.18.html" title="skiboot-5.1.18"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.19</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.2.html b/doc/release-notes/skiboot-5.1.2.html
index 0b9e45c..2baeee4 100644
--- a/doc/release-notes/skiboot-5.1.2.html
+++ b/doc/release-notes/skiboot-5.1.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.19.html" title="skiboot-5.1.19"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.2</a></li>
</ul>
</div>
@@ -45,18 +45,18 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-2">
+ <section id="skiboot-5-1-2">
<h1>skiboot-5.1.2<a class="headerlink" href="#skiboot-5-1-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.2 was released on September 9th, 2015.</p>
<p>skiboot-5.1.2 is the third stable release of 5.1, it follows skiboot-5.1.1
(which was released August 18th, 2015).</p>
<p>Skiboot 5.1.2 contains all fixes from skiboot-5.1.1 and is a minor bugfix
release.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1.1, we have the following changes:</p>
<ul>
-<li><p class="first">phb3: Handle fence in phb3_pci_msi_check_q to fix hang</p>
+<li><p>phb3: Handle fence in phb3_pci_msi_check_q to fix hang</p>
<p>If the PHB is fenced during phb3_pci_msi_check_q, it can get stuck in an
infinite loop waiting to lock the FFI. Further, as the phb lock is held
during this function it will prevent any other CPUs from dealing with
@@ -64,333 +64,332 @@ the fence, leading to the entire system hanging.</p>
<p>If the PHB_FFI_LOCK returns all Fs, return immediately to allow the
fence to be dealt with.</p>
</li>
-<li><p class="first">phb3: Continue CAPP setup even if PHB is already in CAPP mode
-This fixes a critical bug in CAPI support.</p>
-</li>
-<li><p class="first">Platform hook for terminate call</p>
+<li><p>phb3: Continue CAPP setup even if PHB is already in CAPP mode
+This fixes a critical bug in CAPI support.</p></li>
+<li><p>Platform hook for terminate call</p>
<ul class="simple">
-<li>on assert() or other firmware failure, we will make a SEL callout
-on ASTBMC platforms</li>
-<li>(slight) refactor of code for IBM-FSP platforms</li>
+<li><p>on assert() or other firmware failure, we will make a SEL callout
+on ASTBMC platforms</p></li>
+<li><p>(slight) refactor of code for IBM-FSP platforms</p></li>
</ul>
</li>
-<li><p class="first">refactor slot naming code</p>
-</li>
-<li><p class="first">Slot names for Habanero platform</p>
-</li>
-<li><p class="first">misc improvements in userspace utilities (incl pflash, gard)</p>
-</li>
-<li><p class="first">build improvements</p>
+<li><p>refactor slot naming code</p></li>
+<li><p>Slot names for Habanero platform</p></li>
+<li><p>misc improvements in userspace utilities (incl pflash, gard)</p></li>
+<li><p>build improvements</p>
<ul class="simple">
-<li>fixes for two compiler warnings were squashed in 5.1.1 commit,
-re-introduce the fixes.</li>
-<li>misc compiler/static analysis warning fixes</li>
+<li><p>fixes for two compiler warnings were squashed in 5.1.1 commit,
+re-introduce the fixes.</p></li>
+<li><p>misc compiler/static analysis warning fixes</p></li>
</ul>
</li>
-<li><p class="first">gard utility:</p>
+<li><p>gard utility:</p>
<ul class="simple">
-<li>If gard tool detects the GUARD PNOR partition is corrupted, it will
+<li><p>If gard tool detects the GUARD PNOR partition is corrupted, it will
pro-actively re-initialize it.
Modern Hostboot is more sensitive to the content of the GUARD partition
-in order to boot.</li>
-<li>Update record clearing to match Hostboots expectations
+in order to boot.</p></li>
+<li><p>Update record clearing to match Hostboots expectations
We now write ECC bytes throughout the whole partition.
-Without this fix, hostboot may not bring up the machine.</li>
-<li>In the event of a corrupted GUARD partition so that even the first entry
+Without this fix, hostboot may not bring up the machine.</p></li>
+<li><p>In the event of a corrupted GUARD partition so that even the first entry
cannot be read, the gard utility now provides the user with the option
-to wipe the entirety of the GUARD partition to attempt recovery.</li>
+to wipe the entirety of the GUARD partition to attempt recovery.</p></li>
</ul>
</li>
-<li><p class="first">opal_prd utility:</p>
+<li><p>opal_prd utility:</p>
<ul class="simple">
-<li>Add run command to pass through commands to HostBoot RunTime (HBRT)<ul>
-<li>this is for OpenPower firmware developers only.</li>
+<li><p>Add run command to pass through commands to HostBoot RunTime (HBRT)</p>
+<ul>
+<li><p>this is for OpenPower firmware developers only.</p></li>
</ul>
</li>
-<li>Add htmght-passthru command.<ul>
-<li>this is for OpenPower firmware developers only.</li>
+<li><p>Add htmght-passthru command.</p>
+<ul>
+<li><p>this is for OpenPower firmware developers only.</p></li>
</ul>
</li>
-<li>Add override interface to pass attribute-override information to HBRT.</li>
-<li>Server sends response in error path, so that client doesn’t block forever</li>
+<li><p>Add override interface to pass attribute-override information to HBRT.</p></li>
+<li><p>Server sends response in error path, so that client doesn’t block forever</p></li>
</ul>
</li>
-<li><p class="first">external/mambo tcl scripts</p>
+<li><p>external/mambo tcl scripts</p>
<ul class="simple">
-<li>Running little-endian kernels in mambo requires HILE to be set properly,
-which requires a bump in the machine’s pvr value to a DD2.x chip.</li>
+<li><p>Running little-endian kernels in mambo requires HILE to be set properly,
+which requires a bump in the machine’s pvr value to a DD2.x chip.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="stats">
+</section>
+<section id="stats">
<h2>Stats<a class="headerlink" href="#stats" title="Permalink to this headline">¶</a></h2>
<p>For skiboot-5.1.0 to 5.1.2:
Processed 67 csets from 11 developers
1 employers found
A total of 2258 lines added, 784 removed (delta 1474)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="73%" />
-<col width="27%" />
+<col style="width: 73%" />
+<col style="width: 27%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>24 (35.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>24 (35.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>18 (26.9%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>18 (26.9%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>8 (11.9%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>8 (11.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Neelesh Gupta</td>
-<td>5 (7.5%)</td>
+<tr class="row-odd"><td><p>Neelesh Gupta</p></td>
+<td><p>5 (7.5%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>5 (7.5%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>5 (7.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Axtens</td>
-<td>2 (3.0%)</td>
+<tr class="row-odd"><td><p>Daniel Axtens</p></td>
+<td><p>2 (3.0%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>1 (1.5%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>1 (1.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>1 (1.5%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1 (1.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>1 (1.5%)</td>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>1 (1.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Ian Munsie</td>
-<td>1 (1.5%)</td>
+<tr class="row-odd"><td><p>Ian Munsie</p></td>
+<td><p>1 (1.5%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>1 (1.5%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>1 (1.5%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="30%" />
+<col style="width: 70%" />
+<col style="width: 30%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Cyril Bur</td>
-<td>969 (42.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>969 (42.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Neelesh Gupta</td>
-<td>433 (19.0%)</td>
+<tr class="row-odd"><td><p>Neelesh Gupta</p></td>
+<td><p>433 (19.0%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>304 (13.3%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>304 (13.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>236 (10.3%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>236 (10.3%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>163 (7.1%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>163 (7.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>135 (5.9%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>135 (5.9%)</p></td>
</tr>
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>8 (0.4%)</td>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>8 (0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Ian Munsie</td>
-<td>8 (0.4%)</td>
+<tr class="row-odd"><td><p>Ian Munsie</p></td>
+<td><p>8 (0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Daniel Axtens</td>
-<td>2 (0.1%)</td>
+<tr class="row-even"><td><p>Daniel Axtens</p></td>
+<td><p>2 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>2 (0.1%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>2 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>1 (0.0%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="28%" />
+<col style="width: 72%" />
+<col style="width: 28%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Daniel Axtens</td>
-<td>2 (0.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Daniel Axtens</p></td>
+<td><p>2 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1 (0.1%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1 (0.1%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 44)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="30%" />
+<col style="width: 70%" />
+<col style="width: 30%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>43 (97.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>43 (97.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Neelesh Gupta</td>
-<td>1 (2.3%)</td>
+<tr class="row-odd"><td><p>Neelesh Gupta</p></td>
+<td><p>1 (2.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 8)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="30%" />
+<col style="width: 70%" />
+<col style="width: 30%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Patrick Williams</td>
-<td>5 (62.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>5 (62.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>3 (37.5%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>3 (37.5%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 0)</p>
<p>Developers who gave the most tested-by credits (total 0)</p>
<p>Developers with the most report credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Top changeset contributors by employer</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>67 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>67 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Top lines changed by employer</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>2281 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>2281 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most signoffs (total 44)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>44 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>44 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most hackers (total 11)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>11 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>11 (100.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -419,17 +418,15 @@ A total of 2258 lines added, 784 removed (delta 1474)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -446,14 +443,15 @@ A total of 2258 lines added, 784 removed (delta 1474)</p>
<li class="right" >
<a href="skiboot-5.1.19.html" title="skiboot-5.1.19"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.20.html b/doc/release-notes/skiboot-5.1.20.html
index c01db9a..6eb2224 100644
--- a/doc/release-notes/skiboot-5.1.20.html
+++ b/doc/release-notes/skiboot-5.1.20.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.20 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.20 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.2.html" title="skiboot-5.1.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.20</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-20">
+ <section id="skiboot-5-1-20">
<span id="id1"></span><h1>skiboot-5.1.20<a class="headerlink" href="#skiboot-5-1-20" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.20 was released on Friday 18th August 2017.</p>
<p>skiboot-5.1.20 is the 21st stable release of 5.1, it follows skiboot-5.1.19
@@ -54,7 +54,7 @@
All of the fixes have previously appeared in the 5.4.x stable series.</p>
<p>Changes are:</p>
<ul>
-<li><p class="first">FSP/CONSOLE: Workaround for unresponsive ipmi daemon</p>
+<li><p>FSP/CONSOLE: Workaround for unresponsive ipmi daemon</p>
<p>In some corner cases, where FSP is active but not responding to
console MBOX message (due to buggy IPMI) and we have heavy console
write happening from kernel, then eventually our console buffer
@@ -72,7 +72,7 @@ for new data. But in normal condition only FSP can update ‘next_out’
pointer and if we touch that pointer, it may introduce some other
race conditions. Hence we decided to just new console write request.</p>
</li>
-<li><p class="first">FSP: Set status field in response message for timed out message</p>
+<li><p>FSP: Set status field in response message for timed out message</p>
<p>For timed out FSP messages, we set message status as “fsp_msg_timeout”.
But most FSP driver users (like surviellance) are ignoring this field.
They always look for FSP returned status value in callback function
@@ -89,17 +89,17 @@ response from FSP.</p>
<p>Here SURV code thought it got valid response from FSP. But actually we didn’t
receive response from FSP.</p>
</li>
-<li><p class="first">FSP: Improve timeout message</p>
+<li><p>FSP: Improve timeout message</p>
<p>Presently we print word0 and word1 in error log. word0 contains
sequence number and command class. One has to understand word0
format to identify command class.</p>
<p>Lets explicitly print command class, sub command etc.</p>
</li>
-<li><p class="first">FSP/RTC: Remove local fsp_in_reset variable</p>
+<li><p>FSP/RTC: Remove local fsp_in_reset variable</p>
<p>Now that we are using fsp_in_rr() to detect FSP reset/reload, fsp_in_reset
become redundant. Lets remove this local variable.</p>
</li>
-<li><p class="first">FSP/RTC: Fix possible FSP R/R issue in rtc write path</p>
+<li><p>FSP/RTC: Fix possible FSP R/R issue in rtc write path</p>
<p>fsp_opal_rtc_write() checks FSP status before queueing message to FSP. But if
FSP R/R starts before getting response to queued message then we will continue
to return OPAL_BUSY_EVENT to host. In some extreme condition host may
@@ -108,17 +108,17 @@ and return OPAL_SUCCESS to host.</p>
<p>This patch caches new values and returns OPAL_SUCCESS if FSP R/R is happening.
And once FSP is back we will send cached value to FSP.</p>
</li>
-<li><p class="first">hw/fsp/rtc: read/write cached rtc tod on fsp hir.</p>
+<li><p>hw/fsp/rtc: read/write cached rtc tod on fsp hir.</p>
<p>Currently fsp-rtc reads/writes the cached RTC TOD on an fsp
reset. Use latest fsp_in_rr() function to properly read the cached rtc
value when fsp reset initiated by the hir.</p>
<p>Below is the kernel trace when we set hw clock, when hir process starts.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1727.775824</span><span class="p">]</span> <span class="n">NMI</span> <span class="n">watchdog</span><span class="p">:</span> <span class="n">BUG</span><span class="p">:</span> <span class="n">soft</span> <span class="n">lockup</span> <span class="o">-</span> <span class="n">CPU</span><span class="c1">#57 stuck for 23s! [hwclock:7688]</span>
<span class="p">[</span> <span class="mf">1727.775856</span><span class="p">]</span> <span class="n">Modules</span> <span class="n">linked</span> <span class="ow">in</span><span class="p">:</span> <span class="n">vmx_crypto</span> <span class="n">ibmpowernv</span> <span class="n">ipmi_powernv</span> <span class="n">uio_pdrv_genirq</span> <span class="n">ipmi_devintf</span> <span class="n">powernv_op_panel</span> <span class="n">uio</span> <span class="n">ipmi_msghandler</span> <span class="n">powernv_rng</span> <span class="n">leds_powernv</span> <span class="n">ip_tables</span> <span class="n">x_tables</span> <span class="n">autofs4</span> <span class="n">ses</span> <span class="n">enclosure</span> <span class="n">scsi_transport_sas</span> <span class="n">crc32c_vpmsum</span> <span class="n">lpfc</span> <span class="n">ipr</span> <span class="n">tg3</span> <span class="n">scsi_transport_fc</span>
-<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">CPU</span><span class="p">:</span> <span class="mi">57</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">7688</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">hwclock</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="mf">4.10</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span> <span class="c1">#16-Ubuntu</span>
+<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">CPU</span><span class="p">:</span> <span class="mi">57</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">7688</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">hwclock</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="mf">4.10.0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span> <span class="c1">#16-Ubuntu</span>
<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">task</span><span class="p">:</span> <span class="n">c000000fdfdc8400</span> <span class="n">task</span><span class="o">.</span><span class="n">stack</span><span class="p">:</span> <span class="n">c000000fdfef4000</span>
<span class="p">[</span> <span class="mf">1727.775884</span><span class="p">]</span> <span class="n">NIP</span><span class="p">:</span> <span class="n">c00000000090540c</span> <span class="n">LR</span><span class="p">:</span> <span class="n">c0000000000846f4</span> <span class="n">CTR</span><span class="p">:</span> <span class="mi">000000003006</span><span class="n">dd70</span>
-<span class="p">[</span> <span class="mf">1727.775885</span><span class="p">]</span> <span class="n">REGS</span><span class="p">:</span> <span class="n">c000000fdfef79a0</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="p">(</span><span class="mf">4.10</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span><span class="p">)</span>
+<span class="p">[</span> <span class="mf">1727.775885</span><span class="p">]</span> <span class="n">REGS</span><span class="p">:</span> <span class="n">c000000fdfef79a0</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="p">(</span><span class="mf">4.10.0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">1727.775886</span><span class="p">]</span> <span class="n">MSR</span><span class="p">:</span> <span class="mi">9000000000009033</span> <span class="o">&lt;</span><span class="n">SF</span><span class="p">,</span><span class="n">HV</span><span class="p">,</span><span class="n">EE</span><span class="p">,</span><span class="n">ME</span><span class="p">,</span><span class="n">IR</span><span class="p">,</span><span class="n">DR</span><span class="p">,</span><span class="n">RI</span><span class="p">,</span><span class="n">LE</span><span class="o">&gt;</span>
<span class="p">[</span> <span class="mf">1727.775889</span><span class="p">]</span> <span class="n">CR</span><span class="p">:</span> <span class="mi">28024442</span> <span class="n">XER</span><span class="p">:</span> <span class="mi">20000000</span>
<span class="p">[</span> <span class="mf">1727.775890</span><span class="p">]</span> <span class="n">CFAR</span><span class="p">:</span> <span class="n">c00000000008472c</span> <span class="n">SOFTE</span><span class="p">:</span> <span class="mi">1</span>
@@ -144,9 +144,8 @@ value when fsp reset initiated by the hir.</p>
<p>With this fix ran fsp hir torture testcase in the above test
which is working fine.</p>
</li>
-<li><p class="first">FSP/CHIPTOD: Return false in error path</p>
-</li>
-<li><p class="first">On FSP platforms: notify FSP of Platform Log ID after Host Initiated Reset Reload
+<li><p>FSP/CHIPTOD: Return false in error path</p></li>
+<li><p>On FSP platforms: notify FSP of Platform Log ID after Host Initiated Reset Reload
Trigging a Host Initiated Reset (when the host detects the FSP has gone
out to lunch and should be rebooted), would cause “Unknown Command” messages
to appear in the OPAL log.</p>
@@ -161,7 +160,7 @@ to appear in the OPAL log.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/i2c: Fix early lock drop</p>
+<li><p>hw/i2c: Fix early lock drop</p>
<p>When interacting with an I2C master the p8-i2c driver (common to p9)
aquires a per-master lock which it holds for the duration of it’s
interaction with the master. Unfortunately, when
@@ -171,7 +170,7 @@ contrary to the driver’s locking strategy which requires that the
caller aquire and drop the lock. This leads to a crash due to the
double unlock(), which skiboot treats as fatal.</p>
</li>
-<li><p class="first">head.S: store all of LR and CTR</p>
+<li><p>head.S: store all of LR and CTR</p>
<p>When saving the CTR and LR registers the skiboot exception handlers use the
‘stw’ instruction which only saves the lower 32 bits of the register. Given
these are both 64 bit registers this leads to some strange register dumps,
@@ -188,7 +187,7 @@ CR : 40004208 XER: 00000000
<p>In this dump the upper 32 bits of LR and CTR are actually stack gunk
which obscures the underlying issue.</p>
</li>
-<li><p class="first">hw/fsp: Do not queue SP and SPCN class messages during reset/reload
+<li><p>hw/fsp: Do not queue SP and SPCN class messages during reset/reload
In certain cases of communicating with the FSP (e.g. sensors), the OPAL FSP
driver returns a default code (async
completion) even though there is no known bound from the time of this error
@@ -198,9 +197,10 @@ leading to soft-lockup on the host side.</p>
knows to retry later.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -220,17 +220,15 @@ knows to retry later.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -247,14 +245,15 @@ knows to retry later.</p>
<li class="right" >
<a href="skiboot-5.1.2.html" title="skiboot-5.1.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.20</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.21.html b/doc/release-notes/skiboot-5.1.21.html
index d658742..76c998c 100644
--- a/doc/release-notes/skiboot-5.1.21.html
+++ b/doc/release-notes/skiboot-5.1.21.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.21 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.21 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.20.html" title="skiboot-5.1.20"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.21</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-21">
+ <section id="skiboot-5-1-21">
<span id="id1"></span><h1>skiboot-5.1.21<a class="headerlink" href="#skiboot-5-1-21" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.21 was released on Tuesday 19th September 2017.</p>
<p>skiboot-5.1.21 is the 22nd stable release of 5.1, it follows skiboot-5.1.20
@@ -53,7 +53,7 @@
<p>This release contains one backported bug fix to the 5.1.x series.</p>
<p>Changes are:</p>
<ul>
-<li><p class="first">FSP: Add check to detect FSP Reset/Reload inside fsp_sync_msg()</p>
+<li><p>FSP: Add check to detect FSP Reset/Reload inside fsp_sync_msg()</p>
<p>During FSP Reset/Reload we move outstanding MBOX messages from msgq to
rr_queue including inflight message (fsp_reset_cmdclass()). But we are not
resetting inflight message state.</p>
@@ -64,9 +64,10 @@ endup waiting in fsp_sync_msg() until everything becomes normal.</p>
if FSP is in R/R.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -86,17 +87,15 @@ if FSP is in R/R.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -113,14 +112,15 @@ if FSP is in R/R.</p>
<li class="right" >
<a href="skiboot-5.1.20.html" title="skiboot-5.1.20"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.21</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.3.html b/doc/release-notes/skiboot-5.1.3.html
index 434a347..d3eda7c 100644
--- a/doc/release-notes/skiboot-5.1.3.html
+++ b/doc/release-notes/skiboot-5.1.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.21.html" title="skiboot-5.1.21"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.3</a></li>
</ul>
</div>
@@ -45,40 +45,36 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-3">
+ <section id="skiboot-5-1-3">
<h1>skiboot-5.1.3<a class="headerlink" href="#skiboot-5-1-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.3 was released on September 15th, 2015.</p>
<p>skiboot-5.1.3 is the 4th stable release of 5.1, it follows skiboot-5.1.2
(which was released September 9th, 2015).</p>
<p>Skiboot 5.1.3 contains all fixes from skiboot-5.1.2 and is a minor bugfix
release.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1.2, we have the following changes:</p>
<ul>
-<li><p class="first">slot names for firestone platform</p>
-</li>
-<li><p class="first">fix display of LPC errors</p>
-</li>
-<li><p class="first">SBE based timer support</p>
+<li><p>slot names for firestone platform</p></li>
+<li><p>fix display of LPC errors</p></li>
+<li><p>SBE based timer support</p>
<ul class="simple">
-<li>on supported platforms limits reliance on Linux heartbeat</li>
+<li><p>on supported platforms limits reliance on Linux heartbeat</p></li>
</ul>
</li>
-<li><p class="first">fix use-after-free in fsp/ipmi</p>
-</li>
-<li><p class="first">fix hang on TOD/TB errors (time-of-day/timebase) on OpenPower systems</p>
+<li><p>fix use-after-free in fsp/ipmi</p></li>
+<li><p>fix hang on TOD/TB errors (time-of-day/timebase) on OpenPower systems</p>
<ul class="simple">
-<li>On getting a Hypervizor Maintenance Interrupt to get the timebase
+<li><p>On getting a Hypervizor Maintenance Interrupt to get the timebase
back into a running state, we would call prlog which would use
the LPC UART console driver on OpenPower systems, which depends on
a working timebase, leading to a hang.
-We now don’t depend on a working timebase in this recovery codepath.</li>
+We now don’t depend on a working timebase in this recovery codepath.</p></li>
</ul>
</li>
-<li><p class="first">enable prd for garrison platform</p>
-</li>
-<li><p class="first">PCI: Clear error bits after changing MPS
+<li><p>enable prd for garrison platform</p></li>
+<li><p>PCI: Clear error bits after changing MPS
Chaning MPS on PCI upstream bridge might cause error bits set on
downstream endpoints when system boots into Linux as below case
shows:</p>
@@ -93,241 +89,242 @@ shows:</p>
is changed. With the patch applied, no more error bits are seen.</p>
</li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>Processed 14 csets from 6 developers
1 employers found
A total of 462 lines added, 163 removed (delta 299)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="76%" />
-<col width="24%" />
+<col style="width: 76%" />
+<col style="width: 24%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>5 (35.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>5 (35.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>4 (28.6%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>4 (28.6%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>2 (14.3%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>2 (14.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1 (7.1%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1 (7.1%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>1 (7.1%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>1 (7.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Neelesh Gupta</td>
-<td>1 (7.1%)</td>
+<tr class="row-odd"><td><p>Neelesh Gupta</p></td>
+<td><p>1 (7.1%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="30%" />
+<col style="width: 70%" />
+<col style="width: 30%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>407 (80.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>407 (80.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>23 (4.6%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>23 (4.6%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>19 (3.8%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>19 (3.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>18 (3.6%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>18 (3.6%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>5 (1.0%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>5 (1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Neelesh Gupta</td>
-<td>2 (0.4%)</td>
+<tr class="row-odd"><td><p>Neelesh Gupta</p></td>
+<td><p>2 (0.4%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="30%" />
+<col style="width: 70%" />
+<col style="width: 30%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>8 (4.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>8 (4.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>3 (1.8%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>3 (1.8%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>1 (0.6%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>1 (0.6%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 10)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>10 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>10 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Joel Stanley</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 0)</p>
<p>Developers who gave the most tested-by credits (total 0)</p>
<p>Developers with the most report credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>John Walthour</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>John Walthour</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Top changeset contributors by employer</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>14 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>14 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Top lines changed by employer</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>504 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>504 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most signoffs (total 10)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>10 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>10 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most hackers (total 6)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>6 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>6 (100.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -356,17 +353,15 @@ A total of 462 lines added, 163 removed (delta 299)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -383,14 +378,15 @@ A total of 462 lines added, 163 removed (delta 299)</p>
<li class="right" >
<a href="skiboot-5.1.21.html" title="skiboot-5.1.21"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.4.html b/doc/release-notes/skiboot-5.1.4.html
index ecd6bf0..da85969 100644
--- a/doc/release-notes/skiboot-5.1.4.html
+++ b/doc/release-notes/skiboot-5.1.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.3.html" title="skiboot-5.1.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-4">
+ <section id="skiboot-5-1-4">
<h1>skiboot-5.1.4<a class="headerlink" href="#skiboot-5-1-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.4 was released on September 26th, 2015.</p>
<p>skiboot-5.1.4 is the 5th stable release of 5.1, it follows skiboot-5.1.3
@@ -53,11 +53,11 @@
<p>Skiboot 5.1.4 contains all fixes from skiboot-5.1.3 and is an important bug
fix release and a strongly recommended update from any prior skiboot-5.1.x
release.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1.3, we have the following changes:</p>
<ul>
-<li><p class="first">Rate limit OPAL_MSG_OCC to only one outstanding message to host</p>
+<li><p>Rate limit OPAL_MSG_OCC to only one outstanding message to host</p>
<p>In the event of a lot of OCC events (or many CPU cores), we could
send many OCC messages to the host, which if it wasn’t calling
opal_get_msg really often, would cause skiboot to malloc() additional
@@ -68,16 +68,17 @@ from Linux being able to call opal_get_msg, causing these to queue up
and get “opalmsg: No available node in the free list, allocating” warnings
followed by tonnes of backtraces of failing memory allocations.</p>
</li>
-<li><p class="first">Ensure reserved memory ranges are exposed correctly to host
+<li><p>Ensure reserved memory ranges are exposed correctly to host
(fix corrupted SLW image)</p>
<p>We seem to have not hit this on ASTBMC based OpenPower machines, but was
certainly hit on FSP based machines</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -105,17 +106,15 @@ certainly hit on FSP based machines</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -132,14 +131,15 @@ certainly hit on FSP based machines</p>
<li class="right" >
<a href="skiboot-5.1.3.html" title="skiboot-5.1.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.5.html b/doc/release-notes/skiboot-5.1.5.html
index 73cdf0a..90b96fe 100644
--- a/doc/release-notes/skiboot-5.1.5.html
+++ b/doc/release-notes/skiboot-5.1.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.4.html" title="skiboot-5.1.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.5</a></li>
</ul>
</div>
@@ -45,58 +45,58 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-5">
+ <section id="skiboot-5-1-5">
<h1>skiboot-5.1.5<a class="headerlink" href="#skiboot-5-1-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.5 was released on October 1st, 2015.</p>
<p>skiboot-5.1.5 is the 6th stable release of 5.1, it follows skiboot-5.1.4
(which was released September 26th, 2015).</p>
<p>Skiboot 5.1.5 contains all fixes from skiboot-5.1.4 and is a minor bug
fix release.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1.4, we have the following changes:</p>
-</div>
-<div class="section" id="generic">
+</section>
+<section id="generic">
<h2>Generic<a class="headerlink" href="#generic" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>centaur: Add indirect XSCOM support
+<li><p>centaur: Add indirect XSCOM support
Fixes a bug where opal-prd would not be able to recover from a bunch
-of errors as the indirect XSCOMs to centaurs would fail.</li>
-<li>xscom: Fix logging of indirect XSCOM errors
-Better logging of error messages.</li>
-<li>PHB3: Fix wrong PE number in error injection</li>
-<li>Improvement in boot_test.sh utility to support copying a pflash binary
-to BMCs.</li>
+of errors as the indirect XSCOMs to centaurs would fail.</p></li>
+<li><p>xscom: Fix logging of indirect XSCOM errors
+Better logging of error messages.</p></li>
+<li><p>PHB3: Fix wrong PE number in error injection</p></li>
+<li><p>Improvement in boot_test.sh utility to support copying a pflash binary
+to BMCs.</p></li>
</ul>
-</div>
-<div class="section" id="ast-bmc-machines">
+</section>
+<section id="ast-bmc-machines">
<h2>AST BMC machines<a class="headerlink" href="#ast-bmc-machines" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><dl class="first docutils">
-<dt>ipmi-sel: Run power action immediately if host not up</dt>
-<dd><p class="first">Our normal sequence for a soft power action (IPMI ‘power soft’ or
+<li><dl>
+<dt>ipmi-sel: Run power action immediately if host not up</dt><dd><p>Our normal sequence for a soft power action (IPMI ‘power soft’ or
‘power cycle’) involve receiving a SEL from the BMC, sending a message
to Linux’s opal platform support which instructs the host OS to shut
down, and finally the host will request OPAL to cut power.</p>
-<p class="last">When the host is not yet up we will send the message to /dev/null, and
+<p>When the host is not yet up we will send the message to /dev/null, and
no action will be taken. This patches changes that behaviour to perform
the action immediately if we know how.</p>
</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="openpower-machines">
+</section>
+<section id="openpower-machines">
<h2>OpenPower machines:<a class="headerlink" href="#openpower-machines" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>opal-prd: Increase IPMI timeout to a slightly better value
+<li><p>opal-prd: Increase IPMI timeout to a slightly better value
Proactively bump the timeout to 5seconds to match current value in petitboot
-Observed in the wild that this fixes bugs for petitboot.</li>
+Observed in the wild that this fixes bugs for petitboot.</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -127,17 +127,15 @@ Observed in the wild that this fixes bugs for petitboot.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -154,14 +152,15 @@ Observed in the wild that this fixes bugs for petitboot.</li>
<li class="right" >
<a href="skiboot-5.1.4.html" title="skiboot-5.1.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.6.html b/doc/release-notes/skiboot-5.1.6.html
index 8f63b95..26d55ee 100644
--- a/doc/release-notes/skiboot-5.1.6.html
+++ b/doc/release-notes/skiboot-5.1.6.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.6 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.6 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.5.html" title="skiboot-5.1.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.6</a></li>
</ul>
</div>
@@ -45,31 +45,31 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-6">
+ <section id="skiboot-5-1-6">
<h1>skiboot-5.1.6<a class="headerlink" href="#skiboot-5-1-6" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.6 was released on October 8th, 2015.</p>
<p>skiboot-5.1.6 is the 7th stable release of 5.1, it follows skiboot-5.1.5
(which was released October 1st, 2015).</p>
<p>Skiboot 5.1.6 contains all fixes from skiboot-5.1.5 and is a minor bug
fix release.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1.5, we have the following changes:</p>
-<div class="section" id="generic">
+<section id="generic">
<h3>Generic:<a class="headerlink" href="#generic" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">Ensure we run pollers in cpu_wait_job()</p>
+<li><p>Ensure we run pollers in cpu_wait_job()</p>
<p>In root causing a bug on AST BMC Alistair found that pollers weren’t
being run for around 3800ms.</p>
<p>This could show as not resetting the boot count sensor on successful
boot.</p>
</li>
</ul>
-</div>
-<div class="section" id="ast-bmc-machines">
+</section>
+<section id="ast-bmc-machines">
<h3>AST BMC Machines<a class="headerlink" href="#ast-bmc-machines" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">hw/bt.c: Check for timeout after checking for message response</p>
+<li><p>hw/bt.c: Check for timeout after checking for message response</p>
<p>When deciding if a BT message has timed out we should first check for
a message response. This will ensure that messages will not time out
if there was a delay calling the pollers.</p>
@@ -77,11 +77,12 @@ if there was a delay calling the pollers.</p>
boot.</p>
</li>
</ul>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -113,17 +114,15 @@ boot.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -140,14 +139,15 @@ boot.</p>
<li class="right" >
<a href="skiboot-5.1.5.html" title="skiboot-5.1.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.6</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.7.html b/doc/release-notes/skiboot-5.1.7.html
index 4a2b796..116b1e0 100644
--- a/doc/release-notes/skiboot-5.1.7.html
+++ b/doc/release-notes/skiboot-5.1.7.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.7 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.7 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.6.html" title="skiboot-5.1.6"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.7</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-7">
+ <section id="skiboot-5-1-7">
<h1>skiboot-5.1.7<a class="headerlink" href="#skiboot-5-1-7" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.7 was released on October 13th, 2015.</p>
<p>skiboot-5.1.7 is the 8th stable release of 5.1, it follows skiboot-5.1.6
@@ -55,19 +55,19 @@ fix release with one important bug fix for FSP systems.</p>
<p>Over skiboot-5.1.6, we have the following changes:</p>
<p>Generic:</p>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>PHB3: Retry fundamental reset</dt>
-<dd>This introduces another PHB3 state (PHB3_STATE_FRESET_START)
+<li><dl class="simple">
+<dt>PHB3: Retry fundamental reset</dt><dd><p>This introduces another PHB3 state (PHB3_STATE_FRESET_START)
allowing to redo fundamental reset if the link doesn’t come up
in time at the first attempt, to improve the robustness of PHB’s
fundamental reset. If the link comes up after the first reset,
-the 2nd reset won’t be issued at all.</dd>
+the 2nd reset won’t be issued at all.</p>
+</dd>
</dl>
</li>
</ul>
<p>FSP based systems:</p>
<ul>
-<li><p class="first">hw/fsp/fsp-leds.c: use allocated buffer for FSP_CMD_GET_LED_LIST response</p>
+<li><p>hw/fsp/fsp-leds.c: use allocated buffer for FSP_CMD_GET_LED_LIST response</p>
<p>This fixes a bug where we would overwrite roughly 4kb of memory belonging
to Linux when the FSP would ask firmware for a list of LEDs in the system.
This wouldn’t happen often (once before Linux was running and possibly
@@ -75,9 +75,10 @@ only once during runtime, and <em>early</em> runtime at that) but it was possibl
for this corruption to show up and be detected.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -97,17 +98,15 @@ for this corruption to show up and be detected.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -124,14 +123,15 @@ for this corruption to show up and be detected.</p>
<li class="right" >
<a href="skiboot-5.1.6.html" title="skiboot-5.1.6"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.7</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.8.html b/doc/release-notes/skiboot-5.1.8.html
index afd034a..338e47a 100644
--- a/doc/release-notes/skiboot-5.1.8.html
+++ b/doc/release-notes/skiboot-5.1.8.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.8 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.8 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.7.html" title="skiboot-5.1.7"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.8</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-8">
+ <section id="skiboot-5-1-8">
<h1>skiboot-5.1.8<a class="headerlink" href="#skiboot-5-1-8" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.8 was released on October 19th, 2015.</p>
<p>skiboot-5.1.8 is the 9th stable release of 5.1, it follows skiboot-5.1.7
@@ -54,7 +54,7 @@
fix release, with a single fix for recovery from a (rare) error.</p>
<p>Over skiboot-5.1.7, we have the following change:</p>
<ul>
-<li><p class="first">opal/hmi: Fix a soft lockup issue on Hypervisor Maintenance Interrupt
+<li><p>opal/hmi: Fix a soft lockup issue on Hypervisor Maintenance Interrupt
for certain timebase errors.</p>
<p>We also introduce a timeout to handle the worst situation where all other
threads are badly stuck without setting a cleanup done bit. Under such
@@ -62,9 +62,10 @@ situation timeout will help to avoid soft lockups and report failure to
kernel.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -84,17 +85,15 @@ kernel.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -111,14 +110,15 @@ kernel.</p>
<li class="right" >
<a href="skiboot-5.1.7.html" title="skiboot-5.1.7"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.8</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.1.9.html b/doc/release-notes/skiboot-5.1.9.html
index 235dc0f..0dbd2cc 100644
--- a/doc/release-notes/skiboot-5.1.9.html
+++ b/doc/release-notes/skiboot-5.1.9.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.1.9 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.1.9 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.8.html" title="skiboot-5.1.8"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.9</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-1-9">
+ <section id="skiboot-5-1-9">
<h1>skiboot-5.1.9<a class="headerlink" href="#skiboot-5-1-9" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.1.9 was released on October 30th, 2015.</p>
<p>skiboot-5.1.9 is the 10th stable release of 5.1, it follows skiboot-5.1.8
@@ -54,14 +54,15 @@
fix release, with a single fix to help diagnosis after a rare error condition.</p>
<p>Over skiboot-5.1.8, we have the following change:</p>
<ul class="simple">
-<li>opal/hmi: Signal PRD about NX unit checkstop.
+<li><p>opal/hmi: Signal PRD about NX unit checkstop.
We now signal Processor Recovery &amp; Diagnostics (PRD) correctly following
-an NX unit checkstop</li>
-<li>minor fix to the boot_test.sh test script</li>
+an NX unit checkstop</p></li>
+<li><p>minor fix to the boot_test.sh test script</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -81,17 +82,15 @@ an NX unit checkstop</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -108,14 +107,15 @@ an NX unit checkstop</li>
<li class="right" >
<a href="skiboot-5.1.8.html" title="skiboot-5.1.8"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.1.9</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10-rc1.html b/doc/release-notes/skiboot-5.10-rc1.html
index 98a1238..6fe3321 100644
--- a/doc/release-notes/skiboot-5.10-rc1.html
+++ b/doc/release-notes/skiboot-5.10-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10.html" title="skiboot-5.10"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-rc1">
+ <section id="skiboot-5-10-rc1">
<span id="id1"></span><h1>skiboot-5.10-rc1<a class="headerlink" href="#skiboot-5-10-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.10-rc1 was released on Tuesday February 6th 2018. It is the first
release candidate of skiboot 5.10, which will become the new stable release
@@ -58,15 +58,15 @@ may be more 5.9.x stable releases, it will depend on demand.</p>
being for all POWER8 and POWER9 platforms in op-build v1.21.
This release will be targeted to early POWER9 systems.</p>
<p>Over skiboot-5.9, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdata: Parse IPL FW feature settings</p>
+<li><p>hdata: Parse IPL FW feature settings</p>
<p>Add parsing for the firmware feature flags in the HDAT. This
indicates the settings of various parameters which are set at IPL time
by firmware.</p>
</li>
-<li><p class="first">opal/xstop: Use nvram option to enable/disable sw checkstop.</p>
+<li><p>opal/xstop: Use nvram option to enable/disable sw checkstop.</p>
<p>Add a mechanism to enable/disable sw checkstop by looking at nvram option
opal-sw-xstop=&lt;enable/disable&gt;.</p>
<p>For now this patch disables the sw checkstop trigger unless explicitly
@@ -87,7 +87,7 @@ checkstop by default.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hdata: Parse SPD data</p>
+<li><p>hdata: Parse SPD data</p>
<blockquote>
<div><p>Parse SPD data and populate device tree.</p>
<p>list of properties parsing from SPD:</p>
@@ -109,20 +109,19 @@ checkstop by default.</p>
<p>Also update documentation.</p>
</div></blockquote>
</li>
-<li><p class="first">hdata: Add memory hierarchy under xscom node</p>
+<li><p>hdata: Add memory hierarchy under xscom node</p>
<p>We have memory to chip mapping but doesn’t have complete memory hierarchy.
This patch adds memory hierarchy under xscom node. This is specific to
P9 system as these hierarchy may change between processor generation.</p>
-<dl class="docutils">
-<dt>It uses memory controller ID details and populates nodes like:</dt>
-<dd><p class="first last">xscom&#64;&lt;addr&gt;/mcbist&#64;&lt;mcbist_id&gt;/mcs&#64;&lt;mcs_id&gt;/mca&#64;&lt;mca_id&gt;/dimm&#64;&lt;resource_id&gt;</p>
+<dl class="simple">
+<dt>It uses memory controller ID details and populates nodes like:</dt><dd><p>xscom&#64;&lt;addr&gt;/mcbist&#64;&lt;mcbist_id&gt;/mcs&#64;&lt;mcs_id&gt;/mca&#64;&lt;mca_id&gt;/dimm&#64;&lt;resource_id&gt;</p>
</dd>
</dl>
<p>Also this patch adds few properties under dimm node.
Finally make sure xscom nodes created before calling memory_parse().</p>
</li>
</ul>
-<div class="section" id="fast-reboot-and-quiesce">
+<section id="fast-reboot-and-quiesce">
<h3>Fast Reboot and Quiesce<a class="headerlink" href="#fast-reboot-and-quiesce" title="Permalink to this headline">¶</a></h3>
<p>We have a preliminary fast reboot implementation for POWER9 systems, which
we look to enabling by default in the next release.</p>
@@ -130,7 +129,7 @@ we look to enabling by default in the next release.</p>
around reboot and error conditions. See the full API documentation for details:
<a class="reference internal" href="../opal-api/opal-quiesce-158.html#opal-quiesce"><span class="std std-ref">OPAL_QUIESCE</span></a>.</p>
<ul>
-<li><p class="first">fast-reboot: bare bones fast reboot implementation for POWER9</p>
+<li><p>fast-reboot: bare bones fast reboot implementation for POWER9</p>
<p>This is an initial fast reboot implementation for p9 which has only been
tested on the Witherspoon platform, and without the use of NPUs, NX/VAS,
etc.</p>
@@ -138,19 +137,19 @@ etc.</p>
reboots. It is hidden behind the traditional fast-reboot experimental
nvram option, until more platforms and configurations are tested.</p>
</li>
-<li><p class="first">fast-reboot: move boot CPU clean-up logically together with secondaries</p>
+<li><p>fast-reboot: move boot CPU clean-up logically together with secondaries</p>
<p>Move the boot CPU clean-up and state transition to active, logically
together with secondaries. Don’t release secondaries from fast reboot
hold until everyone has cleaned up and transitioned to active.</p>
<p>This is cosmetic, but it is helpful to run the fast reboot state machine
the same way on all CPUs.</p>
</li>
-<li><p class="first">fast-reboot: improve failure error messages</p>
+<li><p>fast-reboot: improve failure error messages</p>
<p>Change existing failure error messages to PR_NOTICE so they get
printed to the console, and add some new ones. It’s not a more
severe class because it falls back to IPL on failure.</p>
</li>
-<li><p class="first">fast-reboot: quiesce opal before initiating a fast reboot</p>
+<li><p>fast-reboot: quiesce opal before initiating a fast reboot</p>
<p>Switch fast reboot to use quiescing rather than “wait for a while”.</p>
<p>If firmware can not be quiesced, then fast reboot is skipped. This
significantly improves the robustness of fast reboot in the face of
@@ -162,7 +161,7 @@ can be removed.</p>
reduce fast reboot times by nearly 200ms, because quiescing usually
takes very little time.</p>
</li>
-<li><p class="first">core: Add support for quiescing OPAL</p>
+<li><p>core: Add support for quiescing OPAL</p>
<p>Quiescing is ensuring all host controlled CPUs (except the current
one) are out of OPAL and prevented from entering. This can be use in
debug and shutdown paths, particularly with system reset sequences.</p>
@@ -172,7 +171,7 @@ adds logic to “hold” or “reject” at entry time, if OPAL is quiesced.</p>
can be used for shutdown, kexec, and before generating sreset IPIs for
debugging (so the debug code does not recurse into OPAL).</p>
</li>
-<li><p class="first">dctl: p9 increase thread quiesce timeout</p>
+<li><p>dctl: p9 increase thread quiesce timeout</p>
<p>We require all instructions to be completed before a thread is
considered stopped, by the dctl interface. Long running instructions
like cache misses and CI loads may take a significant amount of time
@@ -182,51 +181,50 @@ just says to poll, but we like to have timeouts to avoid getting
stuck in firmware.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9-power-saving">
+</section>
+<section id="power9-power-saving">
<h3>POWER9 power saving<a class="headerlink" href="#power9-power-saving" title="Permalink to this headline">¶</a></h3>
<p>There is much improved support for deeper sleep/idle (stop) states on POWER9.</p>
<ul>
-<li><p class="first">OCC: Increase max pstate check on P9 to 255</p>
+<li><p>OCC: Increase max pstate check on P9 to 255</p>
<p>This has changed from P8, we can now have &gt; 127 pstates.</p>
<p>This was observed on Boston during WoF bring up.</p>
</li>
-<li><p class="first">SLW: Add idle state stop5 for DD2.0 and above</p>
+<li><p>SLW: Add idle state stop5 for DD2.0 and above</p>
<p>Adding stop5 idle state with rough residency and latency numbers.</p>
</li>
-<li><p class="first">SLW: Add p9_stop_api calls for IMC</p>
+<li><p>SLW: Add p9_stop_api calls for IMC</p>
<p>Add p9_stop_api for EVENT_MASK and PDBAR scoms. These scoms are lost on
wakeup from stop11.</p>
</li>
-<li><p class="first">SCOM restore for DARN and XIVE</p>
+<li><p>SCOM restore for DARN and XIVE</p>
<p>While waking up from stop11, we want NCU_DARN_BAR to have enable bit set.
Without this stop_api call, the value restored is without enable bit set.
We loose NCU_SPEC_BAR when the quad goes into stop11, stop_api will
restore while waking up from stop11.</p>
</li>
-<li><p class="first">SLW: Call p9_stop_api only if deep_states are enabled</p>
+<li><p>SLW: Call p9_stop_api only if deep_states are enabled</p>
<p>All init time p9_stop_api calls have been isolated to slw_late_init. If
p9_stop_api fails, then the deep states can be excluded from device tree.</p>
<p>For p9_stop_api called after device-tree for cpuidle is created ,
has_deep_states will be used to check if this call is even required.</p>
</li>
-<li><p class="first">Better handle errors in setting up sleep states (p9_stop_api)</p>
+<li><p>Better handle errors in setting up sleep states (p9_stop_api)</p>
<p>We won’t put affected stop states in the device tree if the wakeup
engine is not present or has failed.</p>
</li>
-<li><p class="first">SCOM Restore: Increased the EQ SCOM restore limit.</p>
+<li><p>SCOM Restore: Increased the EQ SCOM restore limit.</p>
<p>Commit increases the SCOM restore limit from 16 to 31.</p>
</li>
-<li><p class="first">hw/dts: retry special wakeup operation if core still gated</p>
+<li><p>hw/dts: retry special wakeup operation if core still gated</p>
<p>It has been observed that in some cases the special wakeup
operation can “succeed” but the core is still in a gated/offline
state.</p>
<p>Check for this state after attempting to wakeup a core and retry
the wakeup if necessary.</p>
</li>
-<li><p class="first">core/direct-controls: add function to read core gated state</p>
-</li>
-<li><p class="first">core/direct-controls: wait for core special wkup bit cleared</p>
+<li><p>core/direct-controls: add function to read core gated state</p></li>
+<li><p>core/direct-controls: wait for core special wkup bit cleared</p>
<p>When clearing special wakeup bit on a core, wait until the
bit is actually cleared by the hardware in the status register
until returning success.</p>
@@ -235,36 +233,36 @@ special wakeup request is cleared but the firmware is still
processing the request and the next attempt to set the bit
reads an immediate success from the previous operation.</p>
</li>
-<li><p class="first">p9_stop_api: PM: Added support for version control in SCOM restore entries.</p>
+<li><p>p9_stop_api: PM: Added support for version control in SCOM restore entries.</p>
<ul class="simple">
-<li>adds version info in SCOM restore entry header</li>
-<li>adds version specific details in SCOM restore entry header</li>
-<li>retains old behaviour of SGPE Hcode’s base version</li>
+<li><p>adds version info in SCOM restore entry header</p></li>
+<li><p>adds version specific details in SCOM restore entry header</p></li>
+<li><p>retains old behaviour of SGPE Hcode’s base version</p></li>
</ul>
</li>
-<li><p class="first">p9_stop_api: EQ SCOM Restore: Introduced version control in SCOM restore entry.</p>
+<li><p>p9_stop_api: EQ SCOM Restore: Introduced version control in SCOM restore entry.</p>
<ul class="simple">
-<li>introduces version control in header of SCOM restore entry</li>
-<li>ensures backward compatibility</li>
-<li>introduces flexibility to handle any number of SCOM restore entry.</li>
+<li><p>introduces version control in header of SCOM restore entry</p></li>
+<li><p>ensures backward compatibility</p></li>
+<li><p>introduces flexibility to handle any number of SCOM restore entry.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="secure-and-trusted-boot-for-power9">
+</section>
+<section id="secure-and-trusted-boot-for-power9">
<h3>Secure and Trusted Boot for POWER9<a class="headerlink" href="#secure-and-trusted-boot-for-power9" title="Permalink to this headline">¶</a></h3>
<p>We introduce support for Secure and Trusted Boot for POWER9 systems, with equal
functionality that we have on POWER8 systems, that is, we have the mechanisms in
place to boot to petitboot (i.e. to BOOTKERNEL).</p>
<p>See the <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a> for full documentation of OPAL secure and trusted boot.</p>
<ul>
-<li><p class="first">allow secure boot if not enforcing it</p>
+<li><p>allow secure boot if not enforcing it</p>
<p>We check the secure boot containers no matter what, only <em>enforcing</em>
secure boot if we’re booting in secure mode. This gives us an extra
layer of checking firmware is legit even when secure mode isn’t enabled,
as well as being really useful for testing.</p>
</li>
-<li><p class="first">libstb/(create|print)-container: Sync with sb-signing-utils</p>
+<li><p>libstb/(create|print)-container: Sync with sb-signing-utils</p>
<p>The sb-signing-utils project has improved upon the skeleton
create-container tool that existed in skiboot, including
being able to (quite easily) create <em>signed</em> images.</p>
@@ -280,45 +278,44 @@ upstream project.</p>
at v0.3-5-gcb111c03ad7f
(Some discussion ongoing on the changes, another sync will come shortly)</p>
</li>
-<li><p class="first">doc: update libstb documentation with POWER9 changes.
+<li><p>doc: update libstb documentation with POWER9 changes.
See: <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a>.</p>
<p>POWER9 changes reflected in the libstb:</p>
<blockquote>
<div><ul class="simple">
-<li>bumped ibm,secureboot node to v2</li>
-<li>added ibm,cvc node</li>
-<li>hash-algo superseded by hw-key-hash-size</li>
+<li><p>bumped ibm,secureboot node to v2</p></li>
+<li><p>added ibm,cvc node</p></li>
+<li><p>hash-algo superseded by hw-key-hash-size</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">libstb/cvc: update memory-region to point to /reserved-memory</p>
+<li><p>libstb/cvc: update memory-region to point to /reserved-memory</p>
<p>The linux documentation, reserved-memory.txt, says that memory-region is
a phandle that pairs to a children of /reserved-memory.</p>
-<dl class="docutils">
-<dt>This updates /ibm,secureboot/ibm,cvc/memory-region to point to</dt>
-<dd><p class="first last">/reserved-memory/secure-crypt-algo-code instead of
+<dl class="simple">
+<dt>This updates /ibm,secureboot/ibm,cvc/memory-region to point to</dt><dd><p>/reserved-memory/secure-crypt-algo-code instead of
/ibm,hostboot/reserved-memory/secure-crypt-algo-code.</p>
</dd>
</dl>
</li>
-<li><p class="first">libstb: add support for ibm,secureboot-v2</p>
+<li><p>libstb: add support for ibm,secureboot-v2</p>
<p>ibm,secureboot-v2 changes:</p>
<blockquote>
<div><ul class="simple">
-<li>The Container Verification Code is represented by the ibm,cvc node.</li>
-<li>Each ibm,cvc child describes a CVC service.</li>
-<li>hash-algo is superseded by hw-key-hash-size.</li>
+<li><p>The Container Verification Code is represented by the ibm,cvc node.</p></li>
+<li><p>Each ibm,cvc child describes a CVC service.</p></li>
+<li><p>hash-algo is superseded by hw-key-hash-size.</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">hdata/tpmrel.c: add ibm, cvc device tree node</p>
+<li><p>hdata/tpmrel.c: add ibm, cvc device tree node</p>
<p>In P9, the Container Verification Code is stored in a hostboot reserved
memory and the list of provided CVC services is stored in the
TPMREL_IDATA_HASH_VERIF_OFFSETS idata array. Each CVC service has an
offset and version.</p>
<p>This adds the ibm,cvc device tree node and its documentation.</p>
</li>
-<li><p class="first">hdata/tpmrel.c: add firmware event log info to the tpm node</p>
+<li><p>hdata/tpmrel.c: add firmware event log info to the tpm node</p>
<p>This parses the firmware event log information from the
secureboot_tpm_info HDAT structure and add it to the tpm device tree
node.</p>
@@ -326,18 +323,18 @@ node.</p>
corresponding to a master processor that has a tpm device, however,
multiple tpm is not supported.</p>
</li>
-<li><p class="first">hdata/spira: add ibm,secureboot node in P9</p>
+<li><p>hdata/spira: add ibm,secureboot node in P9</p>
<p>In P9, skiboot builds the device tree from the HDAT. These are the
“ibm,secureboot” node changes compared to P8:</p>
<blockquote>
<div><ul class="simple">
-<li>The Container-Verification-Code (CVC), a.k.a. ROM code, is no longer
+<li><p>The Container-Verification-Code (CVC), a.k.a. ROM code, is no longer
stored in a secure ROM with static address. In P9, it is stored in a
hostboot reserved memory and each service provided also has a version,
-not only an offset.</li>
-<li>The hash-algo property is not provided via HDAT, instead it provides
+not only an offset.</p></li>
+<li><p>The hash-algo property is not provided via HDAT, instead it provides
the hw-key-hash-size, which is indeed the information required by the
-CVC to verify containers.</li>
+CVC to verify containers.</p></li>
</ul>
</div></blockquote>
<p>This parses the iplparams_sysparams HDAT structure and creates the
@@ -345,20 +342,20 @@ CVC to verify containers.</li>
<p>In “ibm,secureboot-v2”:</p>
<blockquote>
<div><ul class="simple">
-<li>hash-algo property is superseded by hw-key-hash-size.</li>
-<li>container verification code is explicitly described by a child node.
-Added in a subsequent patch.</li>
+<li><p>hash-algo property is superseded by hw-key-hash-size.</p></li>
+<li><p>container verification code is explicitly described by a child node.
+Added in a subsequent patch.</p></li>
</ul>
</div></blockquote>
-<p>See <a class="reference internal" href="../device-tree/ibm,secureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">ibm,secureboot</span></a> for documentation.</p>
+<p>See <a class="reference internal" href="../device-tree/ibm%2Csecureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">ibm,secureboot</span></a> for documentation.</p>
</li>
-<li><p class="first">libstb/tpm_chip.c: define pr_fmt and fix messages logged</p>
+<li><p>libstb/tpm_chip.c: define pr_fmt and fix messages logged</p>
<p>This defines pr_fmt and also fix messages logged:</p>
<blockquote>
<div><ul class="simple">
-<li>EV_SEPARATOR instead of 0xFFFFFFFF</li>
-<li>when an event is measured it also prints the tpm id, event type and
-event log length</li>
+<li><p>EV_SEPARATOR instead of 0xFFFFFFFF</p></li>
+<li><p>when an event is measured it also prints the tpm id, event type and
+event log length</p></li>
</ul>
</div></blockquote>
<p>Now we can filter the messages logged by libstb and its
@@ -367,7 +364,7 @@ sub-modules by running:</p>
</pre></div>
</div>
</li>
-<li><p class="first">libstb/tss: update the list of event types supported</p>
+<li><p>libstb/tss: update the list of event types supported</p>
<p>Skiboot, precisely the tpmLogMgr, initializes the firmware event log by
calculating its length so that a new event can be recorded without
exceeding the log size. In order to calculate the size, it walks through
@@ -377,29 +374,29 @@ of the log.</p>
<p>This updates the list of event types with all of those supported by
hostboot. Thus, skiboot can properly calculate the event log length.</p>
</li>
-<li><p class="first">tpm_i2c_nuvoton: add nuvoton, npct601 to the compatible property</p>
+<li><p>tpm_i2c_nuvoton: add nuvoton, npct601 to the compatible property</p>
<p>The linux kernel doesn’t have a driver compatible with
“nuvoton,npct650”, but it does have for “nuvoton,npct601”, which should
also be compatible with npct650.</p>
<p>This adds “nuvoton,npct601” to the compatible devtree property.</p>
</li>
-<li><p class="first">libstb/trustedboot.c: import stb_final() from stb.c</p>
+<li><p>libstb/trustedboot.c: import stb_final() from stb.c</p>
<p>The stb_final() primary goal is to measure the event EV_SEPARATOR
into PCR[0-7] when trusted boot is about to exit the boot services.</p>
<p>This imports the stb_final() from stb.c into trustedboot.c, but making
the following changes:</p>
<blockquote>
<div><ul class="simple">
-<li>Rename it to trustedboot_exit_boot_services().</li>
-<li>As specified in the TCG PC Client specification, EV_SEPARATOR events must
-be logged with the name 0xFFFFFF.</li>
-<li>Remove the ROM driver clean-up call.</li>
-<li>Don’t allow code to be measured in skiboot after
-trustedboot_exit_boot_services() is called.</li>
+<li><p>Rename it to trustedboot_exit_boot_services().</p></li>
+<li><p>As specified in the TCG PC Client specification, EV_SEPARATOR events must
+be logged with the name 0xFFFFFF.</p></li>
+<li><p>Remove the ROM driver clean-up call.</p></li>
+<li><p>Don’t allow code to be measured in skiboot after
+trustedboot_exit_boot_services() is called.</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">libstb/cvc.c: import softrom behaviour from drivers/sw_driver.c</p>
+<li><p>libstb/cvc.c: import softrom behaviour from drivers/sw_driver.c</p>
<p>Softrom is used only for testing with mambo. By setting
compatible=”ibm,secureboot-v1-softrom” in the “ibm,secureboot” node,
firmware images can be properly measured even if the
@@ -411,7 +408,7 @@ into cvc.c, but now softrom is implemented as a flag. When the flag is
set, the wrappers for the CVC services work the same way as in
sw_driver.c.</p>
</li>
-<li><p class="first">libstb/trustedboot.c: import tb_measure() from stb.c</p>
+<li><p>libstb/trustedboot.c: import tb_measure() from stb.c</p>
<p>This imports tb_measure() from stb.c, but now it calls the CVC sha512
wrapper to calculate the sha512 hash of the firmware image provided.</p>
<p>In trustedboot.c, the tb_measure() is renamed to trustedboot_measure().</p>
@@ -419,22 +416,20 @@ wrapper to calculate the sha512 hash of the firmware image provided.</p>
container payload hash calculated at boot time matches with the hash
found in the container header. A few reasons:</p>
<ul>
-<li><p class="first">If the system admin wants the container header to be
+<li><p>If the system admin wants the container header to be
checked/validated, the secure boot jumper must be set. Otherwise,
-the container header information may not be reliable.</p>
-</li>
-<li><p class="first">The container layout is expected to change over time. Skiboot
+the container header information may not be reliable.</p></li>
+<li><p>The container layout is expected to change over time. Skiboot
would need to maintain a parser for each container layout
-change.</p>
-</li>
-<li><p class="first">Skiboot could be checking the hash against a container version that
+change.</p></li>
+<li><p>Skiboot could be checking the hash against a container version that
is not supported by the Container-Verification-Code (CVC).</p>
<p>The tb_measure() calls are updated to trustedboot_measure() in a
subsequent patch.</p>
</li>
</ul>
</li>
-<li><p class="first">libstb/secureboot.c: import sb_verify() from stb.c</p>
+<li><p>libstb/secureboot.c: import sb_verify() from stb.c</p>
<p>This imports the sb_verify() function from stb.c, but now it calls the
CVC verify wrapper in order to verify signed firmware images. The
hw-key-hash and hw-key-hash-size initialized in secureboot.c are passed
@@ -443,34 +438,34 @@ to the CVC verify function wrapper.</p>
sb_verify() calls are updated in a subsequent patch.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="xive">
+</section>
+</section>
+<section id="xive">
<h2>XIVE<a class="headerlink" href="#xive" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">xive: Don’t bother cleaning up disabled EQs in reset</p>
+<li><p>xive: Don’t bother cleaning up disabled EQs in reset</p>
<p>Additionally, warn if we find an enabled one that isn’t one
of the firmware built-in queues.</p>
</li>
-<li><p class="first">xive: Warn on valid VPs found in abnormal cases</p>
+<li><p>xive: Warn on valid VPs found in abnormal cases</p>
<p>If an allocated VP is left valid at xive_reset() or Linux tries
to free a valid (enabled) VP block, print errors. The former happens
occasionally if kdump’ing while KVM is running so keep it as a debug
message. The latter is a programming error in Linux so use a an
error log level.</p>
</li>
-<li><p class="first">xive: Properly reserve built-in VPs in non-group mode</p>
+<li><p>xive: Properly reserve built-in VPs in non-group mode</p>
<p>This is not normally used but if the #define is changed to
disable block group mode we would incorrectly clear the
buddy completely without marking the built-in VPs reserved.</p>
</li>
-<li><p class="first">xive: Quieten debug messages in standard builds</p>
+<li><p>xive: Quieten debug messages in standard builds</p>
<p>This makes a bunch of messages, especially the per-CPU ones,
only enabled in debug builds. This avoids clogging up the
OPAL logs with XIVE related messages that have proven not
being particularly useful for field defects.</p>
</li>
-<li><p class="first">xive: Implement “single escalation” feature</p>
+<li><p>xive: Implement “single escalation” feature</p>
<p>This adds a new VP flag to control the new DD2.0
“single escalation” feature.</p>
<p>This feature allows us to have a single escalation
@@ -479,43 +474,42 @@ interrupt per VP instead of one per queue.</p>
usable when that is enabled) and exploiting two new
hardware bits that will:</p>
<ul class="simple">
-<li>Make the normal queues (0..6) escalate unconditionally
-thus ignoring the ESe bits.</li>
-<li>Route the above escalations to queue 7</li>
-<li>Have queue 7 silently escalate without notification</li>
+<li><p>Make the normal queues (0..6) escalate unconditionally
+thus ignoring the ESe bits.</p></li>
+<li><p>Route the above escalations to queue 7</p></li>
+<li><p>Have queue 7 silently escalate without notification</p></li>
</ul>
<p>Thus the escalation of queue 7 becomes the one escalation
interrupt for all the other queues.</p>
</li>
-<li><p class="first">xive: When disabling a VP, wipe all of its settings</p>
-</li>
-<li><p class="first">xive: Improve cleaning up of EQs</p>
+<li><p>xive: When disabling a VP, wipe all of its settings</p></li>
+<li><p>xive: Improve cleaning up of EQs</p>
<p>Factors out the function that sets an EQ back to a clean
state and add a cleaning pass for queue left enabled
when freeing a block of VPs.</p>
</li>
-<li><p class="first">xive: When disabling an EQ, wipe all of its settings</p>
+<li><p>xive: When disabling an EQ, wipe all of its settings</p>
<p>This avoids having configuration bits left over</p>
</li>
-<li><p class="first">xive: Define API for single-escalation VP mode</p>
+<li><p>xive: Define API for single-escalation VP mode</p>
<p>This mode allows all queues of a VP to use the same
escalation interrupt, at the cost of losing priority 7.</p>
<p>This adds the definition and documentation of the API,
the implementation will come next.</p>
</li>
-<li><p class="first">xive: Fix ability to clear some EQ flags</p>
+<li><p>xive: Fix ability to clear some EQ flags</p>
<p>We could never clear “unconditional notify” and “escalate”</p>
</li>
-<li><p class="first">xive: Update inits for DD2.0</p>
+<li><p>xive: Update inits for DD2.0</p>
<p>This updates some inits based on information from the HW
designers. This includes enabling some new DD2.0 features
that we don’t yet exploit.</p>
</li>
-<li><p class="first">xive: Ensure VC informational FIRs are masked</p>
+<li><p>xive: Ensure VC informational FIRs are masked</p>
<p>Some HostBoot versions leave those as checkstop, they are harmless
and can sometimes occur during normal operations.</p>
</li>
-<li><p class="first">xive: Fix occasional VC checkstops in xive_reset</p>
+<li><p>xive: Fix occasional VC checkstops in xive_reset</p>
<p>The current workaround for the scrub bug described in
__xive_cache_scrub() has an issue in that it can leave
dirty invalid entries in the cache.</p>
@@ -526,47 +520,47 @@ of the cache.</p>
<p>This replaces the existing workaround with a new pair of
workarounds for VPs and EQs:</p>
<ul class="simple">
-<li>The VP one does the dummy watch on another entry than
+<li><p>The VP one does the dummy watch on another entry than
the one we scrubbed (which does the job of pushing old
stores out) using an entry that is known to be backed by
-a permanent indirect page.</li>
-<li>The EQ one switches to a more efficient workaround
+a permanent indirect page.</p></li>
+<li><p>The EQ one switches to a more efficient workaround
which consists of doing a non-side-effect ESB load from
-the EQ’s ESe control bits.</li>
+the EQ’s ESe control bits.</p></li>
</ul>
</li>
-<li><p class="first">xive: Do not return a trigger page for an escalation interrupt</p>
+<li><p>xive: Do not return a trigger page for an escalation interrupt</p>
<p>This is bogus, we don’t support them. (Thankfully the callers
didn’t actually try to use this on escalation interrupts).</p>
</li>
-<li><p class="first">xive: Mark a freed IRQs IVE as valid and masked</p>
+<li><p>xive: Mark a freed IRQs IVE as valid and masked</p>
<p>Removing the valid bit means a FIR will trip if it’s accessed
inadvertently. Under some circumstances, the XIVE will speculatively
access an IVE for a masked interrupt and trip it. So make sure that
freed entries are still marked valid (but masked).</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pci: Shared slot state synchronisation for hot reset</p>
+<li><p>pci: Shared slot state synchronisation for hot reset</p>
<p>When a device is shared between two PHBs, it doesn’t get reset properly
unless both PHBs issue a hot reset at “the same time”. Practically this
means a hot reset needs to be issued on both sides, and neither should
bring the link up until the reset on both has completed.</p>
</li>
-<li><p class="first">pci: Track peers of slots</p>
+<li><p>pci: Track peers of slots</p>
<p>Witherspoon introduced a new concept where one physical slot is shared
between two PHBs. Making a slot aware of its peer enables syncing
between them where necessary.</p>
</li>
</ul>
-</div>
-<div class="section" id="phb4">
+</section>
+<section id="phb4">
<h2>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">phb4: Change PCI MMIO timers</p>
+<li><p>phb4: Change PCI MMIO timers</p>
<p>Currently we have a mismatch between the NCU and PCI timers for MMIO
accesses. The PCI timers must be lower than the NCU timers otherwise
it may cause checkstops.</p>
@@ -574,7 +568,7 @@ it may cause checkstops.</p>
be forwards and backwards compatible with expected hostboot changes to
the NCU timer.</p>
</li>
-<li><p class="first">phb4: Change default GEN3 lane equalisation setting to 0x54</p>
+<li><p>phb4: Change default GEN3 lane equalisation setting to 0x54</p>
<p>Currently our GEN3 lane equalisation settings are set to 0x77. Change
this to 0x54. This change will allow us to train at GEN3 in a shorter
time and more consistently.</p>
@@ -584,23 +578,23 @@ continuous time linear equalizers (CTLE) for the remote receiver port
and de-emphasis and pre-shoot for the remote transmitter port.</p>
<p>Machine Readable Workbooks (MRW) are moving to this new value also.</p>
</li>
-<li><p class="first">phb4: Init changes</p>
+<li><p>phb4: Init changes</p>
<p>These init changes for phb4 from the HW team.</p>
<p>Link down are now endpoint recoverable (ERC) rather than PHB fatal
errors.</p>
<p>BLIF Completion Timeout Error now generate an interrupt rather than
causing freeze events.</p>
</li>
-<li><p class="first">phb4: Fix lane equalisation setting</p>
+<li><p>phb4: Fix lane equalisation setting</p>
<p>Fix cut and paste from phb3. The sizes have changes now we have GEN4,
so the check here needs to change also</p>
<p>Without this we end up with the default settings (all ‘7’) rather
than what’s in HDAT.</p>
</li>
-<li><p class="first">hdata: Fix copying GEN4 lane equalisation settings</p>
+<li><p>hdata: Fix copying GEN4 lane equalisation settings</p>
<p>These aren’t copied currently but should be.</p>
</li>
-<li><p class="first">phb4: Fix PE mapping of M32 BAR</p>
+<li><p>phb4: Fix PE mapping of M32 BAR</p>
<p>The M32 BAR is the PHB4 region used to map all the non-prefetchable
or 32-bit device BARs. It’s supposed to have its segments remapped
via the MDT and Linux relies on that to assign them individual PE#.</p>
@@ -608,22 +602,22 @@ via the MDT and Linux relies on that to assign them individual PE#.</p>
mode where PE# == segment#, thus causing EEH to freeze the wrong
device or PE#.</p>
</li>
-<li><p class="first">phb4: Fix lost bit in PE number on config accesses</p>
+<li><p>phb4: Fix lost bit in PE number on config accesses</p>
<p>A PE number can be up to 9 bits, using a uint8_t won’t fly..</p>
<p>That was causing error on config accesses to freeze the
wrong PE.</p>
</li>
-<li><p class="first">phb4: Update inits</p>
+<li><p>phb4: Update inits</p>
<p>New init value from HW folks for the fence enable register.</p>
<p>This clears bit 17 (CFG Write Error CA or UR response) and bit 22 (MMIO Write
DAT_ERR Indication) and sets bit 21 (MMIO CFG Pending Error)</p>
</li>
</ul>
-</div>
-<div class="section" id="capi">
+</section>
+<section id="capi">
<h2>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">capi: Disable CAPP virtual machines</p>
+<li><p>capi: Disable CAPP virtual machines</p>
<p>When exercising more than one CAPI accelerators simultaneously in
cache coherency mode, the verification team is seeing a deadlock. To
fix this a workaround of disabling CAPP virtual machines is
@@ -637,12 +631,12 @@ another CAPI is requesting) get stuck in the virtual machine queue by
a command ahead of it that is being retried by the same scenario in
the other CAPI. “</p>
</li>
-<li><p class="first">capi: Perform capp recovery sequence only when PBCQ is idle</p>
+<li><p>capi: Perform capp recovery sequence only when PBCQ is idle</p>
<p>Presently during a CRESET the CAPP recovery sequence can be executed
multiple times in case PBCQ on the PEC is still busy processing in/out
bound in-flight transactions.</p>
</li>
-<li><p class="first">xive: Mask MMIO load/store to bad location FIR</p>
+<li><p>xive: Mask MMIO load/store to bad location FIR</p>
<p>For opencapi, the trigger page of an interrupt is mapped to user
space. The intent is to write the page to raise an interrupt but
there’s nothing to prevent a user process from reading it, which has
@@ -652,7 +646,7 @@ location. It’s the recommendation from recent documentation and
hostboot is expected to mask it at some point. In the meantime, let’s
play it safe.</p>
</li>
-<li><p class="first">phb4: Dump CAPP error registers when it asserts link down</p>
+<li><p>phb4: Dump CAPP error registers when it asserts link down</p>
<p>This patch introduces a new function phb4_dump_app_err_regs() that
dumps CAPP error registers in case the PEC nestfir register indicates
that the fence was due to a CAPP error (BIT-24).</p>
@@ -660,23 +654,23 @@ that the fence was due to a CAPP error (BIT-24).</p>
issues. Registers that are dumped in phb4_dump_app_err_regs() are:</p>
<blockquote>
<div><ul class="simple">
-<li>CAPP FIR Register</li>
-<li>CAPP APC Master Error Report Register</li>
-<li>CAPP Snoop Error Report Register</li>
-<li>CAPP Transport Error Report Register</li>
-<li>CAPP TLBI Error Report Register</li>
-<li>CAPP Error Status and Control Register</li>
+<li><p>CAPP FIR Register</p></li>
+<li><p>CAPP APC Master Error Report Register</p></li>
+<li><p>CAPP Snoop Error Report Register</p></li>
+<li><p>CAPP Transport Error Report Register</p></li>
+<li><p>CAPP TLBI Error Report Register</p></li>
+<li><p>CAPP Error Status and Control Register</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">capi: move the acknowledge of the HMI interrupt</p>
+<li><p>capi: move the acknowledge of the HMI interrupt</p>
<p>We need to acknowledge an eventual HMI initiated by the previous forced
fence on the PHB to work around a non-existent PE in the phb4_creset()
function.
For this reason do_capp_recovery_scoms() is called now at the
beginning of the step: PHB4_SLOT_CRESET_WAIT_CQ</p>
</li>
-<li><p class="first">capi: update ci store buffers and dma engines</p>
+<li><p>capi: update ci store buffers and dma engines</p>
<p>The number of read (APC type traffic) and mmio store (MSG type traffic)
resources assigned to the CAPP is controlled by the CAPP control
register.</p>
@@ -685,56 +679,55 @@ configure differently the CAPP messages and the DMA read engines given
to the CAPP for use.</p>
</li>
</ul>
-</div>
-<div class="section" id="hmi">
+</section>
+<section id="hmi">
<h2>HMI<a class="headerlink" href="#hmi" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/hmi: Display chip location code while displaying core FIR.</p>
-</li>
-<li><p class="first">core/hmi: Do not display FIR details if none of the bits are set.</p>
+<li><p>core/hmi: Display chip location code while displaying core FIR.</p></li>
+<li><p>core/hmi: Do not display FIR details if none of the bits are set.</p>
<p>So that we don’t flood OPAL console logs with information that is not
useful.</p>
</li>
-<li><p class="first">opal/hmi: HMI logging with location code info.</p>
+<li><p>opal/hmi: HMI logging with location code info.</p>
<p>Add few HMI debug prints with location code info few additional info.</p>
<p>No functionality change.</p>
<p>With this patch the log messages will look like:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mf">210612.175196744</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Received</span> <span class="n">HMI</span> <span class="n">interrupt</span><span class="p">:</span> <span class="n">HMER</span> <span class="o">=</span> <span class="mh">0x0840000000000000</span>
-<span class="p">[</span><span class="mf">210612.175200449</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="o">.</span><span class="mi">1302</span><span class="n">LFA</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc1</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">8</span> <span class="n">C</span><span class="p">:</span><span class="mi">16</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">TFMR</span><span class="p">(</span><span class="mi">2</span><span class="n">d12000870e04020</span><span class="p">)</span> <span class="n">Timer</span> <span class="n">Facility</span> <span class="n">Error</span>
+<span class="p">[</span><span class="mf">210612.175200449</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="mf">.1302</span><span class="n">LFA</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc1</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">8</span> <span class="n">C</span><span class="p">:</span><span class="mi">16</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">TFMR</span><span class="p">(</span><span class="mi">2</span><span class="n">d12000870e04020</span><span class="p">)</span> <span class="n">Timer</span> <span class="n">Facility</span> <span class="n">Error</span>
<span class="p">[</span><span class="mf">210660.259689526</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Received</span> <span class="n">HMI</span> <span class="n">interrupt</span><span class="p">:</span> <span class="n">HMER</span> <span class="o">=</span> <span class="mh">0x2040000000000000</span>
-<span class="p">[</span><span class="mf">210660.259695649</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="o">.</span><span class="mi">1302</span><span class="n">LFA</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">C</span><span class="p">:</span><span class="mi">16</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">Done</span><span class="o">.</span>
+<span class="p">[</span><span class="mf">210660.259695649</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="mf">.1302</span><span class="n">LFA</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">C</span><span class="p">:</span><span class="mi">16</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">Done</span><span class="o">.</span>
</pre></div>
</div>
</li>
-<li><p class="first">core/hmi: Use pr_fmt macro for tagging log messages</p>
+<li><p>core/hmi: Use pr_fmt macro for tagging log messages</p>
<p>No functionality changes.</p>
</li>
-<li><p class="first">opal: Get chip location code</p>
+<li><p>opal: Get chip location code</p>
<p>and store it under proc_chip for quick reference during HMI handling
code.</p>
</li>
</ul>
-</div>
-<div class="section" id="sensors">
+</section>
+<section id="sensors">
<h2>Sensors<a class="headerlink" href="#sensors" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">occ-sensors: Fix up quad/gpu location mix-up</p>
+<li><p>occ-sensors: Fix up quad/gpu location mix-up</p>
<p>The GPU and QUAD sensor location types are swapped compared to what
exists in the OCC code base which is authoritative. Fix them up.</p>
</li>
-<li><p class="first">sensors: occ: Skip counter type of sensors</p>
+<li><p>sensors: occ: Skip counter type of sensors</p>
<p>Don’t add counter type of sensors to device-tree as they don’t
fit into hwmon sensor interface.</p>
</li>
-<li><p class="first">sensors: dts: Assert special wakeup on idle cores while reading temperature</p>
+<li><p>sensors: dts: Assert special wakeup on idle cores while reading temperature</p>
<p>In P9, when a core enters a stop state, its clocks will be stopped
to save power and hence we will not be able to perform a SCOM
operation to read the DTS temperature sensor. Hence, assert
a special wakeup on cores that have entered a stop state in order to
successfully complete the SCOM operation.</p>
</li>
-<li><p class="first">sensors: occ: Skip power sensors with zero sample value</p>
+<li><p>sensors: occ: Skip power sensors with zero sample value</p>
<p>APSS is not available on platforms like Zaius, Romulus where OCC
can only measure Vdd (core) and Vdn (nest) power from the AVSbus
reading. So all the sensors for APSS channels will be populated
@@ -743,44 +736,43 @@ which point to the APSS channels will also be 0.</p>
<p>As per OCC team (Martha Broyles) zeroed power sensor means that the
system doesn’t have it. So this patch filters out these sensors.</p>
</li>
-<li><p class="first">sensors: occ: Skip GPU sensors for non-gpu systems</p>
-</li>
-<li><p class="first">sensors: Fix dtc warning for new occ in-band sensors.</p>
+<li><p>sensors: occ: Skip GPU sensors for non-gpu systems</p></li>
+<li><p>sensors: Fix dtc warning for new occ in-band sensors.</p>
<p>dtc complains about missing reg property when a DT node is having a
unit name or address but no reg property.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">vrm</span><span class="o">-</span><span class="ow">in</span><span class="nd">@c00004</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">gpu</span><span class="o">-</span><span class="ow">in</span><span class="nd">@c0001f</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
-<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensor</span><span class="o">-</span><span class="n">groups</span><span class="o">/</span><span class="n">occ</span><span class="o">-</span><span class="n">js</span><span class="nd">@1c00040</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensor</span><span class="o">-</span><span class="n">groups</span><span class="o">/</span><span class="n">occ</span><span class="o">-</span><span class="n">js</span><span class="o">@</span><span class="mi">1</span><span class="n">c00040</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
</pre></div>
</div>
<p>This patch fixes these warnings for new occ in-band sensors and also for
sensor-groups by adding necessary properties.</p>
</li>
-<li><p class="first">sensors: Fix dtc warning for dts sensors.</p>
+<li><p>sensors: Fix dtc warning for dts sensors.</p>
<p>dtc complains about missing reg property when a DT node is having a
unit name or address but no reg property.</p>
<p>Example warning for core dts sensor:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="nd">@5c</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
-<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="nd">@804</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="o">@</span><span class="mi">5</span><span class="n">c</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="o">@</span><span class="mi">804</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
</pre></div>
</div>
<p>This patch fixes this by adding necessary properties.</p>
</li>
-<li><p class="first">hw/occ: Fix psr cpu-to-gpu sensors node dtc warning.</p>
+<li><p>hw/occ: Fix psr cpu-to-gpu sensors node dtc warning.</p>
<p>dtc complains about missing reg property when a DT node is having a
unit name or address but no reg property.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">power</span><span class="o">-</span><span class="n">mgt</span><span class="o">/</span><span class="n">psr</span><span class="o">/</span><span class="n">cpu</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">gpu</span><span class="nd">@0</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
-<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">power</span><span class="o">-</span><span class="n">mgt</span><span class="o">/</span><span class="n">psr</span><span class="o">/</span><span class="n">cpu</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">gpu</span><span class="nd">@100</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">power</span><span class="o">-</span><span class="n">mgt</span><span class="o">/</span><span class="n">psr</span><span class="o">/</span><span class="n">cpu</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">gpu</span><span class="o">@</span><span class="mi">0</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">power</span><span class="o">-</span><span class="n">mgt</span><span class="o">/</span><span class="n">psr</span><span class="o">/</span><span class="n">cpu</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">gpu</span><span class="o">@</span><span class="mi">100</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
</pre></div>
</div>
<p>This patch fixes this by adding necessary properties.</p>
</li>
</ul>
-</div>
-<div class="section" id="general-fixes">
+</section>
+<section id="general-fixes">
<h2>General fixes<a class="headerlink" href="#general-fixes" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">lpc: Clear pending IRQs at boot</p>
+<li><p>lpc: Clear pending IRQs at boot</p>
<p>When we come in from hostboot the LPC master has the bus reset indicator
set. This error isn’t handled until the host kernel unmasks interrupts,
at which point we get the following spurious error:</p>
@@ -791,7 +783,7 @@ at which point we get the following spurious error:</p>
<p>Fix this by clearing the various error bits in the LPC status register
before we initialise the skiboot LPC bus driver.</p>
</li>
-<li><p class="first">hw/imc: Check ucode state before exposing units to Linux</p>
+<li><p>hw/imc: Check ucode state before exposing units to Linux</p>
<p>disable_unavailable_units() checks whether the ucode
is in the running state before enabling the nest units
in the device tree. From a recent debug, it is found
@@ -805,24 +797,24 @@ condition in disable_unavailable_units() to check
for the ucode state in all the chip before enabling
the nest units in the device tree node.</p>
</li>
-<li><p class="first">hdata/vpd: Add vendor property</p>
+<li><p>hdata/vpd: Add vendor property</p>
<p>ibm,vpd blob contains VN field. Use that to populate vendor property
for various FRU’s.</p>
</li>
-<li><p class="first">hdata/vpd: Fix DTC warnings</p>
+<li><p>hdata/vpd: Fix DTC warnings</p>
<p>All the nodes under the vpd hierarchy have a unit address (their SLCA
index) but no reg properties. Add them and their size/address cells
to squash the warnings.</p>
</li>
-<li><p class="first">HDAT/i2c: Fix SPD EEPROM compatible string</p>
+<li><p>HDAT/i2c: Fix SPD EEPROM compatible string</p>
<p>Hostboot doesn’t give us accurate information about the DIMM SPD
devices. Hack around by assuming any EEPROM we find on the SPD I2C
master is an SPD EEPROM.</p>
</li>
-<li><p class="first">hdata/i2c: Fix 512Kb EEPROM size</p>
+<li><p>hdata/i2c: Fix 512Kb EEPROM size</p>
<p>There’s no such thing as a 412Kb EEPROM.</p>
</li>
-<li><p class="first">libflash/mbox-flash: fall back to requesting lower MBOX versions from BMC</p>
+<li><p>libflash/mbox-flash: fall back to requesting lower MBOX versions from BMC</p>
<p>Some BMC mbox implementations seem to sometimes mysteriously fail when trying
to negotiate v3 when they only support v2. To work around this, we
can fall back to requesting lower mbox protocol versions until we find
@@ -830,14 +822,14 @@ one that works.</p>
<p>In theory, this should already “just work”, but we have a counter example,
which this patch fixes.</p>
</li>
-<li><p class="first">IPMI: Fix platform.cec_reboot() null ptr checks</p>
+<li><p>IPMI: Fix platform.cec_reboot() null ptr checks</p>
<p>Kudos to Hugo Landau who reported this in:
<a class="reference external" href="https://github.com/open-power/skiboot/issues/142">https://github.com/open-power/skiboot/issues/142</a></p>
</li>
-<li><p class="first">hdata: Add location code property to xscom node</p>
+<li><p>hdata: Add location code property to xscom node</p>
<p>This patch adds chip location code property to xscom node.</p>
</li>
-<li><p class="first">p8-i2c: Limit number of retry attempts</p>
+<li><p>p8-i2c: Limit number of retry attempts</p>
<p>Current we will attempt to start an I2C transaction until it succeeds.
In the event that the OCC does not release the lock on an I2C bus this
results in an async token being held forever and the kernel thread that
@@ -845,54 +837,54 @@ started the transaction will block forever while waiting for an async
completion message. Fix this by limiting the number of attempts to
start the transaction.</p>
</li>
-<li><p class="first">p8-i2c: Don’t write the watermark register at init</p>
+<li><p>p8-i2c: Don’t write the watermark register at init</p>
<p>On P9 the I2C master is shared with the OCC. Currently the watermark
values are set once at init time which is bad for two reasons:</p>
<ol class="loweralpha simple">
-<li>We don’t take the OCC master lock before setting it. Which
-may cause issues if the OCC is currently using the master.</li>
-<li>The OCC might change the watermark levels and we need to reset
-them.</li>
+<li><p>We don’t take the OCC master lock before setting it. Which
+may cause issues if the OCC is currently using the master.</p></li>
+<li><p>The OCC might change the watermark levels and we need to reset
+them.</p></li>
</ol>
<p>Change this so that we set the watermark value when a new transaction
is started rather than at init time.</p>
</li>
-<li><p class="first">hdata: Rename ‘fsp-ipl-side’ as ‘sp-ipl-side’</p>
+<li><p>hdata: Rename ‘fsp-ipl-side’ as ‘sp-ipl-side’</p>
<p>as OPAL is building device tree for both FSP and BMC system.
Also I don’t see anyone using this property today. Hence renaming
should be fine.</p>
</li>
-<li><p class="first">hdata/vpd: add support for parsing CPU VRML records</p>
+<li><p>hdata/vpd: add support for parsing CPU VRML records</p>
<p>Allows skiboot to parse out the processor part/serial numbers
on OpenPOWER P9 machines.</p>
</li>
-<li><p class="first">core/lock: Introduce atomic cmpxchg and implement try_lock with it</p>
+<li><p>core/lock: Introduce atomic cmpxchg and implement try_lock with it</p>
<p>cmpxchg will be used in a subsequent change, and this reduces the
amount of asm code.</p>
</li>
-<li><p class="first">direct-controls: add xscom error handling for p8</p>
+<li><p>direct-controls: add xscom error handling for p8</p>
<p>Add xscom checks which will print something useful and return error
back to callers (which already have error handling plumbed in).</p>
</li>
-<li><p class="first">direct-controls: p8 implementation of generic direct controls</p>
+<li><p>direct-controls: p8 implementation of generic direct controls</p>
<p>This reworks the sreset functionality that was brought over from
fast-reboot, and fits it under the generic direct controls APIs.</p>
<p>The fast reboot APIs are implemented using generic direct controls,
which also makes them available on p9.</p>
</li>
-<li><p class="first">fast-reboot: allow mambo fast reboot independent of CPU type</p>
+<li><p>fast-reboot: allow mambo fast reboot independent of CPU type</p>
<p>Don’t tie mambo fast reboot to POWER8 CPU type.</p>
</li>
-<li><p class="first">fast-reboot: remove delay after sreset</p>
+<li><p>fast-reboot: remove delay after sreset</p>
<p>There is a 100ms delay when targets reach sreset which does not appear
to have a good purpose. Remove it and therefore reduce the sreset timeout
by the same amount.</p>
</li>
-<li><p class="first">fast-reboot: add more barriers around cpu state changes</p>
+<li><p>fast-reboot: add more barriers around cpu state changes</p>
<p>This is a bit of paranoia, but when a CPU changes state to signal it
has reached a particular point, all previous stores should be visible.</p>
</li>
-<li><p class="first">fast-reboot: add sreset timeout detection and handling</p>
+<li><p>fast-reboot: add sreset timeout detection and handling</p>
<p>Have the initiator wait for all its sreset targets to call in, and
time out after 200ms if they did not. Fail and revert to IPL reboot.</p>
<p>Testing indicates that after successful sreset_all_others(), it
@@ -900,25 +892,22 @@ takes less than 102ms (in hundreds of fast reboots) for secondaries
to call in. 100 of that is due to an initial delay, but core
un-splitting was not measured.</p>
</li>
-<li><p class="first">fast-reboot: make spin loops consistent and SMT friendly</p>
-</li>
-<li><p class="first">fast-reboot: add sreset_all_others error handling</p>
+<li><p>fast-reboot: make spin loops consistent and SMT friendly</p></li>
+<li><p>fast-reboot: add sreset_all_others error handling</p>
<p>Pass back failures from sreset_all_others, also change return codes to
OPAL form in sreset_all_prepare to match.</p>
<p>Errors will revert to the IPL path, so it’s not critical to completely
clean up everything if that would complicate things. Detecting the
error and failing is the important thing.</p>
</li>
-<li><p class="first">fast-reboot: restore SMT priority on spin loop exit</p>
-</li>
-<li><p class="first">Add documentation for ibm, firmware-versions device tree node</p>
-</li>
-<li><p class="first">NX: Print read xscom config failures.</p>
+<li><p>fast-reboot: restore SMT priority on spin loop exit</p></li>
+<li><p>Add documentation for ibm, firmware-versions device tree node</p></li>
+<li><p>NX: Print read xscom config failures.</p>
<p>Currently in NX, only write xscom config failures are tracing.
Add trace statements for read xscom config failures too.
No functional changes.</p>
</li>
-<li><p class="first">hw/nx: Fix NX BAR assignments</p>
+<li><p>hw/nx: Fix NX BAR assignments</p>
<p>The NX rng BAR is used by each core to source random numbers for the
DARN instruction. Currently we configure each core to use the NX rng of
the chip that it exists on. Unfortunately, the NX can be de-configured by
@@ -928,13 +917,13 @@ init path. This lets us check if the normal (chip local) NX is active
when configuring which NX a core should use so that we can fall back
gracefully.</p>
</li>
-<li><p class="first">FSP-elog: Reduce verbosity of elog messages</p>
+<li><p>FSP-elog: Reduce verbosity of elog messages</p>
<p>These messages just fill up the opal console log with useless messages
resulting in us losing useful information.</p>
<p>They have been like this since the first commit in skiboot. Make them
trace.</p>
</li>
-<li><p class="first">core/bitmap: fix bitmap iteration limit corruption</p>
+<li><p>core/bitmap: fix bitmap iteration limit corruption</p>
<p>The bitmap iterators did not reduce the number of bits to scan
when searching for the next bit, which would result in them
overrunning their bitmap.</p>
@@ -943,7 +932,7 @@ is that the xive reset code will keep zeroing memory until it
reaches a block of memory of MAX_EQ_COUNT &gt;&gt; 3 bits in length,
all zeroes.</p>
</li>
-<li><p class="first">hw/imc: always enable “imc_nest_chip” exports property</p>
+<li><p>hw/imc: always enable “imc_nest_chip” exports property</p>
<p>imc_dt_update_nest_node() adds a “imc_nest_chip” property
to the “exports” node (under opal_node) to view nest counter
region. This comes handy when debugging ucode runtime
@@ -954,11 +943,11 @@ the debug of ucode not running/starting issues at boot,
enable the addition of “imc_nest_chip” property always.</p>
</li>
</ul>
-</div>
-<div class="section" id="nvlink2">
+</section>
+<section id="nvlink2">
<h2>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2-hw-procedures.c: Correct phy lane mapping</p>
+<li><p>npu2-hw-procedures.c: Correct phy lane mapping</p>
<p>Each NVLINK2 device is associated with a particular group of OBUS lanes via
a lane mask which is read from HDAT via the device-tree. However Skiboot’s
interpretation of lane mask was different to what is exported from the
@@ -969,7 +958,7 @@ represented by having lane-mask bit 23 set and lane-23 is represented by
lane-mask bit 0. This patch alters the Skiboot interpretation to match what
is passed from HDAT.</p>
</li>
-<li><p class="first">npu2-hw-procedures.c: Power up lanes during ntl reset</p>
+<li><p>npu2-hw-procedures.c: Power up lanes during ntl reset</p>
<p>Newer versions of Hostboot will not power up the NVLINK2 PHY lanes by
default. The phy_reset procedure already powers up the lanes but they also
need to be powered up in order to access the DL.</p>
@@ -977,36 +966,31 @@ need to be powered up in order to access the DL.</p>
of reset and get it into a working state. Therefore we also need to add
lane and clock power up to the reset_ntl procedure.</p>
</li>
-<li><p class="first">npu2.c: Add PE error detection</p>
+<li><p>npu2.c: Add PE error detection</p>
<p>Invalid accesses from the GPU can cause a specific PE to be frozen by the
NPU. Add an interrupt handler which reports the frozen PE to the operating
system via as an EEH event.</p>
</li>
-<li><p class="first">npu2.c: Fix XIVE IRQ alignment</p>
-</li>
-<li><p class="first">npu2: hw-procedures: Refactor reset_ntl procedure</p>
+<li><p>npu2.c: Fix XIVE IRQ alignment</p></li>
+<li><p>npu2: hw-procedures: Refactor reset_ntl procedure</p>
<p>Change the implementation of reset_ntl to match the latest programming
guide documentation.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Add phy_rx_clock_sel()</p>
+<li><p>npu2: hw-procedures: Add phy_rx_clock_sel()</p>
<p>Change the RX clk mux control to be done by software instead of HW. This
avoids glitches caused by changing the mux setting.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Change phy_rx_clock_sel values</p>
+<li><p>npu2: hw-procedures: Change phy_rx_clock_sel values</p>
<p>The clock selection bits we set here are inputs to a state machine.</p>
<p>DL clock select (bits 30-31)</p>
-<dl class="docutils">
-<dt>0b00</dt>
-<dd><p class="first last">lane 0 clock</p>
+<dl class="simple">
+<dt>0b00</dt><dd><p>lane 0 clock</p>
</dd>
-<dt>0b01</dt>
-<dd><p class="first last">lane 7 clock</p>
+<dt>0b01</dt><dd><p>lane 7 clock</p>
</dd>
-<dt>0b10</dt>
-<dd><p class="first last">grid clock</p>
+<dt>0b10</dt><dd><p>grid clock</p>
</dd>
-<dt>0b11</dt>
-<dd><p class="first last">invalid/no-op</p>
+<dt>0b11</dt><dd><p>invalid/no-op</p>
</dd>
</dl>
<p>To recover from a potential glitch, we need to ensure that the value we
@@ -1017,14 +1001,14 @@ state change for some bricks.</p>
<p>The way to force a state change in all cases is to switch to the grid
clock, and then back to a lane.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Manipulate IOVALID during training</p>
+<li><p>npu2: hw-procedures: Manipulate IOVALID during training</p>
<p>Ensure that the IOVALID bit for this brick is raised at the start of
link training, in the reset_ntl procedure.</p>
<p>Then, to protect us from a glitch when the PHY clock turns off or gets
chopped, lower IOVALID for the duration of the phy_reset and
phy_rx_dccal procedures.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Add check_credits procedure</p>
+<li><p>npu2: hw-procedures: Add check_credits procedure</p>
<p>As an immediate mitigation for a current hardware glitch, add a procedure
that can be used to validate NTL credit values. This will be called as a
safeguard to check that link training succeeded.</p>
@@ -1032,7 +1016,7 @@ safeguard to check that link training succeeded.</p>
system will experience a catastrophic failure shortly after the start of
link traffic.</p>
</li>
-<li><p class="first">npu2: Print bdfn in NPU2DEV* logging macros</p>
+<li><p>npu2: Print bdfn in NPU2DEV* logging macros</p>
<p>Revise the NPU2DEV{DBG,INF,ERR} logging macros to include the device’s
bdfn. It’s useful to know exactly which link we’re referring to.</p>
<blockquote>
@@ -1056,22 +1040,22 @@ bdfn. It’s useful to know exactly which link we’re referring to.</p>
</div>
</div></blockquote>
</li>
-<li><p class="first">npu2: Move to new GPU memory map</p>
+<li><p>npu2: Move to new GPU memory map</p>
<p>There are three different ways we configure the MCD and memory map.</p>
<ol class="arabic simple">
-<li><dl class="first docutils">
-<dt>Old way (current way)</dt>
-<dd>Skiboot configures the MCD and puts GPUs at 4TB and below</dd>
+<li><dl class="simple">
+<dt>Old way (current way)</dt><dd><p>Skiboot configures the MCD and puts GPUs at 4TB and below</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>New way with MCD</dt>
-<dd>Hostboot configures the MCD and skiboot puts GPU at 4TB and above</dd>
+<li><dl class="simple">
+<dt>New way with MCD</dt><dd><p>Hostboot configures the MCD and skiboot puts GPU at 4TB and above</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>New way without MCD</dt>
-<dd>No one configures the MCD and skiboot puts GPU at 4TB and below</dd>
+<li><dl class="simple">
+<dt>New way without MCD</dt><dd><p>No one configures the MCD and skiboot puts GPU at 4TB and below</p>
+</dd>
</dl>
</li>
</ol>
@@ -1085,18 +1069,18 @@ support existing hostboot.</p>
<p>Option 3 supports 6 GPUs and 4TB of memory but may have some
performance impact.</p>
</li>
-<li><p class="first">phys-map: Rename GPU_MEM to GPU_MEM_4T_DOWN</p>
+<li><p>phys-map: Rename GPU_MEM to GPU_MEM_4T_DOWN</p>
<p>This map is soon to be replaced, but we are going to keep it around
for a little while so that we support older hostboot firmware.</p>
</li>
</ul>
-</div>
-<div class="section" id="platform-specific-fixes">
+</section>
+<section id="platform-specific-fixes">
<h2>Platform Specific Fixes<a class="headerlink" href="#platform-specific-fixes" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="witherspoon">
+<section id="witherspoon">
<h3>Witherspoon<a class="headerlink" href="#witherspoon" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">Witherspoon: Remove old Witherspoon platform definition</p>
+<li><p>Witherspoon: Remove old Witherspoon platform definition</p>
<p>An old Witherspoon platform definition was added to aid the transition from
versions of Hostboot which didn’t have the correct NVLINK2 HDAT information
available and/or planar VPD. These system should now be updated so remove
@@ -1109,7 +1093,7 @@ undefined behaviour which is more difficult to detect/debug than not
creating the NVLINK2 devices so remove the possibly incorrect default
behaviour.</p>
</li>
-<li><p class="first">Witherspoon: Fix VPD EEPROM type</p>
+<li><p>Witherspoon: Fix VPD EEPROM type</p>
<p>There are user-space tools that update the planar VPD via the sysfs
interface. Currently we do not get correct information from hostboot
about the exact type of the EEPROM so we need to manually fix it up
@@ -1117,11 +1101,11 @@ here. This needs to be done as a platform specific fix since there is
not standardised VPD EEPROM type.</p>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-systems">
+</section>
+<section id="ibm-fsp-systems">
<h3>IBM FSP Systems<a class="headerlink" href="#ibm-fsp-systems" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">nvram: Fix ‘missing’ nvram on FSP systems.</p>
+<li><p>nvram: Fix ‘missing’ nvram on FSP systems.</p>
<p>commit ba4d46fdd9eb (“console: Set log level from nvram”) wants to read
from NVRAM rather early. This works fine on BMC based systems as
nvram_init() is actually synchronous. This is not true for FSP systems
@@ -1142,58 +1126,58 @@ have an nvram device-tree node which means it won’t be able to access
the NVRAM at all, ever, even after the NVRAM has loaded.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="utilities">
+</section>
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Fix xscom-utils distclean target</p>
+<li><p>Fix xscom-utils distclean target</p>
<p>In Debian/Ubuntu, the packaging system likes to have a full clean-up that
restores the tree back to original one, so add some files to the distclean
target.</p>
</li>
-<li><p class="first">Add man pages for xscom-utils and pflash</p>
+<li><p>Add man pages for xscom-utils and pflash</p>
<p>For the need of Debian/Ubuntu packaging, I inferred some initial man
pages from their help output.</p>
</li>
</ul>
-<div class="section" id="gard">
+<section id="gard">
<h3>gard<a class="headerlink" href="#gard" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">gard: Add tests</p>
+<li><p>gard: Add tests</p>
<p>I hear Stewart likes these for some reason. Dunno why.</p>
</li>
-<li><p class="first">gard: Add OpenBMC vPNOR support</p>
+<li><p>gard: Add OpenBMC vPNOR support</p>
<p>A big-ol-hack to add some checking for OpenBMC’s vPNOR GUARD files under
/media/pnor-prsv. This isn’t ideal since it doesn’t handle the create
case well, but it’s better than nothing.</p>
</li>
-<li><p class="first">gard: Always use MTD to access flash</p>
+<li><p>gard: Always use MTD to access flash</p>
<p>Direct mode is generally either unsafe or unsupported. We should always
access the PNOR via an MTD device so make that the default. If someone
really needs direct mode, then they can use pflash.</p>
</li>
-<li><p class="first">gard: Fix up do_create return values</p>
+<li><p>gard: Fix up do_create return values</p>
<p>The return value of a subcommand is interpreted as a libflash error code
when it’s positive or some subcommand specific error when negative.
Currently the create subcommand always returns zero when exiting (even
for errors) so fix that.</p>
</li>
-<li><p class="first">gard: Add usage message for -p</p>
+<li><p>gard: Add usage message for -p</p>
<p>The -p argument only really makes sense when -f is specified. Print an
actual error message rather than just the usage blob.</p>
</li>
-<li><p class="first">gard: Fix max instance count</p>
+<li><p>gard: Fix max instance count</p>
<p>There’s an entire byte for the instance count rather than a nibble. Only
barf if the instance number is beyond 255 rather than 16.</p>
</li>
-<li><p class="first">gard: Fix up path parsing</p>
+<li><p>gard: Fix up path parsing</p>
<p>Currently we assume that the Unit ID can be used as an array index into
the chip_units[] structure. There are holes in the ID space though, so
this doesn’t actually work. Fix it up by walking the array looking for
the ID.</p>
</li>
-<li><p class="first">gard: Set chip generation based on PVR</p>
+<li><p>gard: Set chip generation based on PVR</p>
<p>Currently we assume that this tool is being used on a P8 system by
default and allow the user to override this behaviour using the -8 and
-9 command line arguments. When running on the host we can use the
@@ -1203,48 +1187,47 @@ when running on an ARM system. This tool didn’t even work when compiled
for ARM until recently and the OpenBMC vPNOR hack that we have currently
is broken for P9 systems that don’t use vPNOR (Zaius and Romulus).</p>
</li>
-<li><p class="first">gard: Allow records with an ID of 0xffffffff</p>
+<li><p>gard: Allow records with an ID of 0xffffffff</p>
<p>We currently assume that a record with an ID of 0xffffffff is invalid.
Apparently this is incorrect and we should display these records, so
expand the check to compare the entire record with 0xff rather than
just the ID.</p>
</li>
-<li><p class="first">gard: create: Allow creating arbitrary GARD records</p>
+<li><p>gard: create: Allow creating arbitrary GARD records</p>
<p>Add a new sub-command that allows us to create GARD records for
arbitrary chip units. There isn’t a whole lot of constraints on this and
that limits how useful it can be, but it does allow a user to GARD out
individual DIMMs, chips or cores from the BMC (or host) if needed.</p>
<p>There are a few caveats though:</p>
<ol class="arabic simple">
-<li>Not everything can, or should, have a GARD record applied it to.</li>
-<li>There is no validation that the unit actually exists. Doing that
+<li><p>Not everything can, or should, have a GARD record applied it to.</p></li>
+<li><p>There is no validation that the unit actually exists. Doing that
sort of validation requires something that understands the FAPI
targeting information (I think) and adding support for it here
-would require some knowledge from the system XML file.</li>
-<li>There’s no way to get a list of paths in the system.</li>
-<li>Although we can create a GARD record at runtime it won’t be applied
-until the next IPL.</li>
+would require some knowledge from the system XML file.</p></li>
+<li><p>There’s no way to get a list of paths in the system.</p></li>
+<li><p>Although we can create a GARD record at runtime it won’t be applied
+until the next IPL.</p></li>
</ol>
</li>
-<li><p class="first">gard: Add path parsing support</p>
+<li><p>gard: Add path parsing support</p>
<p>In order to support manual GARD records we need to be able to parse the
hardware unit path strings. This patch implements that.</p>
</li>
-<li><p class="first">gard: list: Improve output</p>
+<li><p>gard: list: Improve output</p>
<p>Display the full path to the GARDed hardware unit in each record rather
than relying on the output of <cite>gard show</cite> and convert do_list() to use
the iterator while we’re here.</p>
</li>
-<li><p class="first">gard: {list, show}: Fix the Type field in the output</p>
+<li><p>gard: {list, show}: Fix the Type field in the output</p>
<p>The output of <cite>gard list</cite> has a field named “Type”, however this
doesn’t actually indicate the type of the record. Rather, it
shows the type of the path used to identify the hardware being
GARDed. This is of pretty dubious value considering the Physical
path seems to always be used when referring to GARDed hardware.</p>
</li>
-<li><p class="first">gard: Add P9 support</p>
-</li>
-<li><p class="first">gard: Update chip unit data</p>
+<li><p>gard: Add P9 support</p></li>
+<li><p>gard: Update chip unit data</p>
<p>Source the list of units from the hostboot source rather than the
previous hard coded list. The list of path element types changes
between generations so we need to add a level of indirection to
@@ -1252,37 +1235,37 @@ accommodate P9. This also changes the names used to match those
printed by Hostboot at IPL time and paves the way to adding support
for manual GARD record creation.</p>
</li>
-<li><p class="first">gard: show: Remove “Res Recovery” field</p>
+<li><p>gard: show: Remove “Res Recovery” field</p>
<p>This field has never been populated by hostboot on OpenPower systems
so there’s no real point in reporting it’s contents.</p>
</li>
</ul>
-</div>
-<div class="section" id="libflash-pflash">
+</section>
+<section id="libflash-pflash">
<h3>libflash / pflash<a class="headerlink" href="#libflash-pflash" title="Permalink to this headline">¶</a></h3>
<p>Anybody shipping libflash or pflash to interact with POWER9 systems must
upgrade to this version.</p>
<ul>
-<li><p class="first">pflash: Support for volatile flag</p>
+<li><p>pflash: Support for volatile flag</p>
<p>The volatile flag was added to the PNOR image to
indicate partitions that are cleared during a host
power off. Display this flag from the pflash command.</p>
</li>
-<li><p class="first">pflash: Support for clean_on_ecc_error flag</p>
+<li><p>pflash: Support for clean_on_ecc_error flag</p>
<p>Add the misc flag clear_on_ecc_error to libflash/pflash. This was
the only missing flag. The generator of the virtual PNOR image
relies on libflash/pflash to provide the partition information,
so all flags are needed to build an accurate virtual PNOR partition
table.</p>
</li>
-<li><p class="first">pflash: Respect write(2) return values</p>
+<li><p>pflash: Respect write(2) return values</p>
<p>The write(2) system call returns the number of bytes written, this is
important since it is entitled to write less than what we requested.
Currently we ignore the return value and assume it wrote everything we
requested. While in practice this is likely to always be the case, it
isn’t actually correct.</p>
</li>
-<li><p class="first">external/pflash: Fix erasing within a single erase block</p>
+<li><p>external/pflash: Fix erasing within a single erase block</p>
<p>It is possible to erase within a single erase block. Currently the
pflash code assumes that if the erase starts part way into an erase
block it is because it needs to be aligned up to the boundary with the
@@ -1290,7 +1273,7 @@ next erase block.</p>
<p>Doing an erase smaller than a single erase block will cause underflows
and looping forever on erase.</p>
</li>
-<li><p class="first">external/pflash: Fix non-zero return code for successful read when size%256 != 0</p>
+<li><p>external/pflash: Fix non-zero return code for successful read when size%256 != 0</p>
<p>When performing a read the return value from pflash is non-zero, even for
a successful read, when the size being read is not a multiple of 256.
This is because do_read_file returns the value from the write system
@@ -1301,20 +1284,17 @@ operation is successful the return code will seem to reflect an error.</p>
<p>Fix this by returning zero if the entire size was read correctly,
otherwise return the corresponding error code.</p>
</li>
-<li><p class="first">libflash: Fix parity calculation on ARM</p>
+<li><p>libflash: Fix parity calculation on ARM</p>
<p>To calculate the ECC syndrome we need to calculate the parity of a 64bit
number. On non-powerpc platforms we use the GCC builtin function
__builtin_parityl() to do this calculation. This is broken on 32bit ARM
where sizeof(unsigned long) is four bytes. Using __builtin_parityll()
instead cures this.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Add the ability to lock flash</p>
-</li>
-<li><p class="first">libflash/mbox-flash: Understand v3</p>
-</li>
-<li><p class="first">libflash/mbox-flash: Use BMC suggested timeout value</p>
-</li>
-<li><p class="first">libflash/mbox-flash: Simplify message sending</p>
+<li><p>libflash/mbox-flash: Add the ability to lock flash</p></li>
+<li><p>libflash/mbox-flash: Understand v3</p></li>
+<li><p>libflash/mbox-flash: Use BMC suggested timeout value</p></li>
+<li><p>libflash/mbox-flash: Simplify message sending</p>
<p>hw/lpc-mbox no longer requires that the memory associated with messages
exist for the lifetime of the message. Once it has been sent to the BMC,
that is bmc_mbox_enqueue() returns, lpc-mbox does not need the message
@@ -1322,7 +1302,7 @@ to continue to exist. On the receiving side, lpc-mbox will ensure that a
message exists for the receiving callback function.</p>
<p>Remove all code to deal with allocating messages.</p>
</li>
-<li><p class="first">hw/lpc-mbox: Simplify message bookkeeping and timeouts</p>
+<li><p>hw/lpc-mbox: Simplify message bookkeeping and timeouts</p>
<p>Currently the hw/lpc-mbox layer keeps a pointer for the currently
in-flight message for the duration of the mbox call. This creates
problems when messages timeout, is that pointer still valid, what can we
@@ -1336,7 +1316,7 @@ hard to be sure is correct</p>
sequence number allocation and verification into lpc-mbox rather than
the caller.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Allow mbox-flash to tell the driver msg timeouts</p>
+<li><p>libflash/mbox-flash: Allow mbox-flash to tell the driver msg timeouts</p>
<p>Currently when mbox-flash decides that a message times out the driver
has no way of knowing to drop the message and will continue waiting for
a response indefinitely preventing more messages from ever being sent.</p>
@@ -1345,9 +1325,8 @@ won’t ever respond to our outstanding message.</p>
<p>This patch provides a method for mbox-flash to tell the driver how long
it should wait before it no longer needs to care about the response.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Move sequence handling to driver level</p>
-</li>
-<li><p class="first">libflash/mbox-flash: Always close windows before opening a new window</p>
+<li><p>libflash/mbox-flash: Move sequence handling to driver level</p></li>
+<li><p>libflash/mbox-flash: Always close windows before opening a new window</p>
<p>The MBOX protocol states that if an open window command fails then all
open windows are closed. Currently, if an open window command fails
mbox-flash will erroneously assume that the previously open window is
@@ -1356,23 +1335,22 @@ still open.</p>
open window command and then on success we’ll mark the new window as
open.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Add v2 error codes</p>
-</li>
+<li><p>libflash/mbox-flash: Add v2 error codes</p></li>
</ul>
-</div>
-<div class="section" id="opal-prd">
+</section>
+<section id="opal-prd">
<h3>opal-prd<a class="headerlink" href="#opal-prd" title="Permalink to this headline">¶</a></h3>
<p>Anybody shipping <cite>opal-prd</cite> for POWER9 systems must upgrade <cite>opal-prd</cite> to
this new version.</p>
<ul>
-<li><p class="first">prd: Log unsupported message type</p>
+<li><p>prd: Log unsupported message type</p>
<p>Useful for debugging.</p>
<p>Sample output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mf">29155.157050283</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">PRD</span><span class="p">:</span> <span class="n">Unsupported</span> <span class="n">prd</span> <span class="n">message</span> <span class="nb">type</span> <span class="p">:</span> <span class="mh">0xc</span>
</pre></div>
</div>
</li>
-<li><p class="first">opal-prd: occ: Add support for runtime OCC load/start in ZZ</p>
+<li><p>opal-prd: occ: Add support for runtime OCC load/start in ZZ</p>
<p>This patch adds support to handle OCC load/start event from FSP/PRD.
During IPL we send a success directly to FSP without invoking any HBRT
load routines on receiving OCC load mbox message from FSP. At runtime
@@ -1380,30 +1358,30 @@ we forward this event to host opal-prd.</p>
<p>This patch provides support for invoking OCC load/start HBRT routines
like load_pm_complex() and start_pm_complex() from opal-prd.</p>
</li>
-<li><p class="first">opal-prd: Add support for runtime OCC reset in ZZ</p>
+<li><p>opal-prd: Add support for runtime OCC reset in ZZ</p>
<p>This patch handles OCC_RESET runtime events in host opal-prd and also
provides support for calling ‘hostinterface-&gt;wakeup()’ which is
required for doing the reset operation.</p>
</li>
-<li><p class="first">prd: Enable error logging via firmware_request interface</p>
+<li><p>prd: Enable error logging via firmware_request interface</p>
<p>In P9 HBRT sends error logs to FSP via firmware_request interface.
This patch adds support to parse error log and send it to FSP.</p>
</li>
-<li><p class="first">prd: Add generic response structure inside prd_fw_msg</p>
+<li><p>prd: Add generic response structure inside prd_fw_msg</p>
<p>This patch adds generic response structure. Also sync prd_fw_msg type
macros with hostboot.</p>
</li>
-<li><p class="first">opal-prd: flush after logging to stdio in debug mode</p>
+<li><p>opal-prd: flush after logging to stdio in debug mode</p>
<p>When in debug mode, flush after each log output. This makes it more
likely that we’ll catch failure reasons on severe errors.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="debugging-and-reliability-improvements">
+</section>
+</section>
+<section id="debugging-and-reliability-improvements">
<h2>Debugging and reliability improvements<a class="headerlink" href="#debugging-and-reliability-improvements" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">lock: Add additional lock auditing code</p>
+<li><p>lock: Add additional lock auditing code</p>
<p>Keep track of lock owner name and replace lock_depth counter
with a per-cpu list of locks held by the cpu.</p>
<p>This allows us to print the actual locks held in case we hit
@@ -1412,30 +1390,30 @@ lock held.</p>
<p>It also allows us to warn (and drop them) if locks are still
held when returning to the OS or completing a scheduled job.</p>
</li>
-<li><p class="first">Add support for new GCC 7 parametrized stack protector</p>
+<li><p>Add support for new GCC 7 parametrized stack protector</p>
<p>This gives us per-cpu guard values as well. For now I just
XOR a magic constant with the CPU PIR value.</p>
</li>
-<li><p class="first">Mambo: run hello_world and sreset_world tests with Secure and Trusted Boot</p>
+<li><p>Mambo: run hello_world and sreset_world tests with Secure and Trusted Boot</p>
<p>We <em>disable</em> the secure boot part, but we keep the verified boot
part as we don’t currently have container verification code for Mambo.</p>
<p>We can run a small part of the code currently though.</p>
</li>
-<li><p class="first">core/flash.c: extern function to get the name of a PNOR partition</p>
+<li><p>core/flash.c: extern function to get the name of a PNOR partition</p>
<p>This adds the flash_map_resource_name() to allow skiboot subsystems to
lookup the name of a PNOR partition. Thus, we don’t need to duplicate
the same information in other places (e.g. libstb).</p>
</li>
-<li><p class="first">libflash/mbox-flash: only wait for MBOX_DEFAULT_POLL_MS if busy</p>
+<li><p>libflash/mbox-flash: only wait for MBOX_DEFAULT_POLL_MS if busy</p>
<p>This makes the mbox unit test run 300x quicker and seems to
shave about 6 seconds from boot time on Witherspoon.</p>
</li>
-<li><p class="first">make check: Make valgrind optional</p>
+<li><p>make check: Make valgrind optional</p>
<p>To (slightly) lower the barrier for contributions, we can make valgrind
optional with just a small amount of plumbing.</p>
<p>This allows make check to run successfully without valgrind.</p>
</li>
-<li><p class="first">libflash/test: Add tests for mbox-flash</p>
+<li><p>libflash/test: Add tests for mbox-flash</p>
<p>A first basic set of tests for mbox-flash. These tests do their testing
by stubbing out or otherwise replacing functions not in
libflash/mbox-flash.c. The stubbed out version of the function can then
@@ -1451,26 +1429,26 @@ correctness.</p>
<p>Full integration tests with a ‘real’ BMC daemon are probably beyond the
scope of this repository.</p>
</li>
-<li><p class="first">external/test/test.sh: fix VERSION substitution when no tags</p>
+<li><p>external/test/test.sh: fix VERSION substitution when no tags</p>
<p>i.e. we get a hash rather than a version number</p>
<p>This seems to be occurring in Travis if it doesn’t pull a tag.</p>
</li>
-<li><p class="first">external/test: make stripping out version number more robust</p>
+<li><p>external/test: make stripping out version number more robust</p>
<p>For some bizarre reason, Travis started failing on this
substitution when there’d been zero code changes in this
area… This at least papers over whatever the problem is
for the time being.</p>
</li>
-<li><p class="first">io: Add load_wait() helper</p>
+<li><p>io: Add load_wait() helper</p>
<p>This uses the standard form twi/isync pair to ensure a load
is consumed by the core before continuing. This can be necessary
under some circumstances for example when having the following
sequence:</p>
<ul class="simple">
-<li>Store reg A</li>
-<li>Load reg A (ensure above store pushed out)</li>
-<li>delay loop</li>
-<li>Store reg A</li>
+<li><p>Store reg A</p></li>
+<li><p>Load reg A (ensure above store pushed out)</p></li>
+<li><p>delay loop</p></li>
+<li><p>Store reg A</p></li>
</ul>
<p>I.E., a mandatory delay between 2 stores. In theory the first store
is only guaranteed to reach the device after the load from the same
@@ -1479,7 +1457,7 @@ the delay loop without waiting for the return value from the load.</p>
<p>This construct enforces that the delay loop isn’t executed until
the load value has been returned.</p>
</li>
-<li><p class="first">chiptod: Keep boot timestamps contiguous</p>
+<li><p>chiptod: Keep boot timestamps contiguous</p>
<p>Currently we reset the timebase value to (almost) zero when
synchronising the timebase of each chip to the Chip TOD network which
results in this:</p>
@@ -1498,10 +1476,10 @@ the petikernel starts. e.g.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hdata/spira: Add missing newline to prlog() call</p>
+<li><p>hdata/spira: Add missing newline to prlog() call</p>
<p>We’re missing a n here.</p>
</li>
-<li><p class="first">opal/xscom: Add recovery for lost core wakeup SCOM failures.</p>
+<li><p>opal/xscom: Add recovery for lost core wakeup SCOM failures.</p>
<p>Due to a hardware issue where core responding to SCOM was delayed due to
thread reconfiguration, leaves the SCOM logic in a state where the
subsequent SCOM to that core can get errors. This is affected for Core
@@ -1513,50 +1491,47 @@ clears the SCOM logic errors. After the clearing write is done the original
SCOM operation can be retried.</p>
<p>The SCOM timeout is reported as status 0x4 (Invalid address) in HMER[21-23].</p>
</li>
-<li><p class="first">opal/xscom: Move the delay inside xscom_reset() function.</p>
+<li><p>opal/xscom: Move the delay inside xscom_reset() function.</p>
<p>So caller of xscom_reset() does not have to bother about adding a delay
separately. Instead caller can control whether to add a delay or not using
second argument to xscom_reset().</p>
</li>
-<li><p class="first">timer: Stop calling list_top() racily</p>
+<li><p>timer: Stop calling list_top() racily</p>
<p>This will trip the debug checks in debug builds under some circumstances
and is actually a rather bad idea as we might look at a timer that is
concurrently being removed and modified, and thus incorrectly assume
there is no work to do.</p>
</li>
-<li><p class="first">fsp: Bail out of HIR if FSP is resetting voluntarily</p>
+<li><p>fsp: Bail out of HIR if FSP is resetting voluntarily</p>
<ol class="loweralpha simple">
-<li>Surveillance response times out and OPAL triggers a HIR</li>
-<li>Before the HIR process kicks in, OPAL gets a PSI interrupt indicating link down</li>
-<li>HIR process continues and OPAL tries to write to DRCR; PSI link inactive =&gt; xstop</li>
+<li><p>Surveillance response times out and OPAL triggers a HIR</p></li>
+<li><p>Before the HIR process kicks in, OPAL gets a PSI interrupt indicating link down</p></li>
+<li><p>HIR process continues and OPAL tries to write to DRCR; PSI link inactive =&gt; xstop</p></li>
</ol>
<p>OPAL should confirm that the FSP is not already in reset in the HIR path.</p>
</li>
-<li><p class="first">sreset_kernel: only run SMT tests due to not supporting re-entry</p>
-</li>
-<li><p class="first">Use systemsim-p9 v1.1</p>
-</li>
-<li><p class="first">direct-controls: enable fast reboot direct controls for mambo</p>
+<li><p>sreset_kernel: only run SMT tests due to not supporting re-entry</p></li>
+<li><p>Use systemsim-p9 v1.1</p></li>
+<li><p>direct-controls: enable fast reboot direct controls for mambo</p>
<p>Add mambo direct controls to stop threads, which is required for
reliable fast-reboot. Enable direct controls by default on mambo.</p>
</li>
-<li><p class="first">core/opal: always verify cpu-&gt;pir on entry</p>
-</li>
-<li><p class="first">asm/head: add entry/exit calls</p>
+<li><p>core/opal: always verify cpu-&gt;pir on entry</p></li>
+<li><p>asm/head: add entry/exit calls</p>
<p>Add entry and exit C functions that can do some more complex
checks before the opal proper call. This requires saving off
volatile registers that have arguments in them.</p>
</li>
-<li><p class="first">core/lock: improve bust_locks</p>
+<li><p>core/lock: improve bust_locks</p>
<p>Prevent try_lock from modifying the lock state when bust_locks is set.
unlock will not unlock it in that case, so locks will get taken and
never released while bust_locks is set.</p>
</li>
-<li><p class="first">hw/occ: Log proper SCOM register names</p>
+<li><p>hw/occ: Log proper SCOM register names</p>
<p>This patch fixes the logging of incorrect SCOM
register names.</p>
</li>
-<li><p class="first">mambo: Add support for NUMA</p>
+<li><p>mambo: Add support for NUMA</p>
<p>Currently the mambo scripts can do multiple chips, but only the first
ever has memory.</p>
<p>This patch adds support for having memory on each chip, with each
@@ -1564,22 +1539,23 @@ appearing as a separate NUMA node. Each node gets MEM_SIZE worth of
memory.</p>
<p>It’s opt-in, via <code class="docutils literal notranslate"><span class="pre">export</span> <span class="pre">MAMBO_NUMA=1</span></code>.</p>
</li>
-<li><p class="first">external/mambo: Switch qtrace command to use plug-ins</p>
+<li><p>external/mambo: Switch qtrace command to use plug-ins</p>
<p>The plug-in seems to be the preferred way to do this now, it works
better, and the qtracer emitter seems to generate invalid traces
in new mambo versions.</p>
</li>
-<li><p class="first">asm/head: Loop after attn</p>
+<li><p>asm/head: Loop after attn</p>
<p>We use the attn instruction to raise an error in early boot if OPAL
don’t recognise the PVR. It’s possible for hostboot to disable the
attn instruction before entering OPAL so add an extra busy loop after
the attn to prevent attempting to boot on an unknown processor.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1632,17 +1608,15 @@ the attn to prevent attempting to boot on an unknown processor.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1659,14 +1633,15 @@ the attn to prevent attempting to boot on an unknown processor.</p>
<li class="right" >
<a href="skiboot-5.10.html" title="skiboot-5.10"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10-rc2.html b/doc/release-notes/skiboot-5.10-rc2.html
index b7c4fb7..975333a 100644
--- a/doc/release-notes/skiboot-5.10-rc2.html
+++ b/doc/release-notes/skiboot-5.10-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10-rc1.html" title="skiboot-5.10-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-rc2">
+ <section id="skiboot-5-10-rc2">
<span id="id1"></span><h1>skiboot-5.10-rc2<a class="headerlink" href="#skiboot-5-10-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.10-rc2 was released on Friday February 9th 2018. It is the second
release candidate of skiboot 5.10, which will become the new stable release
@@ -59,9 +59,8 @@ being for all POWER8 and POWER9 platforms in op-build v1.21.
This release will be targeted to early POWER9 systems.</p>
<p>Over skiboot-5.10-rc1, we have the following changes:</p>
<ul>
-<li><p class="first">hw/npu2: Implement logging HMI actions</p>
-</li>
-<li><p class="first">opal-prd: Fix FTBFS with -Werror=format-overflow</p>
+<li><p>hw/npu2: Implement logging HMI actions</p></li>
+<li><p>opal-prd: Fix FTBFS with -Werror=format-overflow</p>
<p>i2c.c fails to compile with gcc7 and -Werror=format-overflow used in
Debian Unstable and Ubuntu 18.04 :</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>i2c.c: In function ‘i2c_init’:
@@ -70,7 +69,7 @@ region of size 236 [-Werror=format-overflow=]
</pre></div>
</div>
</li>
-<li><p class="first">core/exception: beautify exception handler, add MCE-involved registers</p>
+<li><p>core/exception: beautify exception handler, add MCE-involved registers</p>
<p>Print DSISR and DAR, to help with deciphering machine check exceptions,
and improve the output a bit, decode NIP symbol, improve alignment, etc.
Also print a specific header for machine check, because we do expect to
@@ -103,7 +102,7 @@ see these if there is a hardware failure.</p>
</pre></div>
</div>
</li>
-<li><p class="first">core/init: manage MSR[ME] explicitly, always enable</p>
+<li><p>core/init: manage MSR[ME] explicitly, always enable</p>
<p>The current boot sequence inherits MSR[ME] from the IPL firmware, and
never changes it. Some environments disable MSR[ME] (e.g., mambo), and
others can enable it (hostboot).</p>
@@ -113,7 +112,7 @@ environment. Second, after installing our machine check handler,
MSR[ME] should be enabled to get some useful output rather than a
checkstop.</p>
</li>
-<li><p class="first">fast-reboot: occ: Re-parse the pstate table during fast-reboot</p>
+<li><p>fast-reboot: occ: Re-parse the pstate table during fast-reboot</p>
<p>OCC shares the frequency list to host by copying the pstate table to
main memory in HOMER. This table is parsed during boot to create
device-tree properties for frequency and pstate IDs. OCC can update
@@ -126,7 +125,7 @@ properties during fast-reboot.</p>
bias command. And this is mainly used by WOF team for
characterization purposes.</p>
</li>
-<li><p class="first">fast-reboot: move pci_reset error handling into fast-reboot code</p>
+<li><p>fast-reboot: move pci_reset error handling into fast-reboot code</p>
<p>pci_reset() currently does a platform reboot if it fails. It
should not know about fast-reboot at this level, so instead have
it return an error, and the fast reboot caller will do the
@@ -137,28 +136,26 @@ and all such fail-able operations before the CPU resets itself
and destroys its own stack. That’s not the case now, but that
should be the goal.</p>
</li>
-<li><p class="first">capi: Fix the max tlbi divider and the directory size.</p>
+<li><p>capi: Fix the max tlbi divider and the directory size.</p>
<p>Switch to 512KB mode (directory size) as we don’t use bit 48 of the tag
in addressing the array. This mode is controlled by the Snoop CAPI
Configuration Register.
Set the maximum of the number of data polls received before signaling
TLBI hang detect timer expired. The value of ‘0000’ is equal to 16.</p>
</li>
-<li><p class="first">npu2/tce: Fix page size checking</p>
+<li><p>npu2/tce: Fix page size checking</p>
<p>The page size is encoded in the TVT data [59:63] as &#64;shift+11 but
the tce_kill handler does not do the math right; this fixes it.</p>
</li>
-<li><p class="first">stb: Enforce secure boot if called before libstb initialized</p>
-</li>
-<li><p class="first">stb: Correctly error out when no PCR for resource</p>
-</li>
-<li><p class="first">core/init: move imc catalog preload init after the STB init.</p>
+<li><p>stb: Enforce secure boot if called before libstb initialized</p></li>
+<li><p>stb: Correctly error out when no PCR for resource</p></li>
+<li><p>core/init: move imc catalog preload init after the STB init.</p>
<p>As a safer side move the imc catalog preload after the STB init
to make sure the imc catalog resource get’s verified and measured
properly during loading when both secure and trusted boot modes
are on.</p>
</li>
-<li><p class="first">libstb: fix failure of calling trusted measure without STB initialization.</p>
+<li><p>libstb: fix failure of calling trusted measure without STB initialization.</p>
<p>When we load a flash resource during OPAL init, STB calls trusted measure
to measure the given resource. There is a situation when a flash gets loaded
before STB initialization then trusted measure cannot measure properly.</p>
@@ -168,7 +165,7 @@ corresponding trusted init was done.</p>
and then do the loading of flash resources, by that way STB can properly
verify and measure the all resources.</p>
</li>
-<li><p class="first">libstb: fix failure of calling cvc verify without STB initialization.</p>
+<li><p>libstb: fix failure of calling cvc verify without STB initialization.</p>
<p>Currently in OPAL init time at various stages we are loading various
PNOR partition containers from the flash device. When we load a flash
resource STB calls the CVC verify and trusted measure(sha512) functions.
@@ -184,9 +181,8 @@ STB init was done.</p>
<p>And also we need a permanent fix in init path to ensure STB init gets
done at first place and then start loading all other flash resources.</p>
</li>
-<li><p class="first">libstb/tpm_chip: Add missing new line to print messages.</p>
-</li>
-<li><p class="first">libstb: increase the log level of verify/measure messages to PR_NOTICE.</p>
+<li><p>libstb/tpm_chip: Add missing new line to print messages.</p></li>
+<li><p>libstb: increase the log level of verify/measure messages to PR_NOTICE.</p>
<p>Currently libstb logs the verify and hash caluculation messages in
PR_INFO level. So when there is a secure boot enforcement happens
in loading last flash resource(Ex: BOOTKERNEL), the previous verify
@@ -195,9 +191,10 @@ to the end user which resource is verified and measured.
So this patch fixes this by increasing the log level to PR_NOTICE.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -217,17 +214,15 @@ So this patch fixes this by increasing the log level to PR_NOTICE.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -244,14 +239,15 @@ So this patch fixes this by increasing the log level to PR_NOTICE.</p>
<li class="right" >
<a href="skiboot-5.10-rc1.html" title="skiboot-5.10-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10-rc3.html b/doc/release-notes/skiboot-5.10-rc3.html
index 2fa013a..1505868 100644
--- a/doc/release-notes/skiboot-5.10-rc3.html
+++ b/doc/release-notes/skiboot-5.10-rc3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10-rc3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10-rc3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10-rc2.html" title="skiboot-5.10-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10-rc3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-rc3">
+ <section id="skiboot-5-10-rc3">
<span id="id1"></span><h1>skiboot-5.10-rc3<a class="headerlink" href="#skiboot-5-10-rc3" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.10-rc3 was released on Thursday February 15th 2018. It is the third
release candidate of skiboot 5.10, which will become the new stable release
@@ -59,45 +59,44 @@ being for all POWER8 and POWER9 platforms in op-build v1.21.
This release will be targeted to early POWER9 systems.</p>
<p>Over skiboot-5.10-rc2, we have the following changes:</p>
<ul>
-<li><p class="first">vas: Disable VAS/NX-842 on some P9 revisions</p>
+<li><p>vas: Disable VAS/NX-842 on some P9 revisions</p>
<p>VAS/NX-842 are not functional on some P9 revisions, so disable them
in hardware and skip creating their device tree nodes.</p>
<p>Since the intent is to prevent OS from configuring VAS/NX, we remove
only the platform device nodes but leave the VAS/NX DT nodes under
xscom (i.e we don’t skip add_vas_node() in hdata/spira.c)</p>
</li>
-<li><p class="first">phb4: Only escalate freezes on MMIO load where necessary</p>
+<li><p>phb4: Only escalate freezes on MMIO load where necessary</p>
<p>In order to work around a hardware issue, MMIO load freezes were
escalated to fences on every chip. Now that hardware no longer requires
this, restrict escalation to the chips that actually need it.</p>
</li>
-<li><p class="first">pflash: Fix makefile dependency issue</p>
-</li>
-<li><p class="first">DT: Add “version” property under ibm, firmware-versions node</p>
+<li><p>pflash: Fix makefile dependency issue</p></li>
+<li><p>DT: Add “version” property under ibm, firmware-versions node</p>
<p>First line of VERSION section in PNOR contains firmware version.
Use that to add “version” property under firmware versions dt node.</p>
<p>Sample output:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root@xxx2:/proc/device-tree/ibm,firmware-versions#</span> lsprop
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root@xxx2:/proc/device-tree/ibm,firmware-versions# </span>lsprop
<span class="go">version &quot;witherspoon-ibm-OP9_v1.19_1.94&quot;</span>
</pre></div>
</div>
</li>
-<li><p class="first">npu2: Disable TVT range check when in bypass mode</p>
+<li><p>npu2: Disable TVT range check when in bypass mode</p>
<p>On POWER9 the GPUs need to be able to access the MMIO memory space. Therefore
the TVT range check needs to include the MMIO address space. As any possible
range check would cover all of memory anyway this patch just disables the TVT
range check all together when bypassing the TCE tables.</p>
</li>
-<li><p class="first">hw/npu2: support creset of npu2 devices</p>
+<li><p>hw/npu2: support creset of npu2 devices</p>
<p>creset calls in the hw procedure that resets the PHY, we don’t
take them out of reset, just put them in reset.</p>
<p>this fixes a kexec issue.</p>
</li>
-<li><p class="first">ATTN: Enable flush instruction cache bit in HID register</p>
+<li><p>ATTN: Enable flush instruction cache bit in HID register</p>
<p>In P9, we have to enable “flush the instruction cache” bit along with
“attn instruction support” bit to trigger attention.</p>
</li>
-<li><p class="first">capi: Enable channel tag streaming for PHB in CAPP mode</p>
+<li><p>capi: Enable channel tag streaming for PHB in CAPP mode</p>
<p>We re-enable channel tag streaming for PHB in CAPP mode as without it
PEC was waiting for cresp for each DMA write command before sending a
new DMA write command on the Powerbus. This resulted in much lower DMA
@@ -107,7 +106,7 @@ channel_streaming_en bit in PBCQ Hardware Configuration Register. Also
does some re-factoring of the code that updates this register to use
xscom_write_mask instead of xscom_read followed by a xscom_write.</p>
</li>
-<li><p class="first">core/device.c: Fix dt_find_compatible_node</p>
+<li><p>core/device.c: Fix dt_find_compatible_node</p>
<p>dt_find_compatible_node() and dt_find_compatible_node_on_chip() are used to
find device nodes under a parent/root node with a given compatible
property.</p>
@@ -127,7 +126,7 @@ called with prev == root. Instead we add a check to dt_next() such that
passing prev = NULL will cause it to start iterating from the first child
node (if any).</p>
</li>
-<li><p class="first">stb: Put correct label (for skiboot) into container</p>
+<li><p>stb: Put correct label (for skiboot) into container</p>
<p>Hostboot will expect the label field of the stb header to contain
“PAYLOAD” for skiboot or it will fail to load and run skiboot.</p>
<p>The failure looks something like this:</p>
@@ -154,7 +153,7 @@ node (if any).</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/occ: Fix fast-reboot crash in P8 platforms.</p>
+<li><p>hw/occ: Fix fast-reboot crash in P8 platforms.</p>
<p>commit 85a1de35cbe4 (“fast-boot: occ: Re-parse the pstate table during fast-boot” )
breaks the fast-reboot on P8 platforms while reiniting the OCC pstates. On P8
platforms OPAL adds additional two properties #address-cells and #size-cells
@@ -179,9 +178,10 @@ CPU 0058 Backtrace:
OCC pstates re-init in fast-reboot code path.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -201,17 +201,15 @@ OCC pstates re-init in fast-reboot code path.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -228,14 +226,15 @@ OCC pstates re-init in fast-reboot code path.</p>
<li class="right" >
<a href="skiboot-5.10-rc2.html" title="skiboot-5.10-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10-rc3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10-rc4.html b/doc/release-notes/skiboot-5.10-rc4.html
index 883fbb7..352a788 100644
--- a/doc/release-notes/skiboot-5.10-rc4.html
+++ b/doc/release-notes/skiboot-5.10-rc4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10-rc4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10-rc4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10-rc3.html" title="skiboot-5.10-rc3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10-rc4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-rc4">
+ <section id="skiboot-5-10-rc4">
<span id="id1"></span><h1>skiboot-5.10-rc4<a class="headerlink" href="#skiboot-5-10-rc4" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.10-rc4 was released on Wednesday February 21st 2018. It is the fourth
release candidate of skiboot 5.10, which will become the new stable release
@@ -59,24 +59,24 @@ being for all POWER8 and POWER9 platforms in op-build v1.21.
This release will be targeted to early POWER9 systems.</p>
<p>Over skiboot-5.10-rc3, we have the following changes:</p>
<ul>
-<li><p class="first">core: Fix mismatched names between reserved memory nodes &amp; properties</p>
+<li><p>core: Fix mismatched names between reserved memory nodes &amp; properties</p>
<p>OPAL exposes reserved memory regions through the device tree in both new
(nodes) and old (properties) formats.</p>
<p>However, the names used for these don’t match - we use a generated cell
address for the nodes, but the plain region name for the properties.</p>
<p>This fixes a warning from FWTS</p>
</li>
-<li><p class="first">sensor-groups: occ: Add support to disable/enable sensor group</p>
+<li><p>sensor-groups: occ: Add support to disable/enable sensor group</p>
<p>This patch adds a new opal call to enable/disable a sensor group. This
call is used to select the sensor groups that needs to be copied to
main memory by OCC at runtime.</p>
</li>
-<li><p class="first">sensors: occ: Add energy counters</p>
+<li><p>sensors: occ: Add energy counters</p>
<p>Export the accumulated power values as energy sensors. The accumulator
field of power sensors are used for representing energy counters which
can be exported as energy counters in Linux hwmon interface.</p>
</li>
-<li><p class="first">sensors: Support reading u64 sensor values</p>
+<li><p>sensors: Support reading u64 sensor values</p>
<p>This patch adds support to read u64 sensor values. This also adds
changes to the core and the backend implementation code to make this
API as the base call. Host can use this new API to read sensors
@@ -84,42 +84,40 @@ upto 64bits.</p>
<p>This adds a list to store the pointer to the kernel u32 buffer, for
older kernels making async sensor u32 reads.</p>
</li>
-<li><p class="first">dt: add /cpus/ibm,powerpc-cpu-features device tree bindings</p>
+<li><p>dt: add /cpus/ibm,powerpc-cpu-features device tree bindings</p>
<p>This is a new CPU feature advertising interface that is fine-grained,
extensible, aware of privilege levels, and gives control of features
to all levels of the stack (firmware, hypervisor, and OS).</p>
<p>The design and binding specification is described in detail in doc/.</p>
</li>
-<li><p class="first">phb3/phb4/p7ioc: Document supported TCE sizes in DT</p>
+<li><p>phb3/phb4/p7ioc: Document supported TCE sizes in DT</p>
<p>Add a new property, “ibm,supported-tce-sizes”, to advertise to Linux how
big the available TCE sizes are. Each value is a bit shift, from
smallest to largest.</p>
</li>
-<li><p class="first">phb4: Fix TCE page size</p>
+<li><p>phb4: Fix TCE page size</p>
<p>The page sizes for TCEs on P9 were inaccurate and just copied from PHB3,
so correct them.</p>
</li>
-<li><p class="first">Revert “pci: Shared slot state synchronisation for hot reset”</p>
+<li><p>Revert “pci: Shared slot state synchronisation for hot reset”</p>
<p>An issue was found in shared slot reset where the system can be stuck in
an infinite loop, pull the code out until there’s a proper fix.</p>
<p>This reverts commit 1172a6c57ff3c66f6361e572a1790cbcc0e5ff37.</p>
</li>
-<li><p class="first">hdata/iohub: Use only wildcard slots for pluggables</p>
+<li><p>hdata/iohub: Use only wildcard slots for pluggables</p>
<p>We don’t want to cause a VID:DID check against pluggable devices, as
they may use multiple devids.</p>
<p>Narrow the condition under which VID:DID is listed in the dt, so that
we’ll end up creating a wildcard slot for these instead.</p>
</li>
-<li><p class="first">increase log verbosity in debug builds</p>
-</li>
-<li><p class="first">Add -debug to version on DEBUG builds</p>
-</li>
-<li><p class="first">cpu_wait_job: Correctly report time spent waiting for job</p>
-</li>
+<li><p>increase log verbosity in debug builds</p></li>
+<li><p>Add -debug to version on DEBUG builds</p></li>
+<li><p>cpu_wait_job: Correctly report time spent waiting for job</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -139,17 +137,15 @@ we’ll end up creating a wildcard slot for these instead.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -166,14 +162,15 @@ we’ll end up creating a wildcard slot for these instead.</p>
<li class="right" >
<a href="skiboot-5.10-rc3.html" title="skiboot-5.10-rc3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10-rc4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10.1.html b/doc/release-notes/skiboot-5.10.1.html
index 56f4ed5..4299bbd 100644
--- a/doc/release-notes/skiboot-5.10.1.html
+++ b/doc/release-notes/skiboot-5.10.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10-rc4.html" title="skiboot-5.10-rc4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.1</a></li>
</ul>
</div>
@@ -45,16 +45,15 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-1">
+ <section id="skiboot-5-10-1">
<span id="id1"></span><h1>skiboot-5.10.1<a class="headerlink" href="#skiboot-5-10-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.10.1 was released on Thursday March 1st, 2018. It replaces
<a class="reference internal" href="skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a> as the current stable release in the 5.10.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a>, we have an improvement for debugging NPU2/NVLink
problems and a bug fix. These changes are:</p>
<ul>
-<li><p class="first">NPU2 HMIs: dump out a <em>LOT</em> of npu2 registers for debugging</p>
-</li>
-<li><p class="first">libflash/blocklevel: Correct miscalculation in blocklevel_smart_erase()</p>
+<li><p>NPU2 HMIs: dump out a <em>LOT</em> of npu2 registers for debugging</p></li>
+<li><p>libflash/blocklevel: Correct miscalculation in blocklevel_smart_erase()</p>
<p>This fixes a bug in pflash.</p>
<p>If blocklevel_smart_erase() detects that the smart erase fits entire in
one erase block, it has an early bail path. In this path it miscaculates
@@ -63,9 +62,10 @@ write.</p>
<p>Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/151">https://github.com/open-power/skiboot/issues/151</a></p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -85,17 +85,15 @@ write.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -112,14 +110,15 @@ write.</p>
<li class="right" >
<a href="skiboot-5.10-rc4.html" title="skiboot-5.10-rc4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10.2.html b/doc/release-notes/skiboot-5.10.2.html
index 31c404b..16e5748 100644
--- a/doc/release-notes/skiboot-5.10.2.html
+++ b/doc/release-notes/skiboot-5.10.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10.1.html" title="skiboot-5.10.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.2</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-2">
+ <section id="skiboot-5-10-2">
<span id="id1"></span><h1>skiboot-5.10.2<a class="headerlink" href="#skiboot-5-10-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.10.2 was released on Tuesday March 6th, 2018. It replaces
<a class="reference internal" href="skiboot-5.10.1.html#skiboot-5-10-1"><span class="std std-ref">skiboot-5.10.1</span></a> as the current stable release in the 5.10.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.10.1.html#skiboot-5-10-1"><span class="std std-ref">skiboot-5.10.1</span></a>, we have one improvement:</p>
<ul>
-<li><p class="first">Tie tm-suspend fw-feature and opal_reinit_cpus() together</p>
+<li><p>Tie tm-suspend fw-feature and opal_reinit_cpus() together</p>
<p>Currently opal_reinit_cpus(OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED)
always returns OPAL_UNSUPPORTED.</p>
<p>This ties the tm suspend fw-feature to the
@@ -67,9 +67,10 @@ the device tree/HDAT) as some future firmware may let us change this
dynamically after boot. That is not the case currently though.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -89,17 +90,15 @@ dynamically after boot. That is not the case currently though.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -116,14 +115,15 @@ dynamically after boot. That is not the case currently though.</p>
<li class="right" >
<a href="skiboot-5.10.1.html" title="skiboot-5.10.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10.3.html b/doc/release-notes/skiboot-5.10.3.html
index 3026288..bd19023 100644
--- a/doc/release-notes/skiboot-5.10.3.html
+++ b/doc/release-notes/skiboot-5.10.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10.2.html" title="skiboot-5.10.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-3">
+ <section id="skiboot-5-10-3">
<span id="id1"></span><h1>skiboot-5.10.3<a class="headerlink" href="#skiboot-5-10-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.10.3 was released on Thursday March 28th, 2018. It replaces
<a class="reference internal" href="skiboot-5.10.2.html#skiboot-5-10-2"><span class="std std-ref">skiboot-5.10.2</span></a> as the current stable release in the 5.10.x series.</p>
@@ -53,14 +53,14 @@
due to the bug fixes and debugging enhancements in it.</p>
<p>Over <a class="reference internal" href="skiboot-5.10.2.html#skiboot-5-10-2"><span class="std std-ref">skiboot-5.10.2</span></a>, we have a few improvements and bug fixes:</p>
<ul>
-<li><p class="first">NPU2: dump NPU2 registers on npu2 HMI</p>
+<li><p>NPU2: dump NPU2 registers on npu2 HMI</p>
<p>Due to the nature of debugging npu2 issues, folk are wanting the
full list of NPU2 registers dumped when there’s a problem.</p>
<p>This is different than the solution introduced in 5.10.1
as there we would dump the registers in a way that would trigger a FIR
bit that would confuse PRD.</p>
</li>
-<li><p class="first">npu2: Add performance tuning SCOM inits</p>
+<li><p>npu2: Add performance tuning SCOM inits</p>
<p>Peer-to-peer GPU bandwidth latency testing has produced some tunable
values that improve performance. Add them to our device initialization.</p>
<p>File these under things that need to be cleaned up with nice #defines
@@ -69,10 +69,10 @@ for the register names and bitfields when we get time.</p>
topology, so introduce a helper to determine how many links go to a
single GPU.</p>
</li>
-<li><p class="first">hw/npu2: Assign a unique LPARSHORTID per GPU</p>
+<li><p>hw/npu2: Assign a unique LPARSHORTID per GPU</p>
<p>This gets used elsewhere to index items in the XTS tables.</p>
</li>
-<li><p class="first">occ: Set up OCC messaging even if we fail to setup pstates</p>
+<li><p>occ: Set up OCC messaging even if we fail to setup pstates</p>
<p>This means that we no longer hit this bug if we fail to get valid pstates
from the OCC.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>[console-pexpect]#echo 1 &gt; //sys/firmware/opal/sensor_groups//occ-csm0/clear
@@ -93,11 +93,11 @@ echo 1 &gt; //sys/firmware/opal/sensor_groups//occ-csm0/clear
</pre></div>
</div>
</li>
-<li><p class="first">core/fast-reboot: disable fast reboot upon fundamental entry/exit/locking errors</p>
+<li><p>core/fast-reboot: disable fast reboot upon fundamental entry/exit/locking errors</p>
<p>This disables fast reboot in several more cases where serious errors
like lock corruption or call re-entrancy are detected.</p>
</li>
-<li><p class="first">core/opal: allow some re-entrant calls</p>
+<li><p>core/opal: allow some re-entrant calls</p>
<p>This allows a small number of OPAL calls to succeed despite re-entering
the firmware, and rejects others rather than aborting.</p>
<p>This allows a system reset interrupt that interrupts OPAL to do something
@@ -106,20 +106,21 @@ stack traces to be printed, reboot the system.</p>
<p>Use OPAL_INTERNAL_ERROR when rejecting, rather than OPAL_BUSY, which is
used for many other things that does not mean a serious permanent error.</p>
</li>
-<li><p class="first">core/opal: abort in case of re-entrant OPAL call</p>
+<li><p>core/opal: abort in case of re-entrant OPAL call</p>
<p>The stack is already destroyed by the time we get here, so there
is not much point continuing.</p>
</li>
-<li><p class="first">npu2: Disable fast reboot</p>
+<li><p>npu2: Disable fast reboot</p>
<p>Fast reboot does not yet work right with the NPU. It’s been disabled on
NVLink and OpenCAPI machines. Do the same for NVLink2.</p>
<p>This amounts to a port of 3e4577939bbf (“npu: Fix broken fast reset”)
from the npu code to npu2.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -139,17 +140,15 @@ from the npu code to npu2.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -166,14 +165,15 @@ from the npu code to npu2.</p>
<li class="right" >
<a href="skiboot-5.10.2.html" title="skiboot-5.10.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10.4.html b/doc/release-notes/skiboot-5.10.4.html
index c5e03eb..d8b9965 100644
--- a/doc/release-notes/skiboot-5.10.4.html
+++ b/doc/release-notes/skiboot-5.10.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10.3.html" title="skiboot-5.10.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-4">
+ <section id="skiboot-5-10-4">
<span id="id1"></span><h1>skiboot-5.10.4<a class="headerlink" href="#skiboot-5-10-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.10.4 was released on Wednesday April 4th, 2018. It replaces
<a class="reference internal" href="skiboot-5.10.3.html#skiboot-5-10-3"><span class="std std-ref">skiboot-5.10.3</span></a> as the current stable release in the 5.10.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes and debugging enhancements in it.</p>
<p>Over <a class="reference internal" href="skiboot-5.10.3.html#skiboot-5-10-3"><span class="std std-ref">skiboot-5.10.3</span></a>, we have one bug fix:</p>
<ul>
-<li><p class="first">xive: disable store EOI support</p>
+<li><p>xive: disable store EOI support</p>
<p>Hardware has limitations which would require to put a sync after each
store EOI to make sure the MMIO operations that change the ESB state
are ordered. This is a killer for performance and the PHBs do not
@@ -62,15 +62,16 @@ hardware is improved.</p>
<p>Also, while we are at changing the XIVE source flags, let’s fix the
settings for the PHB4s which should follow these rules :</p>
<ul class="simple">
-<li>SHIFT_BUG for DD10</li>
-<li>STORE_EOI for DD20 and if enabled</li>
-<li>TRIGGER_PAGE for DDx0 and if not STORE_EOI</li>
+<li><p>SHIFT_BUG for DD10</p></li>
+<li><p>STORE_EOI for DD20 and if enabled</p></li>
+<li><p>TRIGGER_PAGE for DDx0 and if not STORE_EOI</p></li>
</ul>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -90,17 +91,15 @@ settings for the PHB4s which should follow these rules :</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -117,14 +116,15 @@ settings for the PHB4s which should follow these rules :</p>
<li class="right" >
<a href="skiboot-5.10.3.html" title="skiboot-5.10.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10.5.html b/doc/release-notes/skiboot-5.10.5.html
index e1d382d..7b40647 100644
--- a/doc/release-notes/skiboot-5.10.5.html
+++ b/doc/release-notes/skiboot-5.10.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10.4.html" title="skiboot-5.10.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.5</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-5">
+ <section id="skiboot-5-10-5">
<span id="id1"></span><h1>skiboot-5.10.5<a class="headerlink" href="#skiboot-5-10-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.10.5 was released on Tuesday April 24th, 2018. It replaces
<a class="reference internal" href="skiboot-5.10.4.html#skiboot-5-10-4"><span class="std std-ref">skiboot-5.10.4</span></a> as the current stable release in the 5.10.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes and debugging enhancements in it.</p>
<p>Over <a class="reference internal" href="skiboot-5.10.4.html#skiboot-5-10-4"><span class="std std-ref">skiboot-5.10.4</span></a>, we have four bug fixes:</p>
<ul>
-<li><p class="first">npu2/hw-procedures: fence bricks on GPU reset</p>
+<li><p>npu2/hw-procedures: fence bricks on GPU reset</p>
<p>The NPU workbook defines a way of fencing a brick and
getting the brick out of fence state. We do have an implementation
of bringing the brick out of fenced/quiesced state. We do
@@ -67,21 +67,21 @@ will flush the cache for the region of memory behind the GPU.</p>
<p>This patch does the following:</p>
<blockquote>
<div><ol class="arabic simple">
-<li>Implements a npu2_dev_fence_brick() function to set/clear
-fence state</li>
-<li>Clear FIR bits prior to clearing the fence status</li>
-<li>Clear’s the fence status</li>
-<li>We take the powerbus out of CQ fence much later now,
+<li><p>Implements a npu2_dev_fence_brick() function to set/clear
+fence state</p></li>
+<li><p>Clear FIR bits prior to clearing the fence status</p></li>
+<li><p>Clear’s the fence status</p></li>
+<li><p>We take the powerbus out of CQ fence much later now,
in credits_check() which is the last hardware procedure
-called after link training.</li>
+called after link training.</p></li>
</ol>
</div></blockquote>
</li>
-<li><p class="first">hdata/spira: parse vpd to add part-number and serial-number to xscom&#64; node</p>
+<li><p>hdata/spira: parse vpd to add part-number and serial-number to xscom&#64; node</p>
<p>Expected by FWTS and associates our processor with the part/serial
number, which is obviously a good thing for one’s own sanity.</p>
</li>
-<li><p class="first">hw/imc: Check for pause_microcode_at_boot() return status</p>
+<li><p>hw/imc: Check for pause_microcode_at_boot() return status</p>
<p>pause_microcode_at_boot() loops through all the chip’s ucode
control block and pause the ucode if it is in the running state.
But it does not fail if any of the chip’s ucode is not initialised.</p>
@@ -90,7 +90,7 @@ of the chip. Since pause_microcode_at_boot() is called just before
attaching the IMC device nodes in imc_init(), add code to check for
the function return.</p>
</li>
-<li><p class="first">core/cpufeatures: Fix setting DARN and SCV HWCAP feature bits</p>
+<li><p>core/cpufeatures: Fix setting DARN and SCV HWCAP feature bits</p>
<p>DARN and SCV has been assigned AT_HWCAP2 (32-63) bits:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#define PPC_FEATURE2_DARN 0x00200000 /* darn random number insn */</span>
<span class="c1">#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall */</span>
@@ -100,9 +100,10 @@ the function return.</p>
this patch.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -122,17 +123,15 @@ this patch.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -149,14 +148,15 @@ this patch.</p>
<li class="right" >
<a href="skiboot-5.10.4.html" title="skiboot-5.10.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10.6.html b/doc/release-notes/skiboot-5.10.6.html
index 1143780..bb992ff 100644
--- a/doc/release-notes/skiboot-5.10.6.html
+++ b/doc/release-notes/skiboot-5.10.6.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10.6 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10.6 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10.5.html" title="skiboot-5.10.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.6</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10-6">
+ <section id="skiboot-5-10-6">
<span id="id1"></span><h1>skiboot-5.10.6<a class="headerlink" href="#skiboot-5-10-6" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.10.6 was released on Monday May 28th, 2018. It replaces
<a class="reference internal" href="skiboot-5.10.5.html#skiboot-5-10-5"><span class="std std-ref">skiboot-5.10.5</span></a> as the current stable release in the 5.10.x series.</p>
@@ -55,7 +55,7 @@ especially due to the locking bug fixes.</p>
over as the main stable branch.</p>
<p>Over <a class="reference internal" href="skiboot-5.10.5.html#skiboot-5-10-5"><span class="std std-ref">skiboot-5.10.5</span></a>, we have the following fixes:</p>
<ul>
-<li><p class="first">opal-prd: Do not error out on first failure for soft/hard offline.</p>
+<li><p>opal-prd: Do not error out on first failure for soft/hard offline.</p>
<p>The memory errors (CEs and UEs) that are detected as part of background
memory scrubbing are reported by PRD asynchronously to opal-prd along with
affected memory ranges. hservice_memory_error() converts these ranges into
@@ -65,9 +65,9 @@ infrastructure.</p>
all the pages to soft/hard offline-ing if any of the page offline action
fails. e.g hard offline can fail for:</p>
<ul class="simple">
-<li>Pages that are not part of buddy managed pool.</li>
-<li>Pages that are reserved by kernel using memblock_reserved()</li>
-<li>Pages that are in use by kernel.</li>
+<li><p>Pages that are not part of buddy managed pool.</p></li>
+<li><p>Pages that are reserved by kernel using memblock_reserved()</p></li>
+<li><p>Pages that are in use by kernel.</p></li>
</ul>
<p>But for the pages that are in use by user space application, the hard
offline marks the page as hwpoison, sends SIGBUS signal to kill the
@@ -77,17 +77,18 @@ use by application or free. By stopping on first error we loose the
opportunity to hwpoison the subsequent pages which may be free or in use by
application. This patch fixes this issue.</p>
</li>
-<li><p class="first">xive: fix missing unlock in error path</p>
+<li><p>xive: fix missing unlock in error path</p>
<p>Found with sparse and some added lock annotations.</p>
</li>
-<li><p class="first">OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
+<li><p>OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
<p>Otherwise we could exit OPAL holding locks, potentially leading
to all sorts of problems later on.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -107,17 +108,15 @@ to all sorts of problems later on.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -134,14 +133,15 @@ to all sorts of problems later on.</p>
<li class="right" >
<a href="skiboot-5.10.5.html" title="skiboot-5.10.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10.6</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.10.html b/doc/release-notes/skiboot-5.10.html
index fd9046c..bb323ad 100644
--- a/doc/release-notes/skiboot-5.10.html
+++ b/doc/release-notes/skiboot-5.10.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.10 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.10 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.1.9.html" title="skiboot-5.1.9"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-10">
+ <section id="skiboot-5-10">
<span id="id1"></span><h1>skiboot-5.10<a class="headerlink" href="#skiboot-5-10" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.10 was released on Friday February 23rd 2018. It is the first
release of skiboot 5.10, and becomes the new stable release
@@ -54,21 +54,21 @@ of skiboot following the 5.9 release, first released October 31st 2017.</p>
and <a class="reference internal" href="skiboot-5.4.9.html#skiboot-5-4-9"><span class="std std-ref">skiboot-5.4.9</span></a>. We do not forsee any further 5.9.x releases.</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over skiboot-5.9, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot-5.10-rc3:</p>
<ul>
-<li><p class="first">sensor-groups: occ: Add support to disable/enable sensor group</p>
+<li><p>sensor-groups: occ: Add support to disable/enable sensor group</p>
<p>This patch adds a new opal call to enable/disable a sensor group. This
call is used to select the sensor groups that needs to be copied to
main memory by OCC at runtime.</p>
</li>
-<li><p class="first">sensors: occ: Add energy counters</p>
+<li><p>sensors: occ: Add energy counters</p>
<p>Export the accumulated power values as energy sensors. The accumulator
field of power sensors are used for representing energy counters which
can be exported as energy counters in Linux hwmon interface.</p>
</li>
-<li><p class="first">sensors: Support reading u64 sensor values</p>
+<li><p>sensors: Support reading u64 sensor values</p>
<p>This patch adds support to read u64 sensor values. This also adds
changes to the core and the backend implementation code to make this
API as the base call. Host can use this new API to read sensors
@@ -76,7 +76,7 @@ upto 64bits.</p>
<p>This adds a list to store the pointer to the kernel u32 buffer, for
older kernels making async sensor u32 reads.</p>
</li>
-<li><p class="first">dt: add /cpus/ibm,powerpc-cpu-features device tree bindings</p>
+<li><p>dt: add /cpus/ibm,powerpc-cpu-features device tree bindings</p>
<p>This is a new CPU feature advertising interface that is fine-grained,
extensible, aware of privilege levels, and gives control of features
to all levels of the stack (firmware, hypervisor, and OS).</p>
@@ -85,11 +85,11 @@ to all levels of the stack (firmware, hypervisor, and OS).</p>
</ul>
<p>Since skiboot-5.10-rc2:</p>
<ul>
-<li><p class="first">DT: Add “version” property under ibm, firmware-versions node</p>
+<li><p>DT: Add “version” property under ibm, firmware-versions node</p>
<p>First line of VERSION section in PNOR contains firmware version.
Use that to add “version” property under firmware versions dt node.</p>
<p>Sample output:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root@xxx2:/proc/device-tree/ibm,firmware-versions#</span> lsprop
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root@xxx2:/proc/device-tree/ibm,firmware-versions# </span>lsprop
<span class="go">version &quot;witherspoon-ibm-OP9_v1.19_1.94&quot;</span>
</pre></div>
</div>
@@ -97,16 +97,16 @@ Use that to add “version” property under firmware versions dt node.</p>
</ul>
<p>Since skiboot-5.10-rc1:</p>
<ul class="simple">
-<li>hw/npu2: Implement logging HMI actions</li>
+<li><p>hw/npu2: Implement logging HMI actions</p></li>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">hdata: Parse IPL FW feature settings</p>
+<li><p>hdata: Parse IPL FW feature settings</p>
<p>Add parsing for the firmware feature flags in the HDAT. This
indicates the settings of various parameters which are set at IPL time
by firmware.</p>
</li>
-<li><p class="first">opal/xstop: Use nvram option to enable/disable sw checkstop.</p>
+<li><p>opal/xstop: Use nvram option to enable/disable sw checkstop.</p>
<p>Add a mechanism to enable/disable sw checkstop by looking at nvram option
opal-sw-xstop=&lt;enable/disable&gt;.</p>
<p>For now this patch disables the sw checkstop trigger unless explicitly
@@ -127,7 +127,7 @@ checkstop by default.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hdata: Parse SPD data</p>
+<li><p>hdata: Parse SPD data</p>
<blockquote>
<div><p>Parse SPD data and populate device tree.</p>
<p>list of properties parsing from SPD:</p>
@@ -149,20 +149,19 @@ checkstop by default.</p>
<p>Also update documentation.</p>
</div></blockquote>
</li>
-<li><p class="first">hdata: Add memory hierarchy under xscom node</p>
+<li><p>hdata: Add memory hierarchy under xscom node</p>
<p>We have memory to chip mapping but doesn’t have complete memory hierarchy.
This patch adds memory hierarchy under xscom node. This is specific to
P9 system as these hierarchy may change between processor generation.</p>
-<dl class="docutils">
-<dt>It uses memory controller ID details and populates nodes like:</dt>
-<dd><p class="first last">xscom&#64;&lt;addr&gt;/mcbist&#64;&lt;mcbist_id&gt;/mcs&#64;&lt;mcs_id&gt;/mca&#64;&lt;mca_id&gt;/dimm&#64;&lt;resource_id&gt;</p>
+<dl class="simple">
+<dt>It uses memory controller ID details and populates nodes like:</dt><dd><p>xscom&#64;&lt;addr&gt;/mcbist&#64;&lt;mcbist_id&gt;/mcs&#64;&lt;mcs_id&gt;/mca&#64;&lt;mca_id&gt;/dimm&#64;&lt;resource_id&gt;</p>
</dd>
</dl>
<p>Also this patch adds few properties under dimm node.
Finally make sure xscom nodes created before calling memory_parse().</p>
</li>
</ul>
-<div class="section" id="fast-reboot-and-quiesce">
+<section id="fast-reboot-and-quiesce">
<h3>Fast Reboot and Quiesce<a class="headerlink" href="#fast-reboot-and-quiesce" title="Permalink to this headline">¶</a></h3>
<p>We have a preliminary fast reboot implementation for POWER9 systems, which
we look to enabling by default in the next release.</p>
@@ -170,7 +169,7 @@ we look to enabling by default in the next release.</p>
around reboot and error conditions. See the full API documentation for details:
<a class="reference internal" href="../opal-api/opal-quiesce-158.html#opal-quiesce"><span class="std std-ref">OPAL_QUIESCE</span></a>.</p>
<ul>
-<li><p class="first">fast-reboot: bare bones fast reboot implementation for POWER9</p>
+<li><p>fast-reboot: bare bones fast reboot implementation for POWER9</p>
<p>This is an initial fast reboot implementation for p9 which has only been
tested on the Witherspoon platform, and without the use of NPUs, NX/VAS,
etc.</p>
@@ -178,19 +177,19 @@ etc.</p>
reboots. It is hidden behind the traditional fast-reboot experimental
nvram option, until more platforms and configurations are tested.</p>
</li>
-<li><p class="first">fast-reboot: move boot CPU clean-up logically together with secondaries</p>
+<li><p>fast-reboot: move boot CPU clean-up logically together with secondaries</p>
<p>Move the boot CPU clean-up and state transition to active, logically
together with secondaries. Don’t release secondaries from fast reboot
hold until everyone has cleaned up and transitioned to active.</p>
<p>This is cosmetic, but it is helpful to run the fast reboot state machine
the same way on all CPUs.</p>
</li>
-<li><p class="first">fast-reboot: improve failure error messages</p>
+<li><p>fast-reboot: improve failure error messages</p>
<p>Change existing failure error messages to PR_NOTICE so they get
printed to the console, and add some new ones. It’s not a more
severe class because it falls back to IPL on failure.</p>
</li>
-<li><p class="first">fast-reboot: quiesce opal before initiating a fast reboot</p>
+<li><p>fast-reboot: quiesce opal before initiating a fast reboot</p>
<p>Switch fast reboot to use quiescing rather than “wait for a while”.</p>
<p>If firmware can not be quiesced, then fast reboot is skipped. This
significantly improves the robustness of fast reboot in the face of
@@ -202,7 +201,7 @@ can be removed.</p>
reduce fast reboot times by nearly 200ms, because quiescing usually
takes very little time.</p>
</li>
-<li><p class="first">core: Add support for quiescing OPAL</p>
+<li><p>core: Add support for quiescing OPAL</p>
<p>Quiescing is ensuring all host controlled CPUs (except the current
one) are out of OPAL and prevented from entering. This can be use in
debug and shutdown paths, particularly with system reset sequences.</p>
@@ -212,7 +211,7 @@ adds logic to “hold” or “reject” at entry time, if OPAL is quiesced.</p>
can be used for shutdown, kexec, and before generating sreset IPIs for
debugging (so the debug code does not recurse into OPAL).</p>
</li>
-<li><p class="first">dctl: p9 increase thread quiesce timeout</p>
+<li><p>dctl: p9 increase thread quiesce timeout</p>
<p>We require all instructions to be completed before a thread is
considered stopped, by the dctl interface. Long running instructions
like cache misses and CI loads may take a significant amount of time
@@ -222,51 +221,50 @@ just says to poll, but we like to have timeouts to avoid getting
stuck in firmware.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9-power-saving">
+</section>
+<section id="power9-power-saving">
<h3>POWER9 power saving<a class="headerlink" href="#power9-power-saving" title="Permalink to this headline">¶</a></h3>
<p>There is much improved support for deeper sleep/idle (stop) states on POWER9.</p>
<ul>
-<li><p class="first">OCC: Increase max pstate check on P9 to 255</p>
+<li><p>OCC: Increase max pstate check on P9 to 255</p>
<p>This has changed from P8, we can now have &gt; 127 pstates.</p>
<p>This was observed on Boston during WoF bring up.</p>
</li>
-<li><p class="first">SLW: Add idle state stop5 for DD2.0 and above</p>
+<li><p>SLW: Add idle state stop5 for DD2.0 and above</p>
<p>Adding stop5 idle state with rough residency and latency numbers.</p>
</li>
-<li><p class="first">SLW: Add p9_stop_api calls for IMC</p>
+<li><p>SLW: Add p9_stop_api calls for IMC</p>
<p>Add p9_stop_api for EVENT_MASK and PDBAR scoms. These scoms are lost on
wakeup from stop11.</p>
</li>
-<li><p class="first">SCOM restore for DARN and XIVE</p>
+<li><p>SCOM restore for DARN and XIVE</p>
<p>While waking up from stop11, we want NCU_DARN_BAR to have enable bit set.
Without this stop_api call, the value restored is without enable bit set.
We loose NCU_SPEC_BAR when the quad goes into stop11, stop_api will
restore while waking up from stop11.</p>
</li>
-<li><p class="first">SLW: Call p9_stop_api only if deep_states are enabled</p>
+<li><p>SLW: Call p9_stop_api only if deep_states are enabled</p>
<p>All init time p9_stop_api calls have been isolated to slw_late_init. If
p9_stop_api fails, then the deep states can be excluded from device tree.</p>
<p>For p9_stop_api called after device-tree for cpuidle is created ,
has_deep_states will be used to check if this call is even required.</p>
</li>
-<li><p class="first">Better handle errors in setting up sleep states (p9_stop_api)</p>
+<li><p>Better handle errors in setting up sleep states (p9_stop_api)</p>
<p>We won’t put affected stop states in the device tree if the wakeup
engine is not present or has failed.</p>
</li>
-<li><p class="first">SCOM Restore: Increased the EQ SCOM restore limit.</p>
+<li><p>SCOM Restore: Increased the EQ SCOM restore limit.</p>
<p>Commit increases the SCOM restore limit from 16 to 31.</p>
</li>
-<li><p class="first">hw/dts: retry special wakeup operation if core still gated</p>
+<li><p>hw/dts: retry special wakeup operation if core still gated</p>
<p>It has been observed that in some cases the special wakeup
operation can “succeed” but the core is still in a gated/offline
state.</p>
<p>Check for this state after attempting to wakeup a core and retry
the wakeup if necessary.</p>
</li>
-<li><p class="first">core/direct-controls: add function to read core gated state</p>
-</li>
-<li><p class="first">core/direct-controls: wait for core special wkup bit cleared</p>
+<li><p>core/direct-controls: add function to read core gated state</p></li>
+<li><p>core/direct-controls: wait for core special wkup bit cleared</p>
<p>When clearing special wakeup bit on a core, wait until the
bit is actually cleared by the hardware in the status register
until returning success.</p>
@@ -275,23 +273,23 @@ special wakeup request is cleared but the firmware is still
processing the request and the next attempt to set the bit
reads an immediate success from the previous operation.</p>
</li>
-<li><p class="first">p9_stop_api: PM: Added support for version control in SCOM restore entries.</p>
+<li><p>p9_stop_api: PM: Added support for version control in SCOM restore entries.</p>
<ul class="simple">
-<li>adds version info in SCOM restore entry header</li>
-<li>adds version specific details in SCOM restore entry header</li>
-<li>retains old behaviour of SGPE Hcode’s base version</li>
+<li><p>adds version info in SCOM restore entry header</p></li>
+<li><p>adds version specific details in SCOM restore entry header</p></li>
+<li><p>retains old behaviour of SGPE Hcode’s base version</p></li>
</ul>
</li>
-<li><p class="first">p9_stop_api: EQ SCOM Restore: Introduced version control in SCOM restore entry.</p>
+<li><p>p9_stop_api: EQ SCOM Restore: Introduced version control in SCOM restore entry.</p>
<ul class="simple">
-<li>introduces version control in header of SCOM restore entry</li>
-<li>ensures backward compatibility</li>
-<li>introduces flexibility to handle any number of SCOM restore entry.</li>
+<li><p>introduces version control in header of SCOM restore entry</p></li>
+<li><p>ensures backward compatibility</p></li>
+<li><p>introduces flexibility to handle any number of SCOM restore entry.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="secure-and-trusted-boot-for-power9">
+</section>
+<section id="secure-and-trusted-boot-for-power9">
<h3>Secure and Trusted Boot for POWER9<a class="headerlink" href="#secure-and-trusted-boot-for-power9" title="Permalink to this headline">¶</a></h3>
<p>We introduce support for Secure and Trusted Boot for POWER9 systems, with equal
functionality that we have on POWER8 systems, that is, we have the mechanisms in
@@ -299,7 +297,7 @@ place to boot to petitboot (i.e. to BOOTKERNEL).</p>
<p>See the <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a> for full documentation of OPAL secure and trusted boot.</p>
<p>Since skiboot-5.10-rc2:</p>
<ul>
-<li><p class="first">stb: Put correct label (for skiboot) into container</p>
+<li><p>stb: Put correct label (for skiboot) into container</p>
<p>Hostboot will expect the label field of the stb header to contain
“PAYLOAD” for skiboot or it will fail to load and run skiboot.</p>
<p>The failure looks something like this:</p>
@@ -329,17 +327,15 @@ place to boot to petitboot (i.e. to BOOTKERNEL).</p>
</ul>
<p>Since skiboot-5.10-rc1:</p>
<ul>
-<li><p class="first">stb: Enforce secure boot if called before libstb initialized</p>
-</li>
-<li><p class="first">stb: Correctly error out when no PCR for resource</p>
-</li>
-<li><p class="first">core/init: move imc catalog preload init after the STB init.</p>
+<li><p>stb: Enforce secure boot if called before libstb initialized</p></li>
+<li><p>stb: Correctly error out when no PCR for resource</p></li>
+<li><p>core/init: move imc catalog preload init after the STB init.</p>
<p>As a safer side move the imc catalog preload after the STB init
to make sure the imc catalog resource get’s verified and measured
properly during loading when both secure and trusted boot modes
are on.</p>
</li>
-<li><p class="first">libstb: fix failure of calling trusted measure without STB initialization.</p>
+<li><p>libstb: fix failure of calling trusted measure without STB initialization.</p>
<p>When we load a flash resource during OPAL init, STB calls trusted measure
to measure the given resource. There is a situation when a flash gets loaded
before STB initialization then trusted measure cannot measure properly.</p>
@@ -349,7 +345,7 @@ corresponding trusted init was done.</p>
and then do the loading of flash resources, by that way STB can properly
verify and measure the all resources.</p>
</li>
-<li><p class="first">libstb: fix failure of calling cvc verify without STB initialization.</p>
+<li><p>libstb: fix failure of calling cvc verify without STB initialization.</p>
<p>Currently in OPAL init time at various stages we are loading various
PNOR partition containers from the flash device. When we load a flash
resource STB calls the CVC verify and trusted measure(sha512) functions.
@@ -365,9 +361,8 @@ STB init was done.</p>
<p>And also we need a permanent fix in init path to ensure STB init gets
done at first place and then start loading all other flash resources.</p>
</li>
-<li><p class="first">libstb/tpm_chip: Add missing new line to print messages.</p>
-</li>
-<li><p class="first">libstb: increase the log level of verify/measure messages to PR_NOTICE.</p>
+<li><p>libstb/tpm_chip: Add missing new line to print messages.</p></li>
+<li><p>libstb: increase the log level of verify/measure messages to PR_NOTICE.</p>
<p>Currently libstb logs the verify and hash caluculation messages in
PR_INFO level. So when there is a secure boot enforcement happens
in loading last flash resource(Ex: BOOTKERNEL), the previous verify
@@ -378,13 +373,13 @@ So this patch fixes this by increasing the log level to PR_NOTICE.</p>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">allow secure boot if not enforcing it</p>
+<li><p>allow secure boot if not enforcing it</p>
<p>We check the secure boot containers no matter what, only <em>enforcing</em>
secure boot if we’re booting in secure mode. This gives us an extra
layer of checking firmware is legit even when secure mode isn’t enabled,
as well as being really useful for testing.</p>
</li>
-<li><p class="first">libstb/(create|print)-container: Sync with sb-signing-utils</p>
+<li><p>libstb/(create|print)-container: Sync with sb-signing-utils</p>
<p>The sb-signing-utils project has improved upon the skeleton
create-container tool that existed in skiboot, including
being able to (quite easily) create <em>signed</em> images.</p>
@@ -400,45 +395,44 @@ upstream project.</p>
at v0.3-5-gcb111c03ad7f
(Some discussion ongoing on the changes, another sync will come shortly)</p>
</li>
-<li><p class="first">doc: update libstb documentation with POWER9 changes.
+<li><p>doc: update libstb documentation with POWER9 changes.
See: <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a>.</p>
<p>POWER9 changes reflected in the libstb:</p>
<blockquote>
<div><ul class="simple">
-<li>bumped ibm,secureboot node to v2</li>
-<li>added ibm,cvc node</li>
-<li>hash-algo superseded by hw-key-hash-size</li>
+<li><p>bumped ibm,secureboot node to v2</p></li>
+<li><p>added ibm,cvc node</p></li>
+<li><p>hash-algo superseded by hw-key-hash-size</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">libstb/cvc: update memory-region to point to /reserved-memory</p>
+<li><p>libstb/cvc: update memory-region to point to /reserved-memory</p>
<p>The linux documentation, reserved-memory.txt, says that memory-region is
a phandle that pairs to a children of /reserved-memory.</p>
-<dl class="docutils">
-<dt>This updates /ibm,secureboot/ibm,cvc/memory-region to point to</dt>
-<dd><p class="first last">/reserved-memory/secure-crypt-algo-code instead of
+<dl class="simple">
+<dt>This updates /ibm,secureboot/ibm,cvc/memory-region to point to</dt><dd><p>/reserved-memory/secure-crypt-algo-code instead of
/ibm,hostboot/reserved-memory/secure-crypt-algo-code.</p>
</dd>
</dl>
</li>
-<li><p class="first">libstb: add support for ibm,secureboot-v2</p>
+<li><p>libstb: add support for ibm,secureboot-v2</p>
<p>ibm,secureboot-v2 changes:</p>
<blockquote>
<div><ul class="simple">
-<li>The Container Verification Code is represented by the ibm,cvc node.</li>
-<li>Each ibm,cvc child describes a CVC service.</li>
-<li>hash-algo is superseded by hw-key-hash-size.</li>
+<li><p>The Container Verification Code is represented by the ibm,cvc node.</p></li>
+<li><p>Each ibm,cvc child describes a CVC service.</p></li>
+<li><p>hash-algo is superseded by hw-key-hash-size.</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">hdata/tpmrel.c: add ibm, cvc device tree node</p>
+<li><p>hdata/tpmrel.c: add ibm, cvc device tree node</p>
<p>In P9, the Container Verification Code is stored in a hostboot reserved
memory and the list of provided CVC services is stored in the
TPMREL_IDATA_HASH_VERIF_OFFSETS idata array. Each CVC service has an
offset and version.</p>
<p>This adds the ibm,cvc device tree node and its documentation.</p>
</li>
-<li><p class="first">hdata/tpmrel.c: add firmware event log info to the tpm node</p>
+<li><p>hdata/tpmrel.c: add firmware event log info to the tpm node</p>
<p>This parses the firmware event log information from the
secureboot_tpm_info HDAT structure and add it to the tpm device tree
node.</p>
@@ -446,18 +440,18 @@ node.</p>
corresponding to a master processor that has a tpm device, however,
multiple tpm is not supported.</p>
</li>
-<li><p class="first">hdata/spira: add ibm,secureboot node in P9</p>
+<li><p>hdata/spira: add ibm,secureboot node in P9</p>
<p>In P9, skiboot builds the device tree from the HDAT. These are the
“ibm,secureboot” node changes compared to P8:</p>
<blockquote>
<div><ul class="simple">
-<li>The Container-Verification-Code (CVC), a.k.a. ROM code, is no longer
+<li><p>The Container-Verification-Code (CVC), a.k.a. ROM code, is no longer
stored in a secure ROM with static address. In P9, it is stored in a
hostboot reserved memory and each service provided also has a version,
-not only an offset.</li>
-<li>The hash-algo property is not provided via HDAT, instead it provides
+not only an offset.</p></li>
+<li><p>The hash-algo property is not provided via HDAT, instead it provides
the hw-key-hash-size, which is indeed the information required by the
-CVC to verify containers.</li>
+CVC to verify containers.</p></li>
</ul>
</div></blockquote>
<p>This parses the iplparams_sysparams HDAT structure and creates the
@@ -465,20 +459,20 @@ CVC to verify containers.</li>
<p>In “ibm,secureboot-v2”:</p>
<blockquote>
<div><ul class="simple">
-<li>hash-algo property is superseded by hw-key-hash-size.</li>
-<li>container verification code is explicitly described by a child node.
-Added in a subsequent patch.</li>
+<li><p>hash-algo property is superseded by hw-key-hash-size.</p></li>
+<li><p>container verification code is explicitly described by a child node.
+Added in a subsequent patch.</p></li>
</ul>
</div></blockquote>
-<p>See <a class="reference internal" href="../device-tree/ibm,secureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">ibm,secureboot</span></a> for documentation.</p>
+<p>See <a class="reference internal" href="../device-tree/ibm%2Csecureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">ibm,secureboot</span></a> for documentation.</p>
</li>
-<li><p class="first">libstb/tpm_chip.c: define pr_fmt and fix messages logged</p>
+<li><p>libstb/tpm_chip.c: define pr_fmt and fix messages logged</p>
<p>This defines pr_fmt and also fix messages logged:</p>
<blockquote>
<div><ul class="simple">
-<li>EV_SEPARATOR instead of 0xFFFFFFFF</li>
-<li>when an event is measured it also prints the tpm id, event type and
-event log length</li>
+<li><p>EV_SEPARATOR instead of 0xFFFFFFFF</p></li>
+<li><p>when an event is measured it also prints the tpm id, event type and
+event log length</p></li>
</ul>
</div></blockquote>
<p>Now we can filter the messages logged by libstb and its
@@ -487,7 +481,7 @@ sub-modules by running:</p>
</pre></div>
</div>
</li>
-<li><p class="first">libstb/tss: update the list of event types supported</p>
+<li><p>libstb/tss: update the list of event types supported</p>
<p>Skiboot, precisely the tpmLogMgr, initializes the firmware event log by
calculating its length so that a new event can be recorded without
exceeding the log size. In order to calculate the size, it walks through
@@ -497,29 +491,29 @@ of the log.</p>
<p>This updates the list of event types with all of those supported by
hostboot. Thus, skiboot can properly calculate the event log length.</p>
</li>
-<li><p class="first">tpm_i2c_nuvoton: add nuvoton, npct601 to the compatible property</p>
+<li><p>tpm_i2c_nuvoton: add nuvoton, npct601 to the compatible property</p>
<p>The linux kernel doesn’t have a driver compatible with
“nuvoton,npct650”, but it does have for “nuvoton,npct601”, which should
also be compatible with npct650.</p>
<p>This adds “nuvoton,npct601” to the compatible devtree property.</p>
</li>
-<li><p class="first">libstb/trustedboot.c: import stb_final() from stb.c</p>
+<li><p>libstb/trustedboot.c: import stb_final() from stb.c</p>
<p>The stb_final() primary goal is to measure the event EV_SEPARATOR
into PCR[0-7] when trusted boot is about to exit the boot services.</p>
<p>This imports the stb_final() from stb.c into trustedboot.c, but making
the following changes:</p>
<blockquote>
<div><ul class="simple">
-<li>Rename it to trustedboot_exit_boot_services().</li>
-<li>As specified in the TCG PC Client specification, EV_SEPARATOR events must
-be logged with the name 0xFFFFFF.</li>
-<li>Remove the ROM driver clean-up call.</li>
-<li>Don’t allow code to be measured in skiboot after
-trustedboot_exit_boot_services() is called.</li>
+<li><p>Rename it to trustedboot_exit_boot_services().</p></li>
+<li><p>As specified in the TCG PC Client specification, EV_SEPARATOR events must
+be logged with the name 0xFFFFFF.</p></li>
+<li><p>Remove the ROM driver clean-up call.</p></li>
+<li><p>Don’t allow code to be measured in skiboot after
+trustedboot_exit_boot_services() is called.</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">libstb/cvc.c: import softrom behaviour from drivers/sw_driver.c</p>
+<li><p>libstb/cvc.c: import softrom behaviour from drivers/sw_driver.c</p>
<p>Softrom is used only for testing with mambo. By setting
compatible=”ibm,secureboot-v1-softrom” in the “ibm,secureboot” node,
firmware images can be properly measured even if the
@@ -531,7 +525,7 @@ into cvc.c, but now softrom is implemented as a flag. When the flag is
set, the wrappers for the CVC services work the same way as in
sw_driver.c.</p>
</li>
-<li><p class="first">libstb/trustedboot.c: import tb_measure() from stb.c</p>
+<li><p>libstb/trustedboot.c: import tb_measure() from stb.c</p>
<p>This imports tb_measure() from stb.c, but now it calls the CVC sha512
wrapper to calculate the sha512 hash of the firmware image provided.</p>
<p>In trustedboot.c, the tb_measure() is renamed to trustedboot_measure().</p>
@@ -539,22 +533,20 @@ wrapper to calculate the sha512 hash of the firmware image provided.</p>
container payload hash calculated at boot time matches with the hash
found in the container header. A few reasons:</p>
<ul>
-<li><p class="first">If the system admin wants the container header to be
+<li><p>If the system admin wants the container header to be
checked/validated, the secure boot jumper must be set. Otherwise,
-the container header information may not be reliable.</p>
-</li>
-<li><p class="first">The container layout is expected to change over time. Skiboot
+the container header information may not be reliable.</p></li>
+<li><p>The container layout is expected to change over time. Skiboot
would need to maintain a parser for each container layout
-change.</p>
-</li>
-<li><p class="first">Skiboot could be checking the hash against a container version that
+change.</p></li>
+<li><p>Skiboot could be checking the hash against a container version that
is not supported by the Container-Verification-Code (CVC).</p>
<p>The tb_measure() calls are updated to trustedboot_measure() in a
subsequent patch.</p>
</li>
</ul>
</li>
-<li><p class="first">libstb/secureboot.c: import sb_verify() from stb.c</p>
+<li><p>libstb/secureboot.c: import sb_verify() from stb.c</p>
<p>This imports the sb_verify() function from stb.c, but now it calls the
CVC verify wrapper in order to verify signed firmware images. The
hw-key-hash and hw-key-hash-size initialized in secureboot.c are passed
@@ -563,34 +555,34 @@ to the CVC verify function wrapper.</p>
sb_verify() calls are updated in a subsequent patch.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="xive">
+</section>
+</section>
+<section id="xive">
<h2>XIVE<a class="headerlink" href="#xive" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">xive: Don’t bother cleaning up disabled EQs in reset</p>
+<li><p>xive: Don’t bother cleaning up disabled EQs in reset</p>
<p>Additionally, warn if we find an enabled one that isn’t one
of the firmware built-in queues.</p>
</li>
-<li><p class="first">xive: Warn on valid VPs found in abnormal cases</p>
+<li><p>xive: Warn on valid VPs found in abnormal cases</p>
<p>If an allocated VP is left valid at xive_reset() or Linux tries
to free a valid (enabled) VP block, print errors. The former happens
occasionally if kdump’ing while KVM is running so keep it as a debug
message. The latter is a programming error in Linux so use a an
error log level.</p>
</li>
-<li><p class="first">xive: Properly reserve built-in VPs in non-group mode</p>
+<li><p>xive: Properly reserve built-in VPs in non-group mode</p>
<p>This is not normally used but if the #define is changed to
disable block group mode we would incorrectly clear the
buddy completely without marking the built-in VPs reserved.</p>
</li>
-<li><p class="first">xive: Quieten debug messages in standard builds</p>
+<li><p>xive: Quieten debug messages in standard builds</p>
<p>This makes a bunch of messages, especially the per-CPU ones,
only enabled in debug builds. This avoids clogging up the
OPAL logs with XIVE related messages that have proven not
being particularly useful for field defects.</p>
</li>
-<li><p class="first">xive: Implement “single escalation” feature</p>
+<li><p>xive: Implement “single escalation” feature</p>
<p>This adds a new VP flag to control the new DD2.0
“single escalation” feature.</p>
<p>This feature allows us to have a single escalation
@@ -599,43 +591,42 @@ interrupt per VP instead of one per queue.</p>
usable when that is enabled) and exploiting two new
hardware bits that will:</p>
<ul class="simple">
-<li>Make the normal queues (0..6) escalate unconditionally
-thus ignoring the ESe bits.</li>
-<li>Route the above escalations to queue 7</li>
-<li>Have queue 7 silently escalate without notification</li>
+<li><p>Make the normal queues (0..6) escalate unconditionally
+thus ignoring the ESe bits.</p></li>
+<li><p>Route the above escalations to queue 7</p></li>
+<li><p>Have queue 7 silently escalate without notification</p></li>
</ul>
<p>Thus the escalation of queue 7 becomes the one escalation
interrupt for all the other queues.</p>
</li>
-<li><p class="first">xive: When disabling a VP, wipe all of its settings</p>
-</li>
-<li><p class="first">xive: Improve cleaning up of EQs</p>
+<li><p>xive: When disabling a VP, wipe all of its settings</p></li>
+<li><p>xive: Improve cleaning up of EQs</p>
<p>Factors out the function that sets an EQ back to a clean
state and add a cleaning pass for queue left enabled
when freeing a block of VPs.</p>
</li>
-<li><p class="first">xive: When disabling an EQ, wipe all of its settings</p>
+<li><p>xive: When disabling an EQ, wipe all of its settings</p>
<p>This avoids having configuration bits left over</p>
</li>
-<li><p class="first">xive: Define API for single-escalation VP mode</p>
+<li><p>xive: Define API for single-escalation VP mode</p>
<p>This mode allows all queues of a VP to use the same
escalation interrupt, at the cost of losing priority 7.</p>
<p>This adds the definition and documentation of the API,
the implementation will come next.</p>
</li>
-<li><p class="first">xive: Fix ability to clear some EQ flags</p>
+<li><p>xive: Fix ability to clear some EQ flags</p>
<p>We could never clear “unconditional notify” and “escalate”</p>
</li>
-<li><p class="first">xive: Update inits for DD2.0</p>
+<li><p>xive: Update inits for DD2.0</p>
<p>This updates some inits based on information from the HW
designers. This includes enabling some new DD2.0 features
that we don’t yet exploit.</p>
</li>
-<li><p class="first">xive: Ensure VC informational FIRs are masked</p>
+<li><p>xive: Ensure VC informational FIRs are masked</p>
<p>Some HostBoot versions leave those as checkstop, they are harmless
and can sometimes occur during normal operations.</p>
</li>
-<li><p class="first">xive: Fix occasional VC checkstops in xive_reset</p>
+<li><p>xive: Fix occasional VC checkstops in xive_reset</p>
<p>The current workaround for the scrub bug described in
__xive_cache_scrub() has an issue in that it can leave
dirty invalid entries in the cache.</p>
@@ -646,46 +637,46 @@ of the cache.</p>
<p>This replaces the existing workaround with a new pair of
workarounds for VPs and EQs:</p>
<ul class="simple">
-<li>The VP one does the dummy watch on another entry than
+<li><p>The VP one does the dummy watch on another entry than
the one we scrubbed (which does the job of pushing old
stores out) using an entry that is known to be backed by
-a permanent indirect page.</li>
-<li>The EQ one switches to a more efficient workaround
+a permanent indirect page.</p></li>
+<li><p>The EQ one switches to a more efficient workaround
which consists of doing a non-side-effect ESB load from
-the EQ’s ESe control bits.</li>
+the EQ’s ESe control bits.</p></li>
</ul>
</li>
-<li><p class="first">xive: Do not return a trigger page for an escalation interrupt</p>
+<li><p>xive: Do not return a trigger page for an escalation interrupt</p>
<p>This is bogus, we don’t support them. (Thankfully the callers
didn’t actually try to use this on escalation interrupts).</p>
</li>
-<li><p class="first">xive: Mark a freed IRQs IVE as valid and masked</p>
+<li><p>xive: Mark a freed IRQs IVE as valid and masked</p>
<p>Removing the valid bit means a FIR will trip if it’s accessed
inadvertently. Under some circumstances, the XIVE will speculatively
access an IVE for a masked interrupt and trip it. So make sure that
freed entries are still marked valid (but masked).</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot-5.10-rc3:</p>
<ul>
-<li><p class="first">phb3/phb4/p7ioc: Document supported TCE sizes in DT</p>
+<li><p>phb3/phb4/p7ioc: Document supported TCE sizes in DT</p>
<p>Add a new property, “ibm,supported-tce-sizes”, to advertise to Linux how
big the available TCE sizes are. Each value is a bit shift, from
smallest to largest.</p>
</li>
-<li><p class="first">phb4: Fix TCE page size</p>
+<li><p>phb4: Fix TCE page size</p>
<p>The page sizes for TCEs on P9 were inaccurate and just copied from PHB3,
so correct them.</p>
</li>
-<li><p class="first">Revert “pci: Shared slot state synchronisation for hot reset”</p>
+<li><p>Revert “pci: Shared slot state synchronisation for hot reset”</p>
<p>An issue was found in shared slot reset where the system can be stuck in
an infinite loop, pull the code out until there’s a proper fix.</p>
<p>This reverts commit 1172a6c57ff3c66f6361e572a1790cbcc0e5ff37.</p>
</li>
-<li><p class="first">hdata/iohub: Use only wildcard slots for pluggables</p>
+<li><p>hdata/iohub: Use only wildcard slots for pluggables</p>
<p>We don’t want to cause a VID:DID check against pluggable devices, as
they may use multiple devids.</p>
<p>Narrow the condition under which VID:DID is listed in the dt, so that
@@ -694,24 +685,24 @@ we’ll end up creating a wildcard slot for these instead.</p>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">pci: Shared slot state synchronisation for hot reset</p>
+<li><p>pci: Shared slot state synchronisation for hot reset</p>
<p>When a device is shared between two PHBs, it doesn’t get reset properly
unless both PHBs issue a hot reset at “the same time”. Practically this
means a hot reset needs to be issued on both sides, and neither should
bring the link up until the reset on both has completed.</p>
</li>
-<li><p class="first">pci: Track peers of slots</p>
+<li><p>pci: Track peers of slots</p>
<p>Witherspoon introduced a new concept where one physical slot is shared
between two PHBs. Making a slot aware of its peer enables syncing
between them where necessary.</p>
</li>
</ul>
-</div>
-<div class="section" id="phb4">
+</section>
+<section id="phb4">
<h2>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot-5.10-rc4:</p>
<ul>
-<li><p class="first">phb4: Disable lane eq when retrying some nvidia GEN3 devices</p>
+<li><p>phb4: Disable lane eq when retrying some nvidia GEN3 devices</p>
<p>This fixes these nvidia cards training at only GEN2 spends rather than
GEN3 by disabling PCIe lane equalisation.</p>
<p>Firstly we check if the card is in a whitelist. If it is and the link
@@ -722,7 +713,7 @@ a POWER9 chip issue.</p>
</ul>
<p>Since skiboot-5.10-rc2:</p>
<ul>
-<li><p class="first">phb4: Only escalate freezes on MMIO load where necessary</p>
+<li><p>phb4: Only escalate freezes on MMIO load where necessary</p>
<p>In order to work around a hardware issue, MMIO load freezes were
escalated to fences on every chip. Now that hardware no longer requires
this, restrict escalation to the chips that actually need it.</p>
@@ -730,7 +721,7 @@ this, restrict escalation to the chips that actually need it.</p>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">phb4: Change PCI MMIO timers</p>
+<li><p>phb4: Change PCI MMIO timers</p>
<p>Currently we have a mismatch between the NCU and PCI timers for MMIO
accesses. The PCI timers must be lower than the NCU timers otherwise
it may cause checkstops.</p>
@@ -738,7 +729,7 @@ it may cause checkstops.</p>
be forwards and backwards compatible with expected hostboot changes to
the NCU timer.</p>
</li>
-<li><p class="first">phb4: Change default GEN3 lane equalisation setting to 0x54</p>
+<li><p>phb4: Change default GEN3 lane equalisation setting to 0x54</p>
<p>Currently our GEN3 lane equalisation settings are set to 0x77. Change
this to 0x54. This change will allow us to train at GEN3 in a shorter
time and more consistently.</p>
@@ -748,23 +739,23 @@ continuous time linear equalizers (CTLE) for the remote receiver port
and de-emphasis and pre-shoot for the remote transmitter port.</p>
<p>Machine Readable Workbooks (MRW) are moving to this new value also.</p>
</li>
-<li><p class="first">phb4: Init changes</p>
+<li><p>phb4: Init changes</p>
<p>These init changes for phb4 from the HW team.</p>
<p>Link down are now endpoint recoverable (ERC) rather than PHB fatal
errors.</p>
<p>BLIF Completion Timeout Error now generate an interrupt rather than
causing freeze events.</p>
</li>
-<li><p class="first">phb4: Fix lane equalisation setting</p>
+<li><p>phb4: Fix lane equalisation setting</p>
<p>Fix cut and paste from phb3. The sizes have changes now we have GEN4,
so the check here needs to change also</p>
<p>Without this we end up with the default settings (all ‘7’) rather
than what’s in HDAT.</p>
</li>
-<li><p class="first">hdata: Fix copying GEN4 lane equalisation settings</p>
+<li><p>hdata: Fix copying GEN4 lane equalisation settings</p>
<p>These aren’t copied currently but should be.</p>
</li>
-<li><p class="first">phb4: Fix PE mapping of M32 BAR</p>
+<li><p>phb4: Fix PE mapping of M32 BAR</p>
<p>The M32 BAR is the PHB4 region used to map all the non-prefetchable
or 32-bit device BARs. It’s supposed to have its segments remapped
via the MDT and Linux relies on that to assign them individual PE#.</p>
@@ -772,23 +763,23 @@ via the MDT and Linux relies on that to assign them individual PE#.</p>
mode where PE# == segment#, thus causing EEH to freeze the wrong
device or PE#.</p>
</li>
-<li><p class="first">phb4: Fix lost bit in PE number on config accesses</p>
+<li><p>phb4: Fix lost bit in PE number on config accesses</p>
<p>A PE number can be up to 9 bits, using a uint8_t won’t fly..</p>
<p>That was causing error on config accesses to freeze the
wrong PE.</p>
</li>
-<li><p class="first">phb4: Update inits</p>
+<li><p>phb4: Update inits</p>
<p>New init value from HW folks for the fence enable register.</p>
<p>This clears bit 17 (CFG Write Error CA or UR response) and bit 22 (MMIO Write
DAT_ERR Indication) and sets bit 21 (MMIO CFG Pending Error)</p>
</li>
</ul>
-</div>
-<div class="section" id="capi">
+</section>
+<section id="capi">
<h2>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot-5.10-rc2:</p>
<ul>
-<li><p class="first">capi: Enable channel tag streaming for PHB in CAPP mode</p>
+<li><p>capi: Enable channel tag streaming for PHB in CAPP mode</p>
<p>We re-enable channel tag streaming for PHB in CAPP mode as without it
PEC was waiting for cresp for each DMA write command before sending a
new DMA write command on the Powerbus. This resulted in much lower DMA
@@ -801,7 +792,7 @@ xscom_write_mask instead of xscom_read followed by a xscom_write.</p>
</ul>
<p>Since skiboot-5.10-rc1:</p>
<ul>
-<li><p class="first">capi: Fix the max tlbi divider and the directory size.</p>
+<li><p>capi: Fix the max tlbi divider and the directory size.</p>
<p>Switch to 512KB mode (directory size) as we don’t use bit 48 of the tag
in addressing the array. This mode is controlled by the Snoop CAPI
Configuration Register.
@@ -811,7 +802,7 @@ TLBI hang detect timer expired. The value of ‘0000’ is equal to 16.</p>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">capi: Disable CAPP virtual machines</p>
+<li><p>capi: Disable CAPP virtual machines</p>
<p>When exercising more than one CAPI accelerators simultaneously in
cache coherency mode, the verification team is seeing a deadlock. To
fix this a workaround of disabling CAPP virtual machines is
@@ -825,12 +816,12 @@ another CAPI is requesting) get stuck in the virtual machine queue by
a command ahead of it that is being retried by the same scenario in
the other CAPI. “</p>
</li>
-<li><p class="first">capi: Perform capp recovery sequence only when PBCQ is idle</p>
+<li><p>capi: Perform capp recovery sequence only when PBCQ is idle</p>
<p>Presently during a CRESET the CAPP recovery sequence can be executed
multiple times in case PBCQ on the PEC is still busy processing in/out
bound in-flight transactions.</p>
</li>
-<li><p class="first">xive: Mask MMIO load/store to bad location FIR</p>
+<li><p>xive: Mask MMIO load/store to bad location FIR</p>
<p>For opencapi, the trigger page of an interrupt is mapped to user
space. The intent is to write the page to raise an interrupt but
there’s nothing to prevent a user process from reading it, which has
@@ -840,7 +831,7 @@ location. It’s the recommendation from recent documentation and
hostboot is expected to mask it at some point. In the meantime, let’s
play it safe.</p>
</li>
-<li><p class="first">phb4: Dump CAPP error registers when it asserts link down</p>
+<li><p>phb4: Dump CAPP error registers when it asserts link down</p>
<p>This patch introduces a new function phb4_dump_app_err_regs() that
dumps CAPP error registers in case the PEC nestfir register indicates
that the fence was due to a CAPP error (BIT-24).</p>
@@ -848,23 +839,23 @@ that the fence was due to a CAPP error (BIT-24).</p>
issues. Registers that are dumped in phb4_dump_app_err_regs() are:</p>
<blockquote>
<div><ul class="simple">
-<li>CAPP FIR Register</li>
-<li>CAPP APC Master Error Report Register</li>
-<li>CAPP Snoop Error Report Register</li>
-<li>CAPP Transport Error Report Register</li>
-<li>CAPP TLBI Error Report Register</li>
-<li>CAPP Error Status and Control Register</li>
+<li><p>CAPP FIR Register</p></li>
+<li><p>CAPP APC Master Error Report Register</p></li>
+<li><p>CAPP Snoop Error Report Register</p></li>
+<li><p>CAPP Transport Error Report Register</p></li>
+<li><p>CAPP TLBI Error Report Register</p></li>
+<li><p>CAPP Error Status and Control Register</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">capi: move the acknowledge of the HMI interrupt</p>
+<li><p>capi: move the acknowledge of the HMI interrupt</p>
<p>We need to acknowledge an eventual HMI initiated by the previous forced
fence on the PHB to work around a non-existent PE in the phb4_creset()
function.
For this reason do_capp_recovery_scoms() is called now at the
beginning of the step: PHB4_SLOT_CRESET_WAIT_CQ</p>
</li>
-<li><p class="first">capi: update ci store buffers and dma engines</p>
+<li><p>capi: update ci store buffers and dma engines</p>
<p>The number of read (APC type traffic) and mmio store (MSG type traffic)
resources assigned to the CAPP is controlled by the CAPP control
register.</p>
@@ -873,56 +864,55 @@ configure differently the CAPP messages and the DMA read engines given
to the CAPP for use.</p>
</li>
</ul>
-</div>
-<div class="section" id="hmi">
+</section>
+<section id="hmi">
<h2>HMI<a class="headerlink" href="#hmi" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/hmi: Display chip location code while displaying core FIR.</p>
-</li>
-<li><p class="first">core/hmi: Do not display FIR details if none of the bits are set.</p>
+<li><p>core/hmi: Display chip location code while displaying core FIR.</p></li>
+<li><p>core/hmi: Do not display FIR details if none of the bits are set.</p>
<p>So that we don’t flood OPAL console logs with information that is not
useful.</p>
</li>
-<li><p class="first">opal/hmi: HMI logging with location code info.</p>
+<li><p>opal/hmi: HMI logging with location code info.</p>
<p>Add few HMI debug prints with location code info few additional info.</p>
<p>No functionality change.</p>
<p>With this patch the log messages will look like:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mf">210612.175196744</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Received</span> <span class="n">HMI</span> <span class="n">interrupt</span><span class="p">:</span> <span class="n">HMER</span> <span class="o">=</span> <span class="mh">0x0840000000000000</span>
-<span class="p">[</span><span class="mf">210612.175200449</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="o">.</span><span class="mi">1302</span><span class="n">LFA</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc1</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">8</span> <span class="n">C</span><span class="p">:</span><span class="mi">16</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">TFMR</span><span class="p">(</span><span class="mi">2</span><span class="n">d12000870e04020</span><span class="p">)</span> <span class="n">Timer</span> <span class="n">Facility</span> <span class="n">Error</span>
+<span class="p">[</span><span class="mf">210612.175200449</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="mf">.1302</span><span class="n">LFA</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc1</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">8</span> <span class="n">C</span><span class="p">:</span><span class="mi">16</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">TFMR</span><span class="p">(</span><span class="mi">2</span><span class="n">d12000870e04020</span><span class="p">)</span> <span class="n">Timer</span> <span class="n">Facility</span> <span class="n">Error</span>
<span class="p">[</span><span class="mf">210660.259689526</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Received</span> <span class="n">HMI</span> <span class="n">interrupt</span><span class="p">:</span> <span class="n">HMER</span> <span class="o">=</span> <span class="mh">0x2040000000000000</span>
-<span class="p">[</span><span class="mf">210660.259695649</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="o">.</span><span class="mi">1302</span><span class="n">LFA</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">C</span><span class="p">:</span><span class="mi">16</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">Done</span><span class="o">.</span>
+<span class="p">[</span><span class="mf">210660.259695649</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="mf">.1302</span><span class="n">LFA</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">C</span><span class="p">:</span><span class="mi">16</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">Done</span><span class="o">.</span>
</pre></div>
</div>
</li>
-<li><p class="first">core/hmi: Use pr_fmt macro for tagging log messages</p>
+<li><p>core/hmi: Use pr_fmt macro for tagging log messages</p>
<p>No functionality changes.</p>
</li>
-<li><p class="first">opal: Get chip location code</p>
+<li><p>opal: Get chip location code</p>
<p>and store it under proc_chip for quick reference during HMI handling
code.</p>
</li>
</ul>
-</div>
-<div class="section" id="sensors">
+</section>
+<section id="sensors">
<h2>Sensors<a class="headerlink" href="#sensors" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">occ-sensors: Fix up quad/gpu location mix-up</p>
+<li><p>occ-sensors: Fix up quad/gpu location mix-up</p>
<p>The GPU and QUAD sensor location types are swapped compared to what
exists in the OCC code base which is authoritative. Fix them up.</p>
</li>
-<li><p class="first">sensors: occ: Skip counter type of sensors</p>
+<li><p>sensors: occ: Skip counter type of sensors</p>
<p>Don’t add counter type of sensors to device-tree as they don’t
fit into hwmon sensor interface.</p>
</li>
-<li><p class="first">sensors: dts: Assert special wakeup on idle cores while reading temperature</p>
+<li><p>sensors: dts: Assert special wakeup on idle cores while reading temperature</p>
<p>In P9, when a core enters a stop state, its clocks will be stopped
to save power and hence we will not be able to perform a SCOM
operation to read the DTS temperature sensor. Hence, assert
a special wakeup on cores that have entered a stop state in order to
successfully complete the SCOM operation.</p>
</li>
-<li><p class="first">sensors: occ: Skip power sensors with zero sample value</p>
+<li><p>sensors: occ: Skip power sensors with zero sample value</p>
<p>APSS is not available on platforms like Zaius, Romulus where OCC
can only measure Vdd (core) and Vdn (nest) power from the AVSbus
reading. So all the sensors for APSS channels will be populated
@@ -931,45 +921,44 @@ which point to the APSS channels will also be 0.</p>
<p>As per OCC team (Martha Broyles) zeroed power sensor means that the
system doesn’t have it. So this patch filters out these sensors.</p>
</li>
-<li><p class="first">sensors: occ: Skip GPU sensors for non-gpu systems</p>
-</li>
-<li><p class="first">sensors: Fix dtc warning for new occ in-band sensors.</p>
+<li><p>sensors: occ: Skip GPU sensors for non-gpu systems</p></li>
+<li><p>sensors: Fix dtc warning for new occ in-band sensors.</p>
<p>dtc complains about missing reg property when a DT node is having a
unit name or address but no reg property.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">vrm</span><span class="o">-</span><span class="ow">in</span><span class="nd">@c00004</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">gpu</span><span class="o">-</span><span class="ow">in</span><span class="nd">@c0001f</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
-<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensor</span><span class="o">-</span><span class="n">groups</span><span class="o">/</span><span class="n">occ</span><span class="o">-</span><span class="n">js</span><span class="nd">@1c00040</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensor</span><span class="o">-</span><span class="n">groups</span><span class="o">/</span><span class="n">occ</span><span class="o">-</span><span class="n">js</span><span class="o">@</span><span class="mi">1</span><span class="n">c00040</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
</pre></div>
</div>
<p>This patch fixes these warnings for new occ in-band sensors and also for
sensor-groups by adding necessary properties.</p>
</li>
-<li><p class="first">sensors: Fix dtc warning for dts sensors.</p>
+<li><p>sensors: Fix dtc warning for dts sensors.</p>
<p>dtc complains about missing reg property when a DT node is having a
unit name or address but no reg property.</p>
<p>Example warning for core dts sensor:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="nd">@5c</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
-<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="nd">@804</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="o">@</span><span class="mi">5</span><span class="n">c</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">sensors</span><span class="o">/</span><span class="n">core</span><span class="o">-</span><span class="n">temp</span><span class="o">@</span><span class="mi">804</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
</pre></div>
</div>
<p>This patch fixes this by adding necessary properties.</p>
</li>
-<li><p class="first">hw/occ: Fix psr cpu-to-gpu sensors node dtc warning.</p>
+<li><p>hw/occ: Fix psr cpu-to-gpu sensors node dtc warning.</p>
<p>dtc complains about missing reg property when a DT node is having a
unit name or address but no reg property.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">power</span><span class="o">-</span><span class="n">mgt</span><span class="o">/</span><span class="n">psr</span><span class="o">/</span><span class="n">cpu</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">gpu</span><span class="nd">@0</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
-<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">power</span><span class="o">-</span><span class="n">mgt</span><span class="o">/</span><span class="n">psr</span><span class="o">/</span><span class="n">cpu</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">gpu</span><span class="nd">@100</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">power</span><span class="o">-</span><span class="n">mgt</span><span class="o">/</span><span class="n">psr</span><span class="o">/</span><span class="n">cpu</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">gpu</span><span class="o">@</span><span class="mi">0</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
+<span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">power</span><span class="o">-</span><span class="n">mgt</span><span class="o">/</span><span class="n">psr</span><span class="o">/</span><span class="n">cpu</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">gpu</span><span class="o">@</span><span class="mi">100</span> <span class="n">has</span> <span class="n">a</span> <span class="n">unit</span> <span class="n">name</span><span class="p">,</span> <span class="n">but</span> <span class="n">no</span> <span class="n">reg</span> <span class="nb">property</span>
</pre></div>
</div>
<p>This patch fixes this by adding necessary properties.</p>
</li>
</ul>
-</div>
-<div class="section" id="general-fixes">
+</section>
+<section id="general-fixes">
<h2>General fixes<a class="headerlink" href="#general-fixes" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot-5.10-rc3:</p>
<ul>
-<li><p class="first">core: Fix mismatched names between reserved memory nodes &amp; properties</p>
+<li><p>core: Fix mismatched names between reserved memory nodes &amp; properties</p>
<p>OPAL exposes reserved memory regions through the device tree in both new
(nodes) and old (properties) formats.</p>
<p>However, the names used for these don’t match - we use a generated cell
@@ -979,14 +968,14 @@ address for the nodes, but the plain region name for the properties.</p>
</ul>
<p>Since skiboot-5.10-rc2:</p>
<ul>
-<li><p class="first">vas: Disable VAS/NX-842 on some P9 revisions</p>
+<li><p>vas: Disable VAS/NX-842 on some P9 revisions</p>
<p>VAS/NX-842 are not functional on some P9 revisions, so disable them
in hardware and skip creating their device tree nodes.</p>
<p>Since the intent is to prevent OS from configuring VAS/NX, we remove
only the platform device nodes but leave the VAS/NX DT nodes under
xscom (i.e we don’t skip add_vas_node() in hdata/spira.c)</p>
</li>
-<li><p class="first">core/device.c: Fix dt_find_compatible_node</p>
+<li><p>core/device.c: Fix dt_find_compatible_node</p>
<p>dt_find_compatible_node() and dt_find_compatible_node_on_chip() are used to
find device nodes under a parent/root node with a given compatible
property.</p>
@@ -1007,7 +996,7 @@ passing prev = NULL will cause it to start iterating from the first child
node (if any).</p>
<p>This manifested itself in a crash on boot on ZZ systems.</p>
</li>
-<li><p class="first">hw/occ: Fix fast-reboot crash in P8 platforms.</p>
+<li><p>hw/occ: Fix fast-reboot crash in P8 platforms.</p>
<p>commit 85a1de35cbe4 (“fast-boot: occ: Re-parse the pstate table during fast-boot” )
breaks the fast-reboot on P8 platforms while reiniting the OCC pstates. On P8
platforms OPAL adds additional two properties #address-cells and #size-cells
@@ -1034,7 +1023,7 @@ OCC pstates re-init in fast-reboot code path.</p>
</ul>
<p>Since skiboot-5.10-rc1:</p>
<ul>
-<li><p class="first">fast-reboot: occ: Re-parse the pstate table during fast-reboot</p>
+<li><p>fast-reboot: occ: Re-parse the pstate table during fast-reboot</p>
<p>OCC shares the frequency list to host by copying the pstate table to
main memory in HOMER. This table is parsed during boot to create
device-tree properties for frequency and pstate IDs. OCC can update
@@ -1047,7 +1036,7 @@ properties during fast-reboot.</p>
bias command. And this is mainly used by WOF team for
characterization purposes.</p>
</li>
-<li><p class="first">fast-reboot: move pci_reset error handling into fast-reboot code</p>
+<li><p>fast-reboot: move pci_reset error handling into fast-reboot code</p>
<p>pci_reset() currently does a platform reboot if it fails. It
should not know about fast-reboot at this level, so instead have
it return an error, and the fast reboot caller will do the
@@ -1061,7 +1050,7 @@ should be the goal.</p>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">lpc: Clear pending IRQs at boot</p>
+<li><p>lpc: Clear pending IRQs at boot</p>
<p>When we come in from hostboot the LPC master has the bus reset indicator
set. This error isn’t handled until the host kernel unmasks interrupts,
at which point we get the following spurious error:</p>
@@ -1072,7 +1061,7 @@ at which point we get the following spurious error:</p>
<p>Fix this by clearing the various error bits in the LPC status register
before we initialise the skiboot LPC bus driver.</p>
</li>
-<li><p class="first">hw/imc: Check ucode state before exposing units to Linux</p>
+<li><p>hw/imc: Check ucode state before exposing units to Linux</p>
<p>disable_unavailable_units() checks whether the ucode
is in the running state before enabling the nest units
in the device tree. From a recent debug, it is found
@@ -1086,24 +1075,24 @@ condition in disable_unavailable_units() to check
for the ucode state in all the chip before enabling
the nest units in the device tree node.</p>
</li>
-<li><p class="first">hdata/vpd: Add vendor property</p>
+<li><p>hdata/vpd: Add vendor property</p>
<p>ibm,vpd blob contains VN field. Use that to populate vendor property
for various FRU’s.</p>
</li>
-<li><p class="first">hdata/vpd: Fix DTC warnings</p>
+<li><p>hdata/vpd: Fix DTC warnings</p>
<p>All the nodes under the vpd hierarchy have a unit address (their SLCA
index) but no reg properties. Add them and their size/address cells
to squash the warnings.</p>
</li>
-<li><p class="first">HDAT/i2c: Fix SPD EEPROM compatible string</p>
+<li><p>HDAT/i2c: Fix SPD EEPROM compatible string</p>
<p>Hostboot doesn’t give us accurate information about the DIMM SPD
devices. Hack around by assuming any EEPROM we find on the SPD I2C
master is an SPD EEPROM.</p>
</li>
-<li><p class="first">hdata/i2c: Fix 512Kb EEPROM size</p>
+<li><p>hdata/i2c: Fix 512Kb EEPROM size</p>
<p>There’s no such thing as a 412Kb EEPROM.</p>
</li>
-<li><p class="first">libflash/mbox-flash: fall back to requesting lower MBOX versions from BMC</p>
+<li><p>libflash/mbox-flash: fall back to requesting lower MBOX versions from BMC</p>
<p>Some BMC mbox implementations seem to sometimes mysteriously fail when trying
to negotiate v3 when they only support v2. To work around this, we
can fall back to requesting lower mbox protocol versions until we find
@@ -1111,14 +1100,14 @@ one that works.</p>
<p>In theory, this should already “just work”, but we have a counter example,
which this patch fixes.</p>
</li>
-<li><p class="first">IPMI: Fix platform.cec_reboot() null ptr checks</p>
+<li><p>IPMI: Fix platform.cec_reboot() null ptr checks</p>
<p>Kudos to Hugo Landau who reported this in:
<a class="reference external" href="https://github.com/open-power/skiboot/issues/142">https://github.com/open-power/skiboot/issues/142</a></p>
</li>
-<li><p class="first">hdata: Add location code property to xscom node</p>
+<li><p>hdata: Add location code property to xscom node</p>
<p>This patch adds chip location code property to xscom node.</p>
</li>
-<li><p class="first">p8-i2c: Limit number of retry attempts</p>
+<li><p>p8-i2c: Limit number of retry attempts</p>
<p>Current we will attempt to start an I2C transaction until it succeeds.
In the event that the OCC does not release the lock on an I2C bus this
results in an async token being held forever and the kernel thread that
@@ -1126,54 +1115,54 @@ started the transaction will block forever while waiting for an async
completion message. Fix this by limiting the number of attempts to
start the transaction.</p>
</li>
-<li><p class="first">p8-i2c: Don’t write the watermark register at init</p>
+<li><p>p8-i2c: Don’t write the watermark register at init</p>
<p>On P9 the I2C master is shared with the OCC. Currently the watermark
values are set once at init time which is bad for two reasons:</p>
<ol class="loweralpha simple">
-<li>We don’t take the OCC master lock before setting it. Which
-may cause issues if the OCC is currently using the master.</li>
-<li>The OCC might change the watermark levels and we need to reset
-them.</li>
+<li><p>We don’t take the OCC master lock before setting it. Which
+may cause issues if the OCC is currently using the master.</p></li>
+<li><p>The OCC might change the watermark levels and we need to reset
+them.</p></li>
</ol>
<p>Change this so that we set the watermark value when a new transaction
is started rather than at init time.</p>
</li>
-<li><p class="first">hdata: Rename ‘fsp-ipl-side’ as ‘sp-ipl-side’</p>
+<li><p>hdata: Rename ‘fsp-ipl-side’ as ‘sp-ipl-side’</p>
<p>as OPAL is building device tree for both FSP and BMC system.
Also I don’t see anyone using this property today. Hence renaming
should be fine.</p>
</li>
-<li><p class="first">hdata/vpd: add support for parsing CPU VRML records</p>
+<li><p>hdata/vpd: add support for parsing CPU VRML records</p>
<p>Allows skiboot to parse out the processor part/serial numbers
on OpenPOWER P9 machines.</p>
</li>
-<li><p class="first">core/lock: Introduce atomic cmpxchg and implement try_lock with it</p>
+<li><p>core/lock: Introduce atomic cmpxchg and implement try_lock with it</p>
<p>cmpxchg will be used in a subsequent change, and this reduces the
amount of asm code.</p>
</li>
-<li><p class="first">direct-controls: add xscom error handling for p8</p>
+<li><p>direct-controls: add xscom error handling for p8</p>
<p>Add xscom checks which will print something useful and return error
back to callers (which already have error handling plumbed in).</p>
</li>
-<li><p class="first">direct-controls: p8 implementation of generic direct controls</p>
+<li><p>direct-controls: p8 implementation of generic direct controls</p>
<p>This reworks the sreset functionality that was brought over from
fast-reboot, and fits it under the generic direct controls APIs.</p>
<p>The fast reboot APIs are implemented using generic direct controls,
which also makes them available on p9.</p>
</li>
-<li><p class="first">fast-reboot: allow mambo fast reboot independent of CPU type</p>
+<li><p>fast-reboot: allow mambo fast reboot independent of CPU type</p>
<p>Don’t tie mambo fast reboot to POWER8 CPU type.</p>
</li>
-<li><p class="first">fast-reboot: remove delay after sreset</p>
+<li><p>fast-reboot: remove delay after sreset</p>
<p>There is a 100ms delay when targets reach sreset which does not appear
to have a good purpose. Remove it and therefore reduce the sreset timeout
by the same amount.</p>
</li>
-<li><p class="first">fast-reboot: add more barriers around cpu state changes</p>
+<li><p>fast-reboot: add more barriers around cpu state changes</p>
<p>This is a bit of paranoia, but when a CPU changes state to signal it
has reached a particular point, all previous stores should be visible.</p>
</li>
-<li><p class="first">fast-reboot: add sreset timeout detection and handling</p>
+<li><p>fast-reboot: add sreset timeout detection and handling</p>
<p>Have the initiator wait for all its sreset targets to call in, and
time out after 200ms if they did not. Fail and revert to IPL reboot.</p>
<p>Testing indicates that after successful sreset_all_others(), it
@@ -1181,25 +1170,22 @@ takes less than 102ms (in hundreds of fast reboots) for secondaries
to call in. 100 of that is due to an initial delay, but core
un-splitting was not measured.</p>
</li>
-<li><p class="first">fast-reboot: make spin loops consistent and SMT friendly</p>
-</li>
-<li><p class="first">fast-reboot: add sreset_all_others error handling</p>
+<li><p>fast-reboot: make spin loops consistent and SMT friendly</p></li>
+<li><p>fast-reboot: add sreset_all_others error handling</p>
<p>Pass back failures from sreset_all_others, also change return codes to
OPAL form in sreset_all_prepare to match.</p>
<p>Errors will revert to the IPL path, so it’s not critical to completely
clean up everything if that would complicate things. Detecting the
error and failing is the important thing.</p>
</li>
-<li><p class="first">fast-reboot: restore SMT priority on spin loop exit</p>
-</li>
-<li><p class="first">Add documentation for ibm, firmware-versions device tree node</p>
-</li>
-<li><p class="first">NX: Print read xscom config failures.</p>
+<li><p>fast-reboot: restore SMT priority on spin loop exit</p></li>
+<li><p>Add documentation for ibm, firmware-versions device tree node</p></li>
+<li><p>NX: Print read xscom config failures.</p>
<p>Currently in NX, only write xscom config failures are tracing.
Add trace statements for read xscom config failures too.
No functional changes.</p>
</li>
-<li><p class="first">hw/nx: Fix NX BAR assignments</p>
+<li><p>hw/nx: Fix NX BAR assignments</p>
<p>The NX rng BAR is used by each core to source random numbers for the
DARN instruction. Currently we configure each core to use the NX rng of
the chip that it exists on. Unfortunately, the NX can be de-configured by
@@ -1209,13 +1195,13 @@ init path. This lets us check if the normal (chip local) NX is active
when configuring which NX a core should use so that we can fall back
gracefully.</p>
</li>
-<li><p class="first">FSP-elog: Reduce verbosity of elog messages</p>
+<li><p>FSP-elog: Reduce verbosity of elog messages</p>
<p>These messages just fill up the opal console log with useless messages
resulting in us losing useful information.</p>
<p>They have been like this since the first commit in skiboot. Make them
trace.</p>
</li>
-<li><p class="first">core/bitmap: fix bitmap iteration limit corruption</p>
+<li><p>core/bitmap: fix bitmap iteration limit corruption</p>
<p>The bitmap iterators did not reduce the number of bits to scan
when searching for the next bit, which would result in them
overrunning their bitmap.</p>
@@ -1224,7 +1210,7 @@ is that the xive reset code will keep zeroing memory until it
reaches a block of memory of MAX_EQ_COUNT &gt;&gt; 3 bits in length,
all zeroes.</p>
</li>
-<li><p class="first">hw/imc: always enable “imc_nest_chip” exports property</p>
+<li><p>hw/imc: always enable “imc_nest_chip” exports property</p>
<p>imc_dt_update_nest_node() adds a “imc_nest_chip” property
to the “exports” node (under opal_node) to view nest counter
region. This comes handy when debugging ucode runtime
@@ -1235,18 +1221,18 @@ the debug of ucode not running/starting issues at boot,
enable the addition of “imc_nest_chip” property always.</p>
</li>
</ul>
-</div>
-<div class="section" id="nvlink2">
+</section>
+<section id="nvlink2">
<h2>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot-5.10-rc2:</p>
<ul>
-<li><p class="first">npu2: Disable TVT range check when in bypass mode</p>
+<li><p>npu2: Disable TVT range check when in bypass mode</p>
<p>On POWER9 the GPUs need to be able to access the MMIO memory space. Therefore
the TVT range check needs to include the MMIO address space. As any possible
range check would cover all of memory anyway this patch just disables the TVT
range check all together when bypassing the TCE tables.</p>
</li>
-<li><p class="first">hw/npu2: support creset of npu2 devices</p>
+<li><p>hw/npu2: support creset of npu2 devices</p>
<p>creset calls in the hw procedure that resets the PHY, we don’t
take them out of reset, just put them in reset.</p>
<p>this fixes a kexec issue.</p>
@@ -1254,14 +1240,14 @@ take them out of reset, just put them in reset.</p>
</ul>
<p>Since skiboot-5.10-rc1:</p>
<ul>
-<li><p class="first">npu2/tce: Fix page size checking</p>
+<li><p>npu2/tce: Fix page size checking</p>
<p>The page size is encoded in the TVT data [59:63] as &#64;shift+11 but
the tce_kill handler does not do the math right; this fixes it.</p>
</li>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">npu2-hw-procedures.c: Correct phy lane mapping</p>
+<li><p>npu2-hw-procedures.c: Correct phy lane mapping</p>
<p>Each NVLINK2 device is associated with a particular group of OBUS lanes via
a lane mask which is read from HDAT via the device-tree. However Skiboot’s
interpretation of lane mask was different to what is exported from the
@@ -1272,7 +1258,7 @@ represented by having lane-mask bit 23 set and lane-23 is represented by
lane-mask bit 0. This patch alters the Skiboot interpretation to match what
is passed from HDAT.</p>
</li>
-<li><p class="first">npu2-hw-procedures.c: Power up lanes during ntl reset</p>
+<li><p>npu2-hw-procedures.c: Power up lanes during ntl reset</p>
<p>Newer versions of Hostboot will not power up the NVLINK2 PHY lanes by
default. The phy_reset procedure already powers up the lanes but they also
need to be powered up in order to access the DL.</p>
@@ -1280,36 +1266,31 @@ need to be powered up in order to access the DL.</p>
of reset and get it into a working state. Therefore we also need to add
lane and clock power up to the reset_ntl procedure.</p>
</li>
-<li><p class="first">npu2.c: Add PE error detection</p>
+<li><p>npu2.c: Add PE error detection</p>
<p>Invalid accesses from the GPU can cause a specific PE to be frozen by the
NPU. Add an interrupt handler which reports the frozen PE to the operating
system via as an EEH event.</p>
</li>
-<li><p class="first">npu2.c: Fix XIVE IRQ alignment</p>
-</li>
-<li><p class="first">npu2: hw-procedures: Refactor reset_ntl procedure</p>
+<li><p>npu2.c: Fix XIVE IRQ alignment</p></li>
+<li><p>npu2: hw-procedures: Refactor reset_ntl procedure</p>
<p>Change the implementation of reset_ntl to match the latest programming
guide documentation.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Add phy_rx_clock_sel()</p>
+<li><p>npu2: hw-procedures: Add phy_rx_clock_sel()</p>
<p>Change the RX clk mux control to be done by software instead of HW. This
avoids glitches caused by changing the mux setting.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Change phy_rx_clock_sel values</p>
+<li><p>npu2: hw-procedures: Change phy_rx_clock_sel values</p>
<p>The clock selection bits we set here are inputs to a state machine.</p>
<p>DL clock select (bits 30-31)</p>
-<dl class="docutils">
-<dt>0b00</dt>
-<dd><p class="first last">lane 0 clock</p>
+<dl class="simple">
+<dt>0b00</dt><dd><p>lane 0 clock</p>
</dd>
-<dt>0b01</dt>
-<dd><p class="first last">lane 7 clock</p>
+<dt>0b01</dt><dd><p>lane 7 clock</p>
</dd>
-<dt>0b10</dt>
-<dd><p class="first last">grid clock</p>
+<dt>0b10</dt><dd><p>grid clock</p>
</dd>
-<dt>0b11</dt>
-<dd><p class="first last">invalid/no-op</p>
+<dt>0b11</dt><dd><p>invalid/no-op</p>
</dd>
</dl>
<p>To recover from a potential glitch, we need to ensure that the value we
@@ -1320,14 +1301,14 @@ state change for some bricks.</p>
<p>The way to force a state change in all cases is to switch to the grid
clock, and then back to a lane.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Manipulate IOVALID during training</p>
+<li><p>npu2: hw-procedures: Manipulate IOVALID during training</p>
<p>Ensure that the IOVALID bit for this brick is raised at the start of
link training, in the reset_ntl procedure.</p>
<p>Then, to protect us from a glitch when the PHY clock turns off or gets
chopped, lower IOVALID for the duration of the phy_reset and
phy_rx_dccal procedures.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Add check_credits procedure</p>
+<li><p>npu2: hw-procedures: Add check_credits procedure</p>
<p>As an immediate mitigation for a current hardware glitch, add a procedure
that can be used to validate NTL credit values. This will be called as a
safeguard to check that link training succeeded.</p>
@@ -1335,7 +1316,7 @@ safeguard to check that link training succeeded.</p>
system will experience a catastrophic failure shortly after the start of
link traffic.</p>
</li>
-<li><p class="first">npu2: Print bdfn in NPU2DEV* logging macros</p>
+<li><p>npu2: Print bdfn in NPU2DEV* logging macros</p>
<p>Revise the NPU2DEV{DBG,INF,ERR} logging macros to include the device’s
bdfn. It’s useful to know exactly which link we’re referring to.</p>
<blockquote>
@@ -1359,22 +1340,22 @@ bdfn. It’s useful to know exactly which link we’re referring to.</p>
</div>
</div></blockquote>
</li>
-<li><p class="first">npu2: Move to new GPU memory map</p>
+<li><p>npu2: Move to new GPU memory map</p>
<p>There are three different ways we configure the MCD and memory map.</p>
<ol class="arabic simple">
-<li><dl class="first docutils">
-<dt>Old way (current way)</dt>
-<dd>Skiboot configures the MCD and puts GPUs at 4TB and below</dd>
+<li><dl class="simple">
+<dt>Old way (current way)</dt><dd><p>Skiboot configures the MCD and puts GPUs at 4TB and below</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>New way with MCD</dt>
-<dd>Hostboot configures the MCD and skiboot puts GPU at 4TB and above</dd>
+<li><dl class="simple">
+<dt>New way with MCD</dt><dd><p>Hostboot configures the MCD and skiboot puts GPU at 4TB and above</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>New way without MCD</dt>
-<dd>No one configures the MCD and skiboot puts GPU at 4TB and below</dd>
+<li><dl class="simple">
+<dt>New way without MCD</dt><dd><p>No one configures the MCD and skiboot puts GPU at 4TB and below</p>
+</dd>
</dl>
</li>
</ol>
@@ -1388,18 +1369,18 @@ support existing hostboot.</p>
<p>Option 3 supports 6 GPUs and 4TB of memory but may have some
performance impact.</p>
</li>
-<li><p class="first">phys-map: Rename GPU_MEM to GPU_MEM_4T_DOWN</p>
+<li><p>phys-map: Rename GPU_MEM to GPU_MEM_4T_DOWN</p>
<p>This map is soon to be replaced, but we are going to keep it around
for a little while so that we support older hostboot firmware.</p>
</li>
</ul>
-</div>
-<div class="section" id="platform-specific-fixes">
+</section>
+<section id="platform-specific-fixes">
<h2>Platform Specific Fixes<a class="headerlink" href="#platform-specific-fixes" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="witherspoon">
+<section id="witherspoon">
<h3>Witherspoon<a class="headerlink" href="#witherspoon" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">Witherspoon: Remove old Witherspoon platform definition</p>
+<li><p>Witherspoon: Remove old Witherspoon platform definition</p>
<p>An old Witherspoon platform definition was added to aid the transition from
versions of Hostboot which didn’t have the correct NVLINK2 HDAT information
available and/or planar VPD. These system should now be updated so remove
@@ -1412,7 +1393,7 @@ undefined behaviour which is more difficult to detect/debug than not
creating the NVLINK2 devices so remove the possibly incorrect default
behaviour.</p>
</li>
-<li><p class="first">Witherspoon: Fix VPD EEPROM type</p>
+<li><p>Witherspoon: Fix VPD EEPROM type</p>
<p>There are user-space tools that update the planar VPD via the sysfs
interface. Currently we do not get correct information from hostboot
about the exact type of the EEPROM so we need to manually fix it up
@@ -1420,11 +1401,11 @@ here. This needs to be done as a platform specific fix since there is
not standardised VPD EEPROM type.</p>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-systems">
+</section>
+<section id="ibm-fsp-systems">
<h3>IBM FSP Systems<a class="headerlink" href="#ibm-fsp-systems" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">nvram: Fix ‘missing’ nvram on FSP systems.</p>
+<li><p>nvram: Fix ‘missing’ nvram on FSP systems.</p>
<p>commit ba4d46fdd9eb (“console: Set log level from nvram”) wants to read
from NVRAM rather early. This works fine on BMC based systems as
nvram_init() is actually synchronous. This is not true for FSP systems
@@ -1445,13 +1426,13 @@ have an nvram device-tree node which means it won’t be able to access
the NVRAM at all, ever, even after the NVRAM has loaded.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="utilities">
+</section>
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot-5.10-rc1:</p>
<ul>
-<li><p class="first">opal-prd: Fix FTBFS with -Werror=format-overflow</p>
+<li><p>opal-prd: Fix FTBFS with -Werror=format-overflow</p>
<p>i2c.c fails to compile with gcc7 and -Werror=format-overflow used in
Debian Unstable and Ubuntu 18.04 :</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>i2c.c: In function ‘i2c_init’:
@@ -1463,53 +1444,53 @@ region of size 236 [-Werror=format-overflow=]
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">Fix xscom-utils distclean target</p>
+<li><p>Fix xscom-utils distclean target</p>
<p>In Debian/Ubuntu, the packaging system likes to have a full clean-up that
restores the tree back to original one, so add some files to the distclean
target.</p>
</li>
-<li><p class="first">Add man pages for xscom-utils and pflash</p>
+<li><p>Add man pages for xscom-utils and pflash</p>
<p>For the need of Debian/Ubuntu packaging, I inferred some initial man
pages from their help output.</p>
</li>
</ul>
-<div class="section" id="gard">
+<section id="gard">
<h3>gard<a class="headerlink" href="#gard" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">gard: Add tests</p>
+<li><p>gard: Add tests</p>
<p>I hear Stewart likes these for some reason. Dunno why.</p>
</li>
-<li><p class="first">gard: Add OpenBMC vPNOR support</p>
+<li><p>gard: Add OpenBMC vPNOR support</p>
<p>A big-ol-hack to add some checking for OpenBMC’s vPNOR GUARD files under
/media/pnor-prsv. This isn’t ideal since it doesn’t handle the create
case well, but it’s better than nothing.</p>
</li>
-<li><p class="first">gard: Always use MTD to access flash</p>
+<li><p>gard: Always use MTD to access flash</p>
<p>Direct mode is generally either unsafe or unsupported. We should always
access the PNOR via an MTD device so make that the default. If someone
really needs direct mode, then they can use pflash.</p>
</li>
-<li><p class="first">gard: Fix up do_create return values</p>
+<li><p>gard: Fix up do_create return values</p>
<p>The return value of a subcommand is interpreted as a libflash error code
when it’s positive or some subcommand specific error when negative.
Currently the create subcommand always returns zero when exiting (even
for errors) so fix that.</p>
</li>
-<li><p class="first">gard: Add usage message for -p</p>
+<li><p>gard: Add usage message for -p</p>
<p>The -p argument only really makes sense when -f is specified. Print an
actual error message rather than just the usage blob.</p>
</li>
-<li><p class="first">gard: Fix max instance count</p>
+<li><p>gard: Fix max instance count</p>
<p>There’s an entire byte for the instance count rather than a nibble. Only
barf if the instance number is beyond 255 rather than 16.</p>
</li>
-<li><p class="first">gard: Fix up path parsing</p>
+<li><p>gard: Fix up path parsing</p>
<p>Currently we assume that the Unit ID can be used as an array index into
the chip_units[] structure. There are holes in the ID space though, so
this doesn’t actually work. Fix it up by walking the array looking for
the ID.</p>
</li>
-<li><p class="first">gard: Set chip generation based on PVR</p>
+<li><p>gard: Set chip generation based on PVR</p>
<p>Currently we assume that this tool is being used on a P8 system by
default and allow the user to override this behaviour using the -8 and
-9 command line arguments. When running on the host we can use the
@@ -1519,48 +1500,47 @@ when running on an ARM system. This tool didn’t even work when compiled
for ARM until recently and the OpenBMC vPNOR hack that we have currently
is broken for P9 systems that don’t use vPNOR (Zaius and Romulus).</p>
</li>
-<li><p class="first">gard: Allow records with an ID of 0xffffffff</p>
+<li><p>gard: Allow records with an ID of 0xffffffff</p>
<p>We currently assume that a record with an ID of 0xffffffff is invalid.
Apparently this is incorrect and we should display these records, so
expand the check to compare the entire record with 0xff rather than
just the ID.</p>
</li>
-<li><p class="first">gard: create: Allow creating arbitrary GARD records</p>
+<li><p>gard: create: Allow creating arbitrary GARD records</p>
<p>Add a new sub-command that allows us to create GARD records for
arbitrary chip units. There isn’t a whole lot of constraints on this and
that limits how useful it can be, but it does allow a user to GARD out
individual DIMMs, chips or cores from the BMC (or host) if needed.</p>
<p>There are a few caveats though:</p>
<ol class="arabic simple">
-<li>Not everything can, or should, have a GARD record applied it to.</li>
-<li>There is no validation that the unit actually exists. Doing that
+<li><p>Not everything can, or should, have a GARD record applied it to.</p></li>
+<li><p>There is no validation that the unit actually exists. Doing that
sort of validation requires something that understands the FAPI
targeting information (I think) and adding support for it here
-would require some knowledge from the system XML file.</li>
-<li>There’s no way to get a list of paths in the system.</li>
-<li>Although we can create a GARD record at runtime it won’t be applied
-until the next IPL.</li>
+would require some knowledge from the system XML file.</p></li>
+<li><p>There’s no way to get a list of paths in the system.</p></li>
+<li><p>Although we can create a GARD record at runtime it won’t be applied
+until the next IPL.</p></li>
</ol>
</li>
-<li><p class="first">gard: Add path parsing support</p>
+<li><p>gard: Add path parsing support</p>
<p>In order to support manual GARD records we need to be able to parse the
hardware unit path strings. This patch implements that.</p>
</li>
-<li><p class="first">gard: list: Improve output</p>
+<li><p>gard: list: Improve output</p>
<p>Display the full path to the GARDed hardware unit in each record rather
than relying on the output of <cite>gard show</cite> and convert do_list() to use
the iterator while we’re here.</p>
</li>
-<li><p class="first">gard: {list, show}: Fix the Type field in the output</p>
+<li><p>gard: {list, show}: Fix the Type field in the output</p>
<p>The output of <cite>gard list</cite> has a field named “Type”, however this
doesn’t actually indicate the type of the record. Rather, it
shows the type of the path used to identify the hardware being
GARDed. This is of pretty dubious value considering the Physical
path seems to always be used when referring to GARDed hardware.</p>
</li>
-<li><p class="first">gard: Add P9 support</p>
-</li>
-<li><p class="first">gard: Update chip unit data</p>
+<li><p>gard: Add P9 support</p></li>
+<li><p>gard: Update chip unit data</p>
<p>Source the list of units from the hostboot source rather than the
previous hard coded list. The list of path element types changes
between generations so we need to add a level of indirection to
@@ -1568,42 +1548,42 @@ accommodate P9. This also changes the names used to match those
printed by Hostboot at IPL time and paves the way to adding support
for manual GARD record creation.</p>
</li>
-<li><p class="first">gard: show: Remove “Res Recovery” field</p>
+<li><p>gard: show: Remove “Res Recovery” field</p>
<p>This field has never been populated by hostboot on OpenPower systems
so there’s no real point in reporting it’s contents.</p>
</li>
</ul>
-</div>
-<div class="section" id="libflash-pflash">
+</section>
+<section id="libflash-pflash">
<h3>libflash / pflash<a class="headerlink" href="#libflash-pflash" title="Permalink to this headline">¶</a></h3>
<p>Anybody shipping libflash or pflash to interact with POWER9 systems must
upgrade to this version.</p>
<p>Since skiboot-5.10-rc2:</p>
<ul class="simple">
-<li>pflash: Fix makefile dependency issue</li>
+<li><p>pflash: Fix makefile dependency issue</p></li>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">pflash: Support for volatile flag</p>
+<li><p>pflash: Support for volatile flag</p>
<p>The volatile flag was added to the PNOR image to
indicate partitions that are cleared during a host
power off. Display this flag from the pflash command.</p>
</li>
-<li><p class="first">pflash: Support for clean_on_ecc_error flag</p>
+<li><p>pflash: Support for clean_on_ecc_error flag</p>
<p>Add the misc flag clear_on_ecc_error to libflash/pflash. This was
the only missing flag. The generator of the virtual PNOR image
relies on libflash/pflash to provide the partition information,
so all flags are needed to build an accurate virtual PNOR partition
table.</p>
</li>
-<li><p class="first">pflash: Respect write(2) return values</p>
+<li><p>pflash: Respect write(2) return values</p>
<p>The write(2) system call returns the number of bytes written, this is
important since it is entitled to write less than what we requested.
Currently we ignore the return value and assume it wrote everything we
requested. While in practice this is likely to always be the case, it
isn’t actually correct.</p>
</li>
-<li><p class="first">external/pflash: Fix erasing within a single erase block</p>
+<li><p>external/pflash: Fix erasing within a single erase block</p>
<p>It is possible to erase within a single erase block. Currently the
pflash code assumes that if the erase starts part way into an erase
block it is because it needs to be aligned up to the boundary with the
@@ -1611,7 +1591,7 @@ next erase block.</p>
<p>Doing an erase smaller than a single erase block will cause underflows
and looping forever on erase.</p>
</li>
-<li><p class="first">external/pflash: Fix non-zero return code for successful read when size%256 != 0</p>
+<li><p>external/pflash: Fix non-zero return code for successful read when size%256 != 0</p>
<p>When performing a read the return value from pflash is non-zero, even for
a successful read, when the size being read is not a multiple of 256.
This is because do_read_file returns the value from the write system
@@ -1622,20 +1602,17 @@ operation is successful the return code will seem to reflect an error.</p>
<p>Fix this by returning zero if the entire size was read correctly,
otherwise return the corresponding error code.</p>
</li>
-<li><p class="first">libflash: Fix parity calculation on ARM</p>
+<li><p>libflash: Fix parity calculation on ARM</p>
<p>To calculate the ECC syndrome we need to calculate the parity of a 64bit
number. On non-powerpc platforms we use the GCC builtin function
__builtin_parityl() to do this calculation. This is broken on 32bit ARM
where sizeof(unsigned long) is four bytes. Using __builtin_parityll()
instead cures this.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Add the ability to lock flash</p>
-</li>
-<li><p class="first">libflash/mbox-flash: Understand v3</p>
-</li>
-<li><p class="first">libflash/mbox-flash: Use BMC suggested timeout value</p>
-</li>
-<li><p class="first">libflash/mbox-flash: Simplify message sending</p>
+<li><p>libflash/mbox-flash: Add the ability to lock flash</p></li>
+<li><p>libflash/mbox-flash: Understand v3</p></li>
+<li><p>libflash/mbox-flash: Use BMC suggested timeout value</p></li>
+<li><p>libflash/mbox-flash: Simplify message sending</p>
<p>hw/lpc-mbox no longer requires that the memory associated with messages
exist for the lifetime of the message. Once it has been sent to the BMC,
that is bmc_mbox_enqueue() returns, lpc-mbox does not need the message
@@ -1643,7 +1620,7 @@ to continue to exist. On the receiving side, lpc-mbox will ensure that a
message exists for the receiving callback function.</p>
<p>Remove all code to deal with allocating messages.</p>
</li>
-<li><p class="first">hw/lpc-mbox: Simplify message bookkeeping and timeouts</p>
+<li><p>hw/lpc-mbox: Simplify message bookkeeping and timeouts</p>
<p>Currently the hw/lpc-mbox layer keeps a pointer for the currently
in-flight message for the duration of the mbox call. This creates
problems when messages timeout, is that pointer still valid, what can we
@@ -1657,7 +1634,7 @@ hard to be sure is correct</p>
sequence number allocation and verification into lpc-mbox rather than
the caller.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Allow mbox-flash to tell the driver msg timeouts</p>
+<li><p>libflash/mbox-flash: Allow mbox-flash to tell the driver msg timeouts</p>
<p>Currently when mbox-flash decides that a message times out the driver
has no way of knowing to drop the message and will continue waiting for
a response indefinitely preventing more messages from ever being sent.</p>
@@ -1666,9 +1643,8 @@ won’t ever respond to our outstanding message.</p>
<p>This patch provides a method for mbox-flash to tell the driver how long
it should wait before it no longer needs to care about the response.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Move sequence handling to driver level</p>
-</li>
-<li><p class="first">libflash/mbox-flash: Always close windows before opening a new window</p>
+<li><p>libflash/mbox-flash: Move sequence handling to driver level</p></li>
+<li><p>libflash/mbox-flash: Always close windows before opening a new window</p>
<p>The MBOX protocol states that if an open window command fails then all
open windows are closed. Currently, if an open window command fails
mbox-flash will erroneously assume that the previously open window is
@@ -1677,23 +1653,22 @@ still open.</p>
open window command and then on success we’ll mark the new window as
open.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Add v2 error codes</p>
-</li>
+<li><p>libflash/mbox-flash: Add v2 error codes</p></li>
</ul>
-</div>
-<div class="section" id="opal-prd">
+</section>
+<section id="opal-prd">
<h3>opal-prd<a class="headerlink" href="#opal-prd" title="Permalink to this headline">¶</a></h3>
<p>Anybody shipping <cite>opal-prd</cite> for POWER9 systems must upgrade <cite>opal-prd</cite> to
this new version.</p>
<ul>
-<li><p class="first">prd: Log unsupported message type</p>
+<li><p>prd: Log unsupported message type</p>
<p>Useful for debugging.</p>
<p>Sample output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="mf">29155.157050283</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">PRD</span><span class="p">:</span> <span class="n">Unsupported</span> <span class="n">prd</span> <span class="n">message</span> <span class="nb">type</span> <span class="p">:</span> <span class="mh">0xc</span>
</pre></div>
</div>
</li>
-<li><p class="first">opal-prd: occ: Add support for runtime OCC load/start in ZZ</p>
+<li><p>opal-prd: occ: Add support for runtime OCC load/start in ZZ</p>
<p>This patch adds support to handle OCC load/start event from FSP/PRD.
During IPL we send a success directly to FSP without invoking any HBRT
load routines on receiving OCC load mbox message from FSP. At runtime
@@ -1701,44 +1676,44 @@ we forward this event to host opal-prd.</p>
<p>This patch provides support for invoking OCC load/start HBRT routines
like load_pm_complex() and start_pm_complex() from opal-prd.</p>
</li>
-<li><p class="first">opal-prd: Add support for runtime OCC reset in ZZ</p>
+<li><p>opal-prd: Add support for runtime OCC reset in ZZ</p>
<p>This patch handles OCC_RESET runtime events in host opal-prd and also
provides support for calling ‘hostinterface-&gt;wakeup()’ which is
required for doing the reset operation.</p>
</li>
-<li><p class="first">prd: Enable error logging via firmware_request interface</p>
+<li><p>prd: Enable error logging via firmware_request interface</p>
<p>In P9 HBRT sends error logs to FSP via firmware_request interface.
This patch adds support to parse error log and send it to FSP.</p>
</li>
-<li><p class="first">prd: Add generic response structure inside prd_fw_msg</p>
+<li><p>prd: Add generic response structure inside prd_fw_msg</p>
<p>This patch adds generic response structure. Also sync prd_fw_msg type
macros with hostboot.</p>
</li>
-<li><p class="first">opal-prd: flush after logging to stdio in debug mode</p>
+<li><p>opal-prd: flush after logging to stdio in debug mode</p>
<p>When in debug mode, flush after each log output. This makes it more
likely that we’ll catch failure reasons on severe errors.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="debugging-and-reliability-improvements">
+</section>
+</section>
+<section id="debugging-and-reliability-improvements">
<h2>Debugging and reliability improvements<a class="headerlink" href="#debugging-and-reliability-improvements" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot-5.10-rc3:</p>
<ul class="simple">
-<li>increase log verbosity in debug builds</li>
-<li>Add -debug to version on DEBUG builds</li>
-<li>cpu_wait_job: Correctly report time spent waiting for job</li>
+<li><p>increase log verbosity in debug builds</p></li>
+<li><p>Add -debug to version on DEBUG builds</p></li>
+<li><p>cpu_wait_job: Correctly report time spent waiting for job</p></li>
</ul>
<p>Since skiboot-5.10-rc2:</p>
<ul>
-<li><p class="first">ATTN: Enable flush instruction cache bit in HID register</p>
+<li><p>ATTN: Enable flush instruction cache bit in HID register</p>
<p>In P9, we have to enable “flush the instruction cache” bit along with
“attn instruction support” bit to trigger attention.</p>
</li>
</ul>
<p>Since skiboot-5.10-rc1:</p>
<ul>
-<li><p class="first">core/init: manage MSR[ME] explicitly, always enable</p>
+<li><p>core/init: manage MSR[ME] explicitly, always enable</p>
<p>The current boot sequence inherits MSR[ME] from the IPL firmware, and
never changes it. Some environments disable MSR[ME] (e.g., mambo), and
others can enable it (hostboot).</p>
@@ -1748,7 +1723,7 @@ environment. Second, after installing our machine check handler,
MSR[ME] should be enabled to get some useful output rather than a
checkstop.</p>
</li>
-<li><p class="first">core/exception: beautify exception handler, add MCE-involved registers</p>
+<li><p>core/exception: beautify exception handler, add MCE-involved registers</p>
<p>Print DSISR and DAR, to help with deciphering machine check exceptions,
and improve the output a bit, decode NIP symbol, improve alignment, etc.
Also print a specific header for machine check, because we do expect to
@@ -1784,7 +1759,7 @@ see these if there is a hardware failure.</p>
</ul>
<p>Since skiboot-5.9:</p>
<ul>
-<li><p class="first">lock: Add additional lock auditing code</p>
+<li><p>lock: Add additional lock auditing code</p>
<p>Keep track of lock owner name and replace lock_depth counter
with a per-cpu list of locks held by the cpu.</p>
<p>This allows us to print the actual locks held in case we hit
@@ -1793,30 +1768,30 @@ lock held.</p>
<p>It also allows us to warn (and drop them) if locks are still
held when returning to the OS or completing a scheduled job.</p>
</li>
-<li><p class="first">Add support for new GCC 7 parametrized stack protector</p>
+<li><p>Add support for new GCC 7 parametrized stack protector</p>
<p>This gives us per-cpu guard values as well. For now I just
XOR a magic constant with the CPU PIR value.</p>
</li>
-<li><p class="first">Mambo: run hello_world and sreset_world tests with Secure and Trusted Boot</p>
+<li><p>Mambo: run hello_world and sreset_world tests with Secure and Trusted Boot</p>
<p>We <em>disable</em> the secure boot part, but we keep the verified boot
part as we don’t currently have container verification code for Mambo.</p>
<p>We can run a small part of the code currently though.</p>
</li>
-<li><p class="first">core/flash.c: extern function to get the name of a PNOR partition</p>
+<li><p>core/flash.c: extern function to get the name of a PNOR partition</p>
<p>This adds the flash_map_resource_name() to allow skiboot subsystems to
lookup the name of a PNOR partition. Thus, we don’t need to duplicate
the same information in other places (e.g. libstb).</p>
</li>
-<li><p class="first">libflash/mbox-flash: only wait for MBOX_DEFAULT_POLL_MS if busy</p>
+<li><p>libflash/mbox-flash: only wait for MBOX_DEFAULT_POLL_MS if busy</p>
<p>This makes the mbox unit test run 300x quicker and seems to
shave about 6 seconds from boot time on Witherspoon.</p>
</li>
-<li><p class="first">make check: Make valgrind optional</p>
+<li><p>make check: Make valgrind optional</p>
<p>To (slightly) lower the barrier for contributions, we can make valgrind
optional with just a small amount of plumbing.</p>
<p>This allows make check to run successfully without valgrind.</p>
</li>
-<li><p class="first">libflash/test: Add tests for mbox-flash</p>
+<li><p>libflash/test: Add tests for mbox-flash</p>
<p>A first basic set of tests for mbox-flash. These tests do their testing
by stubbing out or otherwise replacing functions not in
libflash/mbox-flash.c. The stubbed out version of the function can then
@@ -1832,26 +1807,26 @@ correctness.</p>
<p>Full integration tests with a ‘real’ BMC daemon are probably beyond the
scope of this repository.</p>
</li>
-<li><p class="first">external/test/test.sh: fix VERSION substitution when no tags</p>
+<li><p>external/test/test.sh: fix VERSION substitution when no tags</p>
<p>i.e. we get a hash rather than a version number</p>
<p>This seems to be occurring in Travis if it doesn’t pull a tag.</p>
</li>
-<li><p class="first">external/test: make stripping out version number more robust</p>
+<li><p>external/test: make stripping out version number more robust</p>
<p>For some bizarre reason, Travis started failing on this
substitution when there’d been zero code changes in this
area… This at least papers over whatever the problem is
for the time being.</p>
</li>
-<li><p class="first">io: Add load_wait() helper</p>
+<li><p>io: Add load_wait() helper</p>
<p>This uses the standard form twi/isync pair to ensure a load
is consumed by the core before continuing. This can be necessary
under some circumstances for example when having the following
sequence:</p>
<ul class="simple">
-<li>Store reg A</li>
-<li>Load reg A (ensure above store pushed out)</li>
-<li>delay loop</li>
-<li>Store reg A</li>
+<li><p>Store reg A</p></li>
+<li><p>Load reg A (ensure above store pushed out)</p></li>
+<li><p>delay loop</p></li>
+<li><p>Store reg A</p></li>
</ul>
<p>I.E., a mandatory delay between 2 stores. In theory the first store
is only guaranteed to reach the device after the load from the same
@@ -1860,7 +1835,7 @@ the delay loop without waiting for the return value from the load.</p>
<p>This construct enforces that the delay loop isn’t executed until
the load value has been returned.</p>
</li>
-<li><p class="first">chiptod: Keep boot timestamps contiguous</p>
+<li><p>chiptod: Keep boot timestamps contiguous</p>
<p>Currently we reset the timebase value to (almost) zero when
synchronising the timebase of each chip to the Chip TOD network which
results in this:</p>
@@ -1879,10 +1854,10 @@ the petikernel starts. e.g.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hdata/spira: Add missing newline to prlog() call</p>
+<li><p>hdata/spira: Add missing newline to prlog() call</p>
<p>We’re missing a n here.</p>
</li>
-<li><p class="first">opal/xscom: Add recovery for lost core wakeup SCOM failures.</p>
+<li><p>opal/xscom: Add recovery for lost core wakeup SCOM failures.</p>
<p>Due to a hardware issue where core responding to SCOM was delayed due to
thread reconfiguration, leaves the SCOM logic in a state where the
subsequent SCOM to that core can get errors. This is affected for Core
@@ -1894,50 +1869,47 @@ clears the SCOM logic errors. After the clearing write is done the original
SCOM operation can be retried.</p>
<p>The SCOM timeout is reported as status 0x4 (Invalid address) in HMER[21-23].</p>
</li>
-<li><p class="first">opal/xscom: Move the delay inside xscom_reset() function.</p>
+<li><p>opal/xscom: Move the delay inside xscom_reset() function.</p>
<p>So caller of xscom_reset() does not have to bother about adding a delay
separately. Instead caller can control whether to add a delay or not using
second argument to xscom_reset().</p>
</li>
-<li><p class="first">timer: Stop calling list_top() racily</p>
+<li><p>timer: Stop calling list_top() racily</p>
<p>This will trip the debug checks in debug builds under some circumstances
and is actually a rather bad idea as we might look at a timer that is
concurrently being removed and modified, and thus incorrectly assume
there is no work to do.</p>
</li>
-<li><p class="first">fsp: Bail out of HIR if FSP is resetting voluntarily</p>
+<li><p>fsp: Bail out of HIR if FSP is resetting voluntarily</p>
<ol class="loweralpha simple">
-<li>Surveillance response times out and OPAL triggers a HIR</li>
-<li>Before the HIR process kicks in, OPAL gets a PSI interrupt indicating link down</li>
-<li>HIR process continues and OPAL tries to write to DRCR; PSI link inactive =&gt; xstop</li>
+<li><p>Surveillance response times out and OPAL triggers a HIR</p></li>
+<li><p>Before the HIR process kicks in, OPAL gets a PSI interrupt indicating link down</p></li>
+<li><p>HIR process continues and OPAL tries to write to DRCR; PSI link inactive =&gt; xstop</p></li>
</ol>
<p>OPAL should confirm that the FSP is not already in reset in the HIR path.</p>
</li>
-<li><p class="first">sreset_kernel: only run SMT tests due to not supporting re-entry</p>
-</li>
-<li><p class="first">Use systemsim-p9 v1.1</p>
-</li>
-<li><p class="first">direct-controls: enable fast reboot direct controls for mambo</p>
+<li><p>sreset_kernel: only run SMT tests due to not supporting re-entry</p></li>
+<li><p>Use systemsim-p9 v1.1</p></li>
+<li><p>direct-controls: enable fast reboot direct controls for mambo</p>
<p>Add mambo direct controls to stop threads, which is required for
reliable fast-reboot. Enable direct controls by default on mambo.</p>
</li>
-<li><p class="first">core/opal: always verify cpu-&gt;pir on entry</p>
-</li>
-<li><p class="first">asm/head: add entry/exit calls</p>
+<li><p>core/opal: always verify cpu-&gt;pir on entry</p></li>
+<li><p>asm/head: add entry/exit calls</p>
<p>Add entry and exit C functions that can do some more complex
checks before the opal proper call. This requires saving off
volatile registers that have arguments in them.</p>
</li>
-<li><p class="first">core/lock: improve bust_locks</p>
+<li><p>core/lock: improve bust_locks</p>
<p>Prevent try_lock from modifying the lock state when bust_locks is set.
unlock will not unlock it in that case, so locks will get taken and
never released while bust_locks is set.</p>
</li>
-<li><p class="first">hw/occ: Log proper SCOM register names</p>
+<li><p>hw/occ: Log proper SCOM register names</p>
<p>This patch fixes the logging of incorrect SCOM
register names.</p>
</li>
-<li><p class="first">mambo: Add support for NUMA</p>
+<li><p>mambo: Add support for NUMA</p>
<p>Currently the mambo scripts can do multiple chips, but only the first
ever has memory.</p>
<p>This patch adds support for having memory on each chip, with each
@@ -1945,123 +1917,123 @@ appearing as a separate NUMA node. Each node gets MEM_SIZE worth of
memory.</p>
<p>It’s opt-in, via <code class="docutils literal notranslate"><span class="pre">export</span> <span class="pre">MAMBO_NUMA=1</span></code>.</p>
</li>
-<li><p class="first">external/mambo: Switch qtrace command to use plug-ins</p>
+<li><p>external/mambo: Switch qtrace command to use plug-ins</p>
<p>The plug-in seems to be the preferred way to do this now, it works
better, and the qtracer emitter seems to generate invalid traces
in new mambo versions.</p>
</li>
-<li><p class="first">asm/head: Loop after attn</p>
+<li><p>asm/head: Loop after attn</p>
<p>We use the attn instruction to raise an error in early boot if OPAL
don’t recognise the PVR. It’s possible for hostboot to disable the
attn instruction before entering OPAL so add an extra busy loop after
the attn to prevent attempting to boot on an unknown processor.</p>
</li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>302 csets from 32 developers</li>
-<li>3 employers found</li>
-<li>A total of 15919 lines added, 4786 removed (delta 11133)</li>
+<li><p>302 csets from 32 developers</p></li>
+<li><p>3 employers found</p></li>
+<li><p>A total of 15919 lines added, 4786 removed (delta 11133)</p></li>
</ul>
<p>Extending the analysis done for some previous releases, we can see our trends
in code review across versions:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="14%" />
-<col width="12%" />
-<col width="16%" />
-<col width="18%" />
-<col width="18%" />
-<col width="22%" />
+<col style="width: 14%" />
+<col style="width: 12%" />
+<col style="width: 16%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack %</th>
-<th class="head">Reviews %</th>
-<th class="head">Tested %</th>
-<th class="head">Reported %</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack %</p></th>
+<th class="head"><p>Reviews %</p></th>
+<th class="head"><p>Tested %</p></th>
+<th class="head"><p>Reported %</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15 (5%)</td>
-<td>20 (6%)</td>
-<td>1 (0%)</td>
-<td>0 (0%)</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13 (3%)</td>
-<td>38 (10%)</td>
-<td>1 (0%)</td>
-<td>4 (1%)</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20 (6%)</td>
-<td>34 (10%)</td>
-<td>6 (2%)</td>
-<td>11 (3%)</td>
-</tr>
-<tr class="row-odd"><td>5.3-rc1</td>
-<td>302</td>
-<td>36 (12%)</td>
-<td>53 (18%)</td>
-<td>4 (1%)</td>
-<td>5 (2%)</td>
-</tr>
-<tr class="row-even"><td>5.4</td>
-<td>361</td>
-<td>16 (4%)</td>
-<td>28 (8%)</td>
-<td>1 (0%)</td>
-<td>9 (2%)</td>
-</tr>
-<tr class="row-odd"><td>5.5</td>
-<td>408</td>
-<td>11 (3%)</td>
-<td>48 (12%)</td>
-<td>14 (3%)</td>
-<td>10 (2%)</td>
-</tr>
-<tr class="row-even"><td>5.6</td>
-<td>87</td>
-<td>12 (14%)</td>
-<td>6 (7%)</td>
-<td>5 (6%)</td>
-<td>2 (2%)</td>
-</tr>
-<tr class="row-odd"><td>5.7</td>
-<td>232</td>
-<td>30 (13%)</td>
-<td>32 (14%)</td>
-<td>5 (2%)</td>
-<td>2 (1%)</td>
-</tr>
-<tr class="row-even"><td>5.8</td>
-<td>157</td>
-<td>13 (8%)</td>
-<td>36 (23%)</td>
-<td>2 (1%)</td>
-<td>6 (4%)</td>
-</tr>
-<tr class="row-odd"><td>5.9</td>
-<td>209</td>
-<td>15 (7%)</td>
-<td>78 (37%)</td>
-<td>3 (1%)</td>
-<td>10 (5%)</td>
-</tr>
-<tr class="row-even"><td>5.10</td>
-<td>302</td>
-<td>20 (6%)</td>
-<td>62 (21%)</td>
-<td>24 (8%)</td>
-<td>11 (4%)</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15 (5%)</p></td>
+<td><p>20 (6%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>0 (0%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13 (3%)</p></td>
+<td><p>38 (10%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>4 (1%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20 (6%)</p></td>
+<td><p>34 (10%)</p></td>
+<td><p>6 (2%)</p></td>
+<td><p>11 (3%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.3-rc1</p></td>
+<td><p>302</p></td>
+<td><p>36 (12%)</p></td>
+<td><p>53 (18%)</p></td>
+<td><p>4 (1%)</p></td>
+<td><p>5 (2%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.4</p></td>
+<td><p>361</p></td>
+<td><p>16 (4%)</p></td>
+<td><p>28 (8%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>9 (2%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.5</p></td>
+<td><p>408</p></td>
+<td><p>11 (3%)</p></td>
+<td><p>48 (12%)</p></td>
+<td><p>14 (3%)</p></td>
+<td><p>10 (2%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.6</p></td>
+<td><p>87</p></td>
+<td><p>12 (14%)</p></td>
+<td><p>6 (7%)</p></td>
+<td><p>5 (6%)</p></td>
+<td><p>2 (2%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.7</p></td>
+<td><p>232</p></td>
+<td><p>30 (13%)</p></td>
+<td><p>32 (14%)</p></td>
+<td><p>5 (2%)</p></td>
+<td><p>2 (1%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.8</p></td>
+<td><p>157</p></td>
+<td><p>13 (8%)</p></td>
+<td><p>36 (23%)</p></td>
+<td><p>2 (1%)</p></td>
+<td><p>6 (4%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.9</p></td>
+<td><p>209</p></td>
+<td><p>15 (7%)</p></td>
+<td><p>78 (37%)</p></td>
+<td><p>3 (1%)</p></td>
+<td><p>10 (5%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.10</p></td>
+<td><p>302</p></td>
+<td><p>20 (6%)</p></td>
+<td><p>62 (21%)</p></td>
+<td><p>24 (8%)</p></td>
+<td><p>11 (4%)</p></td>
</tr>
</tbody>
</table>
@@ -2074,783 +2046,784 @@ which is more like what I’d expect.</p>
examination, 17 of those are actually from various automated testing on
commits to code we bring in from hostboot/other firmware components. When
you exclude them, we’re back down to 2% getting Tested-by, which isn’t great.</p>
-<div class="section" id="developers-with-the-most-changesets">
+<section id="developers-with-the-most-changesets">
<h3>Developers with the most changesets<a class="headerlink" href="#developers-with-the-most-changesets" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>40</td>
-<td>(13.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>40</p></td>
+<td><p>(13.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>37</td>
-<td>(12.3%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>37</p></td>
+<td><p>(12.3%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>36</td>
-<td>(11.9%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>36</p></td>
+<td><p>(11.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>23</td>
-<td>(7.6%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>23</p></td>
+<td><p>(7.6%)</p></td>
</tr>
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>20</td>
-<td>(6.6%)</td>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>20</p></td>
+<td><p>(6.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>19</td>
-<td>(6.3%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>19</p></td>
+<td><p>(6.3%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>13</td>
-<td>(4.3%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>13</p></td>
+<td><p>(4.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>12</td>
-<td>(4.0%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>12</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-even"><td>Reza Arbab</td>
-<td>12</td>
-<td>(4.0%)</td>
+<tr class="row-even"><td><p>Reza Arbab</p></td>
+<td><p>12</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>11</td>
-<td>(3.6%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>11</p></td>
+<td><p>(3.6%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>10</td>
-<td>(3.3%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>10</p></td>
+<td><p>(3.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Akshay Adiga</td>
-<td>10</td>
-<td>(3.3%)</td>
+<tr class="row-odd"><td><p>Akshay Adiga</p></td>
+<td><p>10</p></td>
+<td><p>(3.3%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>8</td>
-<td>(2.6%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>8</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>7</td>
-<td>(2.3%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>7</p></td>
+<td><p>(2.3%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>7</td>
-<td>(2.3%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>7</p></td>
+<td><p>(2.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>5</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>5</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Prem Shanker Jha</td>
-<td>4</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Prem Shanker Jha</p></td>
+<td><p>4</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Robert Lippert</td>
-<td>4</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Robert Lippert</p></td>
+<td><p>4</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Frédéric Bonnard</td>
-<td>3</td>
-<td>(1.0%)</td>
+<tr class="row-even"><td><p>Frédéric Bonnard</p></td>
+<td><p>3</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Christophe Lombard</td>
-<td>3</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Christophe Lombard</p></td>
+<td><p>3</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Madhavan Srinivasan</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Madhavan Srinivasan</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Adriana Kobylak</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Adriana Kobylak</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Sukadev Bhattiprolu</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Sukadev Bhattiprolu</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Alexey Kardashevskiy</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Suraj Jitindar Singh</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Guilherme G. Piccoli</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Guilherme G. Piccoli</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-changed-lines">
+</section>
+<section id="developers-with-the-most-changed-lines">
<h3>Developers with the most changed lines<a class="headerlink" href="#developers-with-the-most-changed-lines" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 70%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>4284</td>
-<td>(24.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>4284</p></td>
+<td><p>(24.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>2924</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>2924</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>2476</td>
-<td>(14.2%)</td>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>2476</p></td>
+<td><p>(14.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>1490</td>
-<td>(8.5%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1490</p></td>
+<td><p>(8.5%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>1475</td>
-<td>(8.4%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>1475</p></td>
+<td><p>(8.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>1242</td>
-<td>(7.1%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>1242</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>736</td>
-<td>(4.2%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>736</p></td>
+<td><p>(4.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>498</td>
-<td>(2.8%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>498</p></td>
+<td><p>(2.8%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>299</td>
-<td>(1.7%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>299</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Akshay Adiga</td>
-<td>273</td>
-<td>(1.6%)</td>
+<tr class="row-odd"><td><p>Akshay Adiga</p></td>
+<td><p>273</p></td>
+<td><p>(1.6%)</p></td>
</tr>
-<tr class="row-even"><td>Reza Arbab</td>
-<td>231</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Reza Arbab</p></td>
+<td><p>231</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>225</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>225</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>213</td>
-<td>(1.2%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>213</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Frédéric Bonnard</td>
-<td>169</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Frédéric Bonnard</p></td>
+<td><p>169</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>142</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>142</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Robert Lippert</td>
-<td>97</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Robert Lippert</p></td>
+<td><p>97</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>93</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>93</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Prem Shanker Jha</td>
-<td>92</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Prem Shanker Jha</p></td>
+<td><p>92</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Christophe Lombard</td>
-<td>80</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Christophe Lombard</p></td>
+<td><p>80</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>78</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>78</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Ellerman</td>
-<td>72</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Michael Ellerman</p></td>
+<td><p>72</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Adriana Kobylak</td>
-<td>71</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Adriana Kobylak</p></td>
+<td><p>71</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Madhavan Srinivasan</td>
-<td>61</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Madhavan Srinivasan</p></td>
+<td><p>61</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Sukadev Bhattiprolu</td>
-<td>58</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Sukadev Bhattiprolu</p></td>
+<td><p>58</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Vaibhav Jain</td>
-<td>52</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Vaibhav Jain</p></td>
+<td><p>52</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>27</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>27</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>16</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>16</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>9</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>9</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>5</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>5</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Alexey Kardashevskiy</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Suraj Jitindar Singh</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Guilherme G. Piccoli</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Guilherme G. Piccoli</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-lines-removed">
+</section>
+<section id="developers-with-the-most-lines-removed">
<h3>Developers with the most lines removed<a class="headerlink" href="#developers-with-the-most-lines-removed" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Alistair Popple</td>
-<td>304</td>
-<td>(6.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>304</p></td>
+<td><p>(6.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-signoffs">
+</section>
+<section id="developers-with-the-most-signoffs">
<h3>Developers with the most signoffs<a class="headerlink" href="#developers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>262</td>
-<td>(99.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>262</p></td>
+<td><p>(99.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-reviews">
+</section>
+<section id="developers-with-the-most-reviews">
<h3>Developers with the most reviews<a class="headerlink" href="#developers-with-the-most-reviews" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="74%" />
-<col width="9%" />
-<col width="16%" />
+<col style="width: 74%" />
+<col style="width: 9%" />
+<col style="width: 16%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>8</td>
-<td>(13.6%)</td>
+<tbody>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>8</p></td>
+<td><p>(13.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Balbir Singh</td>
-<td>5</td>
-<td>(8.5%)</td>
+<tr class="row-odd"><td><p>Balbir Singh</p></td>
+<td><p>5</p></td>
+<td><p>(8.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>5</td>
-<td>(8.5%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>5</p></td>
+<td><p>(8.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Gregory S. Still</td>
-<td>4</td>
-<td>(6.8%)</td>
+<tr class="row-odd"><td><p>Gregory S. Still</p></td>
+<td><p>4</p></td>
+<td><p>(6.8%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>4</td>
-<td>(6.8%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>4</p></td>
+<td><p>(6.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>3</td>
-<td>(5.1%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>3</p></td>
+<td><p>(5.1%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>3</td>
-<td>(5.1%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>3</p></td>
+<td><p>(5.1%)</p></td>
</tr>
-<tr class="row-odd"><td>RANGANATHPRASAD G. BRAHMASAMUDRA</td>
-<td>3</td>
-<td>(5.1%)</td>
+<tr class="row-odd"><td><p>RANGANATHPRASAD G. BRAHMASAMUDRA</p></td>
+<td><p>3</p></td>
+<td><p>(5.1%)</p></td>
</tr>
-<tr class="row-even"><td>Jennifer A. Stofer</td>
-<td>3</td>
-<td>(5.1%)</td>
+<tr class="row-even"><td><p>Jennifer A. Stofer</p></td>
+<td><p>3</p></td>
+<td><p>(5.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>3</td>
-<td>(5.1%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>3</p></td>
+<td><p>(5.1%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>2</td>
-<td>(3.4%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>2</p></td>
+<td><p>(3.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Hostboot Team</td>
-<td>2</td>
-<td>(3.4%)</td>
+<tr class="row-odd"><td><p>Hostboot Team</p></td>
+<td><p>2</p></td>
+<td><p>(3.4%)</p></td>
</tr>
-<tr class="row-even"><td>Christian R. Geddes</td>
-<td>2</td>
-<td>(3.4%)</td>
+<tr class="row-even"><td><p>Christian R. Geddes</p></td>
+<td><p>2</p></td>
+<td><p>(3.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>2</td>
-<td>(3.4%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>2</p></td>
+<td><p>(3.4%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>2</td>
-<td>(3.4%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>2</p></td>
+<td><p>(3.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>1</td>
-<td>(1.7%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>1</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>1</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>1</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Daniel M. Crowell</td>
-<td>1</td>
-<td>(1.7%)</td>
+<tr class="row-even"><td><p>Daniel M. Crowell</p></td>
+<td><p>1</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>1</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>1</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Madhavan Srinivasan</td>
-<td>1</td>
-<td>(1.7%)</td>
+<tr class="row-even"><td><p>Madhavan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>1</td>
-<td>(1.7%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-odd"><td><strong>Total</strong></td>
-<td>59</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p><strong>Total</strong></p></td>
+<td><p>59</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-test-credits">
+</section>
+<section id="developers-with-the-most-test-credits">
<h3>Developers with the most test credits<a class="headerlink" href="#developers-with-the-most-test-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>FSP CI Jenkins</td>
-<td>4</td>
-<td>(16.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>FSP CI Jenkins</p></td>
+<td><p>4</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Jenkins Server</td>
-<td>4</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Jenkins Server</p></td>
+<td><p>4</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-even"><td>Hostboot CI</td>
-<td>4</td>
-<td>(16.7%)</td>
+<tr class="row-even"><td><p>Hostboot CI</p></td>
+<td><p>4</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>3</td>
-<td>(12.5%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>3</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-even"><td>Jenkins OP Build CI</td>
-<td>3</td>
-<td>(12.5%)</td>
+<tr class="row-even"><td><p>Jenkins OP Build CI</p></td>
+<td><p>3</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Jenkins OP HW</td>
-<td>2</td>
-<td>(8.3%)</td>
+<tr class="row-odd"><td><p>Jenkins OP HW</p></td>
+<td><p>2</p></td>
+<td><p>(8.3%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>2</td>
-<td>(8.3%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>2</p></td>
+<td><p>(8.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(4.2%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(4.2%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>1</td>
-<td>(4.2%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(4.2%)</p></td>
</tr>
-<tr class="row-odd"><td><strong>Total</strong></td>
-<td>24</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p><strong>Total</strong></p></td>
+<td><p>24</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-tested-by-credits">
+</section>
+<section id="developers-who-gave-the-most-tested-by-credits">
<h3>Developers who gave the most tested-by credits<a class="headerlink" href="#developers-who-gave-the-most-tested-by-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Prem Shanker Jha</td>
-<td>17</td>
-<td>(70.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Prem Shanker Jha</p></td>
+<td><p>17</p></td>
+<td><p>(70.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>3</td>
-<td>(12.5%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>3</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>2</td>
-<td>(8.3%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>2</p></td>
+<td><p>(8.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>1</td>
-<td>(4.2%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1</p></td>
+<td><p>(4.2%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>1</td>
-<td>(4.2%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1</p></td>
+<td><p>(4.2%)</p></td>
</tr>
-<tr class="row-odd"><td><strong>Total</strong></td>
-<td>24</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p><strong>Total</strong></p></td>
+<td><p>24</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-report-credits">
+</section>
+<section id="developers-with-the-most-report-credits">
<h3>Developers with the most report credits<a class="headerlink" href="#developers-with-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>2</td>
-<td>(18.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>2</p></td>
+<td><p>(18.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Deb McLemore</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Deb McLemore</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Brad Bishop</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Brad Bishop</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Michel Normand</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Michel Normand</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Hugo Landau</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Hugo Landau</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Minda Wei</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Minda Wei</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Francesco A Campisano</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Francesco A Campisano</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td><strong>Total</strong></td>
-<td>11</td>
-<td>(100%)</td>
+<tr class="row-even"><td><p><strong>Total</strong></p></td>
+<td><p>11</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-report-credits">
+</section>
+<section id="developers-who-gave-the-most-report-credits">
<h3>Developers who gave the most report credits<a class="headerlink" href="#developers-who-gave-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>7</td>
-<td>(63.6%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>7</p></td>
+<td><p>(63.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Suraj Jitindar Singh</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Frédéric Bonnard</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Frédéric Bonnard</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td><strong>Total</strong></td>
-<td>11</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p><strong>Total</strong></p></td>
+<td><p>11</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="changesets-and-employers">
+</section>
+<section id="changesets-and-employers">
<h3>Changesets and Employers<a class="headerlink" href="#changesets-and-employers" title="Permalink to this headline">¶</a></h3>
<p>Top changeset contributors by employer:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>298</td>
-<td>(98.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>298</p></td>
+<td><p>(98.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Google</td>
-<td>3</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Google</p></td>
+<td><p>3</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>(Unknown)</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>(Unknown)</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
</tbody>
</table>
<p>Top lines changed by employer:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 67%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>17396</td>
-<td>(99.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>17396</p></td>
+<td><p>(99.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Google</td>
-<td>73</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Google</p></td>
+<td><p>73</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>(Unknown)</td>
-<td>24</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>(Unknown)</p></td>
+<td><p>24</p></td>
+<td><p>(0.1%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most signoffs (total 264):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="65%" />
-<col width="14%" />
-<col width="22%" />
+<col style="width: 65%" />
+<col style="width: 14%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>264</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>264</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most hackers (total 33)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>31</td>
-<td>(93.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>31</p></td>
+<td><p>(93.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Google</td>
-<td>1</td>
-<td>(3.0%)</td>
+<tr class="row-odd"><td><p>Google</p></td>
+<td><p>1</p></td>
+<td><p>(3.0%)</p></td>
</tr>
-<tr class="row-even"><td>(Unknown)</td>
-<td>1</td>
-<td>(3.0%)</td>
+<tr class="row-even"><td><p>(Unknown)</p></td>
+<td><p>1</p></td>
+<td><p>(3.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -2916,17 +2889,15 @@ you exclude them, we’re back down to 2% getting Tested-by, which isn’t great
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -2943,14 +2914,15 @@ you exclude them, we’re back down to 2% getting Tested-by, which isn’t great
<li class="right" >
<a href="skiboot-5.1.9.html" title="skiboot-5.1.9"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.10</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.11-rc1.html b/doc/release-notes/skiboot-5.11-rc1.html
index d375e24..6c21d3e 100644
--- a/doc/release-notes/skiboot-5.11-rc1.html
+++ b/doc/release-notes/skiboot-5.11-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.11-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.11-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.11.html" title="skiboot-5.11"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.11-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-11-rc1">
+ <section id="skiboot-5-11-rc1">
<span id="id1"></span><h1>skiboot-5.11-rc1<a class="headerlink" href="#skiboot-5-11-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.11-rc1 was released on Wednesday March 28th 2018. It is the first
release candidate of skiboot 5.11, which will become the new stable release
@@ -61,27 +61,27 @@ may be more 5.10.x stable releases, it will depend on demand.</p>
being for all POWER8 and POWER9 platforms in op-build v1.22.
This release is targeted to early POWER9 systems.</p>
<p>Over skiboot-5.10, we have the following changes:</p>
-<div class="section" id="new-platforms">
+<section id="new-platforms">
<h2>New Platforms<a class="headerlink" href="#new-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Add VESNIN platform support</p>
+<li><p>Add VESNIN platform support</p>
<p>The Vesnin platform from YADRO is a 4 socked POWER8 system with up to 8TB
of memory with 460GB/s of memory bandwidth in only 2U. Many kudos to the
team from Yadro for submitting their code upstream!</p>
</li>
</ul>
-</div>
-<div class="section" id="new-features">
+</section>
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">fast-reboot: enable by default for POWER9</p>
+<li><p>fast-reboot: enable by default for POWER9</p>
<ul class="simple">
-<li>Fast reboot is disabled if NPU2 is present or CAPI2/OpenCAPI is used</li>
+<li><p>Fast reboot is disabled if NPU2 is present or CAPI2/OpenCAPI is used</p></li>
</ul>
</li>
-<li><p class="first">PCI tunneled operations on PHB4</p>
+<li><p>PCI tunneled operations on PHB4</p>
<ul>
-<li><p class="first">phb4: set PBCQ Tunnel BAR for tunneled operations</p>
+<li><p>phb4: set PBCQ Tunnel BAR for tunneled operations</p>
<p>P9 supports PCI tunneled operations (atomics and as_notify) that are
initiated by devices.</p>
<p>A subset of the tunneled operations require a response, that must be
@@ -102,7 +102,7 @@ BAR Response register.</p>
all the devices connected to the same PHB, only one of these devices
will be able to use tunneled operations, at any time.</p>
</li>
-<li><p class="first">phb4: set PHB CMPM registers for tunneled operations</p>
+<li><p>phb4: set PHB CMPM registers for tunneled operations</p>
<p>P9 supports PCI tunneled operations (atomics and as_notify) that require
setting the PHB ASN Compare/Mask register with a 16-bit indication.</p>
<p>This register is currently initialized by enable_capi_mode(). But, as
@@ -115,7 +115,7 @@ in PCI mode.</p>
</li>
</ul>
</li>
-<li><p class="first">Tie tm-suspend fw-feature and opal_reinit_cpus() together</p>
+<li><p>Tie tm-suspend fw-feature and opal_reinit_cpus() together</p>
<p>Currently opal_reinit_cpus(OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED)
always returns OPAL_UNSUPPORTED.</p>
<p>This ties the tm suspend fw-feature to the
@@ -131,11 +131,11 @@ the device tree/HDAT) as some future firmware may let us change this
dynamically after boot. That is not the case currently though.</p>
</li>
</ul>
-</div>
-<div class="section" id="power-management">
+</section>
+<section id="power-management">
<h2>Power Management<a class="headerlink" href="#power-management" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">SLW: Increase stop4-5 residency by 10x</p>
+<li><p>SLW: Increase stop4-5 residency by 10x</p>
<p>Using DGEMM benchmark we observed there was a drop of 5-9% throughput with
and without stop4/5. In this benchmark the GPU waits on the cpu to wakeup
and provide the subsequent data block to compute. The wakup latency
@@ -143,7 +143,7 @@ accumulates over the run and shows up as a performance drop.</p>
<p>Linux enters stop4/5 more aggressively for its wakeup latency. Increasing
the residency from 1ms to 10ms makes the performance drop &lt;1%</p>
</li>
-<li><p class="first">occ: Set up OCC messaging even if we fail to setup pstates</p>
+<li><p>occ: Set up OCC messaging even if we fail to setup pstates</p>
<p>This means that we no longer hit this bug if we fail to get valid pstates
from the OCC.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>[console-pexpect]#echo 1 &gt; //sys/firmware/opal/sensor_groups//occ-csm0/clear
@@ -165,13 +165,13 @@ echo 1 &gt; //sys/firmware/opal/sensor_groups//occ-csm0/clear
</div>
</li>
</ul>
-<div class="section" id="mbox-based-platforms">
+<section id="mbox-based-platforms">
<h3>mbox based platforms<a class="headerlink" href="#mbox-based-platforms" title="Permalink to this headline">¶</a></h3>
<p>For platforms using the mbox protocol for host flash access (all BMC based
OpenPOWER systems, most OpenBMC based systems) there have been some hardening
efforts in the event of the BMC being poorly behaved.</p>
<ul>
-<li><p class="first">mbox: Reduce default BMC timeouts</p>
+<li><p>mbox: Reduce default BMC timeouts</p>
<p>Rebooting a BMC can take 70 seconds. Skiboot cannot possibly spin for
70 seconds waiting for a BMC to come back. This also makes the current
default of 30 seconds a bit pointless, is it far too short to be a
@@ -181,7 +181,7 @@ and wrecking havoc inside host linux.</p>
that, reads and writes will fail but at least the host stays up.</p>
<p>Also refactored the waiting loop just a bit so that it’s easier to read.</p>
</li>
-<li><p class="first">mbox: Harden against BMC daemon errors</p>
+<li><p>mbox: Harden against BMC daemon errors</p>
<p>Bugs present in the BMC daemon mean that skiboot gets presented with
mbox windows of size zero. These windows cannot be valid and skiboot
already detects these conditions.</p>
@@ -201,14 +201,14 @@ will now only print one warning about the zero sized window rather than
continuously spitting it out.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="fast-reboot-improvements">
+</section>
+</section>
+<section id="fast-reboot-improvements">
<h2>Fast Reboot Improvements<a class="headerlink" href="#fast-reboot-improvements" title="Permalink to this headline">¶</a></h2>
<p>Around fast-reboot we have made several improvements to harden the fast
reboot code paths and resort to a full IPL if something doesn’t look right.</p>
<ul>
-<li><p class="first">core/fast-reboot: zero memory after fast reboot</p>
+<li><p>core/fast-reboot: zero memory after fast reboot</p>
<p>This improves the security and predictability of the fast reboot
environment.</p>
<p>There can not be a secure fence between fast reboots, because a
@@ -220,7 +220,7 @@ just before the new kernel is loaded and booted into. This allows
image preloading to run concurrently, and will allow parallelisation
of the clearing in future.</p>
</li>
-<li><p class="first">core/fast-reboot: verify mem regions before fast reboot</p>
+<li><p>core/fast-reboot: verify mem regions before fast reboot</p>
<p>Run the mem_region sanity checkers before proceeding with fast
reboot.</p>
<p>This is the beginning of proactive sanity checks on opal data
@@ -228,20 +228,19 @@ for fast reboot (with complements the reactive disable_fast_reboot
cases). This is encouraged to re-use and share any kind of debug
code and unit test code.</p>
</li>
-<li><p class="first">fast-reboot: occ: Only delete /ibm, opal/power-mgt nodes if they exist</p>
-</li>
-<li><p class="first">core/fast-reboot: disable fast reboot upon fundamental entry/exit/locking errors</p>
+<li><p>fast-reboot: occ: Only delete /ibm, opal/power-mgt nodes if they exist</p></li>
+<li><p>core/fast-reboot: disable fast reboot upon fundamental entry/exit/locking errors</p>
<p>This disables fast reboot in several more cases where serious errors
like lock corruption or call re-entrancy are detected.</p>
</li>
-<li><p class="first">capp: Disable fast-reboot whenever enable_capi_mode() is called</p>
+<li><p>capp: Disable fast-reboot whenever enable_capi_mode() is called</p>
<p>This patch updates phb4_set_capi_mode() to disable fast-reboot
whenever enable_capi_mode() is called, irrespective to its return
value. This should prevent against a possibility of not disabling
fast-reboot when some changes to enable_capi_mode() causing return of
an error and leaving CAPP in enabled mode.</p>
</li>
-<li><p class="first">fast-reboot: occ: Delete OCC child nodes in /ibm, opal/power-mgt</p>
+<li><p>fast-reboot: occ: Delete OCC child nodes in /ibm, opal/power-mgt</p>
<p>Fast-reboot in P8 fails to re-init OCC data as there are chipwise OCC
nodes which are already present in the /ibm,opal/power-mgt node. These
per-chip nodes hold the voltage IDs for each pstate and these can be
@@ -249,11 +248,11 @@ changed on OCC pstate table biasing. So delete these before calling
the re-init code to re-parse and populate the pstate data.</p>
</li>
</ul>
-</div>
-<div class="section" id="debugging-sreset-improvemens">
+</section>
+<section id="debugging-sreset-improvemens">
<h2>Debugging/SRESET improvemens<a class="headerlink" href="#debugging-sreset-improvemens" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/opal: allow some re-entrant calls</p>
+<li><p>core/opal: allow some re-entrant calls</p>
<p>This allows a small number of OPAL calls to succeed despite re-entering
the firmware, and rejects others rather than aborting.</p>
<p>This allows a system reset interrupt that interrupts OPAL to do something
@@ -262,11 +261,11 @@ stack traces to be printed, reboot the system.</p>
<p>Use OPAL_INTERNAL_ERROR when rejecting, rather than OPAL_BUSY, which is
used for many other things that does not mean a serious permanent error.</p>
</li>
-<li><p class="first">core/opal: abort in case of re-entrant OPAL call</p>
+<li><p>core/opal: abort in case of re-entrant OPAL call</p>
<p>The stack is already destroyed by the time we get here, so there
is not much point continuing.</p>
</li>
-<li><p class="first">core/lock: Add lock timeout warnings</p>
+<li><p>core/lock: Add lock timeout warnings</p>
<p>There are currently no timeout warnings for locks in skiboot. We assume
that the lock will eventually become free, which may not always be the
case.</p>
@@ -275,7 +274,7 @@ than 5 seconds will throw a warning and stacktrace for that thread. This is
useful for debugging siturations where a lock which hang, waiting for the
lock to be freed.</p>
</li>
-<li><p class="first">core/lock: Add deadlock detection</p>
+<li><p>core/lock: Add deadlock detection</p>
<p>This adds simple deadlock detection. The detection looks for circular
dependencies in the lock requests. It will abort and display a stack trace
when a deadlock occurs.
@@ -283,7 +282,7 @@ The detection is enabled by DEBUG_LOCKS (enabled by default).
While the detection may have a slight performance overhead, as there are
not a huge number of locks in skiboot this overhead isn’t significant.</p>
</li>
-<li><p class="first">core/hmi: report processor recovery reason from core FIR bits on P9</p>
+<li><p>core/hmi: report processor recovery reason from core FIR bits on P9</p>
<p>When an error is encountered that causes processor recovery, HMI is
generated if the recovery was successful. The reason is recorded in
the core FIR, which gets copied into the WOF.</p>
@@ -298,7 +297,7 @@ msglog.</p>
<p>This patch would have been useful because it tells us exactly that
the problem is in the d-side ERAT:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">414.489690798</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Received</span> <span class="n">HMI</span> <span class="n">interrupt</span><span class="p">:</span> <span class="n">HMER</span> <span class="o">=</span> <span class="mh">0x2040000000000000</span>
-<span class="p">[</span> <span class="mf">414.489693339</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="o">.</span><span class="mi">0000000</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">C</span><span class="p">:</span><span class="mi">1</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">occurred</span><span class="o">.</span>
+<span class="p">[</span> <span class="mf">414.489693339</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="mf">.0000000</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">C</span><span class="p">:</span><span class="mi">1</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">occurred</span><span class="o">.</span>
<span class="p">[</span> <span class="mf">414.489699837</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Core</span> <span class="n">WOF</span> <span class="o">=</span> <span class="mh">0x0000000410000000</span> <span class="n">recovered</span> <span class="n">error</span><span class="p">:</span>
<span class="p">[</span> <span class="mf">414.489701543</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">LSU</span> <span class="o">-</span> <span class="n">SRAM</span> <span class="p">(</span><span class="n">DCACHE</span> <span class="n">parity</span><span class="p">,</span> <span class="n">etc</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">414.489702341</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">LSU</span> <span class="o">-</span> <span class="n">ERAT</span> <span class="n">multi</span> <span class="n">hit</span>
@@ -308,11 +307,11 @@ the problem is in the d-side ERAT:</p>
print something more useful. Until then, this gives some good data.</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2-nvlink2-fixes">
+</section>
+<section id="npu2-nvlink2-fixes">
<h2>NPU2/NVLink2 Fixes<a class="headerlink" href="#npu2-nvlink2-fixes" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2: Add performance tuning SCOM inits</p>
+<li><p>npu2: Add performance tuning SCOM inits</p>
<p>Peer-to-peer GPU bandwidth latency testing has produced some tunable
values that improve performance. Add them to our device initialization.</p>
<p>File these under things that need to be cleaned up with nice #defines
@@ -321,27 +320,27 @@ for the register names and bitfields when we get time.</p>
topology, so introduce a helper to determine how many links go to a
single GPU.</p>
</li>
-<li><p class="first">hw/npu2: Assign a unique LPARSHORTID per GPU</p>
+<li><p>hw/npu2: Assign a unique LPARSHORTID per GPU</p>
<p>This gets used elsewhere to index items in the XTS tables.</p>
</li>
-<li><p class="first">NPU2: dump NPU2 registers on npu2 HMI</p>
+<li><p>NPU2: dump NPU2 registers on npu2 HMI</p>
<p>Due to the nature of debugging npu2 issues, folk are wanting the
full list of NPU2 registers dumped when there’s a problem.</p>
</li>
-<li><p class="first">npu2: Remove DD1 support</p>
+<li><p>npu2: Remove DD1 support</p>
<p>Major changes in the NPU between DD1 and DD2 necessitated a fair bit of
revision-specific code.</p>
<p>Now that all our lab machines are DD2, we no longer test anything on DD1
and it’s time to get rid of it.</p>
<p>Remove DD1-specific code and abort probe if we’re running on a DD1 machine.</p>
</li>
-<li><p class="first">npu2: Disable fast reboot</p>
+<li><p>npu2: Disable fast reboot</p>
<p>Fast reboot does not yet work right with the NPU. It’s been disabled on
NVLink and OpenCAPI machines. Do the same for NVLink2.</p>
<p>This amounts to a port of 3e4577939bbf (“npu: Fix broken fast reset”)
from the npu code to npu2.</p>
</li>
-<li><p class="first">npu2: Use unfiltered mode in XTS tables</p>
+<li><p>npu2: Use unfiltered mode in XTS tables</p>
<p>The XTS_PID context table is limited to 256 possible pids/contexts. To
relieve this limitation, make use of “unfiltered mode” instead.</p>
<p>If an entry in the XTS_BDF table has the bit for unfiltered mode set, we
@@ -358,24 +357,24 @@ might consider actually removing these wildcard entries by keeping a
refcount, but keep things simple for now.</p>
</li>
</ul>
-</div>
-<div class="section" id="capi-opencapi">
+</section>
+<section id="capi-opencapi">
<h2>CAPI/OpenCAPI<a class="headerlink" href="#capi-opencapi" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2-opencapi: Add OpenCAPI OPAL API calls</p>
+<li><p>npu2-opencapi: Add OpenCAPI OPAL API calls</p>
<p>Add three OPAL API calls that are required by the ocxl driver.</p>
<ul>
-<li><p class="first">OPAL_NPU_SPA_SETUP</p>
+<li><p>OPAL_NPU_SPA_SETUP</p>
<p>The Shared Process Area (SPA) is a table containing one entry (a
“Process Element”) per memory context which can be accessed by the
OpenCAPI device.</p>
</li>
-<li><p class="first">OPAL_NPU_SPA_CLEAR_CACHE</p>
+<li><p>OPAL_NPU_SPA_CLEAR_CACHE</p>
<p>The NPU keeps a cache of recently accessed memory contexts. When a
Process Element is removed from the SPA, the cache for the link must be
cleared.</p>
</li>
-<li><p class="first">OPAL_NPU_TL_SET</p>
+<li><p>OPAL_NPU_TL_SET</p>
<p>The Transaction Layer specification defines several templates for
messages to be exchanged on the link. During link setup, the host and
device must negotiate what templates are supported on both sides and at
@@ -383,7 +382,7 @@ what rates those messages can be sent.</p>
</li>
</ul>
</li>
-<li><p class="first">npu2-opencapi: Train OpenCAPI links and setup devices</p>
+<li><p>npu2-opencapi: Train OpenCAPI links and setup devices</p>
<p>Scan the OpenCAPI links under the NPU, and for each link, reset the card,
set up a device, train the link and register a PHB.</p>
<p>Implement the necessary operations for the OpenCAPI PHB type.</p>
@@ -399,7 +398,7 @@ completely or to use the prbs31 test pattern.</p>
</pre></div>
</div>
</li>
-<li><p class="first">npu2-hw-procedures: Add support for OpenCAPI PHY link training</p>
+<li><p>npu2-hw-procedures: Add support for OpenCAPI PHY link training</p>
<p>Unlike NVLink, which uses the pci-virt framework to fake a PCI
configuration space for NVLink devices, the OpenCAPI device model presents
us with a real configuration space handled by the device over the OpenCAPI
@@ -408,11 +407,11 @@ link.</p>
probing, so that config space can be accessed, rather than having link
training being triggered by the Linux driver.</p>
</li>
-<li><p class="first">npu2-opencapi: Configure NPU for OpenCAPI</p>
+<li><p>npu2-opencapi: Configure NPU for OpenCAPI</p>
<p>Scan the device tree for NPUs with OpenCAPI links and configure the NPU per
the initialisation sequence in the NPU OpenCAPI workbook.</p>
</li>
-<li><p class="first">capp: Make error in capp timebase sync a non-fatal error</p>
+<li><p>capp: Make error in capp timebase sync a non-fatal error</p>
<p>Presently when we encounter an error while synchronizing capp timebase
with chip-tod at the end of enable_capi_mode() we return an
error. This has an to unintended consequences. First this will prevent
@@ -428,7 +427,7 @@ make the current implementation align with the one in kernel ‘cxl’
driver which also assumes the PSL timebase sync errors as non-fatal
init error.</p>
</li>
-<li><p class="first">npu2-opencapi: Fix assert on link reset during init</p>
+<li><p>npu2-opencapi: Fix assert on link reset during init</p>
<p>We don’t support resetting an opencapi link yet.</p>
<p>Commit fe6d86b9 (“pci: Make fast reboot creset PHBs in parallel”)
tries resetting any PHB whose slot defines a ‘run_sm’ callback. It
@@ -439,18 +438,17 @@ the ‘freset’ callback, which is not yet defined for opencapi.</p>
log because the PHB cannot be reset, which is correct. It will all go
away when we add support for resetting an opencapi link.</p>
</li>
-<li><p class="first">capp: Add lid definition for P9 DD-2.2</p>
+<li><p>capp: Add lid definition for P9 DD-2.2</p>
<p>Update fsp_lid_map to include CAPP ucode lid for phb4-chipid ==
0x202d1 that corresponds to P9 DD-2.2 chip.</p>
</li>
-<li><p class="first">capp: Disable fast-reboot when capp is enabled</p>
-</li>
+<li><p>capp: Disable fast-reboot when capp is enabled</p></li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pci: Reduce log level of error message</p>
+<li><p>pci: Reduce log level of error message</p>
<p>If a link doesn’t train, we can end up with error messages like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">63.027261959</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">PHB</span><span class="c1">#0032[8:2]: LINK: Timeout waiting for electrical link</span>
<span class="p">[</span> <span class="mf">63.027265573</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">PHB</span><span class="c1">#0032:00:00.0 Error -6 resetting</span>
@@ -461,7 +459,7 @@ the core PCI code and is confusing to print to the console.</p>
<p>This reduces the second print to debug level so it’s not seen by the
console by default.</p>
</li>
-<li><p class="first">Revert “platforms/astbmc/slots.c: Allow comparison of bus numbers when matching slots”</p>
+<li><p>Revert “platforms/astbmc/slots.c: Allow comparison of bus numbers when matching slots”</p>
<p>This reverts commit bda7cc4d0354eb3f66629d410b2afc08c79f795f.</p>
<p>Ben says:
It’s on purpose that we do NOT compare the bus numbers,
@@ -471,7 +469,7 @@ devfn’s along the way bcs the bus numbering isn’t fixed
this breaks all slot naming etc… stuff on anything using
the “skiboot” slot tables (P8 opp typically)</p>
</li>
-<li><p class="first">core/pci-dt-slot: Fix booting with no slot map</p>
+<li><p>core/pci-dt-slot: Fix booting with no slot map</p>
<p>Currently if you don’t have a slot map in the device tree in
/ibm,pcie-slots, you can crash with a back trace like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">CPU</span> <span class="mi">0034</span> <span class="n">Backtrace</span><span class="p">:</span>
@@ -520,35 +518,29 @@ entry point (ie. no HDAT).</p>
<p>This fixes the null pointer deref.</p>
</li>
</ul>
-</div>
-<div class="section" id="bugs-fixed">
+</section>
+<section id="bugs-fixed">
<h2>Bugs Fixed<a class="headerlink" href="#bugs-fixed" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">xive: fix opal_xive_set_vp_info() error path</p>
+<li><p>xive: fix opal_xive_set_vp_info() error path</p>
<p>In case of error, opal_xive_set_vp_info() will return without
unlocking the xive object. This is most certainly a typo.</p>
</li>
-<li><p class="first">hw/imc: don’t access homer memory if it was not initialised</p>
+<li><p>hw/imc: don’t access homer memory if it was not initialised</p>
<p>This can happen under mambo, at least.</p>
</li>
-<li><p class="first">nvram: run nvram_validate() after nvram_reformat()</p>
+<li><p>nvram: run nvram_validate() after nvram_reformat()</p>
<p>nvram_reformat() sets nvram_valid = true, but it does not set
skiboot_part_hdr. Call nvram_validate() instead, which sets
everything up properly.</p>
</li>
-<li><p class="first">dts: Zero struct to avoid using uninitialised value</p>
-</li>
-<li><p class="first">hw/imc: Don’t dereference possible NULL</p>
-</li>
-<li><p class="first">libstb/create-container: munmap() signature file address</p>
-</li>
-<li><p class="first">npu2-opencapi: Fix memory leak</p>
-</li>
-<li><p class="first">npu2: Fix possible NULL dereference</p>
-</li>
-<li><p class="first">occ-sensors: Remove NULL checks after dereference</p>
-</li>
-<li><p class="first">core/ipmi-opal: Add interrupt-parent property for ipmi node on P9 and above.</p>
+<li><p>dts: Zero struct to avoid using uninitialised value</p></li>
+<li><p>hw/imc: Don’t dereference possible NULL</p></li>
+<li><p>libstb/create-container: munmap() signature file address</p></li>
+<li><p>npu2-opencapi: Fix memory leak</p></li>
+<li><p>npu2: Fix possible NULL dereference</p></li>
+<li><p>occ-sensors: Remove NULL checks after dereference</p></li>
+<li><p>core/ipmi-opal: Add interrupt-parent property for ipmi node on P9 and above.</p>
<p>dtc complains below warning with newer 4.2+ kernels.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">dts</span><span class="p">:</span> <span class="ne">Warning</span> <span class="p">(</span><span class="n">interrupts_property</span><span class="p">):</span> <span class="n">Missing</span> <span class="n">interrupt</span><span class="o">-</span><span class="n">parent</span> <span class="k">for</span> <span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">ipmi</span>
</pre></div>
@@ -557,11 +549,11 @@ everything up properly.</p>
and above, which allows ipmi-opal to properly use the OPAL irqchip.</p>
</li>
</ul>
-</div>
-<div class="section" id="other-fixes-and-improvements">
+</section>
+<section id="other-fixes-and-improvements">
<h2>Other fixes and improvements<a class="headerlink" href="#other-fixes-and-improvements" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/cpu: discover stack region size before initialising memory regions</p>
+<li><p>core/cpu: discover stack region size before initialising memory regions</p>
<p>Stack allocation first allocates a memory region sized to hold stacks
for all possible CPUs up to the maximum PIR of the architecture, zeros
the region, then initialises all stacks. Max PIR is 32768 on POWER9,
@@ -569,17 +561,17 @@ which is 512MB for stacks.</p>
<p>The stack region is then shrunk after CPUs are discovered, but this is
a bit of a hack, and it leaves a hole in the memory allocation regions
as it’s done after mem regions are initialised.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mh">0x000000000000</span><span class="o">..</span><span class="mi">00002</span><span class="n">fffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">os</span><span class="o">-</span><span class="n">reserve</span> <span class="o">-</span> <span class="n">OS</span>
-<span class="mh">0x000030000000</span><span class="o">..</span><span class="mi">0000303</span><span class="n">fffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">code</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000030400000</span><span class="o">..</span><span class="mi">000030</span><span class="n">ffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">heap</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000031000000</span><span class="o">..</span><span class="mi">000031</span><span class="n">bfffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">data</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000031c00000</span><span class="o">..</span><span class="mi">000031</span><span class="n">c0ffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">stacks</span> <span class="o">-</span> <span class="n">OPAL</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mh">0x000000000000</span><span class="o">.</span><span class="mf">.00002</span><span class="n">fffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">os</span><span class="o">-</span><span class="n">reserve</span> <span class="o">-</span> <span class="n">OS</span>
+<span class="mh">0x000030000000</span><span class="o">.</span><span class="mf">.0000303</span><span class="n">fffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">code</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000030400000</span><span class="o">.</span><span class="mf">.000030</span><span class="n">ffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">heap</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000031000000</span><span class="o">.</span><span class="mf">.000031</span><span class="n">bfffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">data</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000031c00000</span><span class="o">.</span><span class="mf">.000031</span><span class="n">c0ffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">stacks</span> <span class="o">-</span> <span class="n">OPAL</span>
<span class="o">***</span> <span class="n">gap</span> <span class="o">***</span>
-<span class="mh">0x000051c00000</span><span class="o">..</span><span class="mi">000051</span><span class="n">d01fff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="nd">@0</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000051d02000</span><span class="o">..</span><span class="mi">00007</span><span class="n">fffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="nd">@0</span> <span class="o">-</span> <span class="n">OS</span>
-<span class="mh">0x000080000000</span><span class="o">..</span><span class="mi">000080</span><span class="n">b3cdff</span> <span class="p">:</span> <span class="n">initramfs</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000080b3ce00</span><span class="o">..</span><span class="mi">000080</span><span class="n">b7cdff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">fake</span><span class="o">-</span><span class="n">nvram</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000080b7ce00</span><span class="o">..</span><span class="mi">0000</span><span class="n">ffffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="nd">@0</span> <span class="o">-</span> <span class="n">OS</span>
+<span class="mh">0x000051c00000</span><span class="o">.</span><span class="mf">.000051</span><span class="n">d01fff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="o">@</span><span class="mi">0</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000051d02000</span><span class="o">.</span><span class="mf">.00007</span><span class="n">fffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="o">@</span><span class="mi">0</span> <span class="o">-</span> <span class="n">OS</span>
+<span class="mh">0x000080000000</span><span class="o">.</span><span class="mf">.000080</span><span class="n">b3cdff</span> <span class="p">:</span> <span class="n">initramfs</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000080b3ce00</span><span class="o">.</span><span class="mf">.000080</span><span class="n">b7cdff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">fake</span><span class="o">-</span><span class="n">nvram</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000080b7ce00</span><span class="o">.</span><span class="mf">.0000</span><span class="n">ffffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="o">@</span><span class="mi">0</span> <span class="o">-</span> <span class="n">OS</span>
</pre></div>
</div>
<p>This change moves zeroing into the per-cpu stack setup. The boot CPU
@@ -589,21 +581,20 @@ device tree, before mem regions are intialised.</p>
<p>This results in all memory being accounted within memory regions,
and less memory fragmentation of OPAL allocations.</p>
</li>
-<li><p class="first">Make gard display show that a record is cleared</p>
+<li><p>Make gard display show that a record is cleared</p>
<p>When clearing gard records, Hostboot only modifies the record_id
portion to be 0xFFFFFFFF. The remainder of the entry remains.
Without this change it can be confusing to users to know that
the record they are looking at is no longer valid.</p>
</li>
-<li><p class="first">Reserve OPAL API number for opal_handle_hmi2 function.</p>
-</li>
-<li><p class="first">dts: spl_wakeup: Remove all workarounds in the spl wakeup logic</p>
+<li><p>Reserve OPAL API number for opal_handle_hmi2 function.</p></li>
+<li><p>dts: spl_wakeup: Remove all workarounds in the spl wakeup logic</p>
<p>We coded few workarounds in special wakeup logic to handle the
buggy firmware. Now that is fixed remove them as they break the
special wakeup protocol. As per the spec we should not de-assert
beofre assert is complete. So follow this protocol.</p>
</li>
-<li><p class="first">build: use thin archives rather than incremental linking</p>
+<li><p>build: use thin archives rather than incremental linking</p>
<p>This changes to build system to use thin archives rather than
incremental linking for built-in.o, similar to recent change to Linux.
built-in.o is renamed to built-in.a, and is created as a thin archive
@@ -617,7 +608,7 @@ time optimisation in toolchains which might be interesting for skiboot
particularly for size reductions.</p>
<p>Size of build tree before this patch is 34.4MB, afterwards 23.1MB.</p>
</li>
-<li><p class="first">core/init: Assert when kernel not found</p>
+<li><p>core/init: Assert when kernel not found</p>
<p>If the kernel doesn’t load out of flash or there is nothing at
KERNEL_LOAD_BASE, we end up with an esoteric message as we try to
branch to out of skiboot into nothing</p>
@@ -642,7 +633,7 @@ branch to out of skiboot into nothing</p>
</pre></div>
</div>
</li>
-<li><p class="first">core: Fix ‘opal-runtime-size’ property</p>
+<li><p>core: Fix ‘opal-runtime-size’ property</p>
<p>We are populating ‘opal-runtime-size’ before calculating actual stack size.
Hence we endup having wrong runtime size (ex: on P9 it shows ~540MB while
actual size is around ~40MB). Note that only device tree property is shows
@@ -650,7 +641,7 @@ wrong value, but reserved-memory reflects correct size.</p>
<p>init_all_cpus() calculates and updates actual stack size. Hence move this
function call before add_opal_node().</p>
</li>
-<li><p class="first">mambo: Add fw-feature flags for security related settings</p>
+<li><p>mambo: Add fw-feature flags for security related settings</p>
<p>Newer firmwares report some feature flags related to security
settings via HDAT. On real hardware skiboot translates these into
device tree properties. For testing purposes just create the
@@ -663,38 +654,36 @@ in src/usr/hdat/hdatiplparms.H.</p>
<p>Also add an environment variable for easily toggling the top-level
“security on” setting.</p>
</li>
-<li><p class="first">direct-controls: mambo fix for multiple chips</p>
-</li>
-<li><p class="first">libflash/blocklevel: Correct miscalculation in blocklevel_smart_erase()</p>
+<li><p>direct-controls: mambo fix for multiple chips</p></li>
+<li><p>libflash/blocklevel: Correct miscalculation in blocklevel_smart_erase()</p>
<p>If blocklevel_smart_erase() detects that the smart erase fits entire in
one erase block, it has an early bail path. In this path it miscaculates
where in the buffer the backend needs to read from to perform the final
write.</p>
</li>
-<li><p class="first">libstb/secureboot: Fix logging of secure verify messages.</p>
+<li><p>libstb/secureboot: Fix logging of secure verify messages.</p>
<p>Currently we are logging secure verify/enforce messages in PR_EMERG
level even when there is no secureboot mode enabled. So reduce the
log level to PR_ERR when secureboot mode is OFF.</p>
</li>
</ul>
-</div>
-<div class="section" id="testing-code-coverage-improvements">
+</section>
+<section id="testing-code-coverage-improvements">
<h2>Testing / Code coverage improvements<a class="headerlink" href="#testing-code-coverage-improvements" title="Permalink to this headline">¶</a></h2>
<p>Improvements in gcov support include support for newer GCCs as well
as easily exporting the area of memory you need to dump to feed to
<cite>extract-gcov</cite>.</p>
<ul>
-<li><p class="first">cpu_idle_job: relax a bit</p>
+<li><p>cpu_idle_job: relax a bit</p>
<p>This <em>dramatically</em> improves kernel boot time with GCOV builds</p>
<p>from ~3minutes between loading kernel and switching the HILE
bit down to around 10 seconds.</p>
</li>
-<li><p class="first">gcov: Another GCC, another gcov tweak</p>
-</li>
-<li><p class="first">Keep constructors with priorities</p>
+<li><p>gcov: Another GCC, another gcov tweak</p></li>
+<li><p>Keep constructors with priorities</p>
<p>Fixes GCOV builds with gcc7, which uses this.</p>
</li>
-<li><p class="first">gcov: Add gcov data struct to sysfs</p>
+<li><p>gcov: Add gcov data struct to sysfs</p>
<p>Extracting the skiboot gcov data is currently a tedious process which
involves taking a mem dump of skiboot and searching for the gcov_info
struct.
@@ -702,10 +691,11 @@ This patch adds the gcov struct to sysfs under /opal/exports. Allowing the
data to be copied directly into userspace and processed.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -746,17 +736,15 @@ data to be copied directly into userspace and processed.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -773,14 +761,15 @@ data to be copied directly into userspace and processed.</p>
<li class="right" >
<a href="skiboot-5.11.html" title="skiboot-5.11"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.11-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.11.html b/doc/release-notes/skiboot-5.11.html
index 9480f39..c634944 100644
--- a/doc/release-notes/skiboot-5.11.html
+++ b/doc/release-notes/skiboot-5.11.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.11 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.11 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.10.6.html" title="skiboot-5.10.6"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.11</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-11">
+ <section id="skiboot-5-11">
<span id="id1"></span><h1>skiboot-5.11<a class="headerlink" href="#skiboot-5-11" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.11 was released on Friday April 6th 2018. It is the first
release of skiboot 5.11, which is now the new stable release
@@ -61,27 +61,27 @@ and <a class="reference internal" href="skiboot-5.4.9.html#skiboot-5-4-9"><span
may be more 5.10.x stable releases, it will depend on demand.</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over skiboot-5.10, we have the following changes:</p>
-<div class="section" id="new-platforms">
+<section id="new-platforms">
<h2>New Platforms<a class="headerlink" href="#new-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Add VESNIN platform support</p>
+<li><p>Add VESNIN platform support</p>
<p>The Vesnin platform from YADRO is a 4 socked POWER8 system with up to 8TB
of memory with 460GB/s of memory bandwidth in only 2U. Many kudos to the
team from Yadro for submitting their code upstream!</p>
</li>
</ul>
-</div>
-<div class="section" id="new-features">
+</section>
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">fast-reboot: enable by default for POWER9</p>
+<li><p>fast-reboot: enable by default for POWER9</p>
<ul class="simple">
-<li>Fast reboot is disabled if NPU2 is present or CAPI2/OpenCAPI is used</li>
+<li><p>Fast reboot is disabled if NPU2 is present or CAPI2/OpenCAPI is used</p></li>
</ul>
</li>
-<li><p class="first">PCI tunneled operations on PHB4</p>
+<li><p>PCI tunneled operations on PHB4</p>
<ul>
-<li><p class="first">phb4: set PBCQ Tunnel BAR for tunneled operations</p>
+<li><p>phb4: set PBCQ Tunnel BAR for tunneled operations</p>
<p>P9 supports PCI tunneled operations (atomics and as_notify) that are
initiated by devices.</p>
<p>A subset of the tunneled operations require a response, that must be
@@ -102,7 +102,7 @@ BAR Response register.</p>
all the devices connected to the same PHB, only one of these devices
will be able to use tunneled operations, at any time.</p>
</li>
-<li><p class="first">phb4: set PHB CMPM registers for tunneled operations</p>
+<li><p>phb4: set PHB CMPM registers for tunneled operations</p>
<p>P9 supports PCI tunneled operations (atomics and as_notify) that require
setting the PHB ASN Compare/Mask register with a 16-bit indication.</p>
<p>This register is currently initialized by enable_capi_mode(). But, as
@@ -115,7 +115,7 @@ in PCI mode.</p>
</li>
</ul>
</li>
-<li><p class="first">Tie tm-suspend fw-feature and opal_reinit_cpus() together</p>
+<li><p>Tie tm-suspend fw-feature and opal_reinit_cpus() together</p>
<p>Currently opal_reinit_cpus(OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED)
always returns OPAL_UNSUPPORTED.</p>
<p>This ties the tm suspend fw-feature to the
@@ -131,11 +131,11 @@ the device tree/HDAT) as some future firmware may let us change this
dynamically after boot. That is not the case currently though.</p>
</li>
</ul>
-</div>
-<div class="section" id="power-management">
+</section>
+<section id="power-management">
<h2>Power Management<a class="headerlink" href="#power-management" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">SLW: Increase stop4-5 residency by 10x</p>
+<li><p>SLW: Increase stop4-5 residency by 10x</p>
<p>Using DGEMM benchmark we observed there was a drop of 5-9% throughput with
and without stop4/5. In this benchmark the GPU waits on the cpu to wakeup
and provide the subsequent data block to compute. The wakup latency
@@ -143,7 +143,7 @@ accumulates over the run and shows up as a performance drop.</p>
<p>Linux enters stop4/5 more aggressively for its wakeup latency. Increasing
the residency from 1ms to 10ms makes the performance drop &lt;1%</p>
</li>
-<li><p class="first">occ: Set up OCC messaging even if we fail to setup pstates</p>
+<li><p>occ: Set up OCC messaging even if we fail to setup pstates</p>
<p>This means that we no longer hit this bug if we fail to get valid pstates
from the OCC.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>[console-pexpect]#echo 1 &gt; //sys/firmware/opal/sensor_groups//occ-csm0/clear
@@ -165,13 +165,13 @@ echo 1 &gt; //sys/firmware/opal/sensor_groups//occ-csm0/clear
</div>
</li>
</ul>
-<div class="section" id="mbox-based-platforms">
+<section id="mbox-based-platforms">
<h3>mbox based platforms<a class="headerlink" href="#mbox-based-platforms" title="Permalink to this headline">¶</a></h3>
<p>For platforms using the mbox protocol for host flash access (all BMC based
OpenPOWER systems, most OpenBMC based systems) there have been some hardening
efforts in the event of the BMC being poorly behaved.</p>
<ul>
-<li><p class="first">mbox: Reduce default BMC timeouts</p>
+<li><p>mbox: Reduce default BMC timeouts</p>
<p>Rebooting a BMC can take 70 seconds. Skiboot cannot possibly spin for
70 seconds waiting for a BMC to come back. This also makes the current
default of 30 seconds a bit pointless, is it far too short to be a
@@ -181,7 +181,7 @@ and wrecking havoc inside host linux.</p>
that, reads and writes will fail but at least the host stays up.</p>
<p>Also refactored the waiting loop just a bit so that it’s easier to read.</p>
</li>
-<li><p class="first">mbox: Harden against BMC daemon errors</p>
+<li><p>mbox: Harden against BMC daemon errors</p>
<p>Bugs present in the BMC daemon mean that skiboot gets presented with
mbox windows of size zero. These windows cannot be valid and skiboot
already detects these conditions.</p>
@@ -201,14 +201,14 @@ will now only print one warning about the zero sized window rather than
continuously spitting it out.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="fast-reboot-improvements">
+</section>
+</section>
+<section id="fast-reboot-improvements">
<h2>Fast Reboot Improvements<a class="headerlink" href="#fast-reboot-improvements" title="Permalink to this headline">¶</a></h2>
<p>Around fast-reboot we have made several improvements to harden the fast
reboot code paths and resort to a full IPL if something doesn’t look right.</p>
<ul>
-<li><p class="first">core/fast-reboot: zero memory after fast reboot</p>
+<li><p>core/fast-reboot: zero memory after fast reboot</p>
<p>This improves the security and predictability of the fast reboot
environment.</p>
<p>There can not be a secure fence between fast reboots, because a
@@ -220,7 +220,7 @@ just before the new kernel is loaded and booted into. This allows
image preloading to run concurrently, and will allow parallelisation
of the clearing in future.</p>
</li>
-<li><p class="first">core/fast-reboot: verify mem regions before fast reboot</p>
+<li><p>core/fast-reboot: verify mem regions before fast reboot</p>
<p>Run the mem_region sanity checkers before proceeding with fast
reboot.</p>
<p>This is the beginning of proactive sanity checks on opal data
@@ -228,20 +228,19 @@ for fast reboot (with complements the reactive disable_fast_reboot
cases). This is encouraged to re-use and share any kind of debug
code and unit test code.</p>
</li>
-<li><p class="first">fast-reboot: occ: Only delete /ibm, opal/power-mgt nodes if they exist</p>
-</li>
-<li><p class="first">core/fast-reboot: disable fast reboot upon fundamental entry/exit/locking errors</p>
+<li><p>fast-reboot: occ: Only delete /ibm, opal/power-mgt nodes if they exist</p></li>
+<li><p>core/fast-reboot: disable fast reboot upon fundamental entry/exit/locking errors</p>
<p>This disables fast reboot in several more cases where serious errors
like lock corruption or call re-entrancy are detected.</p>
</li>
-<li><p class="first">capp: Disable fast-reboot whenever enable_capi_mode() is called</p>
+<li><p>capp: Disable fast-reboot whenever enable_capi_mode() is called</p>
<p>This patch updates phb4_set_capi_mode() to disable fast-reboot
whenever enable_capi_mode() is called, irrespective to its return
value. This should prevent against a possibility of not disabling
fast-reboot when some changes to enable_capi_mode() causing return of
an error and leaving CAPP in enabled mode.</p>
</li>
-<li><p class="first">fast-reboot: occ: Delete OCC child nodes in /ibm, opal/power-mgt</p>
+<li><p>fast-reboot: occ: Delete OCC child nodes in /ibm, opal/power-mgt</p>
<p>Fast-reboot in P8 fails to re-init OCC data as there are chipwise OCC
nodes which are already present in the /ibm,opal/power-mgt node. These
per-chip nodes hold the voltage IDs for each pstate and these can be
@@ -249,12 +248,12 @@ changed on OCC pstate table biasing. So delete these before calling
the re-init code to re-parse and populate the pstate data.</p>
</li>
</ul>
-</div>
-<div class="section" id="debugging-sreset-improvemens">
+</section>
+<section id="debugging-sreset-improvemens">
<h2>Debugging/SRESET improvemens<a class="headerlink" href="#debugging-sreset-improvemens" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.11-rc1.html#skiboot-5-11-rc1"><span class="std std-ref">skiboot-5.11-rc1</span></a>:</p>
<ul>
-<li><p class="first">core/cpu: Prevent clobbering of stack guard for boot-cpu</p>
+<li><p>core/cpu: Prevent clobbering of stack guard for boot-cpu</p>
<p>Commit 90d53934c2da (“core/cpu: discover stack region size before
initialising memory regions”) introduced memzero for struct cpu_thread
in init_cpu_thread(). This has an unintended side effect of clobbering
@@ -279,7 +278,7 @@ CPU 0004 Backtrace:
<p>So the patch provides a fix by tweaking the memset() call in
init_cpu_thread() to skip over the stack-guard cannery.</p>
</li>
-<li><p class="first">core/lock.c: ensure valid start value for lock spin duration warning</p>
+<li><p>core/lock.c: ensure valid start value for lock spin duration warning</p>
<p>The previous fix in a8e6cc3f4 only addressed half of the problem, as
we could also get an invalid value for start, causing us to fail
in a weird way.</p>
@@ -300,7 +299,7 @@ and only checks the lock timeout if we got a valid start value.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a>:</p>
<ul>
-<li><p class="first">core/opal: allow some re-entrant calls</p>
+<li><p>core/opal: allow some re-entrant calls</p>
<p>This allows a small number of OPAL calls to succeed despite re-entering
the firmware, and rejects others rather than aborting.</p>
<p>This allows a system reset interrupt that interrupts OPAL to do something
@@ -309,11 +308,11 @@ stack traces to be printed, reboot the system.</p>
<p>Use OPAL_INTERNAL_ERROR when rejecting, rather than OPAL_BUSY, which is
used for many other things that does not mean a serious permanent error.</p>
</li>
-<li><p class="first">core/opal: abort in case of re-entrant OPAL call</p>
+<li><p>core/opal: abort in case of re-entrant OPAL call</p>
<p>The stack is already destroyed by the time we get here, so there
is not much point continuing.</p>
</li>
-<li><p class="first">core/lock: Add lock timeout warnings</p>
+<li><p>core/lock: Add lock timeout warnings</p>
<p>There are currently no timeout warnings for locks in skiboot. We assume
that the lock will eventually become free, which may not always be the
case.</p>
@@ -322,7 +321,7 @@ than 5 seconds will throw a warning and stacktrace for that thread. This is
useful for debugging siturations where a lock which hang, waiting for the
lock to be freed.</p>
</li>
-<li><p class="first">core/lock: Add deadlock detection</p>
+<li><p>core/lock: Add deadlock detection</p>
<p>This adds simple deadlock detection. The detection looks for circular
dependencies in the lock requests. It will abort and display a stack trace
when a deadlock occurs.
@@ -330,7 +329,7 @@ The detection is enabled by DEBUG_LOCKS (enabled by default).
While the detection may have a slight performance overhead, as there are
not a huge number of locks in skiboot this overhead isn’t significant.</p>
</li>
-<li><p class="first">core/hmi: report processor recovery reason from core FIR bits on P9</p>
+<li><p>core/hmi: report processor recovery reason from core FIR bits on P9</p>
<p>When an error is encountered that causes processor recovery, HMI is
generated if the recovery was successful. The reason is recorded in
the core FIR, which gets copied into the WOF.</p>
@@ -345,7 +344,7 @@ msglog.</p>
<p>This patch would have been useful because it tells us exactly that
the problem is in the d-side ERAT:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">414.489690798</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Received</span> <span class="n">HMI</span> <span class="n">interrupt</span><span class="p">:</span> <span class="n">HMER</span> <span class="o">=</span> <span class="mh">0x2040000000000000</span>
-<span class="p">[</span> <span class="mf">414.489693339</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="o">.</span><span class="mi">0000000</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">C</span><span class="p">:</span><span class="mi">1</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">occurred</span><span class="o">.</span>
+<span class="p">[</span> <span class="mf">414.489693339</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="mf">.0000000</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">C</span><span class="p">:</span><span class="mi">1</span> <span class="n">T</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">occurred</span><span class="o">.</span>
<span class="p">[</span> <span class="mf">414.489699837</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Core</span> <span class="n">WOF</span> <span class="o">=</span> <span class="mh">0x0000000410000000</span> <span class="n">recovered</span> <span class="n">error</span><span class="p">:</span>
<span class="p">[</span> <span class="mf">414.489701543</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">LSU</span> <span class="o">-</span> <span class="n">SRAM</span> <span class="p">(</span><span class="n">DCACHE</span> <span class="n">parity</span><span class="p">,</span> <span class="n">etc</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">414.489702341</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">LSU</span> <span class="o">-</span> <span class="n">ERAT</span> <span class="n">multi</span> <span class="n">hit</span>
@@ -355,11 +354,11 @@ the problem is in the d-side ERAT:</p>
print something more useful. Until then, this gives some good data.</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2-nvlink2-fixes">
+</section>
+<section id="npu2-nvlink2-fixes">
<h2>NPU2/NVLink2 Fixes<a class="headerlink" href="#npu2-nvlink2-fixes" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2: Add performance tuning SCOM inits</p>
+<li><p>npu2: Add performance tuning SCOM inits</p>
<p>Peer-to-peer GPU bandwidth latency testing has produced some tunable
values that improve performance. Add them to our device initialization.</p>
<p>File these under things that need to be cleaned up with nice #defines
@@ -368,27 +367,27 @@ for the register names and bitfields when we get time.</p>
topology, so introduce a helper to determine how many links go to a
single GPU.</p>
</li>
-<li><p class="first">hw/npu2: Assign a unique LPARSHORTID per GPU</p>
+<li><p>hw/npu2: Assign a unique LPARSHORTID per GPU</p>
<p>This gets used elsewhere to index items in the XTS tables.</p>
</li>
-<li><p class="first">NPU2: dump NPU2 registers on npu2 HMI</p>
+<li><p>NPU2: dump NPU2 registers on npu2 HMI</p>
<p>Due to the nature of debugging npu2 issues, folk are wanting the
full list of NPU2 registers dumped when there’s a problem.</p>
</li>
-<li><p class="first">npu2: Remove DD1 support</p>
+<li><p>npu2: Remove DD1 support</p>
<p>Major changes in the NPU between DD1 and DD2 necessitated a fair bit of
revision-specific code.</p>
<p>Now that all our lab machines are DD2, we no longer test anything on DD1
and it’s time to get rid of it.</p>
<p>Remove DD1-specific code and abort probe if we’re running on a DD1 machine.</p>
</li>
-<li><p class="first">npu2: Disable fast reboot</p>
+<li><p>npu2: Disable fast reboot</p>
<p>Fast reboot does not yet work right with the NPU. It’s been disabled on
NVLink and OpenCAPI machines. Do the same for NVLink2.</p>
<p>This amounts to a port of 3e4577939bbf (“npu: Fix broken fast reset”)
from the npu code to npu2.</p>
</li>
-<li><p class="first">npu2: Use unfiltered mode in XTS tables</p>
+<li><p>npu2: Use unfiltered mode in XTS tables</p>
<p>The XTS_PID context table is limited to 256 possible pids/contexts. To
relieve this limitation, make use of “unfiltered mode” instead.</p>
<p>If an entry in the XTS_BDF table has the bit for unfiltered mode set, we
@@ -405,12 +404,12 @@ might consider actually removing these wildcard entries by keeping a
refcount, but keep things simple for now.</p>
</li>
</ul>
-</div>
-<div class="section" id="capi-opencapi">
+</section>
+<section id="capi-opencapi">
<h2>CAPI/OpenCAPI<a class="headerlink" href="#capi-opencapi" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.11-rc1.html#skiboot-5-11-rc1"><span class="std std-ref">skiboot-5.11-rc1</span></a>:</p>
<ul>
-<li><p class="first">capi: Poll Err/Status register during CAPP recovery</p>
+<li><p>capi: Poll Err/Status register during CAPP recovery</p>
<p>This patch updates do_capp_recovery_scoms() to poll the CAPP
Err/Status control register, check for CAPP-Recovery to complete/fail
based on indications of BITS-1,5,9 and then proceed with the
@@ -427,20 +426,20 @@ max time to failure for CAPP-Recovery.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a>:</p>
<ul>
-<li><p class="first">npu2-opencapi: Add OpenCAPI OPAL API calls</p>
+<li><p>npu2-opencapi: Add OpenCAPI OPAL API calls</p>
<p>Add three OPAL API calls that are required by the ocxl driver.</p>
<ul>
-<li><p class="first">OPAL_NPU_SPA_SETUP</p>
+<li><p>OPAL_NPU_SPA_SETUP</p>
<p>The Shared Process Area (SPA) is a table containing one entry (a
“Process Element”) per memory context which can be accessed by the
OpenCAPI device.</p>
</li>
-<li><p class="first">OPAL_NPU_SPA_CLEAR_CACHE</p>
+<li><p>OPAL_NPU_SPA_CLEAR_CACHE</p>
<p>The NPU keeps a cache of recently accessed memory contexts. When a
Process Element is removed from the SPA, the cache for the link must be
cleared.</p>
</li>
-<li><p class="first">OPAL_NPU_TL_SET</p>
+<li><p>OPAL_NPU_TL_SET</p>
<p>The Transaction Layer specification defines several templates for
messages to be exchanged on the link. During link setup, the host and
device must negotiate what templates are supported on both sides and at
@@ -448,7 +447,7 @@ what rates those messages can be sent.</p>
</li>
</ul>
</li>
-<li><p class="first">npu2-opencapi: Train OpenCAPI links and setup devices</p>
+<li><p>npu2-opencapi: Train OpenCAPI links and setup devices</p>
<p>Scan the OpenCAPI links under the NPU, and for each link, reset the card,
set up a device, train the link and register a PHB.</p>
<p>Implement the necessary operations for the OpenCAPI PHB type.</p>
@@ -464,7 +463,7 @@ completely or to use the prbs31 test pattern.</p>
</pre></div>
</div>
</li>
-<li><p class="first">npu2-hw-procedures: Add support for OpenCAPI PHY link training</p>
+<li><p>npu2-hw-procedures: Add support for OpenCAPI PHY link training</p>
<p>Unlike NVLink, which uses the pci-virt framework to fake a PCI
configuration space for NVLink devices, the OpenCAPI device model presents
us with a real configuration space handled by the device over the OpenCAPI
@@ -473,11 +472,11 @@ link.</p>
probing, so that config space can be accessed, rather than having link
training being triggered by the Linux driver.</p>
</li>
-<li><p class="first">npu2-opencapi: Configure NPU for OpenCAPI</p>
+<li><p>npu2-opencapi: Configure NPU for OpenCAPI</p>
<p>Scan the device tree for NPUs with OpenCAPI links and configure the NPU per
the initialisation sequence in the NPU OpenCAPI workbook.</p>
</li>
-<li><p class="first">capp: Make error in capp timebase sync a non-fatal error</p>
+<li><p>capp: Make error in capp timebase sync a non-fatal error</p>
<p>Presently when we encounter an error while synchronizing capp timebase
with chip-tod at the end of enable_capi_mode() we return an
error. This has an to unintended consequences. First this will prevent
@@ -493,7 +492,7 @@ make the current implementation align with the one in kernel ‘cxl’
driver which also assumes the PSL timebase sync errors as non-fatal
init error.</p>
</li>
-<li><p class="first">npu2-opencapi: Fix assert on link reset during init</p>
+<li><p>npu2-opencapi: Fix assert on link reset during init</p>
<p>We don’t support resetting an opencapi link yet.</p>
<p>Commit fe6d86b9 (“pci: Make fast reboot creset PHBs in parallel”)
tries resetting any PHB whose slot defines a ‘run_sm’ callback. It
@@ -504,19 +503,18 @@ the ‘freset’ callback, which is not yet defined for opencapi.</p>
log because the PHB cannot be reset, which is correct. It will all go
away when we add support for resetting an opencapi link.</p>
</li>
-<li><p class="first">capp: Add lid definition for P9 DD-2.2</p>
+<li><p>capp: Add lid definition for P9 DD-2.2</p>
<p>Update fsp_lid_map to include CAPP ucode lid for phb4-chipid ==
0x202d1 that corresponds to P9 DD-2.2 chip.</p>
</li>
-<li><p class="first">capp: Disable fast-reboot when capp is enabled</p>
-</li>
+<li><p>capp: Disable fast-reboot when capp is enabled</p></li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.11-rc1.html#skiboot-5-11-rc1"><span class="std std-ref">skiboot-5.11-rc1</span></a>:</p>
<ul>
-<li><p class="first">phb4: Reset FIR/NFIR registers before PHB4 probe</p>
+<li><p>phb4: Reset FIR/NFIR registers before PHB4 probe</p>
<p>The function phb4_probe_stack() resets “ETU Reset Register” to
unfreeze the PHB before it performs mmio access on the PHB. However in
case the FIR/NFIR registers are set while entering this function,
@@ -546,7 +544,7 @@ ETU reset to enable mmio access to the PHB.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a>:</p>
<ul>
-<li><p class="first">pci: Reduce log level of error message</p>
+<li><p>pci: Reduce log level of error message</p>
<p>If a link doesn’t train, we can end up with error messages like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">63.027261959</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">PHB</span><span class="c1">#0032[8:2]: LINK: Timeout waiting for electrical link</span>
<span class="p">[</span> <span class="mf">63.027265573</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">PHB</span><span class="c1">#0032:00:00.0 Error -6 resetting</span>
@@ -557,7 +555,7 @@ the core PCI code and is confusing to print to the console.</p>
<p>This reduces the second print to debug level so it’s not seen by the
console by default.</p>
</li>
-<li><p class="first">Revert “platforms/astbmc/slots.c: Allow comparison of bus numbers when matching slots”</p>
+<li><p>Revert “platforms/astbmc/slots.c: Allow comparison of bus numbers when matching slots”</p>
<p>This reverts commit bda7cc4d0354eb3f66629d410b2afc08c79f795f.</p>
<p>Ben says:
It’s on purpose that we do NOT compare the bus numbers,
@@ -567,7 +565,7 @@ devfn’s along the way bcs the bus numbering isn’t fixed
this breaks all slot naming etc… stuff on anything using
the “skiboot” slot tables (P8 opp typically)</p>
</li>
-<li><p class="first">core/pci-dt-slot: Fix booting with no slot map</p>
+<li><p>core/pci-dt-slot: Fix booting with no slot map</p>
<p>Currently if you don’t have a slot map in the device tree in
/ibm,pcie-slots, you can crash with a back trace like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">CPU</span> <span class="mi">0034</span> <span class="n">Backtrace</span><span class="p">:</span>
@@ -616,12 +614,12 @@ entry point (ie. no HDAT).</p>
<p>This fixes the null pointer deref.</p>
</li>
</ul>
-</div>
-<div class="section" id="bugs-fixed">
+</section>
+<section id="bugs-fixed">
<h2>Bugs Fixed<a class="headerlink" href="#bugs-fixed" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.11-rc1.html#skiboot-5-11-rc1"><span class="std std-ref">skiboot-5.11-rc1</span></a>:</p>
<ul>
-<li><p class="first">cpufeatures: Fix setting DARN and SCV HWCAP feature bits</p>
+<li><p>cpufeatures: Fix setting DARN and SCV HWCAP feature bits</p>
<p>DARN and SCV has been assigned AT_HWCAP2 (32-63) bits:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#define PPC_FEATURE2_DARN 0x00200000 /* darn random number insn */</span>
<span class="c1">#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall */</span>
@@ -630,7 +628,7 @@ entry point (ie. no HDAT).</p>
<p>A cpufeatures-aware OS will not advertise these to userspace without
this patch.</p>
</li>
-<li><p class="first">xive: disable store EOI support</p>
+<li><p>xive: disable store EOI support</p>
<p>Hardware has limitations which would require to put a sync after each
store EOI to make sure the MMIO operations that change the ESB state
are ordered. This is a killer for performance and the PHBs do not
@@ -639,39 +637,33 @@ hardware is improved.</p>
<p>Also, while we are at changing the XIVE source flags, let’s fix the
settings for the PHB4s which should follow these rules :</p>
<ul class="simple">
-<li>SHIFT_BUG for DD10</li>
-<li>STORE_EOI for DD20 and if enabled</li>
-<li>TRIGGER_PAGE for DDx0 and if not STORE_EOI</li>
+<li><p>SHIFT_BUG for DD10</p></li>
+<li><p>STORE_EOI for DD20 and if enabled</p></li>
+<li><p>TRIGGER_PAGE for DDx0 and if not STORE_EOI</p></li>
</ul>
</li>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.10.html#skiboot-5-10"><span class="std std-ref">skiboot-5.10</span></a>:</p>
<ul>
-<li><p class="first">xive: fix opal_xive_set_vp_info() error path</p>
+<li><p>xive: fix opal_xive_set_vp_info() error path</p>
<p>In case of error, opal_xive_set_vp_info() will return without
unlocking the xive object. This is most certainly a typo.</p>
</li>
-<li><p class="first">hw/imc: don’t access homer memory if it was not initialised</p>
+<li><p>hw/imc: don’t access homer memory if it was not initialised</p>
<p>This can happen under mambo, at least.</p>
</li>
-<li><p class="first">nvram: run nvram_validate() after nvram_reformat()</p>
+<li><p>nvram: run nvram_validate() after nvram_reformat()</p>
<p>nvram_reformat() sets nvram_valid = true, but it does not set
skiboot_part_hdr. Call nvram_validate() instead, which sets
everything up properly.</p>
</li>
-<li><p class="first">dts: Zero struct to avoid using uninitialised value</p>
-</li>
-<li><p class="first">hw/imc: Don’t dereference possible NULL</p>
-</li>
-<li><p class="first">libstb/create-container: munmap() signature file address</p>
-</li>
-<li><p class="first">npu2-opencapi: Fix memory leak</p>
-</li>
-<li><p class="first">npu2: Fix possible NULL dereference</p>
-</li>
-<li><p class="first">occ-sensors: Remove NULL checks after dereference</p>
-</li>
-<li><p class="first">core/ipmi-opal: Add interrupt-parent property for ipmi node on P9 and above.</p>
+<li><p>dts: Zero struct to avoid using uninitialised value</p></li>
+<li><p>hw/imc: Don’t dereference possible NULL</p></li>
+<li><p>libstb/create-container: munmap() signature file address</p></li>
+<li><p>npu2-opencapi: Fix memory leak</p></li>
+<li><p>npu2: Fix possible NULL dereference</p></li>
+<li><p>occ-sensors: Remove NULL checks after dereference</p></li>
+<li><p>core/ipmi-opal: Add interrupt-parent property for ipmi node on P9 and above.</p>
<p>dtc complains below warning with newer 4.2+ kernels.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">dts</span><span class="p">:</span> <span class="ne">Warning</span> <span class="p">(</span><span class="n">interrupts_property</span><span class="p">):</span> <span class="n">Missing</span> <span class="n">interrupt</span><span class="o">-</span><span class="n">parent</span> <span class="k">for</span> <span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">opal</span><span class="o">/</span><span class="n">ipmi</span>
</pre></div>
@@ -680,11 +672,11 @@ everything up properly.</p>
and above, which allows ipmi-opal to properly use the OPAL irqchip.</p>
</li>
</ul>
-</div>
-<div class="section" id="other-fixes-and-improvements">
+</section>
+<section id="other-fixes-and-improvements">
<h2>Other fixes and improvements<a class="headerlink" href="#other-fixes-and-improvements" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/cpu: discover stack region size before initialising memory regions</p>
+<li><p>core/cpu: discover stack region size before initialising memory regions</p>
<p>Stack allocation first allocates a memory region sized to hold stacks
for all possible CPUs up to the maximum PIR of the architecture, zeros
the region, then initialises all stacks. Max PIR is 32768 on POWER9,
@@ -692,17 +684,17 @@ which is 512MB for stacks.</p>
<p>The stack region is then shrunk after CPUs are discovered, but this is
a bit of a hack, and it leaves a hole in the memory allocation regions
as it’s done after mem regions are initialised.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mh">0x000000000000</span><span class="o">..</span><span class="mi">00002</span><span class="n">fffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">os</span><span class="o">-</span><span class="n">reserve</span> <span class="o">-</span> <span class="n">OS</span>
-<span class="mh">0x000030000000</span><span class="o">..</span><span class="mi">0000303</span><span class="n">fffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">code</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000030400000</span><span class="o">..</span><span class="mi">000030</span><span class="n">ffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">heap</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000031000000</span><span class="o">..</span><span class="mi">000031</span><span class="n">bfffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">data</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000031c00000</span><span class="o">..</span><span class="mi">000031</span><span class="n">c0ffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">stacks</span> <span class="o">-</span> <span class="n">OPAL</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mh">0x000000000000</span><span class="o">.</span><span class="mf">.00002</span><span class="n">fffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">os</span><span class="o">-</span><span class="n">reserve</span> <span class="o">-</span> <span class="n">OS</span>
+<span class="mh">0x000030000000</span><span class="o">.</span><span class="mf">.0000303</span><span class="n">fffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">code</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000030400000</span><span class="o">.</span><span class="mf">.000030</span><span class="n">ffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">heap</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000031000000</span><span class="o">.</span><span class="mf">.000031</span><span class="n">bfffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">data</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000031c00000</span><span class="o">.</span><span class="mf">.000031</span><span class="n">c0ffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">stacks</span> <span class="o">-</span> <span class="n">OPAL</span>
<span class="o">***</span> <span class="n">gap</span> <span class="o">***</span>
-<span class="mh">0x000051c00000</span><span class="o">..</span><span class="mi">000051</span><span class="n">d01fff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="nd">@0</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000051d02000</span><span class="o">..</span><span class="mi">00007</span><span class="n">fffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="nd">@0</span> <span class="o">-</span> <span class="n">OS</span>
-<span class="mh">0x000080000000</span><span class="o">..</span><span class="mi">000080</span><span class="n">b3cdff</span> <span class="p">:</span> <span class="n">initramfs</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000080b3ce00</span><span class="o">..</span><span class="mi">000080</span><span class="n">b7cdff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">fake</span><span class="o">-</span><span class="n">nvram</span> <span class="o">-</span> <span class="n">OPAL</span>
-<span class="mh">0x000080b7ce00</span><span class="o">..</span><span class="mi">0000</span><span class="n">ffffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="nd">@0</span> <span class="o">-</span> <span class="n">OS</span>
+<span class="mh">0x000051c00000</span><span class="o">.</span><span class="mf">.000051</span><span class="n">d01fff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="o">@</span><span class="mi">0</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000051d02000</span><span class="o">.</span><span class="mf">.00007</span><span class="n">fffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="o">@</span><span class="mi">0</span> <span class="o">-</span> <span class="n">OS</span>
+<span class="mh">0x000080000000</span><span class="o">.</span><span class="mf">.000080</span><span class="n">b3cdff</span> <span class="p">:</span> <span class="n">initramfs</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000080b3ce00</span><span class="o">.</span><span class="mf">.000080</span><span class="n">b7cdff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">fake</span><span class="o">-</span><span class="n">nvram</span> <span class="o">-</span> <span class="n">OPAL</span>
+<span class="mh">0x000080b7ce00</span><span class="o">.</span><span class="mf">.0000</span><span class="n">ffffffff</span> <span class="p">:</span> <span class="n">ibm</span><span class="p">,</span><span class="n">firmware</span><span class="o">-</span><span class="n">allocs</span><span class="o">-</span><span class="n">memory</span><span class="o">@</span><span class="mi">0</span> <span class="o">-</span> <span class="n">OS</span>
</pre></div>
</div>
<p>This change moves zeroing into the per-cpu stack setup. The boot CPU
@@ -712,21 +704,20 @@ device tree, before mem regions are intialised.</p>
<p>This results in all memory being accounted within memory regions,
and less memory fragmentation of OPAL allocations.</p>
</li>
-<li><p class="first">Make gard display show that a record is cleared</p>
+<li><p>Make gard display show that a record is cleared</p>
<p>When clearing gard records, Hostboot only modifies the record_id
portion to be 0xFFFFFFFF. The remainder of the entry remains.
Without this change it can be confusing to users to know that
the record they are looking at is no longer valid.</p>
</li>
-<li><p class="first">Reserve OPAL API number for opal_handle_hmi2 function.</p>
-</li>
-<li><p class="first">dts: spl_wakeup: Remove all workarounds in the spl wakeup logic</p>
+<li><p>Reserve OPAL API number for opal_handle_hmi2 function.</p></li>
+<li><p>dts: spl_wakeup: Remove all workarounds in the spl wakeup logic</p>
<p>We coded few workarounds in special wakeup logic to handle the
buggy firmware. Now that is fixed remove them as they break the
special wakeup protocol. As per the spec we should not de-assert
beofre assert is complete. So follow this protocol.</p>
</li>
-<li><p class="first">build: use thin archives rather than incremental linking</p>
+<li><p>build: use thin archives rather than incremental linking</p>
<p>This changes to build system to use thin archives rather than
incremental linking for built-in.o, similar to recent change to Linux.
built-in.o is renamed to built-in.a, and is created as a thin archive
@@ -740,7 +731,7 @@ time optimisation in toolchains which might be interesting for skiboot
particularly for size reductions.</p>
<p>Size of build tree before this patch is 34.4MB, afterwards 23.1MB.</p>
</li>
-<li><p class="first">core/init: Assert when kernel not found</p>
+<li><p>core/init: Assert when kernel not found</p>
<p>If the kernel doesn’t load out of flash or there is nothing at
KERNEL_LOAD_BASE, we end up with an esoteric message as we try to
branch to out of skiboot into nothing</p>
@@ -765,7 +756,7 @@ branch to out of skiboot into nothing</p>
</pre></div>
</div>
</li>
-<li><p class="first">core: Fix ‘opal-runtime-size’ property</p>
+<li><p>core: Fix ‘opal-runtime-size’ property</p>
<p>We are populating ‘opal-runtime-size’ before calculating actual stack size.
Hence we endup having wrong runtime size (ex: on P9 it shows ~540MB while
actual size is around ~40MB). Note that only device tree property is shows
@@ -773,7 +764,7 @@ wrong value, but reserved-memory reflects correct size.</p>
<p>init_all_cpus() calculates and updates actual stack size. Hence move this
function call before add_opal_node().</p>
</li>
-<li><p class="first">mambo: Add fw-feature flags for security related settings</p>
+<li><p>mambo: Add fw-feature flags for security related settings</p>
<p>Newer firmwares report some feature flags related to security
settings via HDAT. On real hardware skiboot translates these into
device tree properties. For testing purposes just create the
@@ -786,38 +777,36 @@ in src/usr/hdat/hdatiplparms.H.</p>
<p>Also add an environment variable for easily toggling the top-level
“security on” setting.</p>
</li>
-<li><p class="first">direct-controls: mambo fix for multiple chips</p>
-</li>
-<li><p class="first">libflash/blocklevel: Correct miscalculation in blocklevel_smart_erase()</p>
+<li><p>direct-controls: mambo fix for multiple chips</p></li>
+<li><p>libflash/blocklevel: Correct miscalculation in blocklevel_smart_erase()</p>
<p>If blocklevel_smart_erase() detects that the smart erase fits entire in
one erase block, it has an early bail path. In this path it miscaculates
where in the buffer the backend needs to read from to perform the final
write.</p>
</li>
-<li><p class="first">libstb/secureboot: Fix logging of secure verify messages.</p>
+<li><p>libstb/secureboot: Fix logging of secure verify messages.</p>
<p>Currently we are logging secure verify/enforce messages in PR_EMERG
level even when there is no secureboot mode enabled. So reduce the
log level to PR_ERR when secureboot mode is OFF.</p>
</li>
</ul>
-</div>
-<div class="section" id="testing-code-coverage-improvements">
+</section>
+<section id="testing-code-coverage-improvements">
<h2>Testing / Code coverage improvements<a class="headerlink" href="#testing-code-coverage-improvements" title="Permalink to this headline">¶</a></h2>
<p>Improvements in gcov support include support for newer GCCs as well
as easily exporting the area of memory you need to dump to feed to
<cite>extract-gcov</cite>.</p>
<ul>
-<li><p class="first">cpu_idle_job: relax a bit</p>
+<li><p>cpu_idle_job: relax a bit</p>
<p>This <em>dramatically</em> improves kernel boot time with GCOV builds</p>
<p>from ~3minutes between loading kernel and switching the HILE
bit down to around 10 seconds.</p>
</li>
-<li><p class="first">gcov: Another GCC, another gcov tweak</p>
-</li>
-<li><p class="first">Keep constructors with priorities</p>
+<li><p>gcov: Another GCC, another gcov tweak</p></li>
+<li><p>Keep constructors with priorities</p>
<p>Fixes GCOV builds with gcc7, which uses this.</p>
</li>
-<li><p class="first">gcov: Add gcov data struct to sysfs</p>
+<li><p>gcov: Add gcov data struct to sysfs</p>
<p>Extracting the skiboot gcov data is currently a tedious process which
involves taking a mem dump of skiboot and searching for the gcov_info
struct.
@@ -825,10 +814,11 @@ This patch adds the gcov struct to sysfs under /opal/exports. Allowing the
data to be copied directly into userspace and processed.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -869,17 +859,15 @@ data to be copied directly into userspace and processed.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -896,14 +884,15 @@ data to be copied directly into userspace and processed.</p>
<li class="right" >
<a href="skiboot-5.10.6.html" title="skiboot-5.10.6"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.11</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.2.0-rc1.html b/doc/release-notes/skiboot-5.2.0-rc1.html
index a57d742..f59ae6c 100644
--- a/doc/release-notes/skiboot-5.2.0-rc1.html
+++ b/doc/release-notes/skiboot-5.2.0-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.2.0-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.2.0-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.2.0.html" title="skiboot-5.2.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.0-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-2-0-rc1">
+ <section id="skiboot-5-2-0-rc1">
<h1>skiboot-5.2.0-rc1<a class="headerlink" href="#skiboot-5-2-0-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.2.0-rc1 was released on Friday Feb 26th, 2016.</p>
<p>skiboot-5.2.0-rc1 is the first release candidate of skiboot 5.2, which will
@@ -56,83 +56,84 @@ released August 17th, 2015.</p>
stable rules - see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a>.</p>
<p>The current plan is to release skiboot-5.2.0 mid-March 2016, with a focus on
bug fixing for future 5.2.0-rc releases.</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.1, the following features have been added:</p>
<ul class="simple">
-<li>Naples (P8’, i.e. P8 with NVLINK) processor support, including NVLINK.</li>
-<li>Improvements in gard, libflash/pflash and opal-prd utilities<ul>
-<li>increased testing</li>
-<li>increased usability</li>
-<li>systemd scripts for opal-prd</li>
-<li>pflash can now use the /dev/mtd device to access BMC flash rather than
+<li><p>Naples (P8’, i.e. P8 with NVLINK) processor support, including NVLINK.</p></li>
+<li><p>Improvements in gard, libflash/pflash and opal-prd utilities</p>
+<ul>
+<li><p>increased testing</p></li>
+<li><p>increased usability</p></li>
+<li><p>systemd scripts for opal-prd</p></li>
+<li><p>pflash can now use the /dev/mtd device to access BMC flash rather than
accessing it directly. It is <em>important</em> that you use –mtd if your
-BMC may otherwise know how to interact with its own flash.</li>
+BMC may otherwise know how to interact with its own flash.</p></li>
</ul>
</li>
-<li>support for Micron N25Q256Ax and N25Qx256Ax NOR flash.</li>
-<li>support for Winbond W25Q256BV NOR flash</li>
-<li>support for an emulated (“fake”) RTC clock, useful in simulators
-and during bringup</li>
-<li>Explicit 1:1 mapping in ranges properties have been added to PCI
+<li><p>support for Micron N25Q256Ax and N25Qx256Ax NOR flash.</p></li>
+<li><p>support for Winbond W25Q256BV NOR flash</p></li>
+<li><p>support for an emulated (“fake”) RTC clock, useful in simulators
+and during bringup</p></li>
+<li><p>Explicit 1:1 mapping in ranges properties have been added to PCI
bridges. This allows a neat trick with offb and VGA ports that should
-probably not be told to young children.</li>
-<li>Added support to read the V2 format of the OCC-OPAL memory region,
-which supports Workload Optimized Frequency (WOF)</li>
+probably not be told to young children.</p></li>
+<li><p>Added support to read the V2 format of the OCC-OPAL memory region,
+which supports Workload Optimized Frequency (WOF)</p></li>
</ul>
-</div>
-<div class="section" id="changes-in-behavior">
+</section>
+<section id="changes-in-behavior">
<h2>Changes in behavior<a class="headerlink" href="#changes-in-behavior" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Assigning OPAL IDs to PHBs is now fixed and based on the chip id and PHB
-index on that chip. On POWER7, we continue to use allocated numbers.</li>
-<li>We now query the BMC for BT capabilities rather than making assumptions</li>
+<li><p>Assigning OPAL IDs to PHBs is now fixed and based on the chip id and PHB
+index on that chip. On POWER7, we continue to use allocated numbers.</p></li>
+<li><p>We now query the BMC for BT capabilities rather than making assumptions</p></li>
</ul>
-</div>
-<div class="section" id="removed-support">
+</section>
+<section id="removed-support">
<h2>Removed support<a class="headerlink" href="#removed-support" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>p5ioc2 is no longer supported.
-This affects a grand total of two POWER7 systems in the world.</li>
+<li><p>p5ioc2 is no longer supported.
+This affects a grand total of two POWER7 systems in the world.</p></li>
</ul>
<p><strong>NOTE</strong>: It is planned that skiboot-5.2 will be the last release supporting
POWER7 machines.</p>
-</div>
-<div class="section" id="bugs-fixed">
+</section>
+<section id="bugs-fixed">
<h2>Bugs fixed<a class="headerlink" href="#bugs-fixed" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>PHB3: Fix unexpected ER (all) on errinjct by PCI config</li>
-<li>hw/bt: timeout messages when BT interface isn’t functional</li>
-<li>On Habanero, Slot3 should have been “Slot 3”.</li>
-<li>We now completely flush the console buffer before power down and reboot</li>
-<li>For chips with ibm,occ-functional-state set to false, we don’t wait
+<li><p>PHB3: Fix unexpected ER (all) on errinjct by PCI config</p></li>
+<li><p>hw/bt: timeout messages when BT interface isn’t functional</p></li>
+<li><p>On Habanero, Slot3 should have been “Slot 3”.</p></li>
+<li><p>We now completely flush the console buffer before power down and reboot</p></li>
+<li><p>For chips with ibm,occ-functional-state set to false, we don’t wait
for the OCC to start. This caused needless delay in booting on simulators
-which did not simulate OCCs.</li>
-<li>Change OCC reset order to always reset slave OCCs first.</li>
-<li>slw: Remove overwrites for EX_PM_CORE_ECO_VRET and EX_PM_CORE_PFET_VRET
-(these were already initialized in hostboot)</li>
-<li>p8-i2c: send stop bit on timeouts.
-Some devices can otherwise leave the bus in a held state.</li>
+which did not simulate OCCs.</p></li>
+<li><p>Change OCC reset order to always reset slave OCCs first.</p></li>
+<li><p>slw: Remove overwrites for EX_PM_CORE_ECO_VRET and EX_PM_CORE_PFET_VRET
+(these were already initialized in hostboot)</p></li>
+<li><p>p8-i2c: send stop bit on timeouts.
+Some devices can otherwise leave the bus in a held state.</p></li>
</ul>
-</div>
-<div class="section" id="other-improvements">
+</section>
+<section id="other-improvements">
<h2>Other improvements<a class="headerlink" href="#other-improvements" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>many fixes of compiler and static analysis warnings</li>
-<li>increased unit test coverage</li>
-<li>Unit test of “boot debian jessie installer”</li>
-<li>ability to plug in other simulators to run existing tests (e.g. simulator for
-non pegasus p8)</li>
-<li>Support using (patched) Qemu with PowerNV platform support for running
-unit tests.</li>
-<li>increased support for running with sparse</li>
-<li>We now build with -fstack-protector-strong if supported by the compiler</li>
-<li>We now build with -Werror for -Wformat</li>
-<li>pflash is now built as part of travis-ci and for Coverity Scan.</li>
-<li>There is now a RPM SPEC file that can be used as the basis for packaging
-skiboot and associated utilities.</li>
+<li><p>many fixes of compiler and static analysis warnings</p></li>
+<li><p>increased unit test coverage</p></li>
+<li><p>Unit test of “boot debian jessie installer”</p></li>
+<li><p>ability to plug in other simulators to run existing tests (e.g. simulator for
+non pegasus p8)</p></li>
+<li><p>Support using (patched) Qemu with PowerNV platform support for running
+unit tests.</p></li>
+<li><p>increased support for running with sparse</p></li>
+<li><p>We now build with -fstack-protector-strong if supported by the compiler</p></li>
+<li><p>We now build with -Werror for -Wformat</p></li>
+<li><p>pflash is now built as part of travis-ci and for Coverity Scan.</p></li>
+<li><p>There is now a RPM SPEC file that can be used as the basis for packaging
+skiboot and associated utilities.</p></li>
</ul>
-<div class="section" id="contributors">
+<section id="contributors">
<h3>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h3>
<p>We have had a number of improvements in workflow over skiboot-5.1.0. Looking
back, we have roughly the same number of changesets (372 for 5.1.0, 334 for
@@ -140,45 +141,45 @@ back, we have roughly the same number of changesets (372 for 5.1.0, 334 for
rate of development.</p>
<p>Complete statistics are included below (generated by gitdm), but I’d like to
draw attention to a couple of stats:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="19%" />
-<col width="14%" />
-<col width="17%" />
-<col width="17%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 19%" />
+<col style="width: 14%" />
+<col style="width: 17%" />
+<col style="width: 17%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack</th>
-<th class="head">Reviews</th>
-<th class="head">Tested</th>
-<th class="head">Reported</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack</p></th>
+<th class="head"><p>Reviews</p></th>
+<th class="head"><p>Tested</p></th>
+<th class="head"><p>Reported</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15</td>
-<td>20</td>
-<td>1</td>
-<td>0</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13</td>
-<td>38</td>
-<td>1</td>
-<td>4</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20</td>
-<td>34</td>
-<td>6</td>
-<td>11</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15</p></td>
+<td><p>20</p></td>
+<td><p>1</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13</p></td>
+<td><p>38</p></td>
+<td><p>1</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20</p></td>
+<td><p>34</p></td>
+<td><p>6</p></td>
+<td><p>11</p></td>
</tr>
</tbody>
</table>
@@ -191,409 +192,410 @@ existing test teams to start commenting on the patches themselves.</p>
2 employers found
A total of 46172 lines added, 23274 removed (delta 22898)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="30%" />
+<col style="width: 70%" />
+<col style="width: 30%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>146 (43.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>146 (43.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>52 (15.6%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>52 (15.6%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>15 (4.5%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>15 (4.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>12 (3.6%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>12 (3.6%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>12 (3.6%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>12 (3.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>10 (3.0%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>10 (3.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>10 (3.0%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>10 (3.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>10 (3.0%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>10 (3.0%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>9 (2.7%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>9 (2.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>8 (2.4%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>8 (2.4%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>8 (2.4%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>8 (2.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>6 (1.8%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>6 (1.8%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>6 (1.8%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>6 (1.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>4 (1.2%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>4 (1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>4 (1.2%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>4 (1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>4 (1.2%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>4 (1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>3 (0.9%)</td>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>3 (0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Axtens</td>
-<td>3 (0.9%)</td>
+<tr class="row-odd"><td><p>Daniel Axtens</p></td>
+<td><p>3 (0.9%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>2 (0.6%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>2 (0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>2 (0.6%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>2 (0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>2 (0.6%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>2 (0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Adriana Kobylak</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Adriana Kobylak</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shreyas B. Prabhu</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Shreyas B. Prabhu</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Ian Munsie</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Ian Munsie</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="33%" />
+<col style="width: 67%" />
+<col style="width: 33%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>19533 (39.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>19533 (39.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>17920 (36.1%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>17920 (36.1%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>3285 (6.6%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>3285 (6.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Axtens</td>
-<td>2154 (4.3%)</td>
+<tr class="row-odd"><td><p>Daniel Axtens</p></td>
+<td><p>2154 (4.3%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>2028 (4.1%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>2028 (4.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>941 (1.9%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>941 (1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>434 (0.9%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>434 (0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>294 (0.6%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>294 (0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>261 (0.5%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>261 (0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>245 (0.5%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>245 (0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>209 (0.4%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>209 (0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>155 (0.3%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>155 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>153 (0.3%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>153 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>140 (0.3%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>140 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>135 (0.3%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>135 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>111 (0.2%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>111 (0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>81 (0.2%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>81 (0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>60 (0.1%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>60 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>58 (0.1%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>58 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>50 (0.1%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>50 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>43 (0.1%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>43 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Shreyas B. Prabhu</td>
-<td>17 (0.0%)</td>
+<tr class="row-odd"><td><p>Shreyas B. Prabhu</p></td>
+<td><p>17 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>12 (0.0%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>12 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>10 (0.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>10 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Ian Munsie</td>
-<td>8 (0.0%)</td>
+<tr class="row-even"><td><p>Ian Munsie</p></td>
+<td><p>8 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>6 (0.0%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>6 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Adriana Kobylak</td>
-<td>6 (0.0%)</td>
+<tr class="row-even"><td><p>Adriana Kobylak</p></td>
+<td><p>6 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Daniel Axtens</td>
-<td>2149 (9.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Daniel Axtens</p></td>
+<td><p>2149 (9.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Shreyas B. Prabhu</td>
-<td>17 (0.1%)</td>
+<tr class="row-odd"><td><p>Shreyas B. Prabhu</p></td>
+<td><p>17 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>9 (0.0%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>9 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>2 (0.0%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>2 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 190)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>188 (98.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>188 (98.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1 (0.5%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1 (0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>1 (0.5%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>1 (0.5%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 34)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Patrick Williams</td>
-<td>5 (14.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>5 (14.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>5 (14.7%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>5 (14.7%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>5 (14.7%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>5 (14.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>4 (11.8%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>4 (11.8%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>4 (11.8%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>4 (11.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Sam Mendoza-Jonas</td>
-<td>3 (8.8%)</td>
+<tr class="row-odd"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>3 (8.8%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>3 (8.8%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>3 (8.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>2 (5.9%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>2 (5.9%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>2 (5.9%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>2 (5.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>1 (2.9%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>1 (2.9%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 6)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>3 (50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>3 (50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>2 (33.3%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>2 (33.3%)</p></td>
</tr>
-<tr class="row-even"><td>Gajendra B Bandhu1</td>
-<td>1 (16.7%)</td>
+<tr class="row-even"><td><p>Gajendra B Bandhu1</p></td>
+<td><p>1 (16.7%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most tested-by credits (total 6)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="33%" />
+<col style="width: 68%" />
+<col style="width: 33%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>2 (33.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>2 (33.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>2 (33.3%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>2 (33.3%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>1 (16.7%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>1 (16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1 (16.7%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1 (16.7%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most report credits (total 11)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vaibhav Jain</td>
-<td>2 (18.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vaibhav Jain</p></td>
+<td><p>2 (18.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Paul Nguyen</td>
-<td>2 (18.2%)</td>
+<tr class="row-odd"><td><p>Paul Nguyen</p></td>
+<td><p>2 (18.2%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Aneesh Kumar K.V</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Aneesh Kumar K.V</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Dionysius d. Bell</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>Dionysius d. Bell</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Pradeep Ramanna</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Pradeep Ramanna</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>John Walthour</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>John Walthour</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 11)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>6 (54.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>6 (54.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>3 (27.3%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>3 (27.3%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -628,17 +630,15 @@ A total of 46172 lines added, 23274 removed (delta 22898)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -655,14 +655,15 @@ A total of 46172 lines added, 23274 removed (delta 22898)</p>
<li class="right" >
<a href="skiboot-5.2.0.html" title="skiboot-5.2.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.0-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.2.0-rc2.html b/doc/release-notes/skiboot-5.2.0-rc2.html
index 5be2889..bbec2a5 100644
--- a/doc/release-notes/skiboot-5.2.0-rc2.html
+++ b/doc/release-notes/skiboot-5.2.0-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.2.0-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.2.0-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.2.0-rc1.html" title="skiboot-5.2.0-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.0-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-2-0-rc2">
+ <section id="skiboot-5-2-0-rc2">
<h1>skiboot-5.2.0-rc2<a class="headerlink" href="#skiboot-5-2-0-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.2.0-rc2 was released on Wednesday March 9th, 2016.</p>
<p>skiboot-5.2.0-rc2 is the second release candidate of skiboot 5.2, which will
@@ -57,75 +57,77 @@ stable rules - see <a class="reference internal" href="../process/stable-skiboot
<p>The current plan is to release skiboot-5.2.0 mid-March 2016, with a focus on
bug fixing for future 5.2.0-rc releases (if any - I hope this will be the last)</p>
<p>Over skiboot-5.2.0-rc1, we have the following changes:</p>
-<div class="section" id="new-platform">
+<section id="new-platform">
<h2>New platform!<a class="headerlink" href="#new-platform" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Add Barreleye platform</li>
+<li><p>Add Barreleye platform</p></li>
</ul>
-</div>
-<div class="section" id="generic">
+</section>
+<section id="generic">
<h2>Generic<a class="headerlink" href="#generic" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hw/p8-i2c: Speed up SMBUS_WRITE</li>
-<li>Fix early backtraces</li>
+<li><p>hw/p8-i2c: Speed up SMBUS_WRITE</p></li>
+<li><p>Fix early backtraces</p></li>
</ul>
-</div>
-<div class="section" id="fsp-platforms">
+</section>
+<section id="fsp-platforms">
<h2>FSP Platforms<a class="headerlink" href="#fsp-platforms" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>fsp-sensor: rework device tree for sensors</li>
-<li>platforms/firenze: Fix I2C clock source frequency</li>
+<li><p>fsp-sensor: rework device tree for sensors</p></li>
+<li><p>platforms/firenze: Fix I2C clock source frequency</p></li>
</ul>
-</div>
-<div class="section" id="simics-simulator">
+</section>
+<section id="simics-simulator">
<h2>Simics simulator<a class="headerlink" href="#simics-simulator" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Enable Simics UART console</li>
+<li><p>Enable Simics UART console</p></li>
</ul>
-</div>
-<div class="section" id="mambo-simulator">
+</section>
+<section id="mambo-simulator">
<h2>Mambo simulator<a class="headerlink" href="#mambo-simulator" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>platforms/mambo: Add terminate callback<ul>
-<li>fix hang in multi-threaded mambo</li>
-<li>add multithreaded mambo tests</li>
+<li><p>platforms/mambo: Add terminate callback</p>
+<ul>
+<li><p>fix hang in multi-threaded mambo</p></li>
+<li><p>add multithreaded mambo tests</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="ipmi">
+</section>
+<section id="ipmi">
<h2>IPMI<a class="headerlink" href="#ipmi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hw/ipmi: fix event data 1 for System Firmware Progress sensor</li>
-<li>ipmi: Log exact NetFn value in OPAL logs</li>
+<li><p>hw/ipmi: fix event data 1 for System Firmware Progress sensor</p></li>
+<li><p>ipmi: Log exact NetFn value in OPAL logs</p></li>
</ul>
-</div>
-<div class="section" id="ast-bmc-based-platforms">
+</section>
+<section id="ast-bmc-based-platforms">
<h2>AST BMC based platforms<a class="headerlink" href="#ast-bmc-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hw/bt: allow BT driver to use different buffer size</li>
+<li><p>hw/bt: allow BT driver to use different buffer size</p></li>
</ul>
-</div>
-<div class="section" id="opal-prd-utility">
+</section>
+<section id="opal-prd-utility">
<h2>opal-prd utility<a class="headerlink" href="#opal-prd-utility" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>opal-prd: Add debug output for firmware-driven OCC events</dt>
-<dd>We indicate when we have a user-driven event, so add corresponding
-outputs for firmware-driven ones too.</dd>
+<li><dl class="simple">
+<dt>opal-prd: Add debug output for firmware-driven OCC events</dt><dd><p>We indicate when we have a user-driven event, so add corresponding
+outputs for firmware-driven ones too.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="getscom-utility">
+</section>
+<section id="getscom-utility">
<h2>getscom utility<a class="headerlink" href="#getscom-utility" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Add Naples chip support</li>
+<li><p>Add Naples chip support</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -161,17 +163,15 @@ outputs for firmware-driven ones too.</dd>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -188,14 +188,15 @@ outputs for firmware-driven ones too.</dd>
<li class="right" >
<a href="skiboot-5.2.0-rc1.html" title="skiboot-5.2.0-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.0-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.2.0.html b/doc/release-notes/skiboot-5.2.0.html
index 99b5cb5..55c550a 100644
--- a/doc/release-notes/skiboot-5.2.0.html
+++ b/doc/release-notes/skiboot-5.2.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.2.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.2.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.11-rc1.html" title="skiboot-5.11-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.0</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-2-0">
+ <section id="skiboot-5-2-0">
<span id="id1"></span><h1>skiboot-5.2.0<a class="headerlink" href="#skiboot-5-2-0" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.2.0 was released on Wednesday March 16th, 2016.</p>
<p>skiboot-5.2.0 is the first stable release of skiboot 5.2, the new stable
@@ -54,162 +54,164 @@ first released August 17th, 2015.</p>
<p>skiboot-5.2.0 contains all bug fixes as of skiboot-5.1.15.</p>
<p>This is the second release that will follow the (now documented) Skiboot
stable rules - see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a>.</p>
-<div class="section" id="changes-since-rc2">
+<section id="changes-since-rc2">
<h2>Changes since rc2<a class="headerlink" href="#changes-since-rc2" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.2.0-rc2, the following fixes are included:</p>
<ul class="simple">
-<li>Include ‘extract-gcov’ in make clean.</li>
-<li>ipmi-sel: Fix esel event logger to handle early boot PANIC events</li>
-<li>IPMI: Enable synchronous eSEL logging option (for PANIC events)</li>
-<li>libflash/libffs: Reporting seeing all 0xFF bytes during init.</li>
-<li>ipmi-sel: Fix memory leak in error path</li>
+<li><p>Include ‘extract-gcov’ in make clean.</p></li>
+<li><p>ipmi-sel: Fix esel event logger to handle early boot PANIC events</p></li>
+<li><p>IPMI: Enable synchronous eSEL logging option (for PANIC events)</p></li>
+<li><p>libflash/libffs: Reporting seeing all 0xFF bytes during init.</p></li>
+<li><p>ipmi-sel: Fix memory leak in error path</p></li>
</ul>
-</div>
-<div class="section" id="changes-since-rc1">
+</section>
+<section id="changes-since-rc1">
<h2>Changes since rc1<a class="headerlink" href="#changes-since-rc1" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.2.0-rc1, we have the following changes:</p>
<ul class="simple">
-<li>Add Barreleye platform</li>
+<li><p>Add Barreleye platform</p></li>
</ul>
-<div class="section" id="generic">
+<section id="generic">
<h3>Generic<a class="headerlink" href="#generic" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>hw/p8-i2c: Speed up SMBUS_WRITE</li>
-<li>Fix early backtraces</li>
+<li><p>hw/p8-i2c: Speed up SMBUS_WRITE</p></li>
+<li><p>Fix early backtraces</p></li>
</ul>
-</div>
-<div class="section" id="fsp-platforms">
+</section>
+<section id="fsp-platforms">
<h3>FSP Platforms<a class="headerlink" href="#fsp-platforms" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>fsp-sensor: rework device tree for sensors</li>
-<li>platforms/firenze: Fix I2C clock source frequency</li>
+<li><p>fsp-sensor: rework device tree for sensors</p></li>
+<li><p>platforms/firenze: Fix I2C clock source frequency</p></li>
</ul>
-</div>
-<div class="section" id="simics-simulator">
+</section>
+<section id="simics-simulator">
<h3>Simics simulator<a class="headerlink" href="#simics-simulator" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>Enable Simics UART console</li>
+<li><p>Enable Simics UART console</p></li>
</ul>
-</div>
-<div class="section" id="mambo-simulator">
+</section>
+<section id="mambo-simulator">
<h3>Mambo simulator<a class="headerlink" href="#mambo-simulator" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>platforms/mambo: Add terminate callback<ul>
-<li>fix hang in multi-threaded mambo</li>
-<li>add multithreaded mambo tests</li>
+<li><p>platforms/mambo: Add terminate callback</p>
+<ul>
+<li><p>fix hang in multi-threaded mambo</p></li>
+<li><p>add multithreaded mambo tests</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="ipmi">
+</section>
+<section id="ipmi">
<h3>IPMI<a class="headerlink" href="#ipmi" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>hw/ipmi: fix event data 1 for System Firmware Progress sensor</li>
-<li>ipmi: Log exact NetFn value in OPAL logs</li>
+<li><p>hw/ipmi: fix event data 1 for System Firmware Progress sensor</p></li>
+<li><p>ipmi: Log exact NetFn value in OPAL logs</p></li>
</ul>
-</div>
-<div class="section" id="ast-bmc-based-platforms">
+</section>
+<section id="ast-bmc-based-platforms">
<h3>AST BMC based platforms<a class="headerlink" href="#ast-bmc-based-platforms" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>hw/bt: allow BT driver to use different buffer size</li>
+<li><p>hw/bt: allow BT driver to use different buffer size</p></li>
</ul>
-</div>
-<div class="section" id="opal-prd-utility">
+</section>
+<section id="opal-prd-utility">
<h3>opal-prd utility<a class="headerlink" href="#opal-prd-utility" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>opal-prd: Add debug output for firmware-driven OCC events</dt>
-<dd>We indicate when we have a user-driven event, so add corresponding
-outputs for firmware-driven ones too.</dd>
+<li><dl class="simple">
+<dt>opal-prd: Add debug output for firmware-driven OCC events</dt><dd><p>We indicate when we have a user-driven event, so add corresponding
+outputs for firmware-driven ones too.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="getscom-utility">
+</section>
+<section id="getscom-utility">
<h3>getscom utility<a class="headerlink" href="#getscom-utility" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>Add Naples chip support</li>
+<li><p>Add Naples chip support</p></li>
</ul>
-</div>
-<div class="section" id="new-features">
+</section>
+<section id="new-features">
<h3>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h3>
<p>Over skiboot-5.1, the following features have been added:</p>
<ul class="simple">
-<li>Naples (P8’, i.e. P8 with NVLINK) processor support, including NVLINK.</li>
-<li>Improvements in gard, libflash/pflash and opal-prd utilities<ul>
-<li>increased testing</li>
-<li>increased usability</li>
-<li>systemd scripts for opal-prd</li>
-<li>pflash can now use the /dev/mtd device to access BMC flash rather than
+<li><p>Naples (P8’, i.e. P8 with NVLINK) processor support, including NVLINK.</p></li>
+<li><p>Improvements in gard, libflash/pflash and opal-prd utilities</p>
+<ul>
+<li><p>increased testing</p></li>
+<li><p>increased usability</p></li>
+<li><p>systemd scripts for opal-prd</p></li>
+<li><p>pflash can now use the /dev/mtd device to access BMC flash rather than
accessing it directly. It is <em>important</em> that you use –mtd if your
-BMC may otherwise know how to interact with its own flash.</li>
+BMC may otherwise know how to interact with its own flash.</p></li>
</ul>
</li>
-<li>support for Micron N25Q256Ax and N25Qx256Ax NOR flash.</li>
-<li>support for Winbond W25Q256BV NOR flash</li>
-<li>support for an emulated (“fake”) RTC clock, useful in simulators
-and during bringup</li>
-<li>Explicit 1:1 mapping in ranges properties have been added to PCI
+<li><p>support for Micron N25Q256Ax and N25Qx256Ax NOR flash.</p></li>
+<li><p>support for Winbond W25Q256BV NOR flash</p></li>
+<li><p>support for an emulated (“fake”) RTC clock, useful in simulators
+and during bringup</p></li>
+<li><p>Explicit 1:1 mapping in ranges properties have been added to PCI
bridges. This allows a neat trick with offb and VGA ports that should
-probably not be told to young children.</li>
-<li>Added support to read the V2 format of the OCC-OPAL memory region,
-which supports Workload Optimized Frequency (WOF)</li>
+probably not be told to young children.</p></li>
+<li><p>Added support to read the V2 format of the OCC-OPAL memory region,
+which supports Workload Optimized Frequency (WOF)</p></li>
</ul>
-</div>
-<div class="section" id="changes-in-behavior">
+</section>
+<section id="changes-in-behavior">
<h3>Changes in behavior<a class="headerlink" href="#changes-in-behavior" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>Assigning OPAL IDs to PHBs is now fixed and based on the chip id and PHB
-index on that chip. On POWER7, we continue to use allocated numbers.</li>
-<li>We now query the BMC for BT capabilities rather than making assumptions</li>
+<li><p>Assigning OPAL IDs to PHBs is now fixed and based on the chip id and PHB
+index on that chip. On POWER7, we continue to use allocated numbers.</p></li>
+<li><p>We now query the BMC for BT capabilities rather than making assumptions</p></li>
</ul>
-</div>
-<div class="section" id="removed-support">
+</section>
+<section id="removed-support">
<h3>Removed support<a class="headerlink" href="#removed-support" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>p5ioc2 is no longer supported.
-This affects a grand total of two POWER7 systems in the world.</li>
+<li><p>p5ioc2 is no longer supported.
+This affects a grand total of two POWER7 systems in the world.</p></li>
</ul>
<p><strong>NOTE</strong>: It is planned that skiboot-5.2 will be the last release supporting
POWER7 machines.</p>
-</div>
-<div class="section" id="bugs-fixed">
+</section>
+<section id="bugs-fixed">
<h3>Bugs fixed<a class="headerlink" href="#bugs-fixed" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>PHB3: Fix unexpected ER (all) on errinjct by PCI config</li>
-<li>hw/bt: timeout messages when BT interface isn’t functional</li>
-<li>On Habanero, Slot3 should have been “Slot 3”.</li>
-<li>We now completely flush the console buffer before power down and reboot</li>
-<li>For chips with ibm,occ-functional-state set to false, we don’t wait
+<li><p>PHB3: Fix unexpected ER (all) on errinjct by PCI config</p></li>
+<li><p>hw/bt: timeout messages when BT interface isn’t functional</p></li>
+<li><p>On Habanero, Slot3 should have been “Slot 3”.</p></li>
+<li><p>We now completely flush the console buffer before power down and reboot</p></li>
+<li><p>For chips with ibm,occ-functional-state set to false, we don’t wait
for the OCC to start. This caused needless delay in booting on simulators
-which did not simulate OCCs.</li>
-<li>Change OCC reset order to always reset slave OCCs first.</li>
-<li>slw: Remove overwrites for EX_PM_CORE_ECO_VRET and EX_PM_CORE_PFET_VRET
-(these were already initialized in hostboot)</li>
-<li>p8-i2c: send stop bit on timeouts.
-Some devices can otherwise leave the bus in a held state.</li>
+which did not simulate OCCs.</p></li>
+<li><p>Change OCC reset order to always reset slave OCCs first.</p></li>
+<li><p>slw: Remove overwrites for EX_PM_CORE_ECO_VRET and EX_PM_CORE_PFET_VRET
+(these were already initialized in hostboot)</p></li>
+<li><p>p8-i2c: send stop bit on timeouts.
+Some devices can otherwise leave the bus in a held state.</p></li>
</ul>
-</div>
-<div class="section" id="other-improvements">
+</section>
+<section id="other-improvements">
<h3>Other improvements<a class="headerlink" href="#other-improvements" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>many fixes of compiler and static analysis warnings</li>
-<li>increased unit test coverage</li>
-<li>Unit test of “boot debian jessie installer”</li>
-<li>ability to plug in other simulators to run existing tests (e.g. simulator for
-non pegasus p8)</li>
-<li>Support using (patched) Qemu with PowerNV platform support for running
-unit tests.</li>
-<li>increased support for running with sparse</li>
-<li>We now build with -fstack-protector-strong if supported by the compiler</li>
-<li>We now build with -Werror for -Wformat</li>
-<li>pflash is now built as part of travis-ci and for Coverity Scan.</li>
-<li>There is now a RPM SPEC file that can be used as the basis for packaging
-skiboot and associated utilities.</li>
+<li><p>many fixes of compiler and static analysis warnings</p></li>
+<li><p>increased unit test coverage</p></li>
+<li><p>Unit test of “boot debian jessie installer”</p></li>
+<li><p>ability to plug in other simulators to run existing tests (e.g. simulator for
+non pegasus p8)</p></li>
+<li><p>Support using (patched) Qemu with PowerNV platform support for running
+unit tests.</p></li>
+<li><p>increased support for running with sparse</p></li>
+<li><p>We now build with -fstack-protector-strong if supported by the compiler</p></li>
+<li><p>We now build with -Werror for -Wformat</p></li>
+<li><p>pflash is now built as part of travis-ci and for Coverity Scan.</p></li>
+<li><p>There is now a RPM SPEC file that can be used as the basis for packaging
+skiboot and associated utilities.</p></li>
</ul>
-</div>
-</div>
-<div class="section" id="contributors">
+</section>
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>We have had a number of improvements in workflow over skiboot-5.1.0. Looking
back, we have roughly the same number of changesets (372 for 5.1.0, 334 for
@@ -217,45 +219,45 @@ back, we have roughly the same number of changesets (372 for 5.1.0, 334 for
rate of development.</p>
<p>Complete statistics are included below (generated by gitdm), but I’d like to
draw attention to a couple of stats:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="19%" />
-<col width="14%" />
-<col width="17%" />
-<col width="17%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 19%" />
+<col style="width: 14%" />
+<col style="width: 17%" />
+<col style="width: 17%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack</th>
-<th class="head">Reviews</th>
-<th class="head">Tested</th>
-<th class="head">Reported</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack</p></th>
+<th class="head"><p>Reviews</p></th>
+<th class="head"><p>Tested</p></th>
+<th class="head"><p>Reported</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15</td>
-<td>20</td>
-<td>1</td>
-<td>0</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13</td>
-<td>38</td>
-<td>1</td>
-<td>4</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20</td>
-<td>34</td>
-<td>6</td>
-<td>11</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15</p></td>
+<td><p>20</p></td>
+<td><p>1</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13</p></td>
+<td><p>38</p></td>
+<td><p>1</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20</p></td>
+<td><p>34</p></td>
+<td><p>6</p></td>
+<td><p>11</p></td>
</tr>
</tbody>
</table>
@@ -268,408 +270,409 @@ existing test teams to start commenting on the patches themselves.</p>
2 employers found
A total of 46172 lines added, 23274 removed (delta 22898)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="30%" />
+<col style="width: 70%" />
+<col style="width: 30%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>146 (43.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>146 (43.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>52 (15.6%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>52 (15.6%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>15 (4.5%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>15 (4.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>12 (3.6%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>12 (3.6%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>12 (3.6%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>12 (3.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>10 (3.0%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>10 (3.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>10 (3.0%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>10 (3.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>10 (3.0%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>10 (3.0%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>9 (2.7%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>9 (2.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>8 (2.4%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>8 (2.4%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>8 (2.4%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>8 (2.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>6 (1.8%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>6 (1.8%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>6 (1.8%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>6 (1.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>4 (1.2%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>4 (1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>4 (1.2%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>4 (1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>4 (1.2%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>4 (1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>3 (0.9%)</td>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>3 (0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Axtens</td>
-<td>3 (0.9%)</td>
+<tr class="row-odd"><td><p>Daniel Axtens</p></td>
+<td><p>3 (0.9%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>2 (0.6%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>2 (0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>2 (0.6%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>2 (0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>2 (0.6%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>2 (0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Adriana Kobylak</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Adriana Kobylak</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shreyas B. Prabhu</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Shreyas B. Prabhu</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Ian Munsie</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Ian Munsie</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="33%" />
+<col style="width: 67%" />
+<col style="width: 33%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>19533 (39.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>19533 (39.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>17920 (36.1%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>17920 (36.1%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>3285 (6.6%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>3285 (6.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Axtens</td>
-<td>2154 (4.3%)</td>
+<tr class="row-odd"><td><p>Daniel Axtens</p></td>
+<td><p>2154 (4.3%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>2028 (4.1%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>2028 (4.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>941 (1.9%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>941 (1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>434 (0.9%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>434 (0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>294 (0.6%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>294 (0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>261 (0.5%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>261 (0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>245 (0.5%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>245 (0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>209 (0.4%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>209 (0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>155 (0.3%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>155 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>153 (0.3%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>153 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>140 (0.3%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>140 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>135 (0.3%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>135 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>111 (0.2%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>111 (0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>81 (0.2%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>81 (0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>60 (0.1%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>60 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>58 (0.1%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>58 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>50 (0.1%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>50 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>43 (0.1%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>43 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Shreyas B. Prabhu</td>
-<td>17 (0.0%)</td>
+<tr class="row-odd"><td><p>Shreyas B. Prabhu</p></td>
+<td><p>17 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>12 (0.0%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>12 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>10 (0.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>10 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Ian Munsie</td>
-<td>8 (0.0%)</td>
+<tr class="row-even"><td><p>Ian Munsie</p></td>
+<td><p>8 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>6 (0.0%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>6 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Adriana Kobylak</td>
-<td>6 (0.0%)</td>
+<tr class="row-even"><td><p>Adriana Kobylak</p></td>
+<td><p>6 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Daniel Axtens</td>
-<td>2149 (9.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Daniel Axtens</p></td>
+<td><p>2149 (9.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Shreyas B. Prabhu</td>
-<td>17 (0.1%)</td>
+<tr class="row-odd"><td><p>Shreyas B. Prabhu</p></td>
+<td><p>17 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>9 (0.0%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>9 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>2 (0.0%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>2 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 190)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>188 (98.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>188 (98.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1 (0.5%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1 (0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Neelesh Gupta</td>
-<td>1 (0.5%)</td>
+<tr class="row-even"><td><p>Neelesh Gupta</p></td>
+<td><p>1 (0.5%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 34)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Patrick Williams</td>
-<td>5 (14.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>5 (14.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>5 (14.7%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>5 (14.7%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>5 (14.7%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>5 (14.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>4 (11.8%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>4 (11.8%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>4 (11.8%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>4 (11.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Sam Mendoza-Jonas</td>
-<td>3 (8.8%)</td>
+<tr class="row-odd"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>3 (8.8%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>3 (8.8%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>3 (8.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>2 (5.9%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>2 (5.9%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>2 (5.9%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>2 (5.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>1 (2.9%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>1 (2.9%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 6)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>3 (50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>3 (50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>2 (33.3%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>2 (33.3%)</p></td>
</tr>
-<tr class="row-even"><td>Gajendra B Bandhu1</td>
-<td>1 (16.7%)</td>
+<tr class="row-even"><td><p>Gajendra B Bandhu1</p></td>
+<td><p>1 (16.7%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most tested-by credits (total 6)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="33%" />
+<col style="width: 68%" />
+<col style="width: 33%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>2 (33.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>2 (33.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>2 (33.3%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>2 (33.3%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>1 (16.7%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>1 (16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1 (16.7%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1 (16.7%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most report credits (total 11)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vaibhav Jain</td>
-<td>2 (18.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vaibhav Jain</p></td>
+<td><p>2 (18.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Paul Nguyen</td>
-<td>2 (18.2%)</td>
+<tr class="row-odd"><td><p>Paul Nguyen</p></td>
+<td><p>2 (18.2%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Aneesh Kumar K.V</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Aneesh Kumar K.V</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Dionysius d. Bell</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>Dionysius d. Bell</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Pradeep Ramanna</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Pradeep Ramanna</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>John Walthour</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>John Walthour</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 11)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="66%" />
-<col width="34%" />
+<col style="width: 66%" />
+<col style="width: 34%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>6 (54.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>6 (54.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>3 (27.3%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>3 (27.3%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>1 (9.1%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -714,17 +717,15 @@ A total of 46172 lines added, 23274 removed (delta 22898)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -741,14 +742,15 @@ A total of 46172 lines added, 23274 removed (delta 22898)</p>
<li class="right" >
<a href="skiboot-5.11-rc1.html" title="skiboot-5.11-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.2.1.html b/doc/release-notes/skiboot-5.2.1.html
index 4d22281..ef57125 100644
--- a/doc/release-notes/skiboot-5.2.1.html
+++ b/doc/release-notes/skiboot-5.2.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.2.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.2.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.2.0-rc2.html" title="skiboot-5.2.0-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-2-1">
+ <section id="skiboot-5-2-1">
<h1>skiboot-5.2.1<a class="headerlink" href="#skiboot-5-2-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.2.1 was released on Wednesday April 27th, 2016.</p>
<p>skiboot-5.2.1 is the second stable release of skiboot 5.2, the new stable
@@ -54,28 +54,28 @@ first released August 17th, 2015.</p>
<p>skiboot-5.2.1 contains all bug fixes as of skiboot-5.1.15.</p>
<p>This is the second release that will follow the (now documented) Skiboot
stable rules - see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a>.</p>
-<div class="section" id="changes">
+<section id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h2>
<p>Over skiboot-5.2.0, the following fixes are included:</p>
-<div class="section" id="pflash">
+<section id="pflash">
<h3>pflash<a class="headerlink" href="#pflash" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>Allow building under yocto.
-Makefile fixes to enable building as part of an OpenBMC build.</li>
+<li><p>Allow building under yocto.
+Makefile fixes to enable building as part of an OpenBMC build.</p></li>
</ul>
-</div>
-<div class="section" id="garrison-platform">
+</section>
+<section id="garrison-platform">
<h3>Garrison platform<a class="headerlink" href="#garrison-platform" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>Add PCIe and NPU slot location names</li>
-<li>hw/npu.c: Add ibm, npu-index property to npu device tree</li>
-<li>hmi: Add handling for NPU checkstops</li>
+<li><p>Add PCIe and NPU slot location names</p></li>
+<li><p>hw/npu.c: Add ibm, npu-index property to npu device tree</p></li>
+<li><p>hmi: Add handling for NPU checkstops</p></li>
</ul>
-</div>
-<div class="section" id="phb3-all-power8-platforms">
+</section>
+<section id="phb3-all-power8-platforms">
<h3>PHB3 (all POWER8 platforms)<a class="headerlink" href="#phb3-all-power8-platforms" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">hw/phb3: Ensure PQ bits are cleared in the IVC when masking IRQ
+<li><p>hw/phb3: Ensure PQ bits are cleared in the IVC when masking IRQ
When we mask an interrupt, we may race with another interrupt coming
in from the hardware. If this occurs, the P and/or Q bit may end up
being set but we never EOI/clear them. This could result in a lost
@@ -85,7 +85,7 @@ being presented.</p>
interrupt masking at the same time as high interrupt load. The fix is
not specific to CAPI though.</p>
</li>
-<li><p class="first">hw/phb3: Fix potential race in EOI
+<li><p>hw/phb3: Fix potential race in EOI
When we EOI we need to clear the present (P) bit in the Interrupt
Vector Cache (IVC). We must clear P ensuring that any additional
interrupts that come in aren’t lost while also maintaining coherency
@@ -99,18 +99,18 @@ what we wanted the new generation count to be if the update was
successful.</p>
</li>
</ul>
-</div>
-<div class="section" id="fsp-platforms">
+</section>
+<section id="fsp-platforms">
<h3>FSP platforms<a class="headerlink" href="#fsp-platforms" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li>OPAL:Handle mbox response with bad status:0x24 during FSP termination
-OPAL committed a predictive log with SRC BB822411 in some situations.</li>
+<li><p>OPAL:Handle mbox response with bad status:0x24 during FSP termination
+OPAL committed a predictive log with SRC BB822411 in some situations.</p></li>
</ul>
-</div>
-<div class="section" id="generic">
+</section>
+<section id="generic">
<h3>Generic<a class="headerlink" href="#generic" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">hmi: Fix a bug where partial hmi event was reported to host.
+<li><p>hmi: Fix a bug where partial hmi event was reported to host.
This bug fix ensures the CPU PIR is reported correctly:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="p">[</span> <span class="mf">305.628283</span><span class="p">]</span> <span class="n">Fatal</span> <span class="n">Hypervisor</span> <span class="n">Maintenance</span> <span class="n">interrupt</span> <span class="p">[</span><span class="n">Not</span> <span class="n">recovered</span><span class="p">]</span>
<span class="p">[</span> <span class="mf">305.628341</span><span class="p">]</span> <span class="n">Error</span> <span class="n">detail</span><span class="p">:</span> <span class="n">Malfunction</span> <span class="n">Alert</span>
@@ -121,224 +121,224 @@ This bug fix ensures the CPU PIR is reported correctly:</p>
</pre></div>
</div>
</li>
-<li><p class="first">xscom: Return OPAL_WRONG_STATE on XSCOM ops if CPU is asleep</p>
-</li>
+<li><p>xscom: Return OPAL_WRONG_STATE on XSCOM ops if CPU is asleep</p></li>
</ul>
-</div>
-</div>
-<div class="section" id="contributors">
+</section>
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>Processed 15 csets from 7 developers
A total of 436 lines added, 59 removed (delta 377)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="74%" />
-<col width="26%" />
+<col style="width: 74%" />
+<col style="width: 26%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Russell Currey</td>
-<td>7 (46.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>7 (46.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>2 (13.3%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>2 (13.3%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>2 (13.3%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>2 (13.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>1 (6.7%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>1 (6.7%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>1 (6.7%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>1 (6.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Mamatha</td>
-<td>1 (6.7%)</td>
+<tr class="row-odd"><td><p>Mamatha</p></td>
+<td><p>1 (6.7%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>1 (6.7%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>1 (6.7%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Alistair Popple</td>
-<td>215 (48.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>215 (48.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>140 (31.5%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>140 (31.5%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>55 (12.4%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>55 (12.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Mamatha</td>
-<td>15 (3.4%)</td>
+<tr class="row-odd"><td><p>Mamatha</p></td>
+<td><p>15 (3.4%)</p></td>
</tr>
-<tr class="row-even"><td>Patrick Williams</td>
-<td>9 (2.0%)</td>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>9 (2.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>8 (1.8%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>8 (1.8%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>3 (0.7%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>3 (0.7%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Patrick Williams</td>
-<td>5 (8.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>5 (8.5%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 30)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>15 (50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>15 (50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>7 (23.3%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>7 (23.3%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>2 (6.7%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>2 (6.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>2 (6.7%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>2 (6.7%)</p></td>
</tr>
-<tr class="row-even"><td>Patrick Williams</td>
-<td>1 (3.3%)</td>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>1 (3.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>1 (3.3%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>1 (3.3%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>1 (3.3%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>1 (3.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Mamatha</td>
-<td>1 (3.3%)</td>
+<tr class="row-odd"><td><p>Mamatha</p></td>
+<td><p>1 (3.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 11)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Alistair Popple</td>
-<td>5 (45.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>5 (45.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>3 (27.3%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>3 (27.3%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>2 (18.2%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>2 (18.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>1 (9.1%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>1 (9.1%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most Acked-by (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Alistair Popple</td>
-<td>1 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>1 (100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 3)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>2 (66.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>2 (66.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>1 (33.3%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>1 (33.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who received the most tested-by credits (total 3)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Michael Neuling</td>
-<td>3 (100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>3 (100.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -374,17 +374,15 @@ A total of 436 lines added, 59 removed (delta 377)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -401,14 +399,15 @@ A total of 436 lines added, 59 removed (delta 377)</p>
<li class="right" >
<a href="skiboot-5.2.0-rc2.html" title="skiboot-5.2.0-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.2.2.html b/doc/release-notes/skiboot-5.2.2.html
index d9658ff..af2ae9d 100644
--- a/doc/release-notes/skiboot-5.2.2.html
+++ b/doc/release-notes/skiboot-5.2.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.2.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.2.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.2.1.html" title="skiboot-5.2.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-2-2">
+ <section id="skiboot-5-2-2">
<h1>skiboot-5.2.2<a class="headerlink" href="#skiboot-5-2-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.2.2 was released on Thursday May 5th, 2016.</p>
<p>skiboot-5.2.2 is the third stable release of skiboot 5.2, the new stable
@@ -58,28 +58,28 @@ one bug fix targeted at P8NVL systems, notably the Garrison platform.</p>
<p>This is the second release that will follow the (now documented) Skiboot
stable rules - see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a>.</p>
<p>Over skiboot-5.2.1, the following fixes are included:</p>
-<div class="section" id="p8nvl-garrison">
+<section id="p8nvl-garrison">
<h2>P8NVL/Garrison<a class="headerlink" href="#p8nvl-garrison" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><dl class="first docutils">
-<dt>PHB3: Fix corruption of pref window register</dt>
-<dd><p class="first">On P8+ Garrison platform, the root port’s pref window register might
+<li><dl>
+<dt>PHB3: Fix corruption of pref window register</dt><dd><p>On P8+ Garrison platform, the root port’s pref window register might
be not writable and we have to emulate the window because of hardware
defect. In order to detect that, we read the register content, write
inversed value and read the register content again. The register is
regarded as read-only if the values from the two continuous read are
same. However, the original register content isn’t written back and
it causes corruption on pref window register if it’s writable.</p>
-<p class="last">This fixes the above issue by writing the original content back to
+<p>This fixes the above issue by writing the original content back to
the register at the end.</p>
</dd>
</dl>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -107,17 +107,15 @@ the register at the end.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -134,14 +132,15 @@ the register at the end.</p>
<li class="right" >
<a href="skiboot-5.2.1.html" title="skiboot-5.2.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.2.3.html b/doc/release-notes/skiboot-5.2.3.html
index 5ecaec9..8471408 100644
--- a/doc/release-notes/skiboot-5.2.3.html
+++ b/doc/release-notes/skiboot-5.2.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.2.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.2.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.2.2.html" title="skiboot-5.2.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-2-3">
+ <section id="skiboot-5-2-3">
<h1>skiboot-5.2.3<a class="headerlink" href="#skiboot-5-2-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.2.3 was released on Thursday June 30th, 2016.</p>
<p>skiboot-5.2.3 is the 4th stable release of skiboot 5.2, the new stable
@@ -59,20 +59,20 @@ frequency tables, which could lead to no CPU frequency scaling.</p>
<p>This is the second release that will follow the (now documented) Skiboot
stable rules - see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a>.</p>
<p>Over skiboot-5.2.2, the following fixes are included:</p>
-<div class="section" id="openpower-platforms">
+<section id="openpower-platforms">
<h2>OpenPOWER platforms<a class="headerlink" href="#openpower-platforms" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>occ: Filter out entries from Pmin to Pmax in pstate table
+<li><p>occ: Filter out entries from Pmin to Pmax in pstate table
(cherry picked from commit eca02ee2e62cee115d921a01cea061782ce47cc7)
Without this fix, with newer OCC firmware on some OpenPOWER machines,
we would fail to parse the table from the OCC, which meant the host OS
-would not get a table of supported CPU frequencies.</li>
+would not get a table of supported CPU frequencies.</p></li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pci: Do a dummy config write to devices to establish bus number
+<li><p>pci: Do a dummy config write to devices to establish bus number
(cherry picked from commit f46c1e506d199332b0f9741278c8ec35b3e39135)</p>
<blockquote>
<div><p>On PCI Express, devices need to know their own bus number in order
@@ -92,23 +92,22 @@ before it’s likely to send error packets upstream, we should thus do a
dummy configuration write to it as soon as possible after probing.</p>
</div></blockquote>
</li>
-<li><p class="first">Fix GCC 6 warning in backtrace code
-(cherry picked from commit 793f6f5b32c96f2774bd955b6062c74a672317ca)</p>
-</li>
-<li><p class="first">Backport of user visible typo fixes
-partial cherry picked from 4c95b5e04e3c4f72e4005574f67cd6e365d3276f</p>
-</li>
+<li><p>Fix GCC 6 warning in backtrace code
+(cherry picked from commit 793f6f5b32c96f2774bd955b6062c74a672317ca)</p></li>
+<li><p>Backport of user visible typo fixes
+partial cherry picked from 4c95b5e04e3c4f72e4005574f67cd6e365d3276f</p></li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Fix ARM build failure with parallel make</li>
+<li><p>Fix ARM build failure with parallel make</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -138,17 +137,15 @@ partial cherry picked from 4c95b5e04e3c4f72e4005574f67cd6e365d3276f</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -165,14 +162,15 @@ partial cherry picked from 4c95b5e04e3c4f72e4005574f67cd6e365d3276f</p>
<li class="right" >
<a href="skiboot-5.2.2.html" title="skiboot-5.2.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.2.4.html b/doc/release-notes/skiboot-5.2.4.html
index 4ef3297..bcbf82e 100644
--- a/doc/release-notes/skiboot-5.2.4.html
+++ b/doc/release-notes/skiboot-5.2.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.2.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.2.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.2.3.html" title="skiboot-5.2.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-2-4">
+ <section id="skiboot-5-2-4">
<h1>skiboot-5.2.4<a class="headerlink" href="#skiboot-5-2-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.2.4 was released on Tuesday July 12th, 2016.</p>
<p>This is the 5th stable release of skiboot 5.2, the new stable release of
@@ -58,25 +58,27 @@ build improvements for the pflash utility.</p>
<p>This is the second release that will follow the (now documented) Skiboot
stable rules - see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a>.</p>
<p>Over skiboot-5.2.3, the following fixes are included:</p>
-<div class="section" id="all-platforms">
+<section id="all-platforms">
<h2>All platforms<a class="headerlink" href="#all-platforms" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Make the XSCOM engine code more resilient to errors:<ul>
-<li>hw/xscom: Reset XSCOM engine after querying sleeping core FIR</li>
-<li>hw/xscom: Reset XSCOM engine after finite number of retries when busy</li>
+<li><p>Make the XSCOM engine code more resilient to errors:</p>
+<ul>
+<li><p>hw/xscom: Reset XSCOM engine after querying sleeping core FIR</p></li>
+<li><p>hw/xscom: Reset XSCOM engine after finite number of retries when busy</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="userspace-utilities">
+</section>
+<section id="userspace-utilities">
<h2>Userspace utilities<a class="headerlink" href="#userspace-utilities" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>pflash build improvements</li>
+<li><p>pflash build improvements</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -105,17 +107,15 @@ stable rules - see <a class="reference internal" href="../process/stable-skiboot
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -132,14 +132,15 @@ stable rules - see <a class="reference internal" href="../process/stable-skiboot
<li class="right" >
<a href="skiboot-5.2.3.html" title="skiboot-5.2.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.2.5.html b/doc/release-notes/skiboot-5.2.5.html
index ae30f5f..1356dd6 100644
--- a/doc/release-notes/skiboot-5.2.5.html
+++ b/doc/release-notes/skiboot-5.2.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.2.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.2.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.2.4.html" title="skiboot-5.2.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.5</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-2-5">
+ <section id="skiboot-5-2-5">
<h1>skiboot-5.2.5<a class="headerlink" href="#skiboot-5-2-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.2.5 was released on Thursday July 28th, 2016.</p>
<p>skiboot-5.2.5 contains all bug fixes as of skiboot-5.1.17.</p>
@@ -53,35 +53,36 @@
stable rules - see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a>.</p>
<p>Over skiboot-5.2.4, the following fixes are included:</p>
<ul class="simple">
-<li>pflash: Fix the makefile
-(cherry picked from commit fd599965f723330da5ec55519c20cdb6aa2b3a2d)</li>
-<li>pflash: Clean up makefiles and resolve build race
-(cherry picked from commit c327eddd9b291a0e6e54001fa3b1e547bad3fca2)</li>
-<li>FSP/ELOG: Fix OPAL generated elog resend logic
-(cherry picked from commit a6d4a7884e95cb9c918b8a217c11e46b01218358)</li>
-<li>FSP/ELOG: Fix possible event notifier hangs
-(cherry picked from commit e7c8cba4ad773055f390632c2996d3242b633bf4)</li>
-<li>FSP/ELOG: Disable event notification if list is not consistent
-(cherry picked from commit 1fb10de164d3ca034193df81c1f5d007aec37781)</li>
-<li>FSP/ELOG: Improve elog event states
-(cherry picked from commit cec5750a4a86ff3f69e1d8817eda023f4d40c492)</li>
-<li>FSP/ELOG: Fix OPAL generated elog event notification
-(cherry picked from commit ec366ad4e2e871096fa4c614ad7e89f5bb6f884f)</li>
-<li>FSP/ELOG: Disable event notification during kexec
-(cherry picked from commit d2ae07fd97bb9408456279cec799f72cb78680a6)</li>
-<li>hw/xscom: Reset XSCOM engine after querying sleeping core FIR
-(cherry picked from commit 15cec493804ff14e6246eb1b65e9d0c7cb469a81)</li>
-<li>hw/xscom: Reset XSCOM engine after finite number of retries when busy
-(cherry picked from commit e761222593a1ae932cddbc81239b6a7cd98ddb70)</li>
-<li>xscom: Return OPAL_WRONG_STATE on XSCOM ops if CPU is asleep
-(cherry picked from commit 9c2d82394fd2303847cac4a665dee62556ca528a)</li>
-<li>fsp/console: Ignore data on unresponsive consoles
-(cherry picked from commit fd6b71fcc6912611ce81f455b4805f0531699d5e)</li>
-<li>SEL: Fix eSEL ID while logging eSEL event</li>
+<li><p>pflash: Fix the makefile
+(cherry picked from commit fd599965f723330da5ec55519c20cdb6aa2b3a2d)</p></li>
+<li><p>pflash: Clean up makefiles and resolve build race
+(cherry picked from commit c327eddd9b291a0e6e54001fa3b1e547bad3fca2)</p></li>
+<li><p>FSP/ELOG: Fix OPAL generated elog resend logic
+(cherry picked from commit a6d4a7884e95cb9c918b8a217c11e46b01218358)</p></li>
+<li><p>FSP/ELOG: Fix possible event notifier hangs
+(cherry picked from commit e7c8cba4ad773055f390632c2996d3242b633bf4)</p></li>
+<li><p>FSP/ELOG: Disable event notification if list is not consistent
+(cherry picked from commit 1fb10de164d3ca034193df81c1f5d007aec37781)</p></li>
+<li><p>FSP/ELOG: Improve elog event states
+(cherry picked from commit cec5750a4a86ff3f69e1d8817eda023f4d40c492)</p></li>
+<li><p>FSP/ELOG: Fix OPAL generated elog event notification
+(cherry picked from commit ec366ad4e2e871096fa4c614ad7e89f5bb6f884f)</p></li>
+<li><p>FSP/ELOG: Disable event notification during kexec
+(cherry picked from commit d2ae07fd97bb9408456279cec799f72cb78680a6)</p></li>
+<li><p>hw/xscom: Reset XSCOM engine after querying sleeping core FIR
+(cherry picked from commit 15cec493804ff14e6246eb1b65e9d0c7cb469a81)</p></li>
+<li><p>hw/xscom: Reset XSCOM engine after finite number of retries when busy
+(cherry picked from commit e761222593a1ae932cddbc81239b6a7cd98ddb70)</p></li>
+<li><p>xscom: Return OPAL_WRONG_STATE on XSCOM ops if CPU is asleep
+(cherry picked from commit 9c2d82394fd2303847cac4a665dee62556ca528a)</p></li>
+<li><p>fsp/console: Ignore data on unresponsive consoles
+(cherry picked from commit fd6b71fcc6912611ce81f455b4805f0531699d5e)</p></li>
+<li><p>SEL: Fix eSEL ID while logging eSEL event</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -101,17 +102,15 @@ stable rules - see <a class="reference internal" href="../process/stable-skiboot
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -128,14 +127,15 @@ stable rules - see <a class="reference internal" href="../process/stable-skiboot
<li class="right" >
<a href="skiboot-5.2.4.html" title="skiboot-5.2.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.2.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.0-rc1.html b/doc/release-notes/skiboot-5.3.0-rc1.html
index 85a9382..0185542 100644
--- a/doc/release-notes/skiboot-5.3.0-rc1.html
+++ b/doc/release-notes/skiboot-5.3.0-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.0-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.0-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.0.html" title="skiboot-5.3.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.0-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-0-rc1">
+ <section id="skiboot-5-3-0-rc1">
<h1>skiboot-5.3.0-rc1<a class="headerlink" href="#skiboot-5-3-0-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.0-rc1 was released on Monday July 25th, 2016</p>
<p>skiboot-5.3.0-rc1 is the first release candidate of skiboot 5.3, which will
@@ -56,110 +56,105 @@ and skiboot-5.2.4 (the existing stable releases).</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a>.</p>
<p>The current plan is to release skiboot-5.3.0 August 1st 2016.</p>
<p>Over skiboot-5.2, we have the following changes:</p>
-<div class="section" id="opal-api-device-tree">
+<section id="opal-api-device-tree">
<h2>OPAL API/Device Tree<a class="headerlink" href="#opal-api-device-tree" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>Reserve OPAL API numbers for XICS emulation for XIVE</dt>
-<dd>Additionally, we put in some skeleton docs for what’s coming,
+<li><dl class="simple">
+<dt>Reserve OPAL API numbers for XICS emulation for XIVE</dt><dd><p>Additionally, we put in some skeleton docs for what’s coming,
key points being that this is for P9 and above, relies on a device
-being present in the device tree and is modelled on the PAPR calls.</dd>
+being present in the device tree and is modelled on the PAPR calls.</p>
+</dd>
</dl>
</li>
-<li>interrupts: Remove #interrupt-cells from ICP nodes</li>
-<li>Stop adding legacy linux, phandle to device tree, just add phandle
-No Linux kernel has ever existed for powernv that only knows linux,phandle.</li>
+<li><p>interrupts: Remove #interrupt-cells from ICP nodes</p></li>
+<li><p>Stop adding legacy linux, phandle to device tree, just add phandle
+No Linux kernel has ever existed for powernv that only knows linux,phandle.</p></li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Add base POWER9 support
+<li><p>Add base POWER9 support
In <em>NO WAY</em> is this geared towards real POWER9 hardware.
Suitable for use in simulators <em>only</em>, and even then, only if you
-intensely know what you’re doing.</li>
-<li>Document changes in OPAL API for POWER9
-Some things are going to change, we start documenting them.</li>
-<li>cpu: supply ibm,dec-bits via devicetree</li>
-<li>power9: Add example device tree for phb4</li>
-<li>device-tree: Only advertise ibm, opal-v3 (not v2) on POWER9 and above</li>
+intensely know what you’re doing.</p></li>
+<li><p>Document changes in OPAL API for POWER9
+Some things are going to change, we start documenting them.</p></li>
+<li><p>cpu: supply ibm,dec-bits via devicetree</p></li>
+<li><p>power9: Add example device tree for phb4</p></li>
+<li><p>device-tree: Only advertise ibm, opal-v3 (not v2) on POWER9 and above</p></li>
</ul>
-</div>
-<div class="section" id="capi">
+</section>
+<section id="capi">
<h2>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>phb3: Test CAPI mode on both CAPP units on Naples</li>
-<li>hmi: Recover both CAPP units on Naples after malfunction alert</li>
-<li>chiptod: Sync timebase in both CAPP units on Naples</li>
-<li>phb3: Set CAPI mode for both CAPP units on Naples</li>
-<li>phb3: Load CAPP ucode to both CAPP units on Naples</li>
-<li><dl class="first docutils">
-<dt>phb3: Add support for CAPP DMA mode</dt>
-<dd>The XSL used in the Mellanox CX4 card uses a DMA mode of CAPI, which
+<li><p>phb3: Test CAPI mode on both CAPP units on Naples</p></li>
+<li><p>hmi: Recover both CAPP units on Naples after malfunction alert</p></li>
+<li><p>chiptod: Sync timebase in both CAPP units on Naples</p></li>
+<li><p>phb3: Set CAPI mode for both CAPP units on Naples</p></li>
+<li><p>phb3: Load CAPP ucode to both CAPP units on Naples</p></li>
+<li><dl class="simple">
+<dt>phb3: Add support for CAPP DMA mode</dt><dd><p>The XSL used in the Mellanox CX4 card uses a DMA mode of CAPI, which
requires a few registers configured specially. This adds a new mode to
-the OPAL_PCI_SET_PHB_CAPI_MODE API to enable CAPI in DMA mode.</dd>
+the OPAL_PCI_SET_PHB_CAPI_MODE API to enable CAPI in DMA mode.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>pci: Do a dummy config write to devices to establish bus number</li>
-<li>phb: Work around XSL bug sending PTE updates with wrong scope</li>
-<li>Support for PCI hotplug (if a platform supports it)</li>
+<li><p>pci: Do a dummy config write to devices to establish bus number</p></li>
+<li><p>phb: Work around XSL bug sending PTE updates with wrong scope</p></li>
+<li><p>Support for PCI hotplug (if a platform supports it)</p></li>
</ul>
-</div>
-<div class="section" id="garrison">
+</section>
+<section id="garrison">
<h2>Garrison<a class="headerlink" href="#garrison" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>NVLink/NPU support</li>
-<li>Full garrison platform support.</li>
+<li><p>NVLink/NPU support</p></li>
+<li><p>Full garrison platform support.</p></li>
</ul>
-</div>
-<div class="section" id="bmc-based-platforms">
+</section>
+<section id="bmc-based-platforms">
<h2>BMC based platforms<a class="headerlink" href="#bmc-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>bt: use the maximum retry count returned by the BMC</li>
-<li><dl class="first docutils">
-<dt>SEL: Fix eSEL ID while logging eSEL event</dt>
-<dd>Commit 127a7dac added eSEL ID to SEL event in reverse order (0700 instead
-of 0007). This code fixes this issue by adding ID in proper order.</dd>
+<li><p>bt: use the maximum retry count returned by the BMC</p></li>
+<li><dl class="simple">
+<dt>SEL: Fix eSEL ID while logging eSEL event</dt><dd><p>Commit 127a7dac added eSEL ID to SEL event in reverse order (0700 instead
+of 0007). This code fixes this issue by adding ID in proper order.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="tests-simulation">
+</section>
+<section id="tests-simulation">
<h2>Tests/Simulation<a class="headerlink" href="#tests-simulation" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>test/hello_world: always use shutdown type zero</li>
-<li>make check: make test runs less noisy</li>
-<li>boot-tests: force booting from primary (non-golden) side</li>
-<li>mambo: Enable multicore configurations</li>
-<li>mambo: Flatten device tree at the end</li>
-<li>mambo: Increase memory to 4GB and change memory map</li>
-<li>Timebase quirk for slow simulators like AWAN and SIMICS</li>
-<li>chip: Add simics specific quirks</li>
-<li>mambo: Flash driver using bogus disk</li>
-<li>platform/mambo: Add a heartbeat time, making console more responsive</li>
-<li>mambo: Fix bt command and add little endian support</li>
+<li><p>test/hello_world: always use shutdown type zero</p></li>
+<li><p>make check: make test runs less noisy</p></li>
+<li><p>boot-tests: force booting from primary (non-golden) side</p></li>
+<li><p>mambo: Enable multicore configurations</p></li>
+<li><p>mambo: Flatten device tree at the end</p></li>
+<li><p>mambo: Increase memory to 4GB and change memory map</p></li>
+<li><p>Timebase quirk for slow simulators like AWAN and SIMICS</p></li>
+<li><p>chip: Add simics specific quirks</p></li>
+<li><p>mambo: Flash driver using bogus disk</p></li>
+<li><p>platform/mambo: Add a heartbeat time, making console more responsive</p></li>
+<li><p>mambo: Fix bt command and add little endian support</p></li>
</ul>
-</div>
-<div class="section" id="fsp-platforms">
+</section>
+<section id="fsp-platforms">
<h2>FSP platforms<a class="headerlink" href="#fsp-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">beginnings of support for SPIRA-S structure</p>
-</li>
-<li><p class="first">Handle mbox response with bad status:0x24 during FSP termination</p>
-</li>
-<li><p class="first">FSP: Validate fsp_msg response memory allocation</p>
-</li>
-<li><p class="first">FSP/ELOG: Fix OPAL generated elog event notification</p>
-</li>
-<li><p class="first">FSP/ELOG: Disable event notification during kexec
-Possible crash if error log timing around kexec is unfortunate</p>
-</li>
-<li><p class="first">fsp/console: Ignore data on unresponsive consoles</p>
+<li><p>beginnings of support for SPIRA-S structure</p></li>
+<li><p>Handle mbox response with bad status:0x24 during FSP termination</p></li>
+<li><p>FSP: Validate fsp_msg response memory allocation</p></li>
+<li><p>FSP/ELOG: Fix OPAL generated elog event notification</p></li>
+<li><p>FSP/ELOG: Disable event notification during kexec
+Possible crash if error log timing around kexec is unfortunate</p></li>
+<li><p>fsp/console: Ignore data on unresponsive consoles</p>
<blockquote>
<div><p>Linux kernels from v4.1 onwards will try to request an irq for each hvc
console using OPAL_EVENT_CONSOLE_INPUT, however because the IRQF_SHARED
@@ -173,116 +168,116 @@ read.</p>
</div></blockquote>
</li>
</ul>
-</div>
-<div class="section" id="hmi">
+</section>
+<section id="hmi">
<h2>HMI<a class="headerlink" href="#hmi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hmi: Fix a bug where partial hmi event was reported to host.</li>
-<li>hmi: Add handling for NPU checkstops</li>
-<li>hmi: Only raise a catchall HMI if no other components have</li>
-<li>hmi: Rework HMI event handling of FIR read failure</li>
+<li><p>hmi: Fix a bug where partial hmi event was reported to host.</p></li>
+<li><p>hmi: Add handling for NPU checkstops</p></li>
+<li><p>hmi: Only raise a catchall HMI if no other components have</p></li>
+<li><p>hmi: Rework HMI event handling of FIR read failure</p></li>
</ul>
-</div>
-<div class="section" id="tools">
+</section>
+<section id="tools">
<h2>Tools<a class="headerlink" href="#tools" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>external: Add a getsram command</dt>
-<dd>The getsram command reads the OCC SRAM. This is useful for debug.</dd>
+<li><dl class="simple">
+<dt>external: Add a getsram command</dt><dd><p>The getsram command reads the OCC SRAM. This is useful for debug.</p>
+</dd>
</dl>
</li>
-<li>bug fixes in flash utilities (pflash/gard)</li>
-<li>pflash: Allow building under yocto.</li>
-<li>external/opal-prd: Ensure that struct host_interfaces matches the thunk</li>
-<li>external/pflash: Handle incorrect cmd-line options better</li>
-<li>libflash: fix bug on reading truncated flash file</li>
-<li>pflash: add support for manipulating file rather than flash</li>
-<li>gard: fix compile error on ARM</li>
-<li>libflash: Add sanity checks to ffs init code.</li>
-<li>external: Add dynamically linked pflash</li>
+<li><p>bug fixes in flash utilities (pflash/gard)</p></li>
+<li><p>pflash: Allow building under yocto.</p></li>
+<li><p>external/opal-prd: Ensure that struct host_interfaces matches the thunk</p></li>
+<li><p>external/pflash: Handle incorrect cmd-line options better</p></li>
+<li><p>libflash: fix bug on reading truncated flash file</p></li>
+<li><p>pflash: add support for manipulating file rather than flash</p></li>
+<li><p>gard: fix compile error on ARM</p></li>
+<li><p>libflash: Add sanity checks to ffs init code.</p></li>
+<li><p>external: Add dynamically linked pflash</p></li>
</ul>
-</div>
-<div class="section" id="mambo">
+</section>
+<section id="mambo">
<h2>Mambo<a class="headerlink" href="#mambo" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>Test device tree for kernel location</dt>
-<dd>This can reduce the boot time since the kernel no longer needs to
-relocate itself when loaded directly at 0.</dd>
+<li><dl class="simple">
+<dt>Test device tree for kernel location</dt><dd><p>This can reduce the boot time since the kernel no longer needs to
+relocate itself when loaded directly at 0.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="generic">
+</section>
+<section id="generic">
<h2>Generic<a class="headerlink" href="#generic" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hw/lpc: Log LPC SYNC errors as OPAL_PLATFORM_ERR_EVT errors</li>
-<li>Explicitly disable the attn instruction on all CPUs on boot.</li>
-<li>hw/xscom: Reset XSCOM engine after finite number of retries when busy</li>
-<li>hw/xscom: Reset XSCOM engine after querying sleeping core FIR</li>
-<li>core/timer: Add support for platform specific heartbeat</li>
-<li>Fix GCOV_COUNTERS ifdef logic for GCC 6.0</li>
-<li>core: Fix backtrace for gcc 6
-fixes a compiler warning on GCC 6 and above</li>
-<li><dl class="first docutils">
-<dt>cpu: Don’t call time_wait with lock held</dt>
-<dd>Also make the locking around re-init safer, properly block the
-OS from restarting a thread that was caught for re-init.</dd>
+<li><p>hw/lpc: Log LPC SYNC errors as OPAL_PLATFORM_ERR_EVT errors</p></li>
+<li><p>Explicitly disable the attn instruction on all CPUs on boot.</p></li>
+<li><p>hw/xscom: Reset XSCOM engine after finite number of retries when busy</p></li>
+<li><p>hw/xscom: Reset XSCOM engine after querying sleeping core FIR</p></li>
+<li><p>core/timer: Add support for platform specific heartbeat</p></li>
+<li><p>Fix GCOV_COUNTERS ifdef logic for GCC 6.0</p></li>
+<li><p>core: Fix backtrace for gcc 6
+fixes a compiler warning on GCC 6 and above</p></li>
+<li><dl class="simple">
+<dt>cpu: Don’t call time_wait with lock held</dt><dd><p>Also make the locking around re-init safer, properly block the
+OS from restarting a thread that was caught for re-init.</p>
+</dd>
</dl>
</li>
-<li>flash: Increase the maximum number of flash devices</li>
+<li><p>flash: Increase the maximum number of flash devices</p></li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>Extending the analysis done for the last few releases, we can see our trends
in code review across versions:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="19%" />
-<col width="14%" />
-<col width="17%" />
-<col width="17%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 19%" />
+<col style="width: 14%" />
+<col style="width: 17%" />
+<col style="width: 17%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack</th>
-<th class="head">Reviews</th>
-<th class="head">Tested</th>
-<th class="head">Reported</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack</p></th>
+<th class="head"><p>Reviews</p></th>
+<th class="head"><p>Tested</p></th>
+<th class="head"><p>Reported</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15</td>
-<td>20</td>
-<td>1</td>
-<td>0</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13</td>
-<td>38</td>
-<td>1</td>
-<td>4</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20</td>
-<td>34</td>
-<td>6</td>
-<td>11</td>
-</tr>
-<tr class="row-odd"><td>5.3-rc1</td>
-<td>302</td>
-<td>36</td>
-<td>53</td>
-<td>4</td>
-<td>5</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15</p></td>
+<td><p>20</p></td>
+<td><p>1</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13</p></td>
+<td><p>38</p></td>
+<td><p>1</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20</p></td>
+<td><p>34</p></td>
+<td><p>6</p></td>
+<td><p>11</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.3-rc1</p></td>
+<td><p>302</p></td>
+<td><p>36</p></td>
+<td><p>53</p></td>
+<td><p>4</p></td>
+<td><p>5</p></td>
</tr>
</tbody>
</table>
@@ -291,429 +286,430 @@ in code review across versions:</p>
<p>Processed 302 csets from 31 developers
A total of 20887 lines added, 4540 removed (delta 16347)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="31%" />
+<col style="width: 69%" />
+<col style="width: 31%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>82 (27.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>82 (27.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>36 (11.9%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>36 (11.9%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>28 (9.3%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>28 (9.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>25 (8.3%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>25 (8.3%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>24 (7.9%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>24 (7.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>14 (4.6%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>14 (4.6%)</p></td>
</tr>
-<tr class="row-even"><td>Brad Bishop</td>
-<td>12 (4.0%)</td>
+<tr class="row-even"><td><p>Brad Bishop</p></td>
+<td><p>12 (4.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>10 (3.3%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>10 (3.3%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>9 (3.0%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>9 (3.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Shreyas B. Prabhu</td>
-<td>8 (2.6%)</td>
+<tr class="row-odd"><td><p>Shreyas B. Prabhu</p></td>
+<td><p>8 (2.6%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>7 (2.3%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>7 (2.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>6 (2.0%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>6 (2.0%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>5 (1.7%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>5 (1.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Mukesh Ojha</td>
-<td>4 (1.3%)</td>
+<tr class="row-odd"><td><p>Mukesh Ojha</p></td>
+<td><p>4 (1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>4 (1.3%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>4 (1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Ian Munsie</td>
-<td>4 (1.3%)</td>
+<tr class="row-odd"><td><p>Ian Munsie</p></td>
+<td><p>4 (1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>3 (1.0%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>3 (1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>3 (1.0%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>3 (1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>2 (0.7%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>2 (0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>2 (0.7%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>2 (0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Dinar Valeev</td>
-<td>2 (0.7%)</td>
+<tr class="row-even"><td><p>Dinar Valeev</p></td>
+<td><p>2 (0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>2 (0.7%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>2 (0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Patrick Williams</td>
-<td>2 (0.7%)</td>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>2 (0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Deb McLemore</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Deb McLemore</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Suraj Jitindar Singh</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Bonnard</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Frederic Bonnard</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Kamalesh Babulal</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Kamalesh Babulal</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Mamatha</td>
-<td>1 (0.3%)</td>
+<tr class="row-odd"><td><p>Mamatha</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>1 (0.3%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>1 (0.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>7491 (34.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>7491 (34.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>4821 (22.1%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>4821 (22.1%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>4740 (21.7%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>4740 (21.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1294 (5.9%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1294 (5.9%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>620 (2.8%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>620 (2.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>470 (2.2%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>470 (2.2%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>338 (1.6%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>338 (1.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Shreyas B. Prabhu</td>
-<td>330 (1.5%)</td>
+<tr class="row-odd"><td><p>Shreyas B. Prabhu</p></td>
+<td><p>330 (1.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>305 (1.4%)</td>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>305 (1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>295 (1.4%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>295 (1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>229 (1.1%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>229 (1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Philippe Bergheaud</td>
-<td>170 (0.8%)</td>
+<tr class="row-odd"><td><p>Philippe Bergheaud</p></td>
+<td><p>170 (0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Ian Munsie</td>
-<td>133 (0.6%)</td>
+<tr class="row-even"><td><p>Ian Munsie</p></td>
+<td><p>133 (0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Dinar Valeev</td>
-<td>126 (0.6%)</td>
+<tr class="row-odd"><td><p>Dinar Valeev</p></td>
+<td><p>126 (0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Brad Bishop</td>
-<td>80 (0.4%)</td>
+<tr class="row-even"><td><p>Brad Bishop</p></td>
+<td><p>80 (0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>80 (0.4%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>80 (0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>62 (0.3%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>62 (0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Bonnard</td>
-<td>61 (0.3%)</td>
+<tr class="row-odd"><td><p>Frederic Bonnard</p></td>
+<td><p>61 (0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>32 (0.1%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>32 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>27 (0.1%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>27 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>20 (0.1%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>20 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>18 (0.1%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>18 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Suraj Jitindar Singh</td>
-<td>17 (0.1%)</td>
+<tr class="row-even"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>17 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Mamatha</td>
-<td>15 (0.1%)</td>
+<tr class="row-odd"><td><p>Mamatha</p></td>
+<td><p>15 (0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Mukesh Ojha</td>
-<td>8 (0.0%)</td>
+<tr class="row-even"><td><p>Mukesh Ojha</p></td>
+<td><p>8 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>8 (0.0%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>8 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>4 (0.0%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>4 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Balbir Singh</td>
-<td>4 (0.0%)</td>
+<tr class="row-odd"><td><p>Balbir Singh</p></td>
+<td><p>4 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Kamalesh Babulal</td>
-<td>2 (0.0%)</td>
+<tr class="row-even"><td><p>Kamalesh Babulal</p></td>
+<td><p>2 (0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Deb McLemore</td>
-<td>1 (0.0%)</td>
+<tr class="row-odd"><td><p>Deb McLemore</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>1 (0.0%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Dinar Valeev</td>
-<td>68 (1.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Dinar Valeev</p></td>
+<td><p>68 (1.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>10 (0.2%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>10 (0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Mukesh Ojha</td>
-<td>4 (0.1%)</td>
+<tr class="row-even"><td><p>Mukesh Ojha</p></td>
+<td><p>4 (0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Kamalesh Babulal</td>
-<td>1 (0.0%)</td>
+<tr class="row-odd"><td><p>Kamalesh Babulal</p></td>
+<td><p>1 (0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 249)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>236 (94.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>236 (94.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>6 (2.4%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>6 (2.4%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>3 (1.2%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>3 (1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>2 (0.8%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>2 (0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>1 (0.4%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>1 (0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>1 (0.4%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>1 (0.4%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 53)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>11 (20.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>11 (20.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>9 (17.0%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>9 (17.0%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>7 (13.2%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>7 (13.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>7 (13.2%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>7 (13.2%)</p></td>
</tr>
-<tr class="row-even"><td>Mukesh Ojha</td>
-<td>5 (9.4%)</td>
+<tr class="row-even"><td><p>Mukesh Ojha</p></td>
+<td><p>5 (9.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>3 (5.7%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>3 (5.7%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>2 (3.8%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>2 (3.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>2 (3.8%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>2 (3.8%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>2 (3.8%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>2 (3.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1 (1.9%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1 (1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>1 (1.9%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1 (1.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>1 (1.9%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>1 (1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>1 (1.9%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>1 (1.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>1 (1.9%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>1 (1.9%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>2 (50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>2 (50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>1 (25.0%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vaibhav Jain</td>
-<td>1 (25.0%)</td>
+<tr class="row-even"><td><p>Vaibhav Jain</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most tested-by credits (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Michael Neuling</td>
-<td>3 (75.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>3 (75.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1 (25.0%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1 (25.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most report credits (total 5)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Mukesh Ojha</td>
-<td>2 (40.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Mukesh Ojha</p></td>
+<td><p>2 (40.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>1 (20.0%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>1 (20.0%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>1 (20.0%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1 (20.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Balbir Singh</td>
-<td>1 (20.0%)</td>
+<tr class="row-odd"><td><p>Balbir Singh</p></td>
+<td><p>1 (20.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 5)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="32%" />
+<col style="width: 68%" />
+<col style="width: 32%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>2 (40.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>2 (40.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>2 (40.0%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>2 (40.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>1 (20.0%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>1 (20.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -753,17 +749,15 @@ A total of 20887 lines added, 4540 removed (delta 16347)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -780,14 +774,15 @@ A total of 20887 lines added, 4540 removed (delta 16347)</p>
<li class="right" >
<a href="skiboot-5.3.0.html" title="skiboot-5.3.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.0-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.0-rc2.html b/doc/release-notes/skiboot-5.3.0-rc2.html
index 8007a16..b089d58 100644
--- a/doc/release-notes/skiboot-5.3.0-rc2.html
+++ b/doc/release-notes/skiboot-5.3.0-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.0-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.0-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.0-rc1.html" title="skiboot-5.3.0-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.0-rc2</a></li>
</ul>
</div>
@@ -45,54 +45,55 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-0-rc2">
+ <section id="skiboot-5-3-0-rc2">
<h1>skiboot-5.3.0-rc2<a class="headerlink" href="#skiboot-5-3-0-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.0-rc2 was released on Thursday July 28th, 2016.</p>
<p>The current plan is to release skiboot-5.3.0 August 1st 2016.</p>
<p>Over skiboot-5.3.0-rc1, we have the following changes:</p>
-<div class="section" id="pflash">
+<section id="pflash">
<h2>pflash<a class="headerlink" href="#pflash" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>pflash: Clean up makefiles and resolve build race</li>
-<li>pflash: use atexit for musl compatibility</li>
+<li><p>pflash: Clean up makefiles and resolve build race</p></li>
+<li><p>pflash: use atexit for musl compatibility</p></li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>core/flash: Fix passing pointer instead of value</li>
+<li><p>core/flash: Fix passing pointer instead of value</p></li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>mambo: Update Radix Tree Size as per ISA 3.0</dt>
-<dd>In Linux we recently changed to this encoding, so we no longer boot.
-The associated Linux commit is b23d9c5b9c83c05e013aa52460f12a8365062cf4</dd>
+<li><dl class="simple">
+<dt>mambo: Update Radix Tree Size as per ISA 3.0</dt><dd><p>In Linux we recently changed to this encoding, so we no longer boot.
+The associated Linux commit is b23d9c5b9c83c05e013aa52460f12a8365062cf4</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="fsp-platforms">
+</section>
+<section id="fsp-platforms">
<h2>FSP Platforms<a class="headerlink" href="#fsp-platforms" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>platforms/ibm-fsp: Fix incorrect struct member access and comparison</li>
-<li>FSP/MDST: Fix TCE alignment issue
+<li><p>platforms/ibm-fsp: Fix incorrect struct member access and comparison</p></li>
+<li><p>FSP/MDST: Fix TCE alignment issue
In some corner cases (like source memory size = 4097) we may
-endup doing wrong mapping and corrupting part of SYSDUMP.</li>
-<li>hdat/vpd: Add chip-id property to processor chip node under vpd</li>
+endup doing wrong mapping and corrupting part of SYSDUMP.</p></li>
+<li><p>hdat/vpd: Add chip-id property to processor chip node under vpd</p></li>
</ul>
-</div>
-<div class="section" id="capi">
+</section>
+<section id="capi">
<h2>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hw/phb3: Increase AIB TX command credit for DMA read in CAPP DMA mode</li>
+<li><p>hw/phb3: Increase AIB TX command credit for DMA read in CAPP DMA mode</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -124,17 +125,15 @@ endup doing wrong mapping and corrupting part of SYSDUMP.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -151,14 +150,15 @@ endup doing wrong mapping and corrupting part of SYSDUMP.</li>
<li class="right" >
<a href="skiboot-5.3.0-rc1.html" title="skiboot-5.3.0-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.0-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.0.html b/doc/release-notes/skiboot-5.3.0.html
index 89c4213..ff75a44 100644
--- a/doc/release-notes/skiboot-5.3.0.html
+++ b/doc/release-notes/skiboot-5.3.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.2.5.html" title="skiboot-5.2.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.0</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-0">
+ <section id="skiboot-5-3-0">
<span id="id1"></span><h1>skiboot-5.3.0<a class="headerlink" href="#skiboot-5-3-0" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.0 was released on Tuesday August 2nd, 2016.</p>
<p>skiboot-5.3.0 is the first stable release of skiboot 5.3, the new stable
@@ -56,9 +56,10 @@ first released Wednesday March 16th, 2016.</p>
- Adopt libtool rules for soname versioning for libflash</p>
<p>See skiboot-5.3.0-rc2 and skiboot-5.3.0-rc1 release notes for a complete
list of changes from skiboot-5.3.0.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -78,17 +79,15 @@ list of changes from skiboot-5.3.0.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -105,14 +104,15 @@ list of changes from skiboot-5.3.0.</p>
<li class="right" >
<a href="skiboot-5.2.5.html" title="skiboot-5.2.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.1.html b/doc/release-notes/skiboot-5.3.1.html
index e9c937e..f295183 100644
--- a/doc/release-notes/skiboot-5.3.1.html
+++ b/doc/release-notes/skiboot-5.3.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.0-rc2.html" title="skiboot-5.3.0-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-1">
+ <section id="skiboot-5-3-1">
<h1>skiboot-5.3.1<a class="headerlink" href="#skiboot-5-3-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.1 was released on Wednesday August 10th, 2016.</p>
<p>This is the 2nd stable release of skiboot 5.3, the new stable release of
@@ -56,41 +56,42 @@ a few minor bug fixes.</p>
<p>Over skiboot-5.3.0, the following fixes are included:</p>
<p>FSP systems:</p>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>FSP/ELOG: elog_enable flag should be false by default</dt>
-<dd>This issue is one of the corner case, which is related to recent change
+<li><dl class="simple">
+<dt>FSP/ELOG: elog_enable flag should be false by default</dt><dd><p>This issue is one of the corner case, which is related to recent change
went upstream and only observed in the petitboot prompt, where we see
only one error log instead of getting all error log in
-/sys/firmware/opal/elog.</dd>
+/sys/firmware/opal/elog.</p>
+</dd>
</dl>
</li>
</ul>
<p>NVLink systems (i.e. Garrison):</p>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>npu: reword “error” to indicate it’s actually a warning</dt>
-<dd>Without this patch, you get spurious FirmWare Test Suite (FWTS) warnings
+<li><dl class="simple">
+<dt>npu: reword “error” to indicate it’s actually a warning</dt><dd><p>Without this patch, you get spurious FirmWare Test Suite (FWTS) warnings
about NVLink not working on machines that aren’t fully populated with
-GPUs.</dd>
+GPUs.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>hmi: Clean up NPU FIR debug messages</dt>
-<dd>With the skiboot log set to debug, the FIR (and related registers) were
+<li><dl class="simple">
+<dt>hmi: Clean up NPU FIR debug messages</dt><dd><p>With the skiboot log set to debug, the FIR (and related registers) were
logged all in the same message. It was too much for one line, didn’t
-clarify if the numbers were in hex, and didn’t show leading zeroes.</dd>
+clarify if the numbers were in hex, and didn’t show leading zeroes.</p>
+</dd>
</dl>
</li>
</ul>
<p>General:</p>
<ul class="simple">
-<li>asm: Fix backtrace for unexpected exception</li>
-<li>correct the log level from PR_ERROR down to PR_INFO for some skiboot
-log messages.</li>
+<li><p>asm: Fix backtrace for unexpected exception</p></li>
+<li><p>correct the log level from PR_ERROR down to PR_INFO for some skiboot
+log messages.</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -110,17 +111,15 @@ log messages.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -137,14 +136,15 @@ log messages.</li>
<li class="right" >
<a href="skiboot-5.3.0-rc2.html" title="skiboot-5.3.0-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.2.html b/doc/release-notes/skiboot-5.3.2.html
index 7e24a44..60c29d7 100644
--- a/doc/release-notes/skiboot-5.3.2.html
+++ b/doc/release-notes/skiboot-5.3.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.1.html" title="skiboot-5.3.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-2">
+ <section id="skiboot-5-3-2">
<h1>skiboot-5.3.2<a class="headerlink" href="#skiboot-5-3-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.2 was released on Friday August 26th, 2016.</p>
<p>This is the 3rd stable release of skiboot 5.3, the new stable release of
@@ -54,23 +54,24 @@ skiboot (first released with 5.3.0 on August 2nd, 2016).</p>
a few minor bug fixes.</p>
<p>Over skiboot-5.3.1, the following fixes are included:</p>
<ul class="simple">
-<li>opal/hmi: Fix a TOD HMI failure during a race condition.
-Rare race condition which meant we wouldn’t recover from TOD error</li>
-<li>lpc: Log LPC SYNC errors as unrecoverable ones for manufacturing
+<li><p>opal/hmi: Fix a TOD HMI failure during a race condition.
+Rare race condition which meant we wouldn’t recover from TOD error</p></li>
+<li><p>lpc: Log LPC SYNC errors as unrecoverable ones for manufacturing
Only affects systems in manufacturing mode.
-No behaviour change when not in manufacturing mode.</li>
-<li>hw/phb3: Update capi initialization sequence
+No behaviour change when not in manufacturing mode.</p></li>
+<li><p>hw/phb3: Update capi initialization sequence
The capi initialization sequence was revised in a circumvention
document when a ‘link down’ error was converted from fatal to Endpoint
Recoverable. Other, non-capi, register setup was corrected even before
the initial open-source release of skiboot, but a few capi-related
registers were not updated then, so this patch fixes it.
The point is that a link-down error detected by the UTL logic will
-lead to an AIB fence, so that the CAPP unit can detect the error.</li>
+lead to an AIB fence, so that the CAPP unit can detect the error.</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -90,17 +91,15 @@ lead to an AIB fence, so that the CAPP unit can detect the error.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -117,14 +116,15 @@ lead to an AIB fence, so that the CAPP unit can detect the error.</li>
<li class="right" >
<a href="skiboot-5.3.1.html" title="skiboot-5.3.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.3.html b/doc/release-notes/skiboot-5.3.3.html
index 6172788..ee3dfd4 100644
--- a/doc/release-notes/skiboot-5.3.3.html
+++ b/doc/release-notes/skiboot-5.3.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.2.html" title="skiboot-5.3.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-3">
+ <section id="skiboot-5-3-3">
<h1>skiboot-5.3.3<a class="headerlink" href="#skiboot-5-3-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.3 was released on Friday September 2nd, 2016.</p>
<p>This is the 4th stable release of skiboot 5.3, the new stable release of
@@ -54,16 +54,17 @@ skiboot (first released with 5.3.0 on August 2nd, 2016).</p>
two bug fixes for machines utilizing the NPU (i.e. Garrison)</p>
<p>Over skiboot-5.3.2, the following fixes are included:</p>
<ul class="simple">
-<li>hw/npu: assert the NPU irq min is aligned.</li>
-<li>hw/npu: program NPU BUID reg properly
+<li><p>hw/npu: assert the NPU irq min is aligned.</p></li>
+<li><p>hw/npu: program NPU BUID reg properly
The NPU BUID register was incorrectly programmed resulting in npu
interrupt level 0 causing a PB_CENT_CRESP_ADDR_ERROR checkstop,
and irqs from npus in odd chips being aliased to and processed
-as the interrupts from the corresponding npu on the even chips.</li>
+as the interrupts from the corresponding npu on the even chips.</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -83,17 +84,15 @@ as the interrupts from the corresponding npu on the even chips.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -110,14 +109,15 @@ as the interrupts from the corresponding npu on the even chips.</li>
<li class="right" >
<a href="skiboot-5.3.2.html" title="skiboot-5.3.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.4.html b/doc/release-notes/skiboot-5.3.4.html
index 35655eb..28b0991 100644
--- a/doc/release-notes/skiboot-5.3.4.html
+++ b/doc/release-notes/skiboot-5.3.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.3.html" title="skiboot-5.3.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-4">
+ <section id="skiboot-5-3-4">
<h1>skiboot-5.3.4<a class="headerlink" href="#skiboot-5-3-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.4 was released on Tuesday September 13th, 2016.</p>
<p>This is the 5th stable release of skiboot 5.3, the new stable release of
@@ -54,19 +54,20 @@ skiboot (first released with 5.3.0 on August 2nd, 2016).</p>
a couple of bug fixes, specifically around failing XSCOMs.</p>
<p>Over skiboot-5.3.3, the following fixes are included:</p>
<ul class="simple">
-<li>xscom: Initialize the data to a known value in xscom_read
+<li><p>xscom: Initialize the data to a known value in xscom_read
In case of error, don’t leave the data random. It helps debugging when
the user fails to check the error code. This happens due to a bug in the
-PRD wrapper app.</li>
-<li>xscom: Map all HMER status codes to OPAL errors</li>
-<li>centaur: Mark centaur offline after 10 consecutive access errors
+PRD wrapper app.</p></li>
+<li><p>xscom: Map all HMER status codes to OPAL errors</p></li>
+<li><p>centaur: Mark centaur offline after 10 consecutive access errors
This avoids spamming the logs when the centaur is dead and PRD
-constantly tries to access it</li>
-<li>nvlink: Fix bad PE number check in error inject code path (&lt;= rather than &lt;)</li>
+constantly tries to access it</p></li>
+<li><p>nvlink: Fix bad PE number check in error inject code path (&lt;= rather than &lt;)</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -86,17 +87,15 @@ constantly tries to access it</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -113,14 +112,15 @@ constantly tries to access it</li>
<li class="right" >
<a href="skiboot-5.3.3.html" title="skiboot-5.3.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.5.html b/doc/release-notes/skiboot-5.3.5.html
index ac67d9b..b792065 100644
--- a/doc/release-notes/skiboot-5.3.5.html
+++ b/doc/release-notes/skiboot-5.3.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.4.html" title="skiboot-5.3.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.5</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-5">
+ <section id="skiboot-5-3-5">
<h1>skiboot-5.3.5<a class="headerlink" href="#skiboot-5-3-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.5 was released on Wednesday September 14th, 2016.</p>
<p>This is the 6th stable release of skiboot 5.3, the new stable release of
@@ -54,13 +54,14 @@ skiboot (first released with 5.3.0 on August 2nd, 2016).</p>
a couple of minor bug fixes: simply clarifying two error messages.</p>
<p>Over skiboot-5.3.4, the following fixes are included:</p>
<ul class="simple">
-<li>centaur: print message on disabling xscoms to centaur due to many errors</li>
-<li>slw: improve error message for SLW timer stuck
-We still register dump, but only to in memory console buffer by default.</li>
+<li><p>centaur: print message on disabling xscoms to centaur due to many errors</p></li>
+<li><p>slw: improve error message for SLW timer stuck
+We still register dump, but only to in memory console buffer by default.</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ We still register dump, but only to in memory console buffer by default.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ We still register dump, but only to in memory console buffer by default.</li>
<li class="right" >
<a href="skiboot-5.3.4.html" title="skiboot-5.3.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.6.html b/doc/release-notes/skiboot-5.3.6.html
index b2de7dd..6e64f9c 100644
--- a/doc/release-notes/skiboot-5.3.6.html
+++ b/doc/release-notes/skiboot-5.3.6.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.6 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.6 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.5.html" title="skiboot-5.3.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.6</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-6">
+ <section id="skiboot-5-3-6">
<h1>skiboot-5.3.6<a class="headerlink" href="#skiboot-5-3-6" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.6 was released on Saturday September 17th, 2016.</p>
<p>This is the 7th stable release of skiboot 5.3, the new stable release of
@@ -54,13 +54,14 @@ skiboot (first released with 5.3.0 on August 2nd, 2016).</p>
one minor bug fix.</p>
<p>Over skiboot-5.3.5, the following fixes are included:</p>
<ul class="simple">
-<li>SLW: Actually print the register dump only to memory
+<li><p>SLW: Actually print the register dump only to memory
A fix in 5.3.5 was only partially correct, we still had the log priority
-incorrect for dumping of the SLW registers.</li>
+incorrect for dumping of the SLW registers.</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ incorrect for dumping of the SLW registers.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ incorrect for dumping of the SLW registers.</li>
<li class="right" >
<a href="skiboot-5.3.5.html" title="skiboot-5.3.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.6</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.3.7.html b/doc/release-notes/skiboot-5.3.7.html
index d74e7d8..af6441c 100644
--- a/doc/release-notes/skiboot-5.3.7.html
+++ b/doc/release-notes/skiboot-5.3.7.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.3.7 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.3.7 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.6.html" title="skiboot-5.3.6"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.7</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-3-7">
+ <section id="skiboot-5-3-7">
<span id="id1"></span><h1>skiboot-5.3.7<a class="headerlink" href="#skiboot-5-3-7" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.3.7 was released on Wednesday October 12th, 2016.</p>
<p>This is the 8th stable release of skiboot 5.3, the new stable release of
@@ -56,24 +56,22 @@ adapters to not be detected.</p>
<p>Over skiboot-5.3.6, the following fixes are included:</p>
<p>PCI:</p>
<ul>
-<li><dl class="first docutils">
-<dt>pci: Avoid hot resets at boot time</dt>
-<dd><p class="first">In the PCI post-fundamental reset code, a hot reset is performed at the
+<li><dl>
+<dt>pci: Avoid hot resets at boot time</dt><dd><p>In the PCI post-fundamental reset code, a hot reset is performed at the
end. This is causing issues at boot time as a reset signal is being sent
downstream before the links are up, which is causing issues on adapters
behind switches. No errors result in skiboot, but the adapters are not
usable in Linux as a result.</p>
-<p class="last">This patch fixes some adapters not being configurable in Linux on some
+<p>This patch fixes some adapters not being configurable in Linux on some
systems. The issue was not present in skiboot 5.2.x.</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>core/pci: Fix the power-off timeout in pci_slot_power_off()</dt>
-<dd><p class="first">The timeout should be 1000ms instead of 1000 ticks while powering
+<li><dl>
+<dt>core/pci: Fix the power-off timeout in pci_slot_power_off()</dt><dd><p>The timeout should be 1000ms instead of 1000 ticks while powering
off PCI slot in pci_slot_power_off(). Otherwise, it’s likely to
hit timeout powering off the PCI slot as below skiboot logs reveal:</p>
-<p class="last">[47912590456,5] SkiBoot skiboot-5.3.6 starting…
+<p>[47912590456,5] SkiBoot skiboot-5.3.6 starting…
(snip)
[5399532365,7] PHB#0005:02:11.0 Bus 0f..ff scanning…
[5399540804,7] PHB#0005:02:11.0 No card in slot
@@ -85,9 +83,8 @@ hit timeout powering off the PCI slot as below skiboot logs reveal:</p>
</ul>
<p>PRD:</p>
<ul>
-<li><dl class="first docutils">
-<dt>occ/prd/opal-prd: Queue OCC_RESET event message to host in OpenPOWER</dt>
-<dd><p class="first last">During an OCC reset cycle the system is forced to Psafe pstate.
+<li><dl class="simple">
+<dt>occ/prd/opal-prd: Queue OCC_RESET event message to host in OpenPOWER</dt><dd><p>During an OCC reset cycle the system is forced to Psafe pstate.
When OCC becomes active, the system has to be restored to its
last pstate as requested by host. So host needs to be notified
of OCC_RESET event or else system will continue to remian in
@@ -96,9 +93,8 @@ reset cycle.</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>opal-prd: Fix error code from scom_read &amp; scom_write</dt>
-<dd><p class="first last">Currently, we always return a zero value from scom_read &amp; scom_write,
+<li><dl class="simple">
+<dt>opal-prd: Fix error code from scom_read &amp; scom_write</dt><dd><p>Currently, we always return a zero value from scom_read &amp; scom_write,
so the HBRT implementation has no way of detecting errors during scom
operations.
This change uses the actual return value from the scom operation from
@@ -106,11 +102,10 @@ the kernel instead.</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>opal-prd: Add get_interface_capabilities to host interfaces</dt>
-<dd><p class="first">We need a way to indicate behaviour changes &amp; fixes in the prd
+<li><dl>
+<dt>opal-prd: Add get_interface_capabilities to host interfaces</dt><dd><p>We need a way to indicate behaviour changes &amp; fixes in the prd
interface, without requiring a major version bump.</p>
-<p class="last">This change introduces the get_interface_capabilities callback,
+<p>This change introduces the get_interface_capabilities callback,
returning a bitmask of capability flags, pertaining to ‘sets’ of
capabilities. We currently return 0 for all.</p>
</dd>
@@ -119,27 +114,27 @@ capabilities. We currently return 0 for all.</p>
</ul>
<p>IBM FSP Platforms:</p>
<ul class="simple">
-<li>platforms/firenze: Fix clock frequency dt property</li>
-<li>platforms/firence: HDAT: Fix typo in nest-frequency property</li>
+<li><p>platforms/firenze: Fix clock frequency dt property</p></li>
+<li><p>platforms/firence: HDAT: Fix typo in nest-frequency property</p></li>
</ul>
<p>NVLink:</p>
<ul>
-<li><dl class="first docutils">
-<dt>hw/npu.c: Fix reserved PE#</dt>
-<dd><p class="first">Currently the reserved PE is set to NPU_NUM_OF_PES, which is one
+<li><dl>
+<dt>hw/npu.c: Fix reserved PE#</dt><dd><p>Currently the reserved PE is set to NPU_NUM_OF_PES, which is one
greater than the maximum PE resulting in the following kernel errors
at boot:</p>
<p>[ 0.000000] pnv_ioda_reserve_pe: Invalid PE 4 on PHB#4
[ 0.000000] pnv_ioda_reserve_pe: Invalid PE 4 on PHB#5</p>
-<p class="last">Due to a HW errata PE#0 is already reserved in the kernel, so update
+<p>Due to a HW errata PE#0 is already reserved in the kernel, so update
the opal-reserved-pe device-tree property to match this.</p>
</dd>
</dl>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -159,17 +154,15 @@ the opal-reserved-pe device-tree property to match this.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -186,14 +179,15 @@ the opal-reserved-pe device-tree property to match this.</p>
<li class="right" >
<a href="skiboot-5.3.6.html" title="skiboot-5.3.6"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.3.7</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.0-rc1.html b/doc/release-notes/skiboot-5.4.0-rc1.html
index c85f26e..121f133 100644
--- a/doc/release-notes/skiboot-5.4.0-rc1.html
+++ b/doc/release-notes/skiboot-5.4.0-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.0-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.0-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.0.html" title="skiboot-5.4.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-0-rc1">
+ <section id="skiboot-5-4-0-rc1">
<span id="id1"></span><h1>skiboot-5.4.0-rc1<a class="headerlink" href="#skiboot-5-4-0-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.0-rc1 was released on Monday October 17th 2016. It is the first
release candidate of skiboot 5.4, which will become the new stable release
@@ -57,27 +57,27 @@ and <a class="reference internal" href="skiboot-5.1.18.html#skiboot-5-1-18"><spa
feel good about it. The aim is for skiboot-5.4.x to be in op-build v1.13, which
is due by November 23rd 2016.</p>
<p>Over skiboot-5.3, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Initial Trusted Boot support (see <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a>).
+<li><p>Initial Trusted Boot support (see <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a>).
There are several limitations with this initial release:</p>
<blockquote>
<div><ul class="simple">
-<li>CAPP partition is not measured correctly</li>
-<li>Only Nuvoton TPM 2.0 is supported</li>
-<li>Requires hardware rework on late revision Habanero or Firestone boards
-in order to install TPM.</li>
+<li><p>CAPP partition is not measured correctly</p></li>
+<li><p>Only Nuvoton TPM 2.0 is supported</p></li>
+<li><p>Requires hardware rework on late revision Habanero or Firestone boards
+in order to install TPM.</p></li>
</ul>
</div></blockquote>
<ul class="simple">
-<li>Add i2c Nuvoton TPM 2.0 Driver</li>
-<li>romcode driver for POWER8 secure ROM</li>
-<li>See Device tree docs for tpm and ibm,secureboot nodes</li>
-<li>See main secure and trusted boot documentation.</li>
+<li><p>Add i2c Nuvoton TPM 2.0 Driver</p></li>
+<li><p>romcode driver for POWER8 secure ROM</p></li>
+<li><p>See Device tree docs for tpm and ibm,secureboot nodes</p></li>
+<li><p>See main secure and trusted boot documentation.</p></li>
</ul>
</li>
-<li><p class="first">Fast reboot for P8</p>
+<li><p>Fast reboot for P8</p>
<p>This makes reboot take an <em>awful</em> lot less time, somewhere between four
and ten times faster than a full IPL. It is currently experimental and not
enabled by default.
@@ -89,42 +89,41 @@ You can enable the experimental support via nvram option:</p>
in CAPI mode, we will currently <em>NOT</em> reset it back to plain PCI. There
are also some known issues in most simulators.</p>
</li>
-<li><p class="first">Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition with skiboot configuration options.</p>
+<li><p>Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition with skiboot configuration options.</p>
<ul class="simple">
-<li>These should generally only be used if you either completely know what
+<li><p>These should generally only be used if you either completely know what
you are doing or need to work around a skiboot bug. They are <strong>not</strong>
-intended for end users.</li>
-<li>Add support for supplying the kernel boot arguments from the <code class="docutils literal notranslate"><span class="pre">bootargs</span></code>
-configuration string in the <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition.</li>
-<li>Enabling the experimental fast reset feature is done via this method.</li>
+intended for end users.</p></li>
+<li><p>Add support for supplying the kernel boot arguments from the <code class="docutils literal notranslate"><span class="pre">bootargs</span></code>
+configuration string in the <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition.</p></li>
+<li><p>Enabling the experimental fast reset feature is done via this method.</p></li>
</ul>
</li>
-<li><p class="first">Add support for nap mode on P8 while in skiboot</p>
+<li><p>Add support for nap mode on P8 while in skiboot</p>
<ul class="simple">
-<li>While nap has been exposed to the Operating System since day 1, we have
+<li><p>While nap has been exposed to the Operating System since day 1, we have
not utilized low power states when in skiboot itself, leading to higher
power consumption during boot.
We only enable the functionality after the 0x100 vector has been
-patched, and we disable it before transferring control to Linux.</li>
+patched, and we disable it before transferring control to Linux.</p></li>
</ul>
</li>
-<li><p class="first">libflash: add 128MB MX66L1G45G part</p>
-</li>
-<li><p class="first">Pointer validation of OPAL API call arguments.</p>
+<li><p>libflash: add 128MB MX66L1G45G part</p></li>
+<li><p>Pointer validation of OPAL API call arguments.</p>
<ul class="simple">
-<li>If the kernel called an OPAL API with vmalloc’d address
+<li><p>If the kernel called an OPAL API with vmalloc’d address
or any other address range in real mode, we would hit
a problem with aliasing. Since the top 4 bits are ignored
in real mode, pointers from 0xc.. and 0xd.. (and other ranges)
could collide and lead to hard to solve bugs. This patch
adds the infrastructure for pointer validation and a simple
-test case for testing the API</li>
-<li>The checks validate pointers sent in using <code class="docutils literal notranslate"><span class="pre">opal_addr_valid()</span></code></li>
+test case for testing the API</p></li>
+<li><p>The checks validate pointers sent in using <code class="docutils literal notranslate"><span class="pre">opal_addr_valid()</span></code></p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="documentation">
+</section>
+<section id="documentation">
<h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h2>
<p>There have been a number of documentation fixes this release. Most prominent
is the switch to Sphinx (from the Python project) and ReStructured Text (RST)
@@ -141,166 +140,143 @@ document the OPAL API, the device tree bindings and important parts of
OPAL internals.</p>
<p>We would like the Device Tree documentation to follow the style that can be
included in the Device Tree Specification.</p>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Make console-log time more readable: seconds rather than timebase
-Log format is now <code class="docutils literal notranslate"><span class="pre">[SECONDS.(tb%512000000),LEVEL]</span></code></p>
-</li>
-<li><p class="first">Flash (PNOR) code improvements</p>
+<li><p>Make console-log time more readable: seconds rather than timebase
+Log format is now <code class="docutils literal notranslate"><span class="pre">[SECONDS.(tb%512000000),LEVEL]</span></code></p></li>
+<li><p>Flash (PNOR) code improvements</p>
<ul class="simple">
-<li>flash: Make size 64 bit safe
+<li><p>flash: Make size 64 bit safe
This makes the size of flash 64 bit safe so that we can have flash
devices greater than 4GB. This is especially useful for mambo disks
-passed through to Linux.</li>
-<li>core/flash.c: load actual partition size
+passed through to Linux.</p></li>
+<li><p>core/flash.c: load actual partition size
We are downloading 0x20000 bytes from PNOR for CAPP, but currently the
-CAPP lid is only 40K.</li>
-<li>flash: Rework error paths and messages for multiple flash controllers
+CAPP lid is only 40K.</p></li>
+<li><p>flash: Rework error paths and messages for multiple flash controllers
Now that we have mambo bogusdisk flash, we can have many flash chips.
-This is resulting in some confusing output messages.</li>
+This is resulting in some confusing output messages.</p></li>
</ul>
</li>
-<li><p class="first">core/init: Fix “failure of getting node in the free list” warning on boot.</p>
-</li>
-<li><p class="first">slw: improve error message for SLW timer stuck</p>
-</li>
-<li><p class="first">Centaur / XSCOM error handling</p>
+<li><p>core/init: Fix “failure of getting node in the free list” warning on boot.</p></li>
+<li><p>slw: improve error message for SLW timer stuck</p></li>
+<li><p>Centaur / XSCOM error handling</p>
<ul class="simple">
-<li>print message on disabling xscoms to centaur due to many errors</li>
-<li>Mark centaur offline after 10 consecutive access errors</li>
+<li><p>print message on disabling xscoms to centaur due to many errors</p></li>
+<li><p>Mark centaur offline after 10 consecutive access errors</p></li>
</ul>
</li>
-<li><p class="first">XSCOM improvements</p>
+<li><p>XSCOM improvements</p>
<ul class="simple">
-<li>xscom: Map all HMER status codes to OPAL errors</li>
-<li>xscom: Initialize the data to a known value in <code class="docutils literal notranslate"><span class="pre">xscom_read</span></code>
+<li><p>xscom: Map all HMER status codes to OPAL errors</p></li>
+<li><p>xscom: Initialize the data to a known value in <code class="docutils literal notranslate"><span class="pre">xscom_read</span></code>
In case of error, don’t leave the data random. It helps debugging when
the user fails to check the error code. This happens due to a bug in the
-PRD wrapper app.</li>
-<li>chip: Add a quirk for when core direct control XSCOMs are missing</li>
+PRD wrapper app.</p></li>
+<li><p>chip: Add a quirk for when core direct control XSCOMs are missing</p></li>
</ul>
</li>
-<li><p class="first">p8-i2c: Don’t crash if a centaur errored out</p>
-</li>
-<li><p class="first">cpu: Make endian switch message more informative</p>
-</li>
-<li><p class="first">cpu: Display number of started CPUs during boot</p>
-</li>
-<li><p class="first">core/init: ensure that HRMOR is zero at boot</p>
-</li>
-<li><p class="first">asm: Fix backtrace for unexpected exception</p>
-</li>
-<li><p class="first">cpu: Remove pollers calling heuristics from <code class="docutils literal notranslate"><span class="pre">cpu_wait_job</span></code>
+<li><p>p8-i2c: Don’t crash if a centaur errored out</p></li>
+<li><p>cpu: Make endian switch message more informative</p></li>
+<li><p>cpu: Display number of started CPUs during boot</p></li>
+<li><p>core/init: ensure that HRMOR is zero at boot</p></li>
+<li><p>asm: Fix backtrace for unexpected exception</p></li>
+<li><p>cpu: Remove pollers calling heuristics from <code class="docutils literal notranslate"><span class="pre">cpu_wait_job</span></code>
This will be handled by <code class="docutils literal notranslate"><span class="pre">time_wait_ms()</span></code>. Also remove a useless
<code class="docutils literal notranslate"><span class="pre">smt_medium()</span></code>.
Note that this introduce a difference in behaviour: time_wait
will only call the pollers on the boot CPU while <code class="docutils literal notranslate"><span class="pre">cpu_wait_job()</span></code>
could call them on any. However, I can’t think of a case where
-this is a problem.</p>
-</li>
-<li><p class="first">cpu: Remove global job queue
+this is a problem.</p></li>
+<li><p>cpu: Remove global job queue
Instead, target a specific CPU for a global job at queuing time.
This will allow us to wake up the target using an interrupt when
implementing nap mode.
The algorithm used is to look for idle primary threads first, then
idle secondaries, and finally the less loaded thread. If nothing can
-be found, we fallback to a synchronous call.</p>
-</li>
-<li><p class="first">lpc: Log LPC SYNC errors as unrecoverable ones for manufacturing</p>
-</li>
-<li><p class="first">lpc: Optimize SerIRQ dispatch based on which PSI IRQ fired</p>
-</li>
-<li><dl class="first docutils">
-<dt>interrupts: Add new source <code class="docutils literal notranslate"><span class="pre">-&gt;attributes()</span></code> callback</dt>
-<dd><p class="first">This allows a given source to provide per-interrupt attributes
+be found, we fallback to a synchronous call.</p></li>
+<li><p>lpc: Log LPC SYNC errors as unrecoverable ones for manufacturing</p></li>
+<li><p>lpc: Optimize SerIRQ dispatch based on which PSI IRQ fired</p></li>
+<li><dl>
+<dt>interrupts: Add new source <code class="docutils literal notranslate"><span class="pre">-&gt;attributes()</span></code> callback</dt><dd><p>This allows a given source to provide per-interrupt attributes
such as whether it targets OPAL or Linux and it’s estimated
frequency.</p>
-<p class="last">The former allows to get rid of the double set of ops used to
+<p>The former allows to get rid of the double set of ops used to
decide which interrupts go where on some modules like the PHBs
and the latter will be eventually used to implement smart
caching of the source lookups.</p>
</dd>
</dl>
</li>
-<li><p class="first">opal/hmi: Fix a TOD HMI failure during a race condition.</p>
-</li>
-<li><p class="first">platform: Add BT to Generic platform</p>
-</li>
+<li><p>opal/hmi: Fix a TOD HMI failure during a race condition.</p></li>
+<li><p>platform: Add BT to Generic platform</p></li>
</ul>
-</div>
-<div class="section" id="nvram">
+</section>
+<section id="nvram">
<h2>NVRAM<a class="headerlink" href="#nvram" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> partition for skiboot specific configuration options</li>
-<li><dl class="first docutils">
-<dt>flash: Size NVRAM based on ECC for OpenPOWER platforms</dt>
-<dd>If NVRAM has ECC (as per the ffs header) then the actual size of the
+<li><p>Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> partition for skiboot specific configuration options</p></li>
+<li><dl class="simple">
+<dt>flash: Size NVRAM based on ECC for OpenPOWER platforms</dt><dd><p>If NVRAM has ECC (as per the ffs header) then the actual size of the
partition is less than reported by the ffs header in the PNOR then the
-actual size of the partition is less than reported by the ffs header.</dd>
+actual size of the partition is less than reported by the ffs header.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="nvlink-npu">
+</section>
+<section id="nvlink-npu">
<h2>NVLink/NPU<a class="headerlink" href="#nvlink-npu" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Fix reserved PE#</li>
-<li>NPU bdfn allocation bugfix</li>
-<li><dl class="first docutils">
-<dt>Fix bad PE number check</dt>
-<dd>NPUs have 4 PEs which are zero indexed, so {0, 1, 2, 3}. A bad PE number
+<li><p>Fix reserved PE#</p></li>
+<li><p>NPU bdfn allocation bugfix</p></li>
+<li><dl class="simple">
+<dt>Fix bad PE number check</dt><dd><p>NPUs have 4 PEs which are zero indexed, so {0, 1, 2, 3}. A bad PE number
check in npu_err_inject checks if the PE number is greater than 4 as a
-fail case, so it would wrongly perform operations on a non-existant PE 4.</dd>
+fail case, so it would wrongly perform operations on a non-existant PE 4.</p>
+</dd>
</dl>
</li>
-<li>Use PCI virtual device</li>
-<li>assert the NPU irq min is aligned.</li>
-<li>program NPU BUID reg properly</li>
-<li><dl class="first docutils">
-<dt>npu: reword “error” to indicate it’s actually a warning</dt>
-<dd>Incorrect FWTS annotation.
+<li><p>Use PCI virtual device</p></li>
+<li><p>assert the NPU irq min is aligned.</p></li>
+<li><p>program NPU BUID reg properly</p></li>
+<li><dl class="simple">
+<dt>npu: reword “error” to indicate it’s actually a warning</dt><dd><p>Incorrect FWTS annotation.
Without this patch, you get spurious FirmWare Test Suite (FWTS) warnings
about NVLink not working on machines that aren’t fully populated with
-GPUs.</dd>
+GPUs.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>external: NPU hardware procedure script</dt>
-<dd>Performing NPU hardware procedures requires some config space magic.
+<li><dl class="simple">
+<dt>external: NPU hardware procedure script</dt><dd><p>Performing NPU hardware procedures requires some config space magic.
Put all that magic into a script, so you can just specify the target
-device and the procedure number.</dd>
+device and the procedure number.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Generic fixes</p>
+<li><p>Generic fixes</p>
<ul>
-<li><p class="first">Claim surprise hotplug capability</p>
-</li>
-<li><p class="first">Reserve PCI buses for RC’s slot</p>
-</li>
-<li><p class="first">Update PCI topology after power change</p>
-</li>
-<li><p class="first">Return slot cached power state</p>
-</li>
-<li><p class="first">Cache power state on slot without power control</p>
-</li>
-<li><p class="first">Avoid hot resets at boot time</p>
-</li>
-<li><p class="first">Fix initial PCIe slot power state</p>
-</li>
-<li><p class="first">Print CRS retry times
+<li><p>Claim surprise hotplug capability</p></li>
+<li><p>Reserve PCI buses for RC’s slot</p></li>
+<li><p>Update PCI topology after power change</p></li>
+<li><p>Return slot cached power state</p></li>
+<li><p>Cache power state on slot without power control</p></li>
+<li><p>Avoid hot resets at boot time</p></li>
+<li><p>Fix initial PCIe slot power state</p></li>
+<li><p>Print CRS retry times
It’s useful to know the CRS retry times before the PCI device is
detected successfully. In PCI hot add case, it usually indicates
time consumed for the adapter’s firmware to be partially ready
-(responsive PCI config space).</p>
-</li>
-<li><p class="first">core/pci: Fix the power-off timeout in <code class="docutils literal notranslate"><span class="pre">pci_slot_power_off()</span></code>
+(responsive PCI config space).</p></li>
+<li><p>core/pci: Fix the power-off timeout in <code class="docutils literal notranslate"><span class="pre">pci_slot_power_off()</span></code>
The timeout should be 1000ms instead of 1000 ticks while powering
off PCI slot in <code class="docutils literal notranslate"><span class="pre">pci_slot_power_off()</span></code>. Otherwise, it’s likely to
hit timeout powering off the PCI slot as below skiboot logs reveal:</p>
@@ -310,159 +286,153 @@ hit timeout powering off the PCI slot as below skiboot logs reveal:</p>
</li>
</ul>
</li>
-<li><p class="first">PHB3</p>
+<li><p>PHB3</p>
<ul class="simple">
-<li>Override root slot’s <code class="docutils literal notranslate"><span class="pre">prepare_link_change()</span></code> with PHB’s</li>
-<li>Disable surprise link down event on PCI slots</li>
-<li>Disable ECRC on Broadcom adapter behind PMC switch</li>
+<li><p>Override root slot’s <code class="docutils literal notranslate"><span class="pre">prepare_link_change()</span></code> with PHB’s</p></li>
+<li><p>Disable surprise link down event on PCI slots</p></li>
+<li><p>Disable ECRC on Broadcom adapter behind PMC switch</p></li>
</ul>
</li>
-<li><p class="first">astbmc platforms</p>
+<li><p>astbmc platforms</p>
<ul class="simple">
-<li>Support dynamic PCI slot. We might insert a PCIe switch to PHB direct slot
-and the downstream ports of the PCIe switch supports PCI hotplug.</li>
+<li><p>Support dynamic PCI slot. We might insert a PCIe switch to PHB direct slot
+and the downstream ports of the PCIe switch supports PCI hotplug.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="capi">
+</section>
+<section id="capi">
<h2>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>hw/phb3: Update capi initialization sequence</dt>
-<dd>The capi initialization sequence was revised in a circumvention
+<li><dl class="simple">
+<dt>hw/phb3: Update capi initialization sequence</dt><dd><p>The capi initialization sequence was revised in a circumvention
document when a ‘link down’ error was converted from fatal to Endpoint
Recoverable. Other, non-capi, register setup was corrected even before
the initial open-source release of skiboot, but a few capi-related
-registers were not updated then, so this patch fixes it.</dd>
+registers were not updated then, so this patch fixes it.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="ipmi">
+</section>
+<section id="ipmi">
<h2>IPMI<a class="headerlink" href="#ipmi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>core/ipmi: Set interrupt-parent property</dt>
-<dd>This allows ipmi-opal to properly use the OPAL irqchip rather than
-falling back to the event interface in Linux.</dd>
+<li><dl class="simple">
+<dt>core/ipmi: Set interrupt-parent property</dt><dd><p>This allows ipmi-opal to properly use the OPAL irqchip rather than
+falling back to the event interface in Linux.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="mambo-simulator">
+</section>
+<section id="mambo-simulator">
<h2>Mambo Simulator<a class="headerlink" href="#mambo-simulator" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Helpers for POWER9 Mambo.</li>
-<li>mambo: Advertise available RADIX page sizes</li>
-<li>mambo: Add section for kernel command line boot args
+<li><p>Helpers for POWER9 Mambo.</p></li>
+<li><p>mambo: Advertise available RADIX page sizes</p></li>
+<li><p>mambo: Add section for kernel command line boot args
Users can set kernel command line boot arguments for Mambo in a tcl
-script.</li>
-<li>mambo: add exception and qtrace helpers</li>
-<li>external/mambo: Update skiboot.tcl to add page-sizes nodes to device tree</li>
+script.</p></li>
+<li><p>mambo: add exception and qtrace helpers</p></li>
+<li><p>external/mambo: Update skiboot.tcl to add page-sizes nodes to device tree</p></li>
</ul>
-</div>
-<div class="section" id="simics-simulator">
+</section>
+<section id="simics-simulator">
<h2>Simics Simulator<a class="headerlink" href="#simics-simulator" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>chiptod: Enable ChipTOD in SIMICS</li>
+<li><p>chiptod: Enable ChipTOD in SIMICS</p></li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pflash</p>
+<li><p>pflash</p>
<ul class="simple">
-<li>fix harmless buffer overflow: <code class="docutils literal notranslate"><span class="pre">fl_total_size</span></code> was <code class="docutils literal notranslate"><span class="pre">uint32_t</span></code> not <code class="docutils literal notranslate"><span class="pre">uint64_t</span></code>.</li>
-<li>Don’t try to write protect when writing to flash file</li>
-<li>Misc small improvements to code and code style</li>
-<li>makefile bug fixes</li>
+<li><p>fix harmless buffer overflow: <code class="docutils literal notranslate"><span class="pre">fl_total_size</span></code> was <code class="docutils literal notranslate"><span class="pre">uint32_t</span></code> not <code class="docutils literal notranslate"><span class="pre">uint64_t</span></code>.</p></li>
+<li><p>Don’t try to write protect when writing to flash file</p></li>
+<li><p>Misc small improvements to code and code style</p></li>
+<li><p>makefile bug fixes</p></li>
</ul>
</li>
-<li><p class="first">external/boot_tests</p>
+<li><p>external/boot_tests</p>
<ul class="simple">
-<li>remove lid from the BMC after flashing</li>
-<li>add the nobooting option -N</li>
-<li>add arbitrary lid option -F</li>
+<li><p>remove lid from the BMC after flashing</p></li>
+<li><p>add the nobooting option -N</p></li>
+<li><p>add arbitrary lid option -F</p></li>
</ul>
</li>
-<li><dl class="first docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">getscom</span></code> / <code class="docutils literal notranslate"><span class="pre">getsram</span></code> / <code class="docutils literal notranslate"><span class="pre">putscom</span></code>: Parse chip-id as hex</dt>
-<dd><p class="first">We print the chip-id in hex (without a leading 0x), but we fail to
+<li><dl>
+<dt><code class="docutils literal notranslate"><span class="pre">getscom</span></code> / <code class="docutils literal notranslate"><span class="pre">getsram</span></code> / <code class="docutils literal notranslate"><span class="pre">putscom</span></code>: Parse chip-id as hex</dt><dd><p>We print the chip-id in hex (without a leading 0x), but we fail to
parse that same value correctly in <code class="docutils literal notranslate"><span class="pre">getscom</span></code> / <code class="docutils literal notranslate"><span class="pre">getsram</span></code> / <code class="docutils literal notranslate"><span class="pre">putscom</span></code></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># getscom -l</span>
<span class="o">...</span>
-<span class="mi">80000000</span> <span class="o">|</span> <span class="n">DD2</span><span class="o">.</span><span class="mi">0</span> <span class="o">|</span> <span class="n">Centaur</span> <span class="n">memory</span> <span class="n">buffer</span>
+<span class="mi">80000000</span> <span class="o">|</span> <span class="n">DD2</span><span class="mf">.0</span> <span class="o">|</span> <span class="n">Centaur</span> <span class="n">memory</span> <span class="n">buffer</span>
<span class="c1"># getscom -c 80000000 201140a</span>
<span class="n">Error</span> <span class="o">-</span><span class="mi">19</span> <span class="n">reading</span> <span class="n">XSCOM</span>
</pre></div>
</div>
-<p class="last">Fix this by assuming base 16 when parsing chip-id.</p>
+<p>Fix this by assuming base 16 when parsing chip-id.</p>
</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="prd">
+</section>
+<section id="prd">
<h2>PRD<a class="headerlink" href="#prd" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>opal-prd: Fix error code from <code class="docutils literal notranslate"><span class="pre">scom_read</span></code> and <code class="docutils literal notranslate"><span class="pre">scom_write</span></code></li>
-<li>opal-prd: Add get_interface_capabilities to host interfaces</li>
-<li>opal-prd: fix for 64-bit pnor sizes</li>
-<li><dl class="first docutils">
-<dt>occ/prd/opal-prd: Queue OCC_RESET event message to host in OpenPOWER</dt>
-<dd>During an OCC reset cycle the system is forced to Psafe pstate.
+<li><p>opal-prd: Fix error code from <code class="docutils literal notranslate"><span class="pre">scom_read</span></code> and <code class="docutils literal notranslate"><span class="pre">scom_write</span></code></p></li>
+<li><p>opal-prd: Add get_interface_capabilities to host interfaces</p></li>
+<li><p>opal-prd: fix for 64-bit pnor sizes</p></li>
+<li><dl class="simple">
+<dt>occ/prd/opal-prd: Queue OCC_RESET event message to host in OpenPOWER</dt><dd><p>During an OCC reset cycle the system is forced to Psafe pstate.
When OCC becomes active, the system has to be restored to its
last pstate as requested by host. So host needs to be notified
of OCC_RESET event or else system will continue to remian in
Psafe state until host requests a new pstate after the OCC
-reset cycle.</dd>
+reset cycle.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-based-platforms">
+</section>
+<section id="ibm-fsp-based-platforms">
<h2>IBM FSP Based Platforms<a class="headerlink" href="#ibm-fsp-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><dl class="first docutils">
-<dt>fsp/console: Allocate irq for each hvc console</dt>
-<dd><p class="first last">Allocate an irq number for each hvc console and set its interrupt-parent
+<li><dl class="simple">
+<dt>fsp/console: Allocate irq for each hvc console</dt><dd><p>Allocate an irq number for each hvc console and set its interrupt-parent
property so that Linux can use the opal irqchip instead of the
OPAL_EVENT_CONSOLE_INPUT interface.</p>
</dd>
</dl>
</li>
-<li><p class="first">platforms/firenze: Fix clock frequency dt property:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1.212366090</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">DT</span><span class="p">:</span> <span class="n">Unexpected</span> <span class="nb">property</span> <span class="n">length</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@3fc0000000000</span><span class="o">/</span><span class="n">i2cm</span><span class="nd">@a0020</span><span class="o">/</span><span class="n">clock</span><span class="o">-</span><span class="n">frequency</span>
+<li><p>platforms/firenze: Fix clock frequency dt property:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1.212366090</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">DT</span><span class="p">:</span> <span class="n">Unexpected</span> <span class="nb">property</span> <span class="n">length</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">3</span><span class="n">fc0000000000</span><span class="o">/</span><span class="n">i2cm</span><span class="nd">@a0020</span><span class="o">/</span><span class="n">clock</span><span class="o">-</span><span class="n">frequency</span>
</pre></div>
</div>
</li>
-<li><dl class="first docutils">
-<dt>HDAT: Fix typo in nest-frequency property</dt>
-<dd><p class="first last">nest-frquency -&gt; nest-frequency</p>
+<li><dl class="simple">
+<dt>HDAT: Fix typo in nest-frequency property</dt><dd><p>nest-frquency -&gt; nest-frequency</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>platforms/ibm-fsp: Use power_ctl bit when determining slot reset method</dt>
-<dd><p class="first last">The power_ctl bit is used to represent if power management is available.
+<li><dl class="simple">
+<dt>platforms/ibm-fsp: Use power_ctl bit when determining slot reset method</dt><dd><p>The power_ctl bit is used to represent if power management is available.
If power_ctl is set to true, then the I2C based external power management
functionality will be populated on the PCI slot. Otherwise we will try to
use the inband PERST as the fundamental reset, as before.</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>FSP/ELOG: Fix elog timeout issue</dt>
-<dd><p class="first last">Presently we set timeout value as soon as we add elog to queue. If
+<li><dl class="simple">
+<dt>FSP/ELOG: Fix elog timeout issue</dt><dd><p>Presently we set timeout value as soon as we add elog to queue. If
we have multiple elogs to write, it doesn’t consider queue wait time.
Instead set timeout value when we are actually sending elog to FSP.</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>FSP/ELOG: elog_enable flag should be false by default</dt>
-<dd><p class="first last">This issue is one of the corner case, which is related to recent change
+<li><dl class="simple">
+<dt>FSP/ELOG: elog_enable flag should be false by default</dt><dd><p>This issue is one of the corner case, which is related to recent change
went upstream and only observed in the petitboot prompt, where we see
only one error log instead of getting all error log in
<code class="docutils literal notranslate"><span class="pre">/sys/firmware/opal/elog</span></code>.</p>
@@ -470,119 +440,119 @@ only one error log instead of getting all error log in
</dl>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>mambo: Make POWER9 look like DD2</li>
-<li><dl class="first docutils">
-<dt>flash: Move flash node under <code class="docutils literal notranslate"><span class="pre">ibm,opal/flash/</span></code></dt>
-<dd>This changes the boot ABI, so it’s only active for P9 and later systems,
+<li><p>mambo: Make POWER9 look like DD2</p></li>
+<li><dl class="simple">
+<dt>flash: Move flash node under <code class="docutils literal notranslate"><span class="pre">ibm,opal/flash/</span></code></dt><dd><p>This changes the boot ABI, so it’s only active for P9 and later systems,
even though it’s unrelated to hardware changes. There is an associated
-Linux change to properly search for this node as well.</dd>
+Linux change to properly search for this node as well.</p>
+</dd>
</dl>
</li>
-<li>core/cpu.c: Add OPAL call to setup Nest MMU</li>
-<li>psi: On p9, create an interrupt-map for routing PSI interrupts</li>
-<li>lpc: Add P9 LPC interrupts support</li>
-<li>chiptod: Basic P9 support</li>
-<li>psi: Add P9 support</li>
+<li><p>core/cpu.c: Add OPAL call to setup Nest MMU</p></li>
+<li><p>psi: On p9, create an interrupt-map for routing PSI interrupts</p></li>
+<li><p>lpc: Add P9 LPC interrupts support</p></li>
+<li><p>chiptod: Basic P9 support</p></li>
+<li><p>psi: Add P9 support</p></li>
</ul>
-</div>
-<div class="section" id="testing-and-debugging">
+</section>
+<section id="testing-and-debugging">
<h2>Testing and Debugging<a class="headerlink" href="#testing-and-debugging" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>test/qemu: bump qemu version used in CI, adds IPMI support</li>
-<li>platform/qemu: add BT and IPMI support
-Enables testing BT and IPMI functionality in the Qemu simulator</li>
-<li>init: In debug builds, enable debug output to console</li>
-<li><dl class="first docutils">
-<dt>mem_region: Be a bit smarter about poisoning</dt>
-<dd>Don’t poison chunks that are already free and poison regions on
-first allocation. This speeds things up dramatically.</dd>
+<li><p>test/qemu: bump qemu version used in CI, adds IPMI support</p></li>
+<li><p>platform/qemu: add BT and IPMI support
+Enables testing BT and IPMI functionality in the Qemu simulator</p></li>
+<li><p>init: In debug builds, enable debug output to console</p></li>
+<li><dl class="simple">
+<dt>mem_region: Be a bit smarter about poisoning</dt><dd><p>Don’t poison chunks that are already free and poison regions on
+first allocation. This speeds things up dramatically.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>libc: Use 8-bytes stores for non-0 memset too</dt>
-<dd>Memory poisoning hammers this, so let’s be a bit smart about it and
-avoid falling back to byte stores when the data is not 0</dd>
+<li><dl class="simple">
+<dt>libc: Use 8-bytes stores for non-0 memset too</dt><dd><p>Memory poisoning hammers this, so let’s be a bit smart about it and
+avoid falling back to byte stores when the data is not 0</p>
+</dd>
</dl>
</li>
-<li>fwts: add annotation for manufacturing mode</li>
-<li>check: Fix bugs in mem region tests</li>
-<li><dl class="first docutils">
-<dt>Don’t set -fstack-protector-all unconditionally</dt>
-<dd>We set it already in DEBUG builds and we use -fstack-protector-strong
+<li><p>fwts: add annotation for manufacturing mode</p></li>
+<li><p>check: Fix bugs in mem region tests</p></li>
+<li><dl class="simple">
+<dt>Don’t set -fstack-protector-all unconditionally</dt><dd><p>We set it already in DEBUG builds and we use -fstack-protector-strong
in release builds which provides most of the benefits and is more
-efficient.</dd>
+efficient.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>Build host programs (and checks) with debug enabled</dt>
-<dd>This enables memory poisoning in allocations and list checking
-among other things.</dd>
+<li><dl class="simple">
+<dt>Build host programs (and checks) with debug enabled</dt><dd><p>This enables memory poisoning in allocations and list checking
+among other things.</p>
+</dd>
</dl>
</li>
-<li>Add global DEBUG make flag</li>
+<li><p>Add global DEBUG make flag</p></li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>Extending the analysis done for the last few releases, we can see our trends
in code review across versions:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="19%" />
-<col width="14%" />
-<col width="17%" />
-<col width="17%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 19%" />
+<col style="width: 14%" />
+<col style="width: 17%" />
+<col style="width: 17%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack</th>
-<th class="head">Reviews</th>
-<th class="head">Tested</th>
-<th class="head">Reported</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack</p></th>
+<th class="head"><p>Reviews</p></th>
+<th class="head"><p>Tested</p></th>
+<th class="head"><p>Reported</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15</td>
-<td>20</td>
-<td>1</td>
-<td>0</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13</td>
-<td>38</td>
-<td>1</td>
-<td>4</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20</td>
-<td>34</td>
-<td>6</td>
-<td>11</td>
-</tr>
-<tr class="row-odd"><td>5.3-rc1</td>
-<td>302</td>
-<td>36</td>
-<td>53</td>
-<td>4</td>
-<td>5</td>
-</tr>
-<tr class="row-even"><td>5.4-rc1</td>
-<td>278</td>
-<td>8</td>
-<td>19</td>
-<td>0</td>
-<td>4</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15</p></td>
+<td><p>20</p></td>
+<td><p>1</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13</p></td>
+<td><p>38</p></td>
+<td><p>1</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20</p></td>
+<td><p>34</p></td>
+<td><p>6</p></td>
+<td><p>11</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.3-rc1</p></td>
+<td><p>302</p></td>
+<td><p>36</p></td>
+<td><p>53</p></td>
+<td><p>4</p></td>
+<td><p>5</p></td>
+</tr>
+<tr class="row-even"><td><p>5.4-rc1</p></td>
+<td><p>278</p></td>
+<td><p>8</p></td>
+<td><p>19</p></td>
+<td><p>0</p></td>
+<td><p>4</p></td>
</tr>
</tbody>
</table>
@@ -591,455 +561,456 @@ but that is not indicative of the size or complexity of these changes.</p>
<p>Processed 278 csets from 31 developers
A total of 17052 lines added, 4745 removed (delta 12307)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>71</td>
-<td>(25.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>71</p></td>
+<td><p>(25.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>50</td>
-<td>(18.0%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>50</p></td>
+<td><p>(18.0%)</p></td>
</tr>
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>38</td>
-<td>(13.7%)</td>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>38</p></td>
+<td><p>(13.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>20</td>
-<td>(7.2%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>20</p></td>
+<td><p>(7.2%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>18</td>
-<td>(6.5%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>18</p></td>
+<td><p>(6.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Mukesh Ojha</td>
-<td>9</td>
-<td>(3.2%)</td>
+<tr class="row-odd"><td><p>Mukesh Ojha</p></td>
+<td><p>9</p></td>
+<td><p>(3.2%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>7</td>
-<td>(2.5%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>7</p></td>
+<td><p>(2.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>7</td>
-<td>(2.5%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>7</p></td>
+<td><p>(2.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>7</td>
-<td>(2.5%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>7</p></td>
+<td><p>(2.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>6</td>
-<td>(2.2%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>6</p></td>
+<td><p>(2.2%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>6</td>
-<td>(2.2%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>6</p></td>
+<td><p>(2.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>4</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>4</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>3</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>3</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>3</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>3</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>3</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>3</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>3</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>3</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>3</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>3</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Jack Miller</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Jack Miller</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Suraj Jitindar Singh</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Milton Miller</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Milton Miller</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Bonnard</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Frederic Bonnard</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Breno Leitao</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Breno Leitao</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Anton Blanchard</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Anton Blanchard</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Nageswara R Sastry</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Nageswara R Sastry</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>6817</td>
-<td>(38.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>6817</p></td>
+<td><p>(38.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>4677</td>
-<td>(26.2%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>4677</p></td>
+<td><p>(26.2%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>2586</td>
-<td>(14.5%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>2586</p></td>
+<td><p>(14.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1005</td>
-<td>(5.6%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1005</p></td>
+<td><p>(5.6%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>509</td>
-<td>(2.9%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>509</p></td>
+<td><p>(2.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Mukesh Ojha</td>
-<td>361</td>
-<td>(2.0%)</td>
+<tr class="row-odd"><td><p>Mukesh Ojha</p></td>
+<td><p>361</p></td>
+<td><p>(2.0%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>343</td>
-<td>(1.9%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>343</p></td>
+<td><p>(1.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>343</td>
-<td>(1.9%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>343</p></td>
+<td><p>(1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>227</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>227</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>194</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>194</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>121</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>121</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>115</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>115</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>68</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>68</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>66</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>66</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>65</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>65</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>45</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>45</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Suraj Jitindar Singh</td>
-<td>41</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>41</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>34</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>34</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>33</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>33</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Jack Miller</td>
-<td>32</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Jack Miller</p></td>
+<td><p>32</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Nageswara R Sastry</td>
-<td>32</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Nageswara R Sastry</p></td>
+<td><p>32</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>23</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>23</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>21</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>21</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>20</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>20</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Milton Miller</td>
-<td>19</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Milton Miller</p></td>
+<td><p>19</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>11</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>11</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>6</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>6</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Anton Blanchard</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Anton Blanchard</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Bonnard</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Frederic Bonnard</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Breno Leitao</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Breno Leitao</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Cyril Bur</td>
-<td>299</td>
-<td>(6.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>299</p></td>
+<td><p>(6.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 226)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>219</td>
-<td>(96.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>219</p></td>
+<td><p>(96.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>4</td>
-<td>(1.8%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>4</p></td>
+<td><p>(1.8%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 19)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Mukesh Ojha</td>
-<td>5</td>
-<td>(26.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Mukesh Ojha</p></td>
+<td><p>5</p></td>
+<td><p>(26.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>4</td>
-<td>(21.1%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>4</p></td>
+<td><p>(21.1%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>3</td>
-<td>(15.8%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>3</p></td>
+<td><p>(15.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>3</td>
-<td>(15.8%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>3</p></td>
+<td><p>(15.8%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>2</td>
-<td>(10.5%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>2</p></td>
+<td><p>(10.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1</td>
-<td>(5.3%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(5.3%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>1</td>
-<td>(5.3%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(5.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 0)</p>
<p>Developers who gave the most tested-by credits (total 0)</p>
<p>Developers with the most report credits (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1</td>
-<td>(25.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Li Meng</td>
-<td>1</td>
-<td>(25.0%)</td>
+<tr class="row-odd"><td><p>Li Meng</p></td>
+<td><p>1</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(25.0%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1</td>
-<td>(25.0%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(25.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">&#160;</th>
-<th class="head">&#160;</th>
-<th class="head">&#160;</th>
+<thead>
+<tr class="row-odd"><th class="head"></th>
+<th class="head"></th>
+<th class="head"></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>1</td>
-<td>(25.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>1</td>
-<td>(25.0%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>1</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>1</td>
-<td>(25.0%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>1</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1</td>
-<td>(25.0%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1</p></td>
+<td><p>(25.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1082,17 +1053,15 @@ A total of 17052 lines added, 4745 removed (delta 12307)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1109,14 +1078,15 @@ A total of 17052 lines added, 4745 removed (delta 12307)</p>
<li class="right" >
<a href="skiboot-5.4.0.html" title="skiboot-5.4.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.0-rc2.html b/doc/release-notes/skiboot-5.4.0-rc2.html
index 396d47f..8e39f4a 100644
--- a/doc/release-notes/skiboot-5.4.0-rc2.html
+++ b/doc/release-notes/skiboot-5.4.0-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.0-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.0-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.0-rc1.html" title="skiboot-5.4.0-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-0-rc2">
+ <section id="skiboot-5-4-0-rc2">
<span id="id1"></span><h1>skiboot-5.4.0-rc2<a class="headerlink" href="#skiboot-5-4-0-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.0-rc2 was released on Wednesday October 26th 2016. It is the
second release candidate of skiboot 5.4, which will become the new stable
@@ -58,7 +58,7 @@ and <a class="reference internal" href="skiboot-5.1.18.html#skiboot-5-1-18"><spa
feel good about it. The aim is for skiboot-5.4.x to be in op-build v1.13, which
is due by November 23rd 2016.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.0-rc1.html#skiboot-5-4-0-rc1"><span class="std std-ref">skiboot-5.4.0-rc1</span></a>, we have a few changes:</p>
-<div class="section" id="secure-and-trusted-boot">
+<section id="secure-and-trusted-boot">
<h2>Secure and Trusted Boot<a class="headerlink" href="#secure-and-trusted-boot" title="Permalink to this headline">¶</a></h2>
<p>skiboot 5.4.0-rc2 improves upon the progress towards Secure and Trusted Boot
in rc1. It is important to note that this is <em>not</em> a complete, end-to-end
@@ -69,7 +69,7 @@ loaded from PNOR by skiboot (namely the CAPP and BOOTKERNEL partitions).</p>
use the libflash backend. It is <em>NOT</em> enabled on IBM FSP based systems.
There is some support for some simulators though.</p>
<ul>
-<li><p class="first">libstb/stb.c: ignore the secure mode flag unless forced in NVRAM</p>
+<li><p>libstb/stb.c: ignore the secure mode flag unless forced in NVRAM</p>
<p>For this stage in Trusted Boot development, we are wishing to not
force Secure Mode through the whole firmware boot process, but we
are wanting to be able to test it (classic chicken and egg problem with
@@ -90,11 +90,11 @@ process in secure mode, we replace the ‘secure-enabled’ property with
boot process has gone through secure mode.</p>
</li>
</ul>
-</div>
-<div class="section" id="command-line-arguments-to-bootkernel">
+</section>
+<section id="command-line-arguments-to-bootkernel">
<h2>Command line arguments to BOOTKERNEL<a class="headerlink" href="#command-line-arguments-to-bootkernel" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/init.c: Fix bootargs parsing</p>
+<li><p>core/init.c: Fix bootargs parsing</p>
<p>Currently the bootargs are unconditionally deleted, which causes
a bug where the bootargs passed in by the device tree are lost.</p>
<p>This patch deletes bootargs only if it needs to be replaced by the NVRAM
@@ -103,37 +103,34 @@ entry.</p>
using the NVRAM or a device tree.</p>
</li>
</ul>
-</div>
-<div class="section" id="pflash-utility">
+</section>
+<section id="pflash-utility">
<h2>pflash utility<a class="headerlink" href="#pflash-utility" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/pflash: Make MTD accesses the default</p>
+<li><p>external/pflash: Make MTD accesses the default</p>
<p>Now that BMC and host kernel mtd drivers exist and have matured we
should use them by default.</p>
<p>This is especially important since we seem to be telling everyone to use
pflash (pflash world domination plans are continuing on schedule).</p>
</li>
-<li><p class="first">external/pflash: Catch incompatible combination of flags</p>
-</li>
-<li><p class="first">external/common: arm: Don’t error trying to wrprotect with MTD access</p>
-</li>
-<li><p class="first">libflash/libffs: Use blocklevel_smart_write() when updating partitions</p>
-</li>
+<li><p>external/pflash: Catch incompatible combination of flags</p></li>
+<li><p>external/common: arm: Don’t error trying to wrprotect with MTD access</p></li>
+<li><p>libflash/libffs: Use blocklevel_smart_write() when updating partitions</p></li>
</ul>
-</div>
-<div class="section" id="other-changes">
+</section>
+<section id="other-changes">
<h2>Other changes<a class="headerlink" href="#other-changes" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">extract-gcov: build with -m64 if compiler supports it.</p>
+<li><p>extract-gcov: build with -m64 if compiler supports it.</p>
<p>Fixes build break on 32bit ppc64 (e.g. PowerMac G5, where user space
is mostly 32bit).</p>
</li>
</ul>
-</div>
-<div class="section" id="fast-reset">
+</section>
+<section id="fast-reset">
<h2>Fast Reset<a class="headerlink" href="#fast-reset" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">fast-reset: disable fast reboot in event of platform error</p>
+<li><p>fast-reset: disable fast reboot in event of platform error</p>
<p>Most of the time, if we’re rebooting due to a platform error, we should
trigger a checkstop. However, if we haven’t been told what we should do
to trigger a checkstop (e.g. on an FSP machine), then we should still
@@ -141,9 +138,8 @@ fail to fast-reboot.</p>
<p>So, disable fast-reboot in the OPAL_CEC_REBOOT2 code path
for OPAL_REBOOT_PLATFORM_ERROR reboot type.</p>
</li>
-<li><p class="first">fast-reboot: disable on FSP code update or unrecoverable HMI</p>
-</li>
-<li><p class="first">fast-reboot: abort fast reboot if CAPP attached</p>
+<li><p>fast-reboot: disable on FSP code update or unrecoverable HMI</p></li>
+<li><p>fast-reboot: abort fast reboot if CAPP attached</p>
<p>If a PHB is in CAPI mode, we cannot safely fast reboot - the PHB will be
fenced during the reboot resulting in major problems when we load the new
kernel.</p>
@@ -155,17 +151,17 @@ CAPP attached, and if so, abort the fast reboot and revert to a normal
reboot instead.</p>
</li>
</ul>
-</div>
-<div class="section" id="openpower-platforms">
+</section>
+<section id="openpower-platforms">
<h2>OpenPOWER Platforms<a class="headerlink" href="#openpower-platforms" title="Permalink to this headline">¶</a></h2>
<p>For all hardware platforms that aren’t IBM FSP machines:</p>
<ul>
-<li><p class="first">Revert “flash: Move flash node under ibm,opal/flash/”</p>
+<li><p>Revert “flash: Move flash node under ibm,opal/flash/”</p>
<p>This reverts commit e1e6d009860d0ef60f9daf7a0fbe15f869516bd0.</p>
<p>Breaks DT enough that it makes people cranky, reverting for now.
This could break access to flash with existing kernels in POWER9 simulators</p>
</li>
-<li><p class="first">flash: rework flash_load_resource to correctly read FFS/STB</p>
+<li><p>flash: rework flash_load_resource to correctly read FFS/STB</p>
<p>This fixes the previous reverts of loading the CAPP partition with
STB headers (which broke CAPP partitions without STB headers).</p>
<p>The new logic fixes both CAPP partition loading with STB headers <em>and</em>
@@ -190,279 +186,280 @@ and do not contain subpartitions. Luckily, nothing in-tree makes use of
that.</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pci: Check power state before powering off slot</p>
+<li><p>pci: Check power state before powering off slot</p>
<p>Prevents the erroneous “Error -1 powering off slot” error message.</p>
</li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.4.0-rc1.html#skiboot-5-4-0-rc1"><span class="std std-ref">skiboot-5.4.0-rc1</span></a>, we have 23 csets from 8 developers.</p>
<p>A total of 876 lines added, 621 removed (delta 255)</p>
<p>Developers with the most changesets</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="78%" />
-<col width="3%" />
-<col width="19%" />
+<col style="width: 78%" />
+<col style="width: 3%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>7</td>
-<td>(30.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>7</p></td>
+<td><p>(30.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>5</td>
-<td>(21.7%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>5</p></td>
+<td><p>(21.7%)</p></td>
</tr>
-<tr class="row-even"><td>Mukesh Ojha</td>
-<td>3</td>
-<td>(13.0%)</td>
+<tr class="row-even"><td><p>Mukesh Ojha</p></td>
+<td><p>3</p></td>
+<td><p>(13.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>3</td>
-<td>(13.0%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>3</p></td>
+<td><p>(13.0%)</p></td>
</tr>
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>2</td>
-<td>(8.7%)</td>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>2</p></td>
+<td><p>(8.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>1</td>
-<td>(4.3%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>1</p></td>
+<td><p>(4.3%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(4.3%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(4.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Nageswara R Sastry</td>
-<td>1</td>
-<td>(4.3%)</td>
+<tr class="row-odd"><td><p>Nageswara R Sastry</p></td>
+<td><p>1</p></td>
+<td><p>(4.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>424</td>
-<td>(45.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>424</p></td>
+<td><p>(45.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Mukesh Ojha</td>
-<td>204</td>
-<td>(22.0%)</td>
+<tr class="row-odd"><td><p>Mukesh Ojha</p></td>
+<td><p>204</p></td>
+<td><p>(22.0%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>173</td>
-<td>(18.6%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>173</p></td>
+<td><p>(18.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>69</td>
-<td>(7.4%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>69</p></td>
+<td><p>(7.4%)</p></td>
</tr>
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>35</td>
-<td>(3.8%)</td>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>35</p></td>
+<td><p>(3.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>13</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>13</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Chris Smart</td>
-<td>8</td>
-<td>(0.9%)</td>
+<tr class="row-even"><td><p>Chris Smart</p></td>
+<td><p>8</p></td>
+<td><p>(0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Nageswara R Sastry</td>
-<td>2</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Nageswara R Sastry</p></td>
+<td><p>2</p></td>
+<td><p>(0.2%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="78%" />
-<col width="3%" />
-<col width="19%" />
+<col style="width: 78%" />
+<col style="width: 3%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>9</td>
-<td>(1.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>9</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>4</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>4</p></td>
+<td><p>(0.6%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 16)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="73%" />
-<col width="5%" />
-<col width="22%" />
+<col style="width: 73%" />
+<col style="width: 5%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>16</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>16</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 4)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="78%" />
-<col width="3%" />
-<col width="19%" />
+<col style="width: 78%" />
+<col style="width: 3%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>2</td>
-<td>(50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>2</p></td>
+<td><p>(50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>2</td>
-<td>(50.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>2</p></td>
+<td><p>(50.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="76%" />
-<col width="3%" />
-<col width="22%" />
+<col style="width: 76%" />
+<col style="width: 3%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most tested-by credits (total 1)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="76%" />
-<col width="3%" />
-<col width="22%" />
+<col style="width: 76%" />
+<col style="width: 3%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>1</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most report credits (total 3)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="78%" />
-<col width="3%" />
-<col width="19%" />
+<col style="width: 78%" />
+<col style="width: 3%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(33.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(33.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrei Warkenti</td>
-<td>1</td>
-<td>(33.3%)</td>
+<tr class="row-odd"><td><p>Andrei Warkenti</p></td>
+<td><p>1</p></td>
+<td><p>(33.3%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>1</td>
-<td>(33.3%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(33.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most report credits (total 3)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="78%" />
-<col width="3%" />
-<col width="19%" />
+<col style="width: 78%" />
+<col style="width: 3%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>2</td>
-<td>(66.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>2</p></td>
+<td><p>(66.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1</td>
-<td>(33.3%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(33.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -497,17 +494,15 @@ that.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -524,14 +519,15 @@ that.</p>
<li class="right" >
<a href="skiboot-5.4.0-rc1.html" title="skiboot-5.4.0-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.0-rc3.html b/doc/release-notes/skiboot-5.4.0-rc3.html
index 411d803..43f1f38 100644
--- a/doc/release-notes/skiboot-5.4.0-rc3.html
+++ b/doc/release-notes/skiboot-5.4.0-rc3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.0-rc3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.0-rc3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.0-rc2.html" title="skiboot-5.4.0-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-0-rc3">
+ <section id="skiboot-5-4-0-rc3">
<span id="id1"></span><h1>skiboot-5.4.0-rc3<a class="headerlink" href="#skiboot-5-4-0-rc3" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.0-rc3 was released on Wednesday November 2nd 2016. It is the
third release candidate of skiboot 5.4, which will become the new stable
@@ -59,28 +59,29 @@ feel good about it. The aim is for skiboot-5.4.x to be in op-build v1.13, which
is due by November 23rd 2016.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.0-rc2.html#skiboot-5-4-0-rc2"><span class="std std-ref">skiboot-5.4.0-rc2</span></a>, we have a few changes:</p>
<ul class="simple">
-<li>pflash: Fail when file is larger than partition
-You can still shoot yourself in the foot by passing –force.</li>
-<li>core/flash: Don’t do anything clever for OPAL_FLASH_{READ, WRITE, ERASE}
+<li><p>pflash: Fail when file is larger than partition
+You can still shoot yourself in the foot by passing –force.</p></li>
+<li><p>core/flash: Don’t do anything clever for OPAL_FLASH_{READ, WRITE, ERASE}
This fixes a bug where opal-prd and opal-gard could fail.
-Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/44">https://github.com/open-power/skiboot/issues/44</a></li>
-<li>boot-tests: force BMC to boot from non-golden side</li>
-<li>fast-reset: Send special reset sequence to operational CPUs only.
-Fixes fast-reset for cases where there are garded CPUs</li>
-<li>Secure/Trusted boot: be much clearer about what is being measured where.</li>
-<li>Secure/Trusted boot: be more resilient to disabled TPM(s).</li>
-<li>Secure/Trusted boot: The <code class="docutils literal notranslate"><span class="pre">force-secure-mode</span></code> NVRAM setting introduced
+Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/44">https://github.com/open-power/skiboot/issues/44</a></p></li>
+<li><p>boot-tests: force BMC to boot from non-golden side</p></li>
+<li><p>fast-reset: Send special reset sequence to operational CPUs only.
+Fixes fast-reset for cases where there are garded CPUs</p></li>
+<li><p>Secure/Trusted boot: be much clearer about what is being measured where.</p></li>
+<li><p>Secure/Trusted boot: be more resilient to disabled TPM(s).</p></li>
+<li><p>Secure/Trusted boot: The <code class="docutils literal notranslate"><span class="pre">force-secure-mode</span></code> NVRAM setting introduced
temporarily in <a class="reference internal" href="skiboot-5.4.0-rc2.html#skiboot-5-4-0-rc2"><span class="std std-ref">skiboot-5.4.0-rc2</span></a> has changed behaviour. Now, by
default, the <code class="docutils literal notranslate"><span class="pre">secure-mode</span></code> flag in the device tree is obeyed. As always,
any skiboot NVRAM options are in no way ABI, API or supported and may cause
unfinished verbose analogies to appear in release notes relating to the
-dangers of using developer only options.</li>
-<li>gard: Fix compiler warning on modern GCC targetting ARM 32-bit</li>
-<li>opal-prd: systemd scripts improvements, only run on supported systems</li>
+dangers of using developer only options.</p></li>
+<li><p>gard: Fix compiler warning on modern GCC targetting ARM 32-bit</p></li>
+<li><p>opal-prd: systemd scripts improvements, only run on supported systems</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -100,17 +101,15 @@ dangers of using developer only options.</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -127,14 +126,15 @@ dangers of using developer only options.</li>
<li class="right" >
<a href="skiboot-5.4.0-rc2.html" title="skiboot-5.4.0-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.0-rc4.html b/doc/release-notes/skiboot-5.4.0-rc4.html
index 34a1141..507fe28 100644
--- a/doc/release-notes/skiboot-5.4.0-rc4.html
+++ b/doc/release-notes/skiboot-5.4.0-rc4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.0-rc4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.0-rc4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.0-rc3.html" title="skiboot-5.4.0-rc3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-0-rc4">
+ <section id="skiboot-5-4-0-rc4">
<span id="id1"></span><h1>skiboot-5.4.0-rc4<a class="headerlink" href="#skiboot-5-4-0-rc4" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.0-rc4 was released on Tuesday November 8th 2016. It is the
fourth (and hopefully final) release candidate of skiboot 5.4, which will
@@ -62,7 +62,7 @@ definition. The aim is for skiboot-5.4.x to be in op-build v1.13, which is due
by November 23rd 2016.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.0-rc3.html#skiboot-5-4-0-rc3"><span class="std std-ref">skiboot-5.4.0-rc3</span></a>, we have a few changes:</p>
<ul>
-<li><p class="first">Add BMC platform to enable correct OEM IPMI commands</p>
+<li><p>Add BMC platform to enable correct OEM IPMI commands</p>
<p>An out of tree platform (p8dtu) uses a different IPMI OEM command
for IPMI_PARTIAL_ADD_ESEL. This exposed some assumptions about the BMC
implementation in our core code.</p>
@@ -71,25 +71,22 @@ that is present. We allow it to be set at runtime rather than purely
statically in struct platform as it’s possible to have differing BMC
implementations on the one machine (e.g. AMI BMC or OpenBMC).</p>
</li>
-<li><p class="first">hw/ipmi-sensor: Fix setting of firmware progress sensor properly.</p>
+<li><p>hw/ipmi-sensor: Fix setting of firmware progress sensor properly.</p>
<p>On FSP systems, OPAL was incorrectly setting firmware status
on a sensor id “00” which doesn’t exist.</p>
</li>
-<li><p class="first">pflash: remove stray d in from info message</p>
-</li>
-<li><p class="first">libflash/pflash: support whole chip erase on mtd access</p>
-</li>
-<li><p class="first">boot_test: fix typo in console message</p>
-</li>
-<li><p class="first">core/pci: Fix criteria in pci_cfg_reg_filter(), i.e. NVLink didn’t work.</p>
-</li>
-<li><p class="first">Remove KERNEL_COMMAND_LINE mention from config.h</p>
+<li><p>pflash: remove stray d in from info message</p></li>
+<li><p>libflash/pflash: support whole chip erase on mtd access</p></li>
+<li><p>boot_test: fix typo in console message</p></li>
+<li><p>core/pci: Fix criteria in pci_cfg_reg_filter(), i.e. NVLink didn’t work.</p></li>
+<li><p>Remove KERNEL_COMMAND_LINE mention from config.h</p>
<p>We removed the functionality but not the define.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -109,17 +106,15 @@ on a sensor id “00” which doesn’t exist.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -136,14 +131,15 @@ on a sensor id “00” which doesn’t exist.</p>
<li class="right" >
<a href="skiboot-5.4.0-rc3.html" title="skiboot-5.4.0-rc3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0-rc4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.0.html b/doc/release-notes/skiboot-5.4.0.html
index 4f20257..d1f2a97 100644
--- a/doc/release-notes/skiboot-5.4.0.html
+++ b/doc/release-notes/skiboot-5.4.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.3.7.html" title="skiboot-5.3.7"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-0">
+ <section id="skiboot-5-4-0">
<span id="id1"></span><h1>skiboot-5.4.0<a class="headerlink" href="#skiboot-5-4-0" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.0 was released on Friday November 11th 2016. It is the new stable
skiboot release, taking over from the 5.3.x series (first released August 2nd,
@@ -57,16 +57,14 @@ and <a class="reference internal" href="skiboot-5.1.18.html#skiboot-5-1-18"><spa
releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.0-rc4.html#skiboot-5-4-0-rc4"><span class="std std-ref">skiboot-5.4.0-rc4</span></a>, we have a few changes:</p>
<ul>
-<li><p class="first">libstb: bump up the byte timeout for tpm i2c requests</p>
+<li><p>libstb: bump up the byte timeout for tpm i2c requests</p>
<p>This bumps up the byte timeout for tpm i2c requests from 10ms to 30ms.
Some p8dtu systems are getting i2c request timeout.</p>
</li>
-<li><p class="first">external/pflash: Perform the correct cleanup when -F is used to operate on
-a file.</p>
-</li>
-<li><p class="first">Add SuperMicro p8dtu1u and p8dtu2u platforms</p>
-</li>
-<li><p class="first">Revert “core/ipmi: Set interrupt-parent property”.
+<li><p>external/pflash: Perform the correct cleanup when -F is used to operate on
+a file.</p></li>
+<li><p>Add SuperMicro p8dtu1u and p8dtu2u platforms</p></li>
+<li><p>Revert “core/ipmi: Set interrupt-parent property”.
This reverts commit d997e482705d9fdff8e25fcbe07fb56008f96ae1 (introduced
in 5.4.0-rc1)</p>
<p>A problem was found with pre 4.2 linux kernels where a spurious WARNING
@@ -79,78 +77,75 @@ so we can just revert it.</p>
</pre></div>
</div>
</li>
-<li><p class="first">libflash/libffs: Fix possible NULL dereference</p>
-</li>
+<li><p>libflash/libffs: Fix possible NULL dereference</p></li>
</ul>
-<div class="section" id="previous-release-candidates">
+<section id="previous-release-candidates">
<h2>Previous Release Candidates<a class="headerlink" href="#previous-release-candidates" title="Permalink to this headline">¶</a></h2>
<p>There were four release candidates for skiboot 5.4.0:</p>
<ul class="simple">
-<li><a class="reference internal" href="skiboot-5.4.0-rc4.html#skiboot-5-4-0-rc4"><span class="std std-ref">skiboot-5.4.0-rc4</span></a></li>
-<li><a class="reference internal" href="skiboot-5.4.0-rc3.html#skiboot-5-4-0-rc3"><span class="std std-ref">skiboot-5.4.0-rc3</span></a></li>
-<li><a class="reference internal" href="skiboot-5.4.0-rc2.html#skiboot-5-4-0-rc2"><span class="std std-ref">skiboot-5.4.0-rc2</span></a></li>
-<li><a class="reference internal" href="skiboot-5.4.0-rc1.html#skiboot-5-4-0-rc1"><span class="std std-ref">skiboot-5.4.0-rc1</span></a></li>
+<li><p><a class="reference internal" href="skiboot-5.4.0-rc4.html#skiboot-5-4-0-rc4"><span class="std std-ref">skiboot-5.4.0-rc4</span></a></p></li>
+<li><p><a class="reference internal" href="skiboot-5.4.0-rc3.html#skiboot-5-4-0-rc3"><span class="std std-ref">skiboot-5.4.0-rc3</span></a></p></li>
+<li><p><a class="reference internal" href="skiboot-5.4.0-rc2.html#skiboot-5-4-0-rc2"><span class="std std-ref">skiboot-5.4.0-rc2</span></a></p></li>
+<li><p><a class="reference internal" href="skiboot-5.4.0-rc1.html#skiboot-5-4-0-rc1"><span class="std std-ref">skiboot-5.4.0-rc1</span></a></p></li>
</ul>
-<div class="section" id="changes-since-skiboot-5-3">
+<section id="changes-since-skiboot-5-3">
<h3>Changes since skiboot 5.3<a class="headerlink" href="#changes-since-skiboot-5-3" title="Permalink to this headline">¶</a></h3>
<p>Over skiboot-5.3, we have the following changes:</p>
-</div>
-</div>
-<div class="section" id="new-features">
+</section>
+</section>
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Add SuperMicro p8dtu1u and p8dtu2u platforms</p>
-</li>
-<li><p class="first">Initial Trusted Boot support (see <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a>).
+<li><p>Add SuperMicro p8dtu1u and p8dtu2u platforms</p></li>
+<li><p>Initial Trusted Boot support (see <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a>).
There are several limitations with this initial release:</p>
<blockquote>
<div><ul class="simple">
-<li>Only Nuvoton TPM 2.0 is supported</li>
-<li>Requires hardware rework on late revision Habanero or Firestone boards
-in order to install TPM.</li>
+<li><p>Only Nuvoton TPM 2.0 is supported</p></li>
+<li><p>Requires hardware rework on late revision Habanero or Firestone boards
+in order to install TPM.</p></li>
</ul>
</div></blockquote>
<ul class="simple">
-<li>Add i2c Nuvoton TPM 2.0 Driver</li>
-<li>romcode driver for POWER8 secure ROM</li>
-<li>See Device tree docs: <a class="reference internal" href="../device-tree/tpm.html#device-tree-tpm"><span class="std std-ref">Trusted Platform Module (TPM)</span></a> and <a class="reference internal" href="../device-tree/ibm,secureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">ibm,secureboot</span></a></li>
-<li>See <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a></li>
+<li><p>Add i2c Nuvoton TPM 2.0 Driver</p></li>
+<li><p>romcode driver for POWER8 secure ROM</p></li>
+<li><p>See Device tree docs: <a class="reference internal" href="../device-tree/tpm.html#device-tree-tpm"><span class="std std-ref">Trusted Platform Module (TPM)</span></a> and <a class="reference internal" href="../device-tree/ibm%2Csecureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">ibm,secureboot</span></a></p></li>
+<li><p>See <a class="reference internal" href="../stb.html#stb-overview"><span class="std std-ref">Secure and Trusted Boot Library (LibSTB) Documentation</span></a></p></li>
</ul>
</li>
-<li><p class="first">Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition with skiboot configuration options.</p>
+<li><p>Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition with skiboot configuration options.</p>
<ul class="simple">
-<li>These should generally only be used if you either completely know what
+<li><p>These should generally only be used if you either completely know what
you are doing or need to work around a skiboot bug. They are <strong>not</strong>
-intended for end users and are <em>explicitly</em> <strong>NOT ABI</strong>.</li>
-<li>Add support for supplying the kernel boot arguments from the <code class="docutils literal notranslate"><span class="pre">bootargs</span></code>
-configuration string in the <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition.</li>
-<li>Enabling the experimental fast reset feature is done via this method.</li>
+intended for end users and are <em>explicitly</em> <strong>NOT ABI</strong>.</p></li>
+<li><p>Add support for supplying the kernel boot arguments from the <code class="docutils literal notranslate"><span class="pre">bootargs</span></code>
+configuration string in the <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> NVRAM partition.</p></li>
+<li><p>Enabling the experimental fast reset feature is done via this method.</p></li>
</ul>
</li>
-<li><p class="first">Add support for nap mode on P8 while in skiboot</p>
+<li><p>Add support for nap mode on P8 while in skiboot</p>
<ul class="simple">
-<li>While nap has been exposed to the Operating System since day 1, we have
+<li><p>While nap has been exposed to the Operating System since day 1, we have
not utilized low power states when in skiboot itself, leading to higher
power consumption during boot.
We only enable the functionality after the 0x100 vector has been
-patched, and we disable it before transferring control to Linux.</li>
+patched, and we disable it before transferring control to Linux.</p></li>
</ul>
</li>
-<li><p class="first">libflash: add 128MB MX66L1G45G part</p>
-</li>
-<li><p class="first">Pointer validation of OPAL API call arguments.</p>
+<li><p>libflash: add 128MB MX66L1G45G part</p></li>
+<li><p>Pointer validation of OPAL API call arguments.</p>
<ul class="simple">
-<li>If the kernel called an OPAL API with vmalloc’d address
+<li><p>If the kernel called an OPAL API with vmalloc’d address
or any other address range in real mode, we would hit
a problem with aliasing. Since the top 4 bits are ignored
in real mode, pointers from 0xc.. and 0xd.. (and other ranges)
could collide and lead to hard to solve bugs. This patch
adds the infrastructure for pointer validation and a simple
-test case for testing the API</li>
-<li>The checks validate pointers sent in using <code class="docutils literal notranslate"><span class="pre">opal_addr_valid()</span></code></li>
+test case for testing the API</p></li>
+<li><p>The checks validate pointers sent in using <code class="docutils literal notranslate"><span class="pre">opal_addr_valid()</span></code></p></li>
</ul>
</li>
-<li><p class="first">Fast reboot for P8</p>
+<li><p>Fast reboot for P8</p>
<p>This makes reboot take an <em>awful</em> lot less time, somewhere between four
and ten times faster than a full IPL. It is currently experimental and not
enabled by default.
@@ -162,7 +157,7 @@ You can enable the experimental support via nvram option:</p>
the kinks with fast-reset, we are <em>not</em> enabling it by default in 5.4.</p>
<p>Notably, fast reset will <em>not</em> happen in the following scenarios:</p>
<ul>
-<li><p class="first">platform error</p>
+<li><p>platform error</p>
<p>Most of the time, if we’re rebooting due to a platform error, we should
trigger a checkstop. However, if we haven’t been told what we should do
to trigger a checkstop (e.g. on an FSP machine), then we should still
@@ -170,11 +165,9 @@ fail to fast-reboot.</p>
<p>So, fast-reboot is disabled in the OPAL_CEC_REBOOT2 code path
for the OPAL_REBOOT_PLATFORM_ERROR reboot type.</p>
</li>
-<li><p class="first">FSP code update</p>
-</li>
-<li><p class="first">Unrecoverable HMI</p>
-</li>
-<li><p class="first">A PHB is in CAPI mode</p>
+<li><p>FSP code update</p></li>
+<li><p>Unrecoverable HMI</p></li>
+<li><p>A PHB is in CAPI mode</p>
<p>If a PHB is in CAPI mode, we cannot safely fast reboot - the PHB will be
fenced during the reboot resulting in major problems when we load the new
kernel.</p>
@@ -188,8 +181,8 @@ reboot instead.</p>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="documentation">
+</section>
+<section id="documentation">
<h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h2>
<p>There have been a number of documentation fixes this release. Most prominent
is the switch to Sphinx (from the Python project) and ReStructured Text (RST)
@@ -206,166 +199,143 @@ document the OPAL API, the device tree bindings and important parts of
OPAL internals.</p>
<p>We would like the Device Tree documentation to follow the style that can be
included in the Device Tree Specification.</p>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Make console-log time more readable: seconds rather than timebase
-Log format is now <code class="docutils literal notranslate"><span class="pre">[SECONDS.(tb%512000000),LEVEL]</span></code></p>
-</li>
-<li><p class="first">Flash (PNOR) code improvements</p>
+<li><p>Make console-log time more readable: seconds rather than timebase
+Log format is now <code class="docutils literal notranslate"><span class="pre">[SECONDS.(tb%512000000),LEVEL]</span></code></p></li>
+<li><p>Flash (PNOR) code improvements</p>
<ul class="simple">
-<li>flash: Make size 64 bit safe
+<li><p>flash: Make size 64 bit safe
This makes the size of flash 64 bit safe so that we can have flash
devices greater than 4GB. This is especially useful for mambo disks
-passed through to Linux.</li>
-<li>core/flash.c: load actual partition size
+passed through to Linux.</p></li>
+<li><p>core/flash.c: load actual partition size
We are downloading 0x20000 bytes from PNOR for CAPP, but currently the
-CAPP lid is only 40K.</li>
-<li>flash: Rework error paths and messages for multiple flash controllers
+CAPP lid is only 40K.</p></li>
+<li><p>flash: Rework error paths and messages for multiple flash controllers
Now that we have mambo bogusdisk flash, we can have many flash chips.
-This is resulting in some confusing output messages.</li>
+This is resulting in some confusing output messages.</p></li>
</ul>
</li>
-<li><p class="first">core/init: Fix “failure of getting node in the free list” warning on boot.</p>
-</li>
-<li><p class="first">slw: improve error message for SLW timer stuck</p>
-</li>
-<li><p class="first">Centaur / XSCOM error handling</p>
+<li><p>core/init: Fix “failure of getting node in the free list” warning on boot.</p></li>
+<li><p>slw: improve error message for SLW timer stuck</p></li>
+<li><p>Centaur / XSCOM error handling</p>
<ul class="simple">
-<li>print message on disabling xscoms to centaur due to many errors</li>
-<li>Mark centaur offline after 10 consecutive access errors</li>
+<li><p>print message on disabling xscoms to centaur due to many errors</p></li>
+<li><p>Mark centaur offline after 10 consecutive access errors</p></li>
</ul>
</li>
-<li><p class="first">XSCOM improvements</p>
+<li><p>XSCOM improvements</p>
<ul class="simple">
-<li>xscom: Map all HMER status codes to OPAL errors</li>
-<li>xscom: Initialize the data to a known value in <code class="docutils literal notranslate"><span class="pre">xscom_read</span></code>
+<li><p>xscom: Map all HMER status codes to OPAL errors</p></li>
+<li><p>xscom: Initialize the data to a known value in <code class="docutils literal notranslate"><span class="pre">xscom_read</span></code>
In case of error, don’t leave the data random. It helps debugging when
the user fails to check the error code. This happens due to a bug in the
-PRD wrapper app.</li>
-<li>chip: Add a quirk for when core direct control XSCOMs are missing</li>
+PRD wrapper app.</p></li>
+<li><p>chip: Add a quirk for when core direct control XSCOMs are missing</p></li>
</ul>
</li>
-<li><p class="first">p8-i2c: Don’t crash if a centaur errored out</p>
-</li>
-<li><p class="first">cpu: Make endian switch message more informative</p>
-</li>
-<li><p class="first">cpu: Display number of started CPUs during boot</p>
-</li>
-<li><p class="first">core/init: ensure that HRMOR is zero at boot</p>
-</li>
-<li><p class="first">asm: Fix backtrace for unexpected exception</p>
-</li>
-<li><p class="first">cpu: Remove pollers calling heuristics from <code class="docutils literal notranslate"><span class="pre">cpu_wait_job</span></code>
+<li><p>p8-i2c: Don’t crash if a centaur errored out</p></li>
+<li><p>cpu: Make endian switch message more informative</p></li>
+<li><p>cpu: Display number of started CPUs during boot</p></li>
+<li><p>core/init: ensure that HRMOR is zero at boot</p></li>
+<li><p>asm: Fix backtrace for unexpected exception</p></li>
+<li><p>cpu: Remove pollers calling heuristics from <code class="docutils literal notranslate"><span class="pre">cpu_wait_job</span></code>
This will be handled by <code class="docutils literal notranslate"><span class="pre">time_wait_ms()</span></code>. Also remove a useless
<code class="docutils literal notranslate"><span class="pre">smt_medium()</span></code>.
Note that this introduce a difference in behaviour: time_wait
will only call the pollers on the boot CPU while <code class="docutils literal notranslate"><span class="pre">cpu_wait_job()</span></code>
could call them on any. However, I can’t think of a case where
-this is a problem.</p>
-</li>
-<li><p class="first">cpu: Remove global job queue
+this is a problem.</p></li>
+<li><p>cpu: Remove global job queue
Instead, target a specific CPU for a global job at queuing time.
This will allow us to wake up the target using an interrupt when
implementing nap mode.
The algorithm used is to look for idle primary threads first, then
idle secondaries, and finally the less loaded thread. If nothing can
-be found, we fallback to a synchronous call.</p>
-</li>
-<li><p class="first">lpc: Log LPC SYNC errors as unrecoverable ones for manufacturing</p>
-</li>
-<li><p class="first">lpc: Optimize SerIRQ dispatch based on which PSI IRQ fired</p>
-</li>
-<li><dl class="first docutils">
-<dt>interrupts: Add new source <code class="docutils literal notranslate"><span class="pre">-&gt;attributes()</span></code> callback</dt>
-<dd><p class="first">This allows a given source to provide per-interrupt attributes
+be found, we fallback to a synchronous call.</p></li>
+<li><p>lpc: Log LPC SYNC errors as unrecoverable ones for manufacturing</p></li>
+<li><p>lpc: Optimize SerIRQ dispatch based on which PSI IRQ fired</p></li>
+<li><dl>
+<dt>interrupts: Add new source <code class="docutils literal notranslate"><span class="pre">-&gt;attributes()</span></code> callback</dt><dd><p>This allows a given source to provide per-interrupt attributes
such as whether it targets OPAL or Linux and it’s estimated
frequency.</p>
-<p class="last">The former allows to get rid of the double set of ops used to
+<p>The former allows to get rid of the double set of ops used to
decide which interrupts go where on some modules like the PHBs
and the latter will be eventually used to implement smart
caching of the source lookups.</p>
</dd>
</dl>
</li>
-<li><p class="first">opal/hmi: Fix a TOD HMI failure during a race condition.</p>
-</li>
-<li><p class="first">platform: Add BT to Generic platform</p>
-</li>
+<li><p>opal/hmi: Fix a TOD HMI failure during a race condition.</p></li>
+<li><p>platform: Add BT to Generic platform</p></li>
</ul>
-</div>
-<div class="section" id="nvram">
+</section>
+<section id="nvram">
<h2>NVRAM<a class="headerlink" href="#nvram" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> partition for skiboot specific configuration options</li>
-<li><dl class="first docutils">
-<dt>flash: Size NVRAM based on ECC for OpenPOWER platforms</dt>
-<dd>If NVRAM has ECC (as per the ffs header) then the actual size of the
+<li><p>Support <code class="docutils literal notranslate"><span class="pre">ibm,skiboot</span></code> partition for skiboot specific configuration options</p></li>
+<li><dl class="simple">
+<dt>flash: Size NVRAM based on ECC for OpenPOWER platforms</dt><dd><p>If NVRAM has ECC (as per the ffs header) then the actual size of the
partition is less than reported by the ffs header in the PNOR then the
-actual size of the partition is less than reported by the ffs header.</dd>
+actual size of the partition is less than reported by the ffs header.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="nvlink-npu">
+</section>
+<section id="nvlink-npu">
<h2>NVLink/NPU<a class="headerlink" href="#nvlink-npu" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Fix reserved PE#</li>
-<li>NPU bdfn allocation bugfix</li>
-<li><dl class="first docutils">
-<dt>Fix bad PE number check</dt>
-<dd>NPUs have 4 PEs which are zero indexed, so {0, 1, 2, 3}. A bad PE number
+<li><p>Fix reserved PE#</p></li>
+<li><p>NPU bdfn allocation bugfix</p></li>
+<li><dl class="simple">
+<dt>Fix bad PE number check</dt><dd><p>NPUs have 4 PEs which are zero indexed, so {0, 1, 2, 3}. A bad PE number
check in npu_err_inject checks if the PE number is greater than 4 as a
-fail case, so it would wrongly perform operations on a non-existant PE 4.</dd>
+fail case, so it would wrongly perform operations on a non-existant PE 4.</p>
+</dd>
</dl>
</li>
-<li>Use PCI virtual device</li>
-<li>assert the NPU irq min is aligned.</li>
-<li>program NPU BUID reg properly</li>
-<li><dl class="first docutils">
-<dt>npu: reword “error” to indicate it’s actually a warning</dt>
-<dd>Incorrect FWTS annotation.
+<li><p>Use PCI virtual device</p></li>
+<li><p>assert the NPU irq min is aligned.</p></li>
+<li><p>program NPU BUID reg properly</p></li>
+<li><dl class="simple">
+<dt>npu: reword “error” to indicate it’s actually a warning</dt><dd><p>Incorrect FWTS annotation.
Without this patch, you get spurious FirmWare Test Suite (FWTS) warnings
about NVLink not working on machines that aren’t fully populated with
-GPUs.</dd>
+GPUs.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>external: NPU hardware procedure script</dt>
-<dd>Performing NPU hardware procedures requires some config space magic.
+<li><dl class="simple">
+<dt>external: NPU hardware procedure script</dt><dd><p>Performing NPU hardware procedures requires some config space magic.
Put all that magic into a script, so you can just specify the target
-device and the procedure number.</dd>
+device and the procedure number.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Generic fixes</p>
+<li><p>Generic fixes</p>
<ul>
-<li><p class="first">Claim surprise hotplug capability</p>
-</li>
-<li><p class="first">Reserve PCI buses for RC’s slot</p>
-</li>
-<li><p class="first">Update PCI topology after power change</p>
-</li>
-<li><p class="first">Return slot cached power state</p>
-</li>
-<li><p class="first">Cache power state on slot without power control</p>
-</li>
-<li><p class="first">Avoid hot resets at boot time</p>
-</li>
-<li><p class="first">Fix initial PCIe slot power state</p>
-</li>
-<li><p class="first">Print CRS retry times
+<li><p>Claim surprise hotplug capability</p></li>
+<li><p>Reserve PCI buses for RC’s slot</p></li>
+<li><p>Update PCI topology after power change</p></li>
+<li><p>Return slot cached power state</p></li>
+<li><p>Cache power state on slot without power control</p></li>
+<li><p>Avoid hot resets at boot time</p></li>
+<li><p>Fix initial PCIe slot power state</p></li>
+<li><p>Print CRS retry times
It’s useful to know the CRS retry times before the PCI device is
detected successfully. In PCI hot add case, it usually indicates
time consumed for the adapter’s firmware to be partially ready
-(responsive PCI config space).</p>
-</li>
-<li><p class="first">core/pci: Fix the power-off timeout in <code class="docutils literal notranslate"><span class="pre">pci_slot_power_off()</span></code>
+(responsive PCI config space).</p></li>
+<li><p>core/pci: Fix the power-off timeout in <code class="docutils literal notranslate"><span class="pre">pci_slot_power_off()</span></code>
The timeout should be 1000ms instead of 1000 ticks while powering
off PCI slot in <code class="docutils literal notranslate"><span class="pre">pci_slot_power_off()</span></code>. Otherwise, it’s likely to
hit timeout powering off the PCI slot as below skiboot logs reveal:</p>
@@ -373,169 +343,155 @@ hit timeout powering off the PCI slot as below skiboot logs reveal:</p>
</pre></div>
</div>
</li>
-<li><p class="first">pci: Check power state before powering off slot.
-Prevents the erroneous “Error -1 powering off slot” error message.</p>
-</li>
+<li><p>pci: Check power state before powering off slot.
+Prevents the erroneous “Error -1 powering off slot” error message.</p></li>
</ul>
</li>
-<li><p class="first">PHB3</p>
+<li><p>PHB3</p>
<ul class="simple">
-<li>Override root slot’s <code class="docutils literal notranslate"><span class="pre">prepare_link_change()</span></code> with PHB’s</li>
-<li>Disable surprise link down event on PCI slots</li>
-<li>Disable ECRC on Broadcom adapter behind PMC switch</li>
+<li><p>Override root slot’s <code class="docutils literal notranslate"><span class="pre">prepare_link_change()</span></code> with PHB’s</p></li>
+<li><p>Disable surprise link down event on PCI slots</p></li>
+<li><p>Disable ECRC on Broadcom adapter behind PMC switch</p></li>
</ul>
</li>
-<li><p class="first">astbmc platforms</p>
+<li><p>astbmc platforms</p>
<ul class="simple">
-<li>Support dynamic PCI slot. We might insert a PCIe switch to PHB direct slot
-and the downstream ports of the PCIe switch supports PCI hotplug.</li>
+<li><p>Support dynamic PCI slot. We might insert a PCIe switch to PHB direct slot
+and the downstream ports of the PCIe switch supports PCI hotplug.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="capi">
+</section>
+<section id="capi">
<h2>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>hw/phb3: Update capi initialization sequence</dt>
-<dd>The capi initialization sequence was revised in a circumvention
+<li><dl class="simple">
+<dt>hw/phb3: Update capi initialization sequence</dt><dd><p>The capi initialization sequence was revised in a circumvention
document when a ‘link down’ error was converted from fatal to Endpoint
Recoverable. Other, non-capi, register setup was corrected even before
the initial open-source release of skiboot, but a few capi-related
-registers were not updated then, so this patch fixes it.</dd>
+registers were not updated then, so this patch fixes it.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="mambo-simulator">
+</section>
+<section id="mambo-simulator">
<h2>Mambo Simulator<a class="headerlink" href="#mambo-simulator" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Helpers for POWER9 Mambo.</li>
-<li>mambo: Advertise available RADIX page sizes</li>
-<li>mambo: Add section for kernel command line boot args
+<li><p>Helpers for POWER9 Mambo.</p></li>
+<li><p>mambo: Advertise available RADIX page sizes</p></li>
+<li><p>mambo: Add section for kernel command line boot args
Users can set kernel command line boot arguments for Mambo in a tcl
-script.</li>
-<li>mambo: add exception and qtrace helpers</li>
-<li>external/mambo: Update skiboot.tcl to add page-sizes nodes to device tree</li>
+script.</p></li>
+<li><p>mambo: add exception and qtrace helpers</p></li>
+<li><p>external/mambo: Update skiboot.tcl to add page-sizes nodes to device tree</p></li>
</ul>
-</div>
-<div class="section" id="simics-simulator">
+</section>
+<section id="simics-simulator">
<h2>Simics Simulator<a class="headerlink" href="#simics-simulator" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>chiptod: Enable ChipTOD in SIMICS</li>
+<li><p>chiptod: Enable ChipTOD in SIMICS</p></li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pflash</p>
+<li><p>pflash</p>
<ul>
-<li><p class="first">fix harmless buffer overflow: <code class="docutils literal notranslate"><span class="pre">fl_total_size</span></code> was <code class="docutils literal notranslate"><span class="pre">uint32_t</span></code> not <code class="docutils literal notranslate"><span class="pre">uint64_t</span></code>.</p>
-</li>
-<li><p class="first">Don’t try to write protect when writing to flash file</p>
-</li>
-<li><p class="first">Misc small improvements to code and code style</p>
-</li>
-<li><p class="first">makefile bug fixes</p>
-</li>
-<li><p class="first">external/pflash: Make MTD accesses the default</p>
+<li><p>fix harmless buffer overflow: <code class="docutils literal notranslate"><span class="pre">fl_total_size</span></code> was <code class="docutils literal notranslate"><span class="pre">uint32_t</span></code> not <code class="docutils literal notranslate"><span class="pre">uint64_t</span></code>.</p></li>
+<li><p>Don’t try to write protect when writing to flash file</p></li>
+<li><p>Misc small improvements to code and code style</p></li>
+<li><p>makefile bug fixes</p></li>
+<li><p>external/pflash: Make MTD accesses the default</p>
<p>Now that BMC and host kernel mtd drivers exist and have matured we
should use them by default.</p>
<p>This is especially important since we seem to be telling everyone to use
pflash (pflash world domination plans are continuing on schedule).</p>
</li>
-<li><p class="first">external/pflash: Catch incompatible combination of flags</p>
-</li>
-<li><p class="first">external/common: arm: Don’t error trying to wrprotect with MTD access</p>
-</li>
-<li><p class="first">libflash/libffs: Use blocklevel_smart_write() when updating partitions</p>
-</li>
+<li><p>external/pflash: Catch incompatible combination of flags</p></li>
+<li><p>external/common: arm: Don’t error trying to wrprotect with MTD access</p></li>
+<li><p>libflash/libffs: Use blocklevel_smart_write() when updating partitions</p></li>
</ul>
</li>
-<li><p class="first">external/boot_tests</p>
+<li><p>external/boot_tests</p>
<ul class="simple">
-<li>remove lid from the BMC after flashing</li>
-<li>add the nobooting option -N</li>
-<li>add arbitrary lid option -F</li>
+<li><p>remove lid from the BMC after flashing</p></li>
+<li><p>add the nobooting option -N</p></li>
+<li><p>add arbitrary lid option -F</p></li>
</ul>
</li>
-<li><dl class="first docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">getscom</span></code> / <code class="docutils literal notranslate"><span class="pre">getsram</span></code> / <code class="docutils literal notranslate"><span class="pre">putscom</span></code>: Parse chip-id as hex</dt>
-<dd><p class="first">We print the chip-id in hex (without a leading 0x), but we fail to
+<li><dl>
+<dt><code class="docutils literal notranslate"><span class="pre">getscom</span></code> / <code class="docutils literal notranslate"><span class="pre">getsram</span></code> / <code class="docutils literal notranslate"><span class="pre">putscom</span></code>: Parse chip-id as hex</dt><dd><p>We print the chip-id in hex (without a leading 0x), but we fail to
parse that same value correctly in <code class="docutils literal notranslate"><span class="pre">getscom</span></code> / <code class="docutils literal notranslate"><span class="pre">getsram</span></code> / <code class="docutils literal notranslate"><span class="pre">putscom</span></code></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># getscom -l</span>
<span class="o">...</span>
-<span class="mi">80000000</span> <span class="o">|</span> <span class="n">DD2</span><span class="o">.</span><span class="mi">0</span> <span class="o">|</span> <span class="n">Centaur</span> <span class="n">memory</span> <span class="n">buffer</span>
+<span class="mi">80000000</span> <span class="o">|</span> <span class="n">DD2</span><span class="mf">.0</span> <span class="o">|</span> <span class="n">Centaur</span> <span class="n">memory</span> <span class="n">buffer</span>
<span class="c1"># getscom -c 80000000 201140a</span>
<span class="n">Error</span> <span class="o">-</span><span class="mi">19</span> <span class="n">reading</span> <span class="n">XSCOM</span>
</pre></div>
</div>
-<p class="last">Fix this by assuming base 16 when parsing chip-id.</p>
+<p>Fix this by assuming base 16 when parsing chip-id.</p>
</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="prd">
+</section>
+<section id="prd">
<h2>PRD<a class="headerlink" href="#prd" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>opal-prd: Fix error code from <code class="docutils literal notranslate"><span class="pre">scom_read</span></code> and <code class="docutils literal notranslate"><span class="pre">scom_write</span></code></li>
-<li>opal-prd: Add get_interface_capabilities to host interfaces</li>
-<li>opal-prd: fix for 64-bit pnor sizes</li>
-<li><dl class="first docutils">
-<dt>occ/prd/opal-prd: Queue OCC_RESET event message to host in OpenPOWER</dt>
-<dd>During an OCC reset cycle the system is forced to Psafe pstate.
+<li><p>opal-prd: Fix error code from <code class="docutils literal notranslate"><span class="pre">scom_read</span></code> and <code class="docutils literal notranslate"><span class="pre">scom_write</span></code></p></li>
+<li><p>opal-prd: Add get_interface_capabilities to host interfaces</p></li>
+<li><p>opal-prd: fix for 64-bit pnor sizes</p></li>
+<li><dl class="simple">
+<dt>occ/prd/opal-prd: Queue OCC_RESET event message to host in OpenPOWER</dt><dd><p>During an OCC reset cycle the system is forced to Psafe pstate.
When OCC becomes active, the system has to be restored to its
last pstate as requested by host. So host needs to be notified
of OCC_RESET event or else system will continue to remian in
Psafe state until host requests a new pstate after the OCC
-reset cycle.</dd>
+reset cycle.</p>
+</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-based-platforms">
+</section>
+<section id="ibm-fsp-based-platforms">
<h2>IBM FSP Based Platforms<a class="headerlink" href="#ibm-fsp-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><dl class="first docutils">
-<dt>fsp/console: Allocate irq for each hvc console</dt>
-<dd><p class="first last">Allocate an irq number for each hvc console and set its interrupt-parent
+<li><dl class="simple">
+<dt>fsp/console: Allocate irq for each hvc console</dt><dd><p>Allocate an irq number for each hvc console and set its interrupt-parent
property so that Linux can use the opal irqchip instead of the
OPAL_EVENT_CONSOLE_INPUT interface.</p>
</dd>
</dl>
</li>
-<li><p class="first">platforms/firenze: Fix clock frequency dt property:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1.212366090</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">DT</span><span class="p">:</span> <span class="n">Unexpected</span> <span class="nb">property</span> <span class="n">length</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@3fc0000000000</span><span class="o">/</span><span class="n">i2cm</span><span class="nd">@a0020</span><span class="o">/</span><span class="n">clock</span><span class="o">-</span><span class="n">frequency</span>
+<li><p>platforms/firenze: Fix clock frequency dt property:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1.212366090</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">DT</span><span class="p">:</span> <span class="n">Unexpected</span> <span class="nb">property</span> <span class="n">length</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">3</span><span class="n">fc0000000000</span><span class="o">/</span><span class="n">i2cm</span><span class="nd">@a0020</span><span class="o">/</span><span class="n">clock</span><span class="o">-</span><span class="n">frequency</span>
</pre></div>
</div>
</li>
-<li><dl class="first docutils">
-<dt>HDAT: Fix typo in nest-frequency property</dt>
-<dd><p class="first last">nest-frquency -&gt; nest-frequency</p>
+<li><dl class="simple">
+<dt>HDAT: Fix typo in nest-frequency property</dt><dd><p>nest-frquency -&gt; nest-frequency</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>platforms/ibm-fsp: Use power_ctl bit when determining slot reset method</dt>
-<dd><p class="first last">The power_ctl bit is used to represent if power management is available.
+<li><dl class="simple">
+<dt>platforms/ibm-fsp: Use power_ctl bit when determining slot reset method</dt><dd><p>The power_ctl bit is used to represent if power management is available.
If power_ctl is set to true, then the I2C based external power management
functionality will be populated on the PCI slot. Otherwise we will try to
use the inband PERST as the fundamental reset, as before.</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>FSP/ELOG: Fix elog timeout issue</dt>
-<dd><p class="first last">Presently we set timeout value as soon as we add elog to queue. If
+<li><dl class="simple">
+<dt>FSP/ELOG: Fix elog timeout issue</dt><dd><p>Presently we set timeout value as soon as we add elog to queue. If
we have multiple elogs to write, it doesn’t consider queue wait time.
Instead set timeout value when we are actually sending elog to FSP.</p>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>FSP/ELOG: elog_enable flag should be false by default</dt>
-<dd><p class="first last">This issue is one of the corner case, which is related to recent change
+<li><dl class="simple">
+<dt>FSP/ELOG: elog_enable flag should be false by default</dt><dd><p>This issue is one of the corner case, which is related to recent change
went upstream and only observed in the petitboot prompt, where we see
only one error log instead of getting all error log in
<code class="docutils literal notranslate"><span class="pre">/sys/firmware/opal/elog</span></code>.</p>
@@ -543,61 +499,61 @@ only one error log instead of getting all error log in
</dl>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<p>Skiboot 5.4 contains only <em>preliminary</em> support for POWER9. It’s suitable
only for use in simulators. If working on hardware, use more recent skiboot
or development branches. We will not be backporting POWER9 fixes to 5.4.x.</p>
<ul class="simple">
-<li>mambo: Make POWER9 look like DD2</li>
-<li>core/cpu.c: Add OPAL call to setup Nest MMU</li>
-<li>psi: On p9, create an interrupt-map for routing PSI interrupts</li>
-<li>lpc: Add P9 LPC interrupts support</li>
-<li>chiptod: Basic P9 support</li>
-<li>psi: Add P9 support</li>
+<li><p>mambo: Make POWER9 look like DD2</p></li>
+<li><p>core/cpu.c: Add OPAL call to setup Nest MMU</p></li>
+<li><p>psi: On p9, create an interrupt-map for routing PSI interrupts</p></li>
+<li><p>lpc: Add P9 LPC interrupts support</p></li>
+<li><p>chiptod: Basic P9 support</p></li>
+<li><p>psi: Add P9 support</p></li>
</ul>
-</div>
-<div class="section" id="testing-and-debugging">
+</section>
+<section id="testing-and-debugging">
<h2>Testing and Debugging<a class="headerlink" href="#testing-and-debugging" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>test/qemu: bump qemu version used in CI, adds IPMI support</li>
-<li>platform/qemu: add BT and IPMI support
-Enables testing BT and IPMI functionality in the Qemu simulator</li>
-<li>init: In debug builds, enable debug output to console</li>
-<li><dl class="first docutils">
-<dt>mem_region: Be a bit smarter about poisoning</dt>
-<dd>Don’t poison chunks that are already free and poison regions on
-first allocation. This speeds things up dramatically.</dd>
+<li><p>test/qemu: bump qemu version used in CI, adds IPMI support</p></li>
+<li><p>platform/qemu: add BT and IPMI support
+Enables testing BT and IPMI functionality in the Qemu simulator</p></li>
+<li><p>init: In debug builds, enable debug output to console</p></li>
+<li><dl class="simple">
+<dt>mem_region: Be a bit smarter about poisoning</dt><dd><p>Don’t poison chunks that are already free and poison regions on
+first allocation. This speeds things up dramatically.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>libc: Use 8-bytes stores for non-0 memset too</dt>
-<dd>Memory poisoning hammers this, so let’s be a bit smart about it and
-avoid falling back to byte stores when the data is not 0</dd>
+<li><dl class="simple">
+<dt>libc: Use 8-bytes stores for non-0 memset too</dt><dd><p>Memory poisoning hammers this, so let’s be a bit smart about it and
+avoid falling back to byte stores when the data is not 0</p>
+</dd>
</dl>
</li>
-<li>fwts: add annotation for manufacturing mode</li>
-<li>check: Fix bugs in mem region tests</li>
-<li><dl class="first docutils">
-<dt>Don’t set -fstack-protector-all unconditionally</dt>
-<dd>We set it already in DEBUG builds and we use -fstack-protector-strong
+<li><p>fwts: add annotation for manufacturing mode</p></li>
+<li><p>check: Fix bugs in mem region tests</p></li>
+<li><dl class="simple">
+<dt>Don’t set -fstack-protector-all unconditionally</dt><dd><p>We set it already in DEBUG builds and we use -fstack-protector-strong
in release builds which provides most of the benefits and is more
-efficient.</dd>
+efficient.</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>Build host programs (and checks) with debug enabled</dt>
-<dd>This enables memory poisoning in allocations and list checking
-among other things.</dd>
+<li><dl class="simple">
+<dt>Build host programs (and checks) with debug enabled</dt><dd><p>This enables memory poisoning in allocations and list checking
+among other things.</p>
+</dd>
</dl>
</li>
-<li>Add global DEBUG make flag</li>
+<li><p>Add global DEBUG make flag</p></li>
</ul>
-<div class="section" id="command-line-arguments-to-bootkernel">
+<section id="command-line-arguments-to-bootkernel">
<h3>Command line arguments to BOOTKERNEL<a class="headerlink" href="#command-line-arguments-to-bootkernel" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">core/init.c: Fix bootargs parsing</p>
+<li><p>core/init.c: Fix bootargs parsing</p>
<p>Currently the bootargs are unconditionally deleted, which causes
a bug where the bootargs passed in by the device tree are lost.</p>
<p>This patch deletes bootargs only if it needs to be replaced by the NVRAM
@@ -606,20 +562,20 @@ entry.</p>
using the NVRAM or a device tree.</p>
</li>
</ul>
-</div>
-<div class="section" id="other-changes">
+</section>
+<section id="other-changes">
<h3>Other changes<a class="headerlink" href="#other-changes" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">extract-gcov: build with -m64 if compiler supports it.</p>
+<li><p>extract-gcov: build with -m64 if compiler supports it.</p>
<p>Fixes build break on 32bit ppc64 (e.g. PowerMac G5, where user space
is mostly 32bit).</p>
</li>
</ul>
-</div>
-<div class="section" id="flash-on-openpower-platforms">
+</section>
+<section id="flash-on-openpower-platforms">
<h3>Flash on OpenPOWER platforms<a class="headerlink" href="#flash-on-openpower-platforms" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">flash: rework flash_load_resource to correctly read FFS/STB</p>
+<li><p>flash: rework flash_load_resource to correctly read FFS/STB</p>
<p>This fixes the previous reverts of loading the CAPP partition with
STB headers (which broke CAPP partitions without STB headers).</p>
<p>The new logic fixes both CAPP partition loading with STB headers <em>and</em>
@@ -644,71 +600,71 @@ and do not contain subpartitions. Luckily, nothing in-tree makes use of
that.</p>
</li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h3>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h3>
<p>Extending the analysis done for the last few releases, we can see our trends
in code review across versions:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="19%" />
-<col width="14%" />
-<col width="17%" />
-<col width="17%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 19%" />
+<col style="width: 14%" />
+<col style="width: 17%" />
+<col style="width: 17%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack</th>
-<th class="head">Reviews</th>
-<th class="head">Tested</th>
-<th class="head">Reported</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack</p></th>
+<th class="head"><p>Reviews</p></th>
+<th class="head"><p>Tested</p></th>
+<th class="head"><p>Reported</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15</td>
-<td>20</td>
-<td>1</td>
-<td>0</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13</td>
-<td>38</td>
-<td>1</td>
-<td>4</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20</td>
-<td>34</td>
-<td>6</td>
-<td>11</td>
-</tr>
-<tr class="row-odd"><td>5.3-rc1</td>
-<td>302</td>
-<td>36</td>
-<td>53</td>
-<td>4</td>
-<td>5</td>
-</tr>
-<tr class="row-even"><td>5.4-rc1</td>
-<td>278</td>
-<td>8</td>
-<td>19</td>
-<td>0</td>
-<td>4</td>
-</tr>
-<tr class="row-odd"><td>5.4.0</td>
-<td>361</td>
-<td>16</td>
-<td>28</td>
-<td>1</td>
-<td>9</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15</p></td>
+<td><p>20</p></td>
+<td><p>1</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13</p></td>
+<td><p>38</p></td>
+<td><p>1</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20</p></td>
+<td><p>34</p></td>
+<td><p>6</p></td>
+<td><p>11</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.3-rc1</p></td>
+<td><p>302</p></td>
+<td><p>36</p></td>
+<td><p>53</p></td>
+<td><p>4</p></td>
+<td><p>5</p></td>
+</tr>
+<tr class="row-even"><td><p>5.4-rc1</p></td>
+<td><p>278</p></td>
+<td><p>8</p></td>
+<td><p>19</p></td>
+<td><p>0</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.4.0</p></td>
+<td><p>361</p></td>
+<td><p>16</p></td>
+<td><p>28</p></td>
+<td><p>1</p></td>
+<td><p>9</p></td>
</tr>
</tbody>
</table>
@@ -718,518 +674,519 @@ nothing like an impending release to get people to look closer.</p>
<p>Processed 361 csets from 34 developers
A total of 20206 lines added, 5843 removed (delta 14363)</p>
<p>Developers with the most changesets:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>105</td>
-<td>(29.1%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>105</p></td>
+<td><p>(29.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>50</td>
-<td>(13.9%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>50</p></td>
+<td><p>(13.9%)</p></td>
</tr>
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>47</td>
-<td>(13.0%)</td>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>47</p></td>
+<td><p>(13.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>24</td>
-<td>(6.6%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>24</p></td>
+<td><p>(6.6%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>20</td>
-<td>(5.5%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>20</p></td>
+<td><p>(5.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>18</td>
-<td>(5.0%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>18</p></td>
+<td><p>(5.0%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>12</td>
-<td>(3.3%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>12</p></td>
+<td><p>(3.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Mukesh Ojha</td>
-<td>12</td>
-<td>(3.3%)</td>
+<tr class="row-odd"><td><p>Mukesh Ojha</p></td>
+<td><p>12</p></td>
+<td><p>(3.3%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>7</td>
-<td>(1.9%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>7</p></td>
+<td><p>(1.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>7</td>
-<td>(1.9%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>7</p></td>
+<td><p>(1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>7</td>
-<td>(1.9%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>7</p></td>
+<td><p>(1.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>4</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>4</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>4</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>4</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>4</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>4</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Nageswara R Sastry</td>
-<td>4</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Nageswara R Sastry</p></td>
+<td><p>4</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>3</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>3</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Mendoza-Jonas</td>
-<td>3</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>3</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Vipin K Parashar</td>
-<td>3</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Vipin K Parashar</p></td>
+<td><p>3</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>3</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>3</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>3</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>3</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>leoluo</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>leoluo</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Rafael Fonseca</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Rafael Fonseca</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Jack Miller</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Jack Miller</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Suraj Jitindar Singh</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Milton Miller</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Milton Miller</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Bonnard</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Frederic Bonnard</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Breno Leitao</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Breno Leitao</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Anton Blanchard</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Anton Blanchard</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most changed lines:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>6947</td>
-<td>(32.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>6947</p></td>
+<td><p>(32.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>6667</td>
-<td>(31.6%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>6667</p></td>
+<td><p>(31.6%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>2586</td>
-<td>(12.3%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>2586</p></td>
+<td><p>(12.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1185</td>
-<td>(5.6%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1185</p></td>
+<td><p>(5.6%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>692</td>
-<td>(3.3%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>692</p></td>
+<td><p>(3.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Mukesh Ojha</td>
-<td>565</td>
-<td>(2.7%)</td>
+<tr class="row-odd"><td><p>Mukesh Ojha</p></td>
+<td><p>565</p></td>
+<td><p>(2.7%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>343</td>
-<td>(1.6%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>343</p></td>
+<td><p>(1.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>343</td>
-<td>(1.6%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>343</p></td>
+<td><p>(1.6%)</p></td>
</tr>
-<tr class="row-even"><td>leoluo</td>
-<td>269</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>leoluo</p></td>
+<td><p>269</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>236</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>236</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>227</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>227</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>211</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>211</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Nageswara R Sastry</td>
-<td>132</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Nageswara R Sastry</p></td>
+<td><p>132</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>115</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>115</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vipin K Parashar</td>
-<td>68</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Vipin K Parashar</p></td>
+<td><p>68</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>66</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>66</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>65</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>65</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>50</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>50</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>45</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>45</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Suraj Jitindar Singh</td>
-<td>41</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>41</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>34</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>34</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Sam Mendoza-Jonas</td>
-<td>33</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Sam Mendoza-Jonas</p></td>
+<td><p>33</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Jack Miller</td>
-<td>32</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Jack Miller</p></td>
+<td><p>32</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>28</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>28</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>23</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>23</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Milton Miller</td>
-<td>19</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Milton Miller</p></td>
+<td><p>19</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>13</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>13</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>13</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>13</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Rafael Fonseca</td>
-<td>12</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Rafael Fonseca</p></td>
+<td><p>12</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>11</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>11</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>6</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>6</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Anton Blanchard</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Anton Blanchard</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Bonnard</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Frederic Bonnard</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Breno Leitao</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Breno Leitao</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most lines removed:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="74%" />
-<col width="9%" />
-<col width="17%" />
+<col style="width: 74%" />
+<col style="width: 9%" />
+<col style="width: 17%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Cyril Bur</td>
-<td>206</td>
-<td>(3.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>206</p></td>
+<td><p>(3.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Rafael Fonseca</td>
-<td>8</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Rafael Fonseca</p></td>
+<td><p>8</p></td>
+<td><p>(0.1%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most signoffs (total 278):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>268</td>
-<td>(96.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>268</p></td>
+<td><p>(96.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>4</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>4</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Jim Yuan</td>
-<td>2</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Jim Yuan</p></td>
+<td><p>2</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most reviews (total 28):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>6</td>
-<td>(21.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>6</p></td>
+<td><p>(21.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>5</td>
-<td>(17.9%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>5</p></td>
+<td><p>(17.9%)</p></td>
</tr>
-<tr class="row-even"><td>Mukesh Ojha</td>
-<td>5</td>
-<td>(17.9%)</td>
+<tr class="row-even"><td><p>Mukesh Ojha</p></td>
+<td><p>5</p></td>
+<td><p>(17.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>3</td>
-<td>(10.7%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>3</p></td>
+<td><p>(10.7%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>3</td>
-<td>(10.7%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>3</p></td>
+<td><p>(10.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>2</td>
-<td>(7.1%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>2</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>2</td>
-<td>(7.1%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>2</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>1</td>
-<td>(3.6%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>1</p></td>
+<td><p>(3.6%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>1</td>
-<td>(3.6%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(3.6%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most test credits (total 1):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="8%" />
-<col width="22%" />
+<col style="width: 70%" />
+<col style="width: 8%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers who gave the most tested-by credits (total 1):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="8%" />
-<col width="22%" />
+<col style="width: 70%" />
+<col style="width: 8%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>1</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Developers with the most report credits (total 9):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="8%" />
-<col width="22%" />
+<col style="width: 70%" />
+<col style="width: 8%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>3</td>
-<td>(33.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>3</p></td>
+<td><p>(33.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1</td>
-<td>(11.1%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(11.1%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>1</td>
-<td>(11.1%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>1</p></td>
+<td><p>(11.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(11.1%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(11.1%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1</td>
-<td>(11.1%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1</p></td>
+<td><p>(11.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrei Warkenti</td>
-<td>1</td>
-<td>(11.1%)</td>
+<tr class="row-odd"><td><p>Andrei Warkenti</p></td>
+<td><p>1</p></td>
+<td><p>(11.1%)</p></td>
</tr>
-<tr class="row-even"><td>Li Meng</td>
-<td>1</td>
-<td>(11.1%)</td>
+<tr class="row-even"><td><p>Li Meng</p></td>
+<td><p>1</p></td>
+<td><p>(11.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1280,17 +1237,15 @@ A total of 20206 lines added, 5843 removed (delta 14363)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1307,14 +1262,15 @@ A total of 20206 lines added, 5843 removed (delta 14363)</p>
<li class="right" >
<a href="skiboot-5.3.7.html" title="skiboot-5.3.7"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.1.html b/doc/release-notes/skiboot-5.4.1.html
index c849bde..0999b9d 100644
--- a/doc/release-notes/skiboot-5.4.1.html
+++ b/doc/release-notes/skiboot-5.4.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.0-rc4.html" title="skiboot-5.4.0-rc4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.1</a></li>
</ul>
</div>
@@ -45,32 +45,33 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-1">
+ <section id="skiboot-5-4-1">
<span id="id1"></span><h1>skiboot-5.4.1<a class="headerlink" href="#skiboot-5-4-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.1 was released on Tuesday November 29th 2016. It replaces
<a class="reference internal" href="skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a> as the current stable release.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.0.html#skiboot-5-4-0"><span class="std std-ref">skiboot-5.4.0</span></a>, we have a few changes:</p>
<ul class="simple">
-<li>Nuvoton i2c TPM driver: bug fixes and improvements, especially around
-timeouts and error handling.</li>
-<li>Limit number of “Poller recursion detected” errors to display.
+<li><p>Nuvoton i2c TPM driver: bug fixes and improvements, especially around
+timeouts and error handling.</p></li>
+<li><p>Limit number of “Poller recursion detected” errors to display.
In some error conditions, we could spiral out of control on this
-and spend all of our time printing the exact same backtrace.</li>
-<li>slw: do SLW timer testing while holding xscom lock.
+and spend all of our time printing the exact same backtrace.</p></li>
+<li><p>slw: do SLW timer testing while holding xscom lock.
In some situations without this, it could take long enough to get
the xscom lock that the 1ms timeout would expire and we’d falsely
-think the SLW timer didn’t work when in fact it did.</li>
-<li>p8i2c: Use calculated poll_interval when booting OPAL.
+think the SLW timer didn’t work when in fact it did.</p></li>
+<li><p>p8i2c: Use calculated poll_interval when booting OPAL.
Otherwise we’d default to 2seconds (TIMER_POLL) during boot on
chips with a functional i2c interrupt, leading to slow i2c
-during boot (or hitting timeouts instead).</li>
-<li>i2c: More efficiently run TPM I2C operations during boot, avoiding hitting
-timeouts</li>
-<li>fsp: Don’t recurse pollers in ibm_fsp_terminate</li>
+during boot (or hitting timeouts instead).</p></li>
+<li><p>i2c: More efficiently run TPM I2C operations during boot, avoiding hitting
+timeouts</p></li>
+<li><p>fsp: Don’t recurse pollers in ibm_fsp_terminate</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -90,17 +91,15 @@ timeouts</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -117,14 +116,15 @@ timeouts</li>
<li class="right" >
<a href="skiboot-5.4.0-rc4.html" title="skiboot-5.4.0-rc4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.10.html b/doc/release-notes/skiboot-5.4.10.html
index 9953694..10ec830 100644
--- a/doc/release-notes/skiboot-5.4.10.html
+++ b/doc/release-notes/skiboot-5.4.10.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.10 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.10 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.1.html" title="skiboot-5.4.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.10</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-10">
+ <section id="skiboot-5-4-10">
<span id="id1"></span><h1>skiboot-5.4.10<a class="headerlink" href="#skiboot-5-4-10" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.10 was released on Monday May 28th, 2018. It replaces
<a class="reference internal" href="skiboot-5.4.9.html#skiboot-5-4-9"><span class="std std-ref">skiboot-5.4.9</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.9.html#skiboot-5-4-9"><span class="std std-ref">skiboot-5.4.9</span></a>, we have a few bug fixes:</p>
<ul>
-<li><p class="first">opal-prd: Do not error out on first failure for soft/hard offline.</p>
+<li><p>opal-prd: Do not error out on first failure for soft/hard offline.</p>
<p>The memory errors (CEs and UEs) that are detected as part of background
memory scrubbing are reported by PRD asynchronously to opal-prd along with
affected memory ranges. hservice_memory_error() converts these ranges into
@@ -61,9 +61,9 @@ infrastructure.</p>
all the pages to soft/hard offline-ing if any of the page offline action
fails. e.g hard offline can fail for:</p>
<ul class="simple">
-<li>Pages that are not part of buddy managed pool.</li>
-<li>Pages that are reserved by kernel using memblock_reserved()</li>
-<li>Pages that are in use by kernel.</li>
+<li><p>Pages that are not part of buddy managed pool.</p></li>
+<li><p>Pages that are reserved by kernel using memblock_reserved()</p></li>
+<li><p>Pages that are in use by kernel.</p></li>
</ul>
<p>But for the pages that are in use by user space application, the hard
offline marks the page as hwpoison, sends SIGBUS signal to kill the
@@ -73,11 +73,11 @@ use by application or free. By stopping on first error we loose the
opportunity to hwpoison the subsequent pages which may be free or in use by
application. This patch fixes this issue.</p>
</li>
-<li><p class="first">OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
+<li><p>OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
<p>Otherwise we could exit OPAL holding locks, potentially leading
to all sorts of problems later on.</p>
</li>
-<li><p class="first">p8-i2c: Limit number of retry attempts</p>
+<li><p>p8-i2c: Limit number of retry attempts</p>
<p>Current we will attempt to start an I2C transaction until it succeeds.
In the event that the OCC does not release the lock on an I2C bus this
results in an async token being held forever and the kernel thread that
@@ -85,7 +85,7 @@ started the transaction will block forever while waiting for an async
completion message. Fix this by limiting the number of attempts to
start the transaction.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Disable notification on unresponsive consoles</p>
+<li><p>FSP/CONSOLE: Disable notification on unresponsive consoles</p>
<p>Commit fd6b71fc fixed the situation where ipmi console was open (hvc0) but got
data on different console (hvc1).</p>
<p>During FSP R/R OPAL closes all consoles. After R/R complete FSP requests to
@@ -95,9 +95,10 @@ host kernel then it will not read data and results in RCU stalls.</p>
for each console. Latest kernel works fine without this patch.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -117,17 +118,15 @@ for each console. Latest kernel works fine without this patch.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -144,14 +143,15 @@ for each console. Latest kernel works fine without this patch.</p>
<li class="right" >
<a href="skiboot-5.4.1.html" title="skiboot-5.4.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.10</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.11.html b/doc/release-notes/skiboot-5.4.11.html
index 414043f..21fc1ad 100644
--- a/doc/release-notes/skiboot-5.4.11.html
+++ b/doc/release-notes/skiboot-5.4.11.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.11 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.11 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.10.html" title="skiboot-5.4.10"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.11</a></li>
</ul>
</div>
@@ -45,35 +45,35 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-11">
+ <section id="skiboot-5-4-11">
<span id="id1"></span><h1>skiboot-5.4.11<a class="headerlink" href="#skiboot-5-4-11" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.11 was released on Wednesday Dec 4th, 2019. It replaces
<a class="reference internal" href="skiboot-5.4.10.html#skiboot-5-4-10"><span class="std std-ref">skiboot-5.4.10</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.10.html#skiboot-5-4-10"><span class="std std-ref">skiboot-5.4.10</span></a>, we have below bug fix to support inband ipmi
interface:</p>
<ul>
-<li><p class="first">FSP/IPMI: Handle FSP reset reload
+<li><p>FSP/IPMI: Handle FSP reset reload
FSP IPMI driver serializes ipmi messages. It sends message to FSP and waits
for response before sending new message. It works fine as long as we get
response from FSP on time.</p>
<p>If we have inflight ipmi message during FSP R/R, we will not get resonse
from FSP. So if we initiate inband FSP R/R then all subsequent inband ipmi
message gets blocked.</p>
-<dl class="docutils">
-<dt>Sequence:</dt>
-<dd><ul class="first last simple">
-<li>ipmitool mc reset cold</li>
-<li>&lt;FSP R/R complete&gt;</li>
-<li>ipmitool &lt;any command&gt; &lt;– gets blocked</li>
+<dl class="simple">
+<dt>Sequence:</dt><dd><ul class="simple">
+<li><p>ipmitool mc reset cold</p></li>
+<li><p>&lt;FSP R/R complete&gt;</p></li>
+<li><p>ipmitool &lt;any command&gt; &lt;– gets blocked</p></li>
</ul>
</dd>
</dl>
<p>This patch clears inflight ipmi messages after FSP R/R complete.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -93,17 +93,15 @@ message gets blocked.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -120,14 +118,15 @@ message gets blocked.</p>
<li class="right" >
<a href="skiboot-5.4.10.html" title="skiboot-5.4.10"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.11</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.12.html b/doc/release-notes/skiboot-5.4.12.html
index e7f7f04..cff7d84 100644
--- a/doc/release-notes/skiboot-5.4.12.html
+++ b/doc/release-notes/skiboot-5.4.12.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.12 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.12 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.11.html" title="skiboot-5.4.11"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.12</a></li>
</ul>
</div>
@@ -45,18 +45,19 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-12">
+ <section id="skiboot-5-4-12">
<span id="id1"></span><h1>skiboot-5.4.12<a class="headerlink" href="#skiboot-5-4-12" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.12 was released on Thursday Oct 22nd, 2020. It replaces
<a class="reference internal" href="skiboot-5.4.11.html#skiboot-5-4-11"><span class="std std-ref">skiboot-5.4.11</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.11.html#skiboot-5-4-11"><span class="std std-ref">skiboot-5.4.11</span></a>, we have below bug fix to support FSP based
system :</p>
<ul class="simple">
-<li>FSP/NVRAM: Do not assert in vNVRAM statistics call</li>
+<li><p>FSP/NVRAM: Do not assert in vNVRAM statistics call</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -76,17 +77,15 @@ system :</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -103,14 +102,15 @@ system :</p>
<li class="right" >
<a href="skiboot-5.4.11.html" title="skiboot-5.4.11"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.12</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.2.html b/doc/release-notes/skiboot-5.4.2.html
index 3f37085..81ca609 100644
--- a/doc/release-notes/skiboot-5.4.2.html
+++ b/doc/release-notes/skiboot-5.4.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.12.html" title="skiboot-5.4.12"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.2</a></li>
</ul>
</div>
@@ -45,19 +45,20 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-2">
+ <section id="skiboot-5-4-2">
<span id="id1"></span><h1>skiboot-5.4.2<a class="headerlink" href="#skiboot-5-4-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.2 was released on Friday December 2nd 2016. It replaces
<a class="reference internal" href="skiboot-5.4.1.html#skiboot-5-4-1"><span class="std std-ref">skiboot-5.4.1</span></a> as the current stable release.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.1.html#skiboot-5-4-1"><span class="std std-ref">skiboot-5.4.1</span></a>, we have two bug fixes exclusively aimed at machines
with TPMs:</p>
<ul class="simple">
-<li>i2c: Add nuvoton TPM quirk, disallowing i2cdetect as it can hard lock the TPM</li>
-<li>p8-i2c improve I2C reset code path, solves getting stuck resetting i2c engine</li>
+<li><p>i2c: Add nuvoton TPM quirk, disallowing i2cdetect as it can hard lock the TPM</p></li>
+<li><p>p8-i2c improve I2C reset code path, solves getting stuck resetting i2c engine</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -77,17 +78,15 @@ with TPMs:</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -104,14 +103,15 @@ with TPMs:</p>
<li class="right" >
<a href="skiboot-5.4.12.html" title="skiboot-5.4.12"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.3.html b/doc/release-notes/skiboot-5.4.3.html
index 0e4dcae..e95fec6 100644
--- a/doc/release-notes/skiboot-5.4.3.html
+++ b/doc/release-notes/skiboot-5.4.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.2.html" title="skiboot-5.4.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.3</a></li>
</ul>
</div>
@@ -45,23 +45,24 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-3">
+ <section id="skiboot-5-4-3">
<span id="id1"></span><h1>skiboot-5.4.3<a class="headerlink" href="#skiboot-5-4-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.3 was released on Monday January 16th, 2017. It replaces
<a class="reference internal" href="skiboot-5.4.2.html#skiboot-5-4-2"><span class="std std-ref">skiboot-5.4.2</span></a> as the current stable release.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.2.html#skiboot-5-4-2"><span class="std std-ref">skiboot-5.4.2</span></a>, we have a small number of bug fixes:</p>
<ul class="simple">
-<li>Makefile: Disable stack protector due to gcc problems</li>
-<li>Makefile: Use -ffixed-r13.
-We use r13 for our own stuff, make sure it’s properly fixed</li>
-<li>phb3: Lock the PHB on set_xive callbacks</li>
-<li>arch_flash_arm: Don’t assume mtd labels are short</li>
-<li>Stop using 3-operand cmp[l][i] for latest binutils</li>
-<li>hw/phb3: fix error handling in complete reset</li>
+<li><p>Makefile: Disable stack protector due to gcc problems</p></li>
+<li><p>Makefile: Use -ffixed-r13.
+We use r13 for our own stuff, make sure it’s properly fixed</p></li>
+<li><p>phb3: Lock the PHB on set_xive callbacks</p></li>
+<li><p>arch_flash_arm: Don’t assume mtd labels are short</p></li>
+<li><p>Stop using 3-operand cmp[l][i] for latest binutils</p></li>
+<li><p>hw/phb3: fix error handling in complete reset</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -81,17 +82,15 @@ We use r13 for our own stuff, make sure it’s properly fixed</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -108,14 +107,15 @@ We use r13 for our own stuff, make sure it’s properly fixed</li>
<li class="right" >
<a href="skiboot-5.4.2.html" title="skiboot-5.4.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.4.html b/doc/release-notes/skiboot-5.4.4.html
index c1522bf..7867bbe 100644
--- a/doc/release-notes/skiboot-5.4.4.html
+++ b/doc/release-notes/skiboot-5.4.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.3.html" title="skiboot-5.4.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.4</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-4">
+ <section id="skiboot-5-4-4">
<span id="id1"></span><h1>skiboot-5.4.4<a class="headerlink" href="#skiboot-5-4-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.4 was released on Wednesday May 3rd, 2017. It replaces
<a class="reference internal" href="skiboot-5.4.3.html#skiboot-5-4-3"><span class="std std-ref">skiboot-5.4.3</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.3.html#skiboot-5-4-3"><span class="std std-ref">skiboot-5.4.3</span></a>, we have a small number of bug fixes:</p>
<ul>
-<li><p class="first">hw/fsp: Do not queue SP and SPCN class messages during reset/reload
+<li><p>hw/fsp: Do not queue SP and SPCN class messages during reset/reload
In certain cases of communicating with the FSP (e.g. sensors), the OPAL FSP
driver returns a default code (async
completion) even though there is no known bound from the time of this error
@@ -60,7 +60,7 @@ leading to soft-lockup on the host side.</p>
<p>Mitigate both these (known) cases by returning OPAL_BUSY so the host driver
knows to retry later.</p>
</li>
-<li><p class="first">core/pci: Fix PCIe slot’s presence
+<li><p>core/pci: Fix PCIe slot’s presence
According to PCIe spec, the presence bit is hardcoded to 1 if PCIe
switch downstream port doesn’t support slot capability. The register
used for the check in pcie_slot_get_presence_state() is wrong. It
@@ -88,7 +88,7 @@ register. Otherwise, we always have present bit on the PCI topology.</p>
</pre></div>
</div>
</li>
-<li><p class="first">core/pci: More reliable way to update PCI slot power state</p>
+<li><p>core/pci: More reliable way to update PCI slot power state</p>
<p>The power control bit (SLOT_CTL, offset: PCIe cap + 0x18) isn’t
reliable enough to reflect the PCI slot’s power state. Instead,
the power indication bits are more reliable comparatively. This
@@ -116,12 +116,12 @@ have this issue on the integrated PLX 8718 switch.</p>
<p>This updates the cached PCI slot’s power state using the power
indication bits instead of power control bit, to fix above issue.</p>
</li>
-<li><p class="first">core/pci: Avoid hreset after freset</p>
-</li>
+<li><p>core/pci: Avoid hreset after freset</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -141,17 +141,15 @@ indication bits instead of power control bit, to fix above issue.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -168,14 +166,15 @@ indication bits instead of power control bit, to fix above issue.</p>
<li class="right" >
<a href="skiboot-5.4.3.html" title="skiboot-5.4.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.5.html b/doc/release-notes/skiboot-5.4.5.html
index 9d03f7d..b1f2177 100644
--- a/doc/release-notes/skiboot-5.4.5.html
+++ b/doc/release-notes/skiboot-5.4.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.4.html" title="skiboot-5.4.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.5</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-5">
+ <section id="skiboot-5-4-5">
<span id="id1"></span><h1>skiboot-5.4.5<a class="headerlink" href="#skiboot-5-4-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.5 was released on Friday June 9th, 2017. It replaces
<a class="reference internal" href="skiboot-5.4.4.html#skiboot-5-4-4"><span class="std std-ref">skiboot-5.4.4</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.4.html#skiboot-5-4-4"><span class="std std-ref">skiboot-5.4.4</span></a>, we have a small number of bug fixes:</p>
<ul>
-<li><p class="first">On FSP platforms: notify FSP of Platform Log ID after Host Initiated Reset Reload
+<li><p>On FSP platforms: notify FSP of Platform Log ID after Host Initiated Reset Reload
Trigging a Host Initiated Reset (when the host detects the FSP has gone
out to lunch and should be rebooted), would cause “Unknown Command” messages
to appear in the OPAL log.</p>
@@ -66,7 +66,7 @@ to appear in the OPAL log.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/i2c: Fix early lock drop</p>
+<li><p>hw/i2c: Fix early lock drop</p>
<p>When interacting with an I2C master the p8-i2c driver (common to p9)
aquires a per-master lock which it holds for the duration of it’s
interaction with the master. Unfortunately, when
@@ -76,7 +76,7 @@ contrary to the driver’s locking strategy which requires that the
caller aquire and drop the lock. This leads to a crash due to the
double unlock(), which skiboot treats as fatal.</p>
</li>
-<li><p class="first">head.S: store all of LR and CTR</p>
+<li><p>head.S: store all of LR and CTR</p>
<p>When saving the CTR and LR registers the skiboot exception handlers use the
‘stw’ instruction which only saves the lower 32 bits of the register. Given
these are both 64 bit registers this leads to some strange register dumps,
@@ -94,9 +94,10 @@ CR : 40004208 XER: 00000000
which obscures the underlying issue.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -116,17 +117,15 @@ which obscures the underlying issue.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -143,14 +142,15 @@ which obscures the underlying issue.</p>
<li class="right" >
<a href="skiboot-5.4.4.html" title="skiboot-5.4.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.6.html b/doc/release-notes/skiboot-5.4.6.html
index f9d7c1a..a514cb6 100644
--- a/doc/release-notes/skiboot-5.4.6.html
+++ b/doc/release-notes/skiboot-5.4.6.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.6 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.6 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.5.html" title="skiboot-5.4.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.6</a></li>
</ul>
</div>
@@ -45,14 +45,14 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-6">
+ <section id="skiboot-5-4-6">
<span id="id1"></span><h1>skiboot-5.4.6<a class="headerlink" href="#skiboot-5-4-6" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.6 was released on Wednesday June 14th, 2017. It replaces
<a class="reference internal" href="skiboot-5.4.5.html#skiboot-5-4-5"><span class="std std-ref">skiboot-5.4.5</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.5.html#skiboot-5-4-5"><span class="std std-ref">skiboot-5.4.5</span></a>, we have a small number of bug fixes for
FSP based platforms:</p>
<ul>
-<li><p class="first">FSP/CONSOLE: Workaround for unresponsive ipmi daemon</p>
+<li><p>FSP/CONSOLE: Workaround for unresponsive ipmi daemon</p>
<p>In some corner cases, where FSP is active but not responding to
console MBOX message (due to buggy IPMI) and we have heavy console
write happening from kernel, then eventually our console buffer
@@ -70,7 +70,7 @@ for new data. But in normal condition only FSP can update ‘next_out’
pointer and if we touch that pointer, it may introduce some other
race conditions. Hence we decided to just new console write request.</p>
</li>
-<li><p class="first">FSP: Set status field in response message for timed out message</p>
+<li><p>FSP: Set status field in response message for timed out message</p>
<p>For timed out FSP messages, we set message status as “fsp_msg_timeout”.
But most FSP driver users (like surviellance) are ignoring this field.
They always look for FSP returned status value in callback function
@@ -87,17 +87,17 @@ response from FSP.</p>
<p>Here SURV code thought it got valid response from FSP. But actually we didn’t
receive response from FSP.</p>
</li>
-<li><p class="first">FSP: Improve timeout message</p>
+<li><p>FSP: Improve timeout message</p>
<p>Presently we print word0 and word1 in error log. word0 contains
sequence number and command class. One has to understand word0
format to identify command class.</p>
<p>Lets explicitly print command class, sub command etc.</p>
</li>
-<li><p class="first">FSP/RTC: Remove local fsp_in_reset variable</p>
+<li><p>FSP/RTC: Remove local fsp_in_reset variable</p>
<p>Now that we are using fsp_in_rr() to detect FSP reset/reload, fsp_in_reset
become redundant. Lets remove this local variable.</p>
</li>
-<li><p class="first">FSP/RTC: Fix possible FSP R/R issue in rtc write path</p>
+<li><p>FSP/RTC: Fix possible FSP R/R issue in rtc write path</p>
<p>fsp_opal_rtc_write() checks FSP status before queueing message to FSP. But if
FSP R/R starts before getting response to queued message then we will continue
to return OPAL_BUSY_EVENT to host. In some extreme condition host may
@@ -106,17 +106,17 @@ and return OPAL_SUCCESS to host.</p>
<p>This patch caches new values and returns OPAL_SUCCESS if FSP R/R is happening.
And once FSP is back we will send cached value to FSP.</p>
</li>
-<li><p class="first">hw/fsp/rtc: read/write cached rtc tod on fsp hir.</p>
+<li><p>hw/fsp/rtc: read/write cached rtc tod on fsp hir.</p>
<p>Currently fsp-rtc reads/writes the cached RTC TOD on an fsp
reset. Use latest fsp_in_rr() function to properly read the cached rtc
value when fsp reset initiated by the hir.</p>
<p>Below is the kernel trace when we set hw clock, when hir process starts.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1727.775824</span><span class="p">]</span> <span class="n">NMI</span> <span class="n">watchdog</span><span class="p">:</span> <span class="n">BUG</span><span class="p">:</span> <span class="n">soft</span> <span class="n">lockup</span> <span class="o">-</span> <span class="n">CPU</span><span class="c1">#57 stuck for 23s! [hwclock:7688]</span>
<span class="p">[</span> <span class="mf">1727.775856</span><span class="p">]</span> <span class="n">Modules</span> <span class="n">linked</span> <span class="ow">in</span><span class="p">:</span> <span class="n">vmx_crypto</span> <span class="n">ibmpowernv</span> <span class="n">ipmi_powernv</span> <span class="n">uio_pdrv_genirq</span> <span class="n">ipmi_devintf</span> <span class="n">powernv_op_panel</span> <span class="n">uio</span> <span class="n">ipmi_msghandler</span> <span class="n">powernv_rng</span> <span class="n">leds_powernv</span> <span class="n">ip_tables</span> <span class="n">x_tables</span> <span class="n">autofs4</span> <span class="n">ses</span> <span class="n">enclosure</span> <span class="n">scsi_transport_sas</span> <span class="n">crc32c_vpmsum</span> <span class="n">lpfc</span> <span class="n">ipr</span> <span class="n">tg3</span> <span class="n">scsi_transport_fc</span>
-<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">CPU</span><span class="p">:</span> <span class="mi">57</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">7688</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">hwclock</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="mf">4.10</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span> <span class="c1">#16-Ubuntu</span>
+<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">CPU</span><span class="p">:</span> <span class="mi">57</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">7688</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">hwclock</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="mf">4.10.0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span> <span class="c1">#16-Ubuntu</span>
<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">task</span><span class="p">:</span> <span class="n">c000000fdfdc8400</span> <span class="n">task</span><span class="o">.</span><span class="n">stack</span><span class="p">:</span> <span class="n">c000000fdfef4000</span>
<span class="p">[</span> <span class="mf">1727.775884</span><span class="p">]</span> <span class="n">NIP</span><span class="p">:</span> <span class="n">c00000000090540c</span> <span class="n">LR</span><span class="p">:</span> <span class="n">c0000000000846f4</span> <span class="n">CTR</span><span class="p">:</span> <span class="mi">000000003006</span><span class="n">dd70</span>
-<span class="p">[</span> <span class="mf">1727.775885</span><span class="p">]</span> <span class="n">REGS</span><span class="p">:</span> <span class="n">c000000fdfef79a0</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="p">(</span><span class="mf">4.10</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span><span class="p">)</span>
+<span class="p">[</span> <span class="mf">1727.775885</span><span class="p">]</span> <span class="n">REGS</span><span class="p">:</span> <span class="n">c000000fdfef79a0</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="p">(</span><span class="mf">4.10.0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">1727.775886</span><span class="p">]</span> <span class="n">MSR</span><span class="p">:</span> <span class="mi">9000000000009033</span> <span class="o">&lt;</span><span class="n">SF</span><span class="p">,</span><span class="n">HV</span><span class="p">,</span><span class="n">EE</span><span class="p">,</span><span class="n">ME</span><span class="p">,</span><span class="n">IR</span><span class="p">,</span><span class="n">DR</span><span class="p">,</span><span class="n">RI</span><span class="p">,</span><span class="n">LE</span><span class="o">&gt;</span>
<span class="p">[</span> <span class="mf">1727.775889</span><span class="p">]</span> <span class="n">CR</span><span class="p">:</span> <span class="mi">28024442</span> <span class="n">XER</span><span class="p">:</span> <span class="mi">20000000</span>
<span class="p">[</span> <span class="mf">1727.775890</span><span class="p">]</span> <span class="n">CFAR</span><span class="p">:</span> <span class="n">c00000000008472c</span> <span class="n">SOFTE</span><span class="p">:</span> <span class="mi">1</span>
@@ -142,12 +142,12 @@ value when fsp reset initiated by the hir.</p>
<p>With this fix ran fsp hir torture testcase in the above test
which is working fine.</p>
</li>
-<li><p class="first">FSP/CHIPTOD: Return false in error path</p>
-</li>
+<li><p>FSP/CHIPTOD: Return false in error path</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -167,17 +167,15 @@ which is working fine.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -194,14 +192,15 @@ which is working fine.</p>
<li class="right" >
<a href="skiboot-5.4.5.html" title="skiboot-5.4.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.6</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.7.html b/doc/release-notes/skiboot-5.4.7.html
index 2949e8c..5bfee09 100644
--- a/doc/release-notes/skiboot-5.4.7.html
+++ b/doc/release-notes/skiboot-5.4.7.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.7 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.7 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.6.html" title="skiboot-5.4.6"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.7</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-7">
+ <section id="skiboot-5-4-7">
<span id="id1"></span><h1>skiboot-5.4.7<a class="headerlink" href="#skiboot-5-4-7" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.7 was released on Tuesday September 19th, 2017. It replaces
<a class="reference internal" href="skiboot-5.4.6.html#skiboot-5-4-6"><span class="std std-ref">skiboot-5.4.6</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.6.html#skiboot-5-4-6"><span class="std std-ref">skiboot-5.4.6</span></a>, we have two backported bug fixes for FSP platforms:</p>
<ul>
-<li><p class="first">FSP: Add check to detect FSP Reset/Reload inside fsp_sync_msg()</p>
+<li><p>FSP: Add check to detect FSP Reset/Reload inside fsp_sync_msg()</p>
<p>During FSP Reset/Reload we move outstanding MBOX messages from msgq to
rr_queue including inflight message (fsp_reset_cmdclass()). But we are not
resetting inflight message state.</p>
@@ -61,16 +61,17 @@ endup waiting in fsp_sync_msg() until everything becomes normal.</p>
<p>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to
caller if FSP is in R/R.</p>
</li>
-<li><p class="first">platforms/ibm-fsp/firenze: Fix PCI slot power-off pattern</p>
+<li><p>platforms/ibm-fsp/firenze: Fix PCI slot power-off pattern</p>
<p>When powering off the PCI slot, the corresponding bits should
be set to 0bxx00xx00 instead of 0bxx11xx11. Otherwise, the
specified PCI slot can’t be put into power-off state. Fortunately,
it didn’t introduce any side-effects so far.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -90,17 +91,15 @@ it didn’t introduce any side-effects so far.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -117,14 +116,15 @@ it didn’t introduce any side-effects so far.</p>
<li class="right" >
<a href="skiboot-5.4.6.html" title="skiboot-5.4.6"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.7</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.8.html b/doc/release-notes/skiboot-5.4.8.html
index 5de3a5a..4bf7146 100644
--- a/doc/release-notes/skiboot-5.4.8.html
+++ b/doc/release-notes/skiboot-5.4.8.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.8 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.8 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.7.html" title="skiboot-5.4.7"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.8</a></li>
</ul>
</div>
@@ -45,17 +45,17 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-8">
+ <section id="skiboot-5-4-8">
<span id="id1"></span><h1>skiboot-5.4.8<a class="headerlink" href="#skiboot-5-4-8" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.8 was released on Wednesday October 11th, 2017. It replaces
<a class="reference internal" href="skiboot-5.4.7.html#skiboot-5-4-7"><span class="std std-ref">skiboot-5.4.7</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.7.html#skiboot-5-4-7"><span class="std std-ref">skiboot-5.4.7</span></a>, we have a few bug fixes for FSP platforms:</p>
<ul>
-<li><p class="first">libflash/file: Handle short read()s and write()s correctly</p>
+<li><p>libflash/file: Handle short read()s and write()s correctly</p>
<p>Currently we don’t move the buffer along for a short read() or write()
and nor do we request only the remaining amount.</p>
</li>
-<li><p class="first">FSP/NVRAM: Handle “get vNVRAM statistics” command</p>
+<li><p>FSP/NVRAM: Handle “get vNVRAM statistics” command</p>
<p>FSP sends MBOX command (cmd : 0xEB, subcmd : 0x05, mod : 0x00) to get vNVRAM
statistics. OPAL doesn’t maintain any such statistics. Hence return
FSP_STATUS_INVALID_SUBCMD.</p>
@@ -69,14 +69,14 @@ FSP_STATUS_INVALID_SUBCMD.</p>
</div>
</div></blockquote>
</li>
-<li><p class="first">FSP/CONSOLE: Limit number of error logging</p>
+<li><p>FSP/CONSOLE: Limit number of error logging</p>
<p>Commit c8a7535f (FSP/CONSOLE: Workaround for unresponsive ipmi daemon, added
in skiboot 5.4.6 and 5.7-rc1) added error logging when buffer is full. In some
corner cases kernel may call this function multiple time and we may endup logging
error again and again.</p>
<p>This patch fixes it by generating error log only once.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Fix fsp_console_write_buffer_space() call</p>
+<li><p>FSP/CONSOLE: Fix fsp_console_write_buffer_space() call</p>
<p>Kernel calls fsp_console_write_buffer_space() to check console buffer space
availability. If there is enough buffer space to write data, then kernel will
call fsp_console_write() to write actual data.</p>
@@ -92,7 +92,7 @@ point we will start timer with timeout of SER_BUFFER_OUT_TIMEOUT (10 secs).
If situation is not improved within 10 seconds means something went bad. Lets
return OPAL_RESOURCE so that kernel can drop console write and continue.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Close SOL session during R/R</p>
+<li><p>FSP/CONSOLE: Close SOL session during R/R</p>
<p>Presently we are not closing SOL and FW console sessions during R/R. Host will
continue to write to SOL buffer during FSP R/R. If there is heavy console write
operation happening during FSP R/R (like running <cite>top</cite> command inside console),
@@ -118,7 +118,7 @@ we may see RCU stalls (like below) in kernel.</p>
</div>
<p>Hence lets close SOL (and FW console) during FSP R/R.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Do not associate unavailable console</p>
+<li><p>FSP/CONSOLE: Do not associate unavailable console</p>
<p>Presently OPAL sends associate/unassociate MBOX command for all
FSP serial console (like below OPAL message). We have to check
console is available or not before sending this message.</p>
@@ -128,73 +128,73 @@ console is available or not before sending this message.</p>
</pre></div>
</div>
</li>
-<li><p class="first">FSP: Disable PSI link whenever FSP tells OPAL about impending Reset/Reload</p>
+<li><p>FSP: Disable PSI link whenever FSP tells OPAL about impending Reset/Reload</p>
<p>Commit 42d5d047 fixed scenario where DPO has been initiated, but FSP went
into reset before the CEC power down came in. But this is generic issue
that can happen in normal shutdown path as well.</p>
<p>Hence disable PSI link as soon as we detect FSP impending R/R.</p>
</li>
-<li><p class="first">fsp: return OPAL_BUSY_EVENT on failure sending FSP_CMD_POWERDOWN_NORM
+<li><p>fsp: return OPAL_BUSY_EVENT on failure sending FSP_CMD_POWERDOWN_NORM
Also, return OPAL_BUSY_EVENT on failure sending FSP_CMD_REBOOT / DEEP_REBOOT.</p>
<p>We had a race condition between FSP Reset/Reload and powering down
the system from the host:</p>
<p>Roughly:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="2%" />
-<col width="29%" />
-<col width="69%" />
+<col style="width: 2%" />
+<col style="width: 29%" />
+<col style="width: 69%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">#</th>
-<th class="head">FSP</th>
-<th class="head">Host</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>#</p></th>
+<th class="head"><p>FSP</p></th>
+<th class="head"><p>Host</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>1</td>
-<td>Power on</td>
-<td>&#160;</td>
+<tbody>
+<tr class="row-even"><td><p>1</p></td>
+<td><p>Power on</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>2</td>
-<td>&#160;</td>
-<td>Power on</td>
+<tr class="row-odd"><td><p>2</p></td>
+<td></td>
+<td><p>Power on</p></td>
</tr>
-<tr class="row-even"><td>3</td>
-<td>(inject EPOW)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>3</p></td>
+<td><p>(inject EPOW)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>4</td>
-<td>(trigger FSP R/R)</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p>4</p></td>
+<td><p>(trigger FSP R/R)</p></td>
+<td></td>
</tr>
-<tr class="row-even"><td>5</td>
-<td>&#160;</td>
-<td>Processes EPOW event, starts shutting down</td>
+<tr class="row-even"><td><p>5</p></td>
+<td></td>
+<td><p>Processes EPOW event, starts shutting down</p></td>
</tr>
-<tr class="row-odd"><td>6</td>
-<td>&#160;</td>
-<td>calls OPAL_CEC_POWER_DOWN</td>
+<tr class="row-odd"><td><p>6</p></td>
+<td></td>
+<td><p>calls OPAL_CEC_POWER_DOWN</p></td>
</tr>
-<tr class="row-even"><td>7</td>
-<td>(is still in R/R)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>7</p></td>
+<td><p>(is still in R/R)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>8</td>
-<td>&#160;</td>
-<td>gets OPAL_INTERNAL_ERROR, spins in opal_poll_events</td>
+<tr class="row-odd"><td><p>8</p></td>
+<td></td>
+<td><p>gets OPAL_INTERNAL_ERROR, spins in opal_poll_events</p></td>
</tr>
-<tr class="row-even"><td>9</td>
-<td>(FSP comes back)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>9</p></td>
+<td><p>(FSP comes back)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>10</td>
-<td>&#160;</td>
-<td>spinning in opal_poll_events</td>
+<tr class="row-odd"><td><p>10</p></td>
+<td></td>
+<td><p>spinning in opal_poll_events</p></td>
</tr>
-<tr class="row-even"><td>11</td>
-<td>(thinks host is running)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>11</p></td>
+<td><p>(thinks host is running)</p></td>
+<td></td>
</tr>
</tbody>
</table>
@@ -230,9 +230,10 @@ running pollers to communicate with the FSP and do the final bits of
Reset/Reload handling before we power off the system.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -252,17 +253,15 @@ Reset/Reload handling before we power off the system.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -279,14 +278,15 @@ Reset/Reload handling before we power off the system.</p>
<li class="right" >
<a href="skiboot-5.4.7.html" title="skiboot-5.4.7"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.8</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.4.9.html b/doc/release-notes/skiboot-5.4.9.html
index aa9792b..b003f10 100644
--- a/doc/release-notes/skiboot-5.4.9.html
+++ b/doc/release-notes/skiboot-5.4.9.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.4.9 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.4.9 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.8.html" title="skiboot-5.4.8"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.9</a></li>
</ul>
</div>
@@ -45,21 +45,22 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-4-9">
+ <section id="skiboot-5-4-9">
<span id="id1"></span><h1>skiboot-5.4.9<a class="headerlink" href="#skiboot-5-4-9" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.4.9 was released on Friday January 5th, 2018. It replaces
<a class="reference internal" href="skiboot-5.4.8.html#skiboot-5-4-8"><span class="std std-ref">skiboot-5.4.8</span></a> as the current stable release in the 5.4.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.4.8.html#skiboot-5-4-8"><span class="std std-ref">skiboot-5.4.8</span></a>, we have one new feature:</p>
<ul>
-<li><p class="first">Parse IPL FW feature settings</p>
+<li><p>Parse IPL FW feature settings</p>
<p>Add parsing for the firmware feature flags in the HDAT. This
indicates the settings of various parameters which are set at IPL time
by firmware.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -79,17 +80,15 @@ by firmware.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -106,14 +105,15 @@ by firmware.</p>
<li class="right" >
<a href="skiboot-5.4.8.html" title="skiboot-5.4.8"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.4.9</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.5.0-rc1.html b/doc/release-notes/skiboot-5.5.0-rc1.html
index 60dc201..7d236c1 100644
--- a/doc/release-notes/skiboot-5.5.0-rc1.html
+++ b/doc/release-notes/skiboot-5.5.0-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.5.0-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.5.0-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.5.0.html" title="skiboot-5.5.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.5.0-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-5-0-rc1">
+ <section id="skiboot-5-5-0-rc1">
<span id="id1"></span><h1>skiboot-5.5.0-rc1<a class="headerlink" href="#skiboot-5-5-0-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.5.0-rc1 was released on Tuesday March 28th 2017. It is the first
release candidate of skiboot 5.5, which will become the new stable release
@@ -62,25 +62,26 @@ similar to op-build, but slightly offset to allow for a short stabilisation
period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
<p>Over skiboot-5.4, we have the following changes:</p>
-<div class="section" id="new-platforms">
+<section id="new-platforms">
<h2>New Platforms<a class="headerlink" href="#new-platforms" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>SuperMicro’s (SMC) P8DNU: An astbmc based POWER8 platform</li>
-<li>Add a generic platform to help with bringup of new systems.</li>
-<li>Four POWER9 based systems (NOTE: All POWER9 systems should be considered
-for bringup use only at this point):<ul>
-<li>Romulus</li>
-<li>Witherspoon (a POWER9 system with NVLink2 attached GPUs)</li>
-<li>Zaius (OpenCompute platform, also known as “Barreleye 2”)</li>
-<li>ZZ (FSP based system)</li>
+<li><p>SuperMicro’s (SMC) P8DNU: An astbmc based POWER8 platform</p></li>
+<li><p>Add a generic platform to help with bringup of new systems.</p></li>
+<li><p>Four POWER9 based systems (NOTE: All POWER9 systems should be considered
+for bringup use only at this point):</p>
+<ul>
+<li><p>Romulus</p></li>
+<li><p>Witherspoon (a POWER9 system with NVLink2 attached GPUs)</p></li>
+<li><p>Zaius (OpenCompute platform, also known as “Barreleye 2”)</p></li>
+<li><p>ZZ (FSP based system)</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="new-features">
+</section>
+<section id="new-features">
<h2>New features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">System reset IPI facility and Mambo implementation
+<li><p>System reset IPI facility and Mambo implementation
Add an opal call <a class="reference internal" href="../opal-api/opal-signal-system-reset-145.html#opal-signal-system-reset"><span class="std std-ref">OPAL_SIGNAL_SYSTEM_RESET</span></a> which allows system reset
exceptions to be raised on other CPUs and act as an NMI IPI. There
is an initial simple Mambo implementation, but allowances are made
@@ -90,10 +91,9 @@ hardware (see <a class="reference external" href="https://patchwork.ozlabs.org/p
makes it into a future release.</p>
<p>This implements an in-band NMI equivalent.</p>
</li>
-<li><p class="first">add CONTRIBUTING.md, ensuring that people new to the project have a one-stop
-place to find out how to get started.</p>
-</li>
-<li><p class="first">interrupts: Add optional name for OPAL interrupts</p>
+<li><p>add CONTRIBUTING.md, ensuring that people new to the project have a one-stop
+place to find out how to get started.</p></li>
+<li><p>interrupts: Add optional name for OPAL interrupts</p>
<p>This adds the infrastructure for an interrupt source to provide
a name for an interrupt directed toward OPAL. Those names will
be put into an “opal-interrupts-names” property which is a
@@ -101,13 +101,13 @@ standard DT string list corresponding 1:1 with the “opal-interrupts”
property. PSI interrupts get names, and this is visible in Linux
through /proc/interrupts</p>
</li>
-<li><p class="first">platform: add OPAL_REBOOT_FULL_IPL reboot type</p>
+<li><p>platform: add OPAL_REBOOT_FULL_IPL reboot type</p>
<p>There may be circumstances in which a user wants to force a full IPL reboot
rather than using fast reboot. Add a new reboot type, OPAL_REBOOT_FULL_IPL,
that disables fast reboot. On platforms which don’t support fast reboot,
this will be equivalent to a normal reboot.</p>
</li>
-<li><p class="first">phb3: Trick to allow control of the PCIe link width and speed</p>
+<li><p>phb3: Trick to allow control of the PCIe link width and speed</p>
<p>This implements a hook inside OPAL that catches 16 and 32 bit writes
to the link status register of the PHB.</p>
<p>It allows you to write a new speed or a new width, and OPAL will then
@@ -141,25 +141,24 @@ cause the PHB to renegociate.</p>
</div>
</div></blockquote>
</li>
-<li><p class="first">core/init: Add hdat-map property to OPAL node.</p>
+<li><p>core/init: Add hdat-map property to OPAL node.</p>
<p>Exports the HDAT heap to the OS. This allows the OS to view the HDAT heap
directly. This allows us to view the HDAT area without having to use
getmemproc.</p>
</li>
-<li><p class="first">Add a generic platform: If /bmc in device tree, attempt to init one
+<li><p>Add a generic platform: If /bmc in device tree, attempt to init one
For the most part, this gets us somewhere on some OpenPOWER systems
before there’s a platform file for that machine.</p>
<p>Useful in bringup only, and marked as such with scary looking log
messages.</p>
</li>
</ul>
-</div>
-<div class="section" id="core">
+</section>
+<section id="core">
<h2>Core<a class="headerlink" href="#core" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">asm: Don’t try to set LPCR:LPES1 on P8 and P9, the bit doesn’t exist.</p>
-</li>
-<li><p class="first">pci: Add a framework for quirks</p>
+<li><p>asm: Don’t try to set LPCR:LPES1 on P8 and P9, the bit doesn’t exist.</p></li>
+<li><p>pci: Add a framework for quirks</p>
<p>In future we may want to be able to do fixups for specific PCI devices in
skiboot, so add a small framework for doing this.</p>
<p>This is not intended for the same purposes as quirks in the Linux kernel,
@@ -168,22 +167,17 @@ configured. This is intended to enable having a custom path to make
changes that don’t directly interact with the PCI device, for example
adding device tree entries.</p>
</li>
-<li><p class="first">hw/slw: fix possible NULL dereference</p>
-</li>
-<li><p class="first">slw: Print enabled stop states on boot</p>
-</li>
-<li><p class="first">uart: Fix Linux pass-through policy, provide NVRAM override option</p>
-</li>
-<li><p class="first">libc/stdio/vsnprintf.c: add explicit fallthrough, this silences a recent
-(GCC 7.x) warning</p>
-</li>
-<li><p class="first">init: print the FDT blob size in decimal</p>
-</li>
-<li><p class="first">init: Print some more info before booting linux</p>
+<li><p>hw/slw: fix possible NULL dereference</p></li>
+<li><p>slw: Print enabled stop states on boot</p></li>
+<li><p>uart: Fix Linux pass-through policy, provide NVRAM override option</p></li>
+<li><p>libc/stdio/vsnprintf.c: add explicit fallthrough, this silences a recent
+(GCC 7.x) warning</p></li>
+<li><p>init: print the FDT blob size in decimal</p></li>
+<li><p>init: Print some more info before booting linux</p>
<p>The kernel command line from nvram and the stdout-path are
useful to know when debugging console related problems.</p>
</li>
-<li><p class="first">Makefile: Disable stack protector due to gcc problems</p>
+<li><p>Makefile: Disable stack protector due to gcc problems</p>
<p>Depending on how it was built, gcc will use the canary from a global
(works for us) or from the TLS (doesn’t work for us and accesses
random stuff instead).</p>
@@ -191,102 +185,68 @@ random stuff instead).</p>
to force use of globals, but in the meantime, disable the stack
protector.</p>
</li>
-<li><p class="first">Stop using 3-operand cmp[l][i] for latest binutils
+<li><p>Stop using 3-operand cmp[l][i] for latest binutils
Since a5721ba270, binutils does not support 3-operand cmp[l][i].
-This adds (previously optional) parameter L.</p>
-</li>
-<li><p class="first">buddy: Add a simple generic buddy allocator</p>
-</li>
-<li><p class="first">stack: Don’t recurse into __stack_chk_fail</p>
-</li>
-<li><p class="first">Makefile: Use -ffixed-r13
-We use r13 for our own stuff, make sure it’s properly fixed</p>
-</li>
-<li><p class="first">Always set ibm,occ-functional-state correctly</p>
-</li>
-<li><p class="first">psi: fix the xive registers initialization on P8, which seems to be fine
-for real HW but causes a lof of pain under qemu</p>
-</li>
-<li><p class="first">slw: Set PSSCR value for idle states</p>
-</li>
-<li><p class="first">Limit number of “Poller recursion detected” errors to display</p>
+This adds (previously optional) parameter L.</p></li>
+<li><p>buddy: Add a simple generic buddy allocator</p></li>
+<li><p>stack: Don’t recurse into __stack_chk_fail</p></li>
+<li><p>Makefile: Use -ffixed-r13
+We use r13 for our own stuff, make sure it’s properly fixed</p></li>
+<li><p>Always set ibm,occ-functional-state correctly</p></li>
+<li><p>psi: fix the xive registers initialization on P8, which seems to be fine
+for real HW but causes a lof of pain under qemu</p></li>
+<li><p>slw: Set PSSCR value for idle states</p></li>
+<li><p>Limit number of “Poller recursion detected” errors to display</p>
<p>In some error conditions, we could spiral out of control on this
and spend all of our time printing the exact same backtrace.</p>
<p>Limit it to 16 times, because 16 is a nice number.</p>
</li>
-<li><p class="first">slw: do SLW timer testing while holding xscom lock</p>
+<li><p>slw: do SLW timer testing while holding xscom lock</p>
<p>We add some routines that let a caller get the xscom lock once and
then do a bunch of xscoms while holding it.
In some situations without this, it could take long enough to get
the xscom lock that the 1ms timeout would expire and we’d falsely
think the SLW timer didn’t work when in fact it did.</p>
</li>
-<li><p class="first">wait_for_resource_loaded: don’t needlessly sleep for 5ms</p>
-</li>
-<li><p class="first">run pollers in cpu_process_local_jobs() if running job synchonously</p>
-</li>
-<li><p class="first">fsp: Don’t recurse pollers in ibm_fsp_terminate</p>
-</li>
-<li><p class="first">chiptod: More hardening against -1 chip ID</p>
-</li>
-<li><p class="first">interrupts: Rewrite/correct doc for opal_set/get_xive</p>
-</li>
-<li><p class="first">cpu: Don’t enable nap mode/PM mode on non-P8</p>
-</li>
-<li><p class="first">platform: Call generic platform probe and init UART there</p>
-</li>
-<li><p class="first">psi: Don’t register more interrupts than the HW supports</p>
-</li>
-<li><p class="first">psi: Add DT option to disable LPC interrupts</p>
-</li>
+<li><p>wait_for_resource_loaded: don’t needlessly sleep for 5ms</p></li>
+<li><p>run pollers in cpu_process_local_jobs() if running job synchonously</p></li>
+<li><p>fsp: Don’t recurse pollers in ibm_fsp_terminate</p></li>
+<li><p>chiptod: More hardening against -1 chip ID</p></li>
+<li><p>interrupts: Rewrite/correct doc for opal_set/get_xive</p></li>
+<li><p>cpu: Don’t enable nap mode/PM mode on non-P8</p></li>
+<li><p>platform: Call generic platform probe and init UART there</p></li>
+<li><p>psi: Don’t register more interrupts than the HW supports</p></li>
+<li><p>psi: Add DT option to disable LPC interrupts</p></li>
</ul>
-</div>
-<div class="section" id="i2c-and-tpm">
+</section>
+<section id="i2c-and-tpm">
<h2>I2C and TPM<a class="headerlink" href="#i2c-and-tpm" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">p8i2c: Use calculated poll_interval when booting OPAL
+<li><p>p8i2c: Use calculated poll_interval when booting OPAL
Otherwise we’d default to 2seconds (TIMER_POLL) during boot on
chips with a functional i2c interrupt, leading to slow i2c
-during boot (or hitting timeouts instead).</p>
-</li>
-<li><p class="first">i2c: Add i2c_run_req() to crank the state machine for a request</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: work out the polling time using mftb()</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: handle errors after reading the tpm fifo</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: cleanup variables in tpm_read_fifo()</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: handle errors after writting the tpm fifo</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: cleanup variables in tpm_write_fifo()</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: handle errors after writing sts.commandReady in step 5</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: handle errors after writing sts.go</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: handle errors after checking the tpm fifo status</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: return burst_count in tpm_read_burst_count()</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: isolate the code that handles the TPM_TIMEOUT_D timeout</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: handle errors after reading sts.commandReady</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: add tpm_status_read_byte()</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: add tpm_check_status()</p>
-</li>
-<li><p class="first">tpm_i2c_nuvoton: rename defines to shorter names</p>
-</li>
-<li><p class="first">tpm_i2c_interface: decouple rc from being done with i2c request</p>
-</li>
-<li><p class="first">tpm_i2c_interface: set timeout before each request</p>
-</li>
-<li><p class="first">i2c: Add nuvoton quirk, disallowing i2cdetect as it locks TPM</p>
+during boot (or hitting timeouts instead).</p></li>
+<li><p>i2c: Add i2c_run_req() to crank the state machine for a request</p></li>
+<li><p>tpm_i2c_nuvoton: work out the polling time using mftb()</p></li>
+<li><p>tpm_i2c_nuvoton: handle errors after reading the tpm fifo</p></li>
+<li><p>tpm_i2c_nuvoton: cleanup variables in tpm_read_fifo()</p></li>
+<li><p>tpm_i2c_nuvoton: handle errors after writting the tpm fifo</p></li>
+<li><p>tpm_i2c_nuvoton: cleanup variables in tpm_write_fifo()</p></li>
+<li><p>tpm_i2c_nuvoton: handle errors after writing sts.commandReady in step 5</p></li>
+<li><p>tpm_i2c_nuvoton: handle errors after writing sts.go</p></li>
+<li><p>tpm_i2c_nuvoton: handle errors after checking the tpm fifo status</p></li>
+<li><p>tpm_i2c_nuvoton: return burst_count in tpm_read_burst_count()</p></li>
+<li><p>tpm_i2c_nuvoton: isolate the code that handles the TPM_TIMEOUT_D timeout</p></li>
+<li><p>tpm_i2c_nuvoton: handle errors after reading sts.commandReady</p></li>
+<li><p>tpm_i2c_nuvoton: add tpm_status_read_byte()</p></li>
+<li><p>tpm_i2c_nuvoton: add tpm_check_status()</p></li>
+<li><p>tpm_i2c_nuvoton: rename defines to shorter names</p></li>
+<li><p>tpm_i2c_interface: decouple rc from being done with i2c request</p></li>
+<li><p>tpm_i2c_interface: set timeout before each request</p></li>
+<li><p>i2c: Add nuvoton quirk, disallowing i2cdetect as it locks TPM</p>
<p>p8-i2c reset things manually in some error conditions</p>
</li>
-<li><p class="first">stb: create-container and wrap skiboot in Secure/Trusted Boot container</p>
+<li><p>stb: create-container and wrap skiboot in Secure/Trusted Boot container</p>
<p>We produce <strong>UNSIGNED</strong> skiboot.lid.stb and skiboot.lid.xz.stb as build
artifacts.</p>
<p>These are suitable blobs for flashing onto Trusted Boot enabled op-build
@@ -295,11 +255,11 @@ It’s just enough of the Secure and Trusted Boot container format to
make Hostboot behave.</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/pci: Support SRIOV VFs</p>
+<li><p>core/pci: Support SRIOV VFs</p>
<p>Currently, skiboot can’t see SRIOV VFs. It introduces some troubles
as I can see: The device initialization logic (phb-&gt;ops-&gt;device_init())
isn’t applied to VFs, meaning we have to maintain same and duplicated
@@ -320,12 +280,12 @@ register PCI config register filter against PCICAP_EXP_DEVCTL. The
filter’s handler caches what is written to MPS field and returns
the cached value on read, to eliminate the gap mentioned as above.</p>
</li>
-<li><p class="first">core/pci: Avoid hreset after freset</p>
+<li><p>core/pci: Avoid hreset after freset</p>
<p>Commit 5ac71c9 (“pci: Avoid hot resets at boot time”) missed to
avoid hot reset after fundamental reset for PCIe common slots.</p>
<p>This fixes it.</p>
</li>
-<li><p class="first">core/pci: Enforce polling PCIe link in hot-add path</p>
+<li><p>core/pci: Enforce polling PCIe link in hot-add path</p>
<p>In surprise hot-add path, the power state isn’t changed on hardware.
Instead, we set the cached power state (&#64;slot-&gt;power_state) and
return OPAL_SUCCESS. The upper layer starts the PCI probing immediately
@@ -336,28 +296,24 @@ we do have PCI adpater connected to the slot.</p>
upper layer to poll the PCIe link before probing the PCI devices
behind the slot in surprise and managed hot-add paths.</p>
</li>
-<li><dl class="first docutils">
-<dt>hw/phb3: fix error handling in complete reset</dt>
-<dd><p class="first">During a complete reset, when we get a timeout waiting for pending
+<li><dl>
+<dt>hw/phb3: fix error handling in complete reset</dt><dd><p>During a complete reset, when we get a timeout waiting for pending
transaction in state PHB3_STATE_CRESET_WAIT_CQ, we mark the PHB as
permanently broken.</p>
-<p class="last">Set the state to PHB3_STATE_FENCED so that the kernel can retry the
+<p>Set the state to PHB3_STATE_FENCED so that the kernel can retry the
complete reset.</p>
</dd>
</dl>
</li>
-<li><p class="first">phb3: Lock the PHB on set_xive callbacks</p>
-</li>
+<li><p>phb3: Lock the PHB on set_xive callbacks</p></li>
</ul>
-</div>
-<div class="section" id="p8dnu-platform">
+</section>
+<section id="p8dnu-platform">
<h2>p8dnu platform<a class="headerlink" href="#p8dnu-platform" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">astbmc/p8dnu: Enable PCI slot’s power supply on PEX9733 in hot-add path</p>
-</li>
-<li><p class="first">astbmc/p8dnu: Enable PCI slot’s power supply on PEX8718 in hot-add path</p>
-</li>
-<li><p class="first">core/pci: Mark broken PDC on slots without surprise hotplug capability</p>
+<li><p>astbmc/p8dnu: Enable PCI slot’s power supply on PEX9733 in hot-add path</p></li>
+<li><p>astbmc/p8dnu: Enable PCI slot’s power supply on PEX8718 in hot-add path</p></li>
+<li><p>core/pci: Mark broken PDC on slots without surprise hotplug capability</p>
<p>We has to support surprise hotplug on PCI slots that don’t support
it on hardware. So we’re fully utilizing the PCIe link state change
event to detect the events (hot-remove and hot-add). The PDC (Presence
@@ -367,7 +323,7 @@ PEX8718 on superMicro’s machines.</p>
device-tree, to indicate the PDC isn’t reliable on those (software
claimed) surprise pluggable slots.</p>
</li>
-<li><p class="first">core/pci: Fix PCIe slot’s presence</p>
+<li><p>core/pci: Fix PCIe slot’s presence</p>
<p>According to PCIe spec, the presence bit is hardcoded to 1 if PCIe
switch downstream port doesn’t support slot capability. The register
used for the check in pcie_slot_get_presence_state() is wrong. It
@@ -395,7 +351,7 @@ The issue is found on Supermicro’s p8dtu2u machine:</p>
</pre></div>
</div>
</li>
-<li><p class="first">core/pci: More reliable way to update PCI slot power state</p>
+<li><p>core/pci: More reliable way to update PCI slot power state</p>
<p>The power control bit (SLOT_CTL, offset: PCIe cap + 0x18) isn’t
reliable enough to reflect the PCI slot’s power state. Instead,
the power indication bits are more reliable comparatively. This
@@ -425,32 +381,30 @@ have this issue on the integrated PLX 8718 switch.</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>opal-prd: Direct systemd to always restart opal-prd
-Always restart the opal-prd daemon, irrespective of why it stopped.</li>
-<li>external/ffspart: Simple C program to be able to make an FFS partition</li>
-<li>getscom: Add chip info for P9.</li>
-<li>gard: Fix make dist target</li>
-<li>pflash/libflash: arch_flash_arm: Don’t assume mtd labels are short</li>
+<li><p>opal-prd: Direct systemd to always restart opal-prd
+Always restart the opal-prd daemon, irrespective of why it stopped.</p></li>
+<li><p>external/ffspart: Simple C program to be able to make an FFS partition</p></li>
+<li><p>getscom: Add chip info for P9.</p></li>
+<li><p>gard: Fix make dist target</p></li>
+<li><p>pflash/libflash: arch_flash_arm: Don’t assume mtd labels are short</p></li>
</ul>
-</div>
-<div class="section" id="libffs">
+</section>
+<section id="libffs">
<h2>libffs<a class="headerlink" href="#libffs" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>libffs: Understand how to create FFS partition TOCs and entries.</li>
+<li><p>libffs: Understand how to create FFS partition TOCs and entries.</p></li>
</ul>
-</div>
-<div class="section" id="bmc-based-systems">
+</section>
+<section id="bmc-based-systems">
<h2>BMC Based systems<a class="headerlink" href="#bmc-based-systems" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">platforms/astbmc: Support PCI slots for palmetto</p>
-</li>
-<li><p class="first">habanero/slottable: Remove Network Mezz(2, 0) from PHB1.</p>
-</li>
-<li><p class="first">BMC/PCI: Check slot tables against detected devices
+<li><p>platforms/astbmc: Support PCI slots for palmetto</p></li>
+<li><p>habanero/slottable: Remove Network Mezz(2, 0) from PHB1.</p></li>
+<li><p>BMC/PCI: Check slot tables against detected devices
On BMC machines, we have slot tables of built in PHBs, slots and devices
that are physically present in the system (such as the BMC itself). We
can use these tables to check what we <em>detected</em> against what <em>should</em>
@@ -461,7 +415,7 @@ patch helps in that we get a skiboot error message, and at some point
in the future when we pump them up to the OS we could get a big friendly
error message telling you you’re having a bad day.</p>
</li>
-<li><p class="first">pci/quirk: Populate device tree for AST2400 VGA</p>
+<li><p>pci/quirk: Populate device tree for AST2400 VGA</p>
<p>Adding these properties enables the kernel to function in the same way
that it would if it could no longer access BMC configuration registers
through a backdoor, which may become the default in future.</p>
@@ -471,101 +425,78 @@ support this. Isolating the BMC and the host from each other is
important if they are owned by different parties; for example, a cloud
provider renting machines “bare metal”.</p>
</li>
-<li><p class="first">astbmc/pnor: Use mbox-flash for flash accesses</p>
+<li><p>astbmc/pnor: Use mbox-flash for flash accesses</p>
<p>If the BMC is MBOX protocol aware, request flash reads/writes over the
MBOX regs. This inits the blocklevel for pnor access with mbox-flash.</p>
</li>
-<li><p class="first">ast: Account for differences between 2400 vs 2500</p>
-</li>
-<li><p class="first">platform: set default bmc_platform
+<li><p>ast: Account for differences between 2400 vs 2500</p></li>
+<li><p>platform: set default bmc_platform
The bmc_platform pointer is set to NULL by default and on non-AMI BMC
platforms. As a result a few places in hw/ipmi/ipmi-sel.c will blindly
-dereference a NULL pointer.</p>
-</li>
+dereference a NULL pointer.</p></li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external: Update xscom utils for type 1 indirect accesses</p>
-</li>
-<li><p class="first">xscom: Harden indirect writes</p>
-</li>
-<li><p class="first">xscom: Add POWER9 scom reset</p>
-</li>
-<li><p class="first">homer : Enable HOMER region reservation for POWER9</p>
-</li>
-<li><p class="first">slw: Define stop idle states for P9 DD1</p>
-</li>
-<li><p class="first">slw: Fix parsing of supported STOP states</p>
-</li>
-<li><p class="first">slw: only enable supported STOP states</p>
-</li>
-<li><p class="first">dts: add support for p9 cores</p>
-</li>
-<li><p class="first">asm: Add POWER9 case to init_shared_sprs</p>
+<li><p>external: Update xscom utils for type 1 indirect accesses</p></li>
+<li><p>xscom: Harden indirect writes</p></li>
+<li><p>xscom: Add POWER9 scom reset</p></li>
+<li><p>homer : Enable HOMER region reservation for POWER9</p></li>
+<li><p>slw: Define stop idle states for P9 DD1</p></li>
+<li><p>slw: Fix parsing of supported STOP states</p></li>
+<li><p>slw: only enable supported STOP states</p></li>
+<li><p>dts: add support for p9 cores</p></li>
+<li><p>asm: Add POWER9 case to init_shared_sprs</p>
<p>For now, setup the HID and HMEER. We’ll add more as we get
good default values from HW.</p>
</li>
-<li><p class="first">xive/psi/lpc: Handle proper clearing of LPC SerIRQ latch on POWER9 DD1</p>
-</li>
-<li><p class="first">lpc: Mark the power9 LPC bus as compatible with power8</p>
-</li>
-<li><p class="first">Fix typo in PIR mask for POWER9. Fixes booting multi-chip.</p>
-</li>
-<li><p class="first">vpd: add vpd_valid() to check keyword VPD blobs</p>
+<li><p>xive/psi/lpc: Handle proper clearing of LPC SerIRQ latch on POWER9 DD1</p></li>
+<li><p>lpc: Mark the power9 LPC bus as compatible with power8</p></li>
+<li><p>Fix typo in PIR mask for POWER9. Fixes booting multi-chip.</p></li>
+<li><p>vpd: add vpd_valid() to check keyword VPD blobs</p>
<p>Adds a function to check whether a blob is a valid IBM ASCII keyword
VPD blob. This allows us to recognise when we do and do not have a VPD
blob and act accordingly.</p>
</li>
-<li><p class="first">core/cpu.c: Use a device-tree node to detect nest mmu presence
+<li><p>core/cpu.c: Use a device-tree node to detect nest mmu presence
The nest mmu address scom was hardcoded which could lead to boot
failure on POWER9 systems without a nest mmu. For example Mambo
doesn’t model the nest mmu which results in failure when
-calling opal_nmmu_set_ptcr() during kernel load.</p>
-</li>
-<li><p class="first">psi: Fix P9 BAR setup on multi-chips</p>
-</li>
+calling opal_nmmu_set_ptcr() during kernel load.</p></li>
+<li><p>psi: Fix P9 BAR setup on multi-chips</p></li>
</ul>
<p>PHB4:</p>
<blockquote>
<div><ul>
-<li><p class="first">phb4: Fix TVE encoding for start address</p>
-</li>
-<li><p class="first">phb4: Always assign powerbus BARs</p>
+<li><p>phb4: Fix TVE encoding for start address</p></li>
+<li><p>phb4: Always assign powerbus BARs</p>
<p>HostBoot configure them with weird values that confuse us, instead
let’s just own the assignment. This is temporary, I will centralize
memory map management next but this gets us going.</p>
</li>
-<li><p class="first">phb4: Fix endian issue with link control2/status2 registers
-Fixes training at larger than PCIe Gen1 speeds.</p>
-</li>
-<li><p class="first">phb4: Add ability to log config space access
-Useful for debugging</p>
-</li>
-<li><p class="first">phb4: Change debug prints
+<li><p>phb4: Fix endian issue with link control2/status2 registers
+Fixes training at larger than PCIe Gen1 speeds.</p></li>
+<li><p>phb4: Add ability to log config space access
+Useful for debugging</p></li>
+<li><p>phb4: Change debug prints
Currently we print “PHB4” and mean either “PHB version 4” or “PHB
-number 4” which can be quite confusing.</p>
-</li>
-<li><p class="first">phb4: Fix config space enable bits on DD1</p>
-</li>
-<li><p class="first">phb4: Fix location of EEH enable bits</p>
-</li>
-<li><p class="first">phb4: Fix setting of max link speed</p>
-</li>
-<li><p class="first">phb4: Updated inits as of PHB4 spec 0.52</p>
-</li>
+number 4” which can be quite confusing.</p></li>
+<li><p>phb4: Fix config space enable bits on DD1</p></li>
+<li><p>phb4: Fix location of EEH enable bits</p></li>
+<li><p>phb4: Fix setting of max link speed</p></li>
+<li><p>phb4: Updated inits as of PHB4 spec 0.52</p></li>
</ul>
</div></blockquote>
<p>HDAT fixes:</p>
<blockquote>
<div><ul>
-<li><p class="first">hdat: Parse BMC nodes much earlier</p>
+<li><p>hdat: Parse BMC nodes much earlier</p>
<p>This moves the parsing of the BMC and LPC details to the start of the
HDAT parsing. This allows us to enable the Skiboot log console earlier
so we can get debug output while parsing the rest of the HDAT.</p>
</li>
-<li><p class="first">astbmc: Don’t do P8 PSI or DT fixups on P9</p>
+<li><p>astbmc: Don’t do P8 PSI or DT fixups on P9</p>
<p>Previously the HDAT format was only ever used with IBM hardware so it
would store vital product data (VPD) blobs in the IBM ASCII Keyword VPD
format. With P9 HDAT is used on OpenPower machines which use Industry
@@ -576,7 +507,7 @@ under the “spd” property rather than the “ibm,vpd” property. This patch
adds support for recognising these blobs and placing them in the
appropriate DT property.</p>
</li>
-<li><p class="first">hdat: Add __packed to all HDAT structures and workaround HB reserve</p>
+<li><p>hdat: Add __packed to all HDAT structures and workaround HB reserve</p>
<p>Some HDAT structures aren’t properly aligned. We were using __packed
on some but not others and got at least one wrong (HB reserve). This
adds it everywhere to avoid such problems.</p>
@@ -586,63 +517,39 @@ assertion failure later on in mem_regions.c.</p>
<p>So also add a test to skip any region starting at 0 until we can
undertand that better and have it fixed one way or another.</p>
</li>
-<li><p class="first">hdat: Ignore broken memory reserves</p>
+<li><p>hdat: Ignore broken memory reserves</p>
<p>Ignore HDAT memory reserves &gt; 512MB. These are considered bogus and
workaround known HDAT bugs.</p>
</li>
-<li><p class="first">hdat: Add BMC device-tree node for P9 OpenPOWER systems</p>
-</li>
-<li><p class="first">hdat: Fix interrupt &amp; device_type of UART node</p>
+<li><p>hdat: Add BMC device-tree node for P9 OpenPOWER systems</p></li>
+<li><p>hdat: Fix interrupt &amp; device_type of UART node</p>
<p>The interrupt should use a standard “interrupts” property. The UART
node also need a device_type=”serial” property for historical reasons
otherwise Linux won’t pick it up.</p>
</li>
-<li><p class="first">parse and export STOP levels</p>
-</li>
-<li><p class="first">add new sppcrd_chip_info fields</p>
-</li>
-<li><p class="first">add radix-AP-encodings</p>
-</li>
-<li><p class="first">stop using proc_int_line in favor of pir</p>
-</li>
-<li><p class="first">rename add_icp() to add_xics_icp()</p>
-</li>
-<li><p class="first">Add support for PHB4</p>
-</li>
-<li><p class="first">create XIVE nodes under each xscom node</p>
-</li>
-<li><p class="first">Add P9 compatible property</p>
-</li>
-<li><p class="first">Parse hostboot memory reservations from HDAT</p>
-</li>
-<li><p class="first">Add new fields to IPL params structure and update sys family for p9.</p>
-</li>
-<li><p class="first">Fix ibm,pa-features for all CPU types</p>
-</li>
-<li><p class="first">Fix XSCOM nodes for P9</p>
-</li>
-<li><p class="first">Remove deprecated ‘ibm, mem-interleave-scope’ from DT on POWER9</p>
-</li>
-<li><p class="first">Grab system model name from HDAT when available</p>
-</li>
-<li><p class="first">Grab vendor information from HDAT when available</p>
-</li>
-<li><p class="first">SPIRA-H/S changes for P9</p>
-</li>
-<li><p class="first">Add BMC and LPC IOPATH support</p>
-</li>
-<li><p class="first">handle ISDIMM SPD blobs</p>
-</li>
-<li><p class="first">make HDIF_child() print more useful errors</p>
-</li>
-<li><p class="first">Add PSI HB xscom details</p>
-</li>
-<li><p class="first">Add new fields to proc_init_data structure</p>
-</li>
-<li><p class="first">Add processor version check for hs service ntuple</p>
-</li>
-<li><p class="first">add_iplparams_serial - Validate HDIF_get_iarray_size() return value</p>
-</li>
+<li><p>parse and export STOP levels</p></li>
+<li><p>add new sppcrd_chip_info fields</p></li>
+<li><p>add radix-AP-encodings</p></li>
+<li><p>stop using proc_int_line in favor of pir</p></li>
+<li><p>rename add_icp() to add_xics_icp()</p></li>
+<li><p>Add support for PHB4</p></li>
+<li><p>create XIVE nodes under each xscom node</p></li>
+<li><p>Add P9 compatible property</p></li>
+<li><p>Parse hostboot memory reservations from HDAT</p></li>
+<li><p>Add new fields to IPL params structure and update sys family for p9.</p></li>
+<li><p>Fix ibm,pa-features for all CPU types</p></li>
+<li><p>Fix XSCOM nodes for P9</p></li>
+<li><p>Remove deprecated ‘ibm, mem-interleave-scope’ from DT on POWER9</p></li>
+<li><p>Grab system model name from HDAT when available</p></li>
+<li><p>Grab vendor information from HDAT when available</p></li>
+<li><p>SPIRA-H/S changes for P9</p></li>
+<li><p>Add BMC and LPC IOPATH support</p></li>
+<li><p>handle ISDIMM SPD blobs</p></li>
+<li><p>make HDIF_child() print more useful errors</p></li>
+<li><p>Add PSI HB xscom details</p></li>
+<li><p>Add new fields to proc_init_data structure</p></li>
+<li><p>Add processor version check for hs service ntuple</p></li>
+<li><p>add_iplparams_serial - Validate HDIF_get_iarray_size() return value</p></li>
</ul>
</div></blockquote>
<p>XIVE:</p>
@@ -651,131 +558,124 @@ the changes that have gone into skiboot 5.5.0-rc1 for the new XIVE hardware
that is present in POWER9:</p>
<blockquote>
<div><ul class="simple">
-<li>xive: Enable backlog on queues</li>
-<li>xive: Use for_each_present_cpu() for setting up XIVE</li>
-<li>xive: Fix logic in opal_xive_get_xirr()</li>
-<li>xive: Properly initialize new VP and EQ structures</li>
-<li>xive: Improve/fix EOI of LSIs</li>
-<li>xive: Add FIXME comments about mask/umask races</li>
-<li>xive: Fix memory barrier in opal_xive_get_xirr()</li>
-<li>xive: Don’t try to find a target EQ for prio 0xff</li>
-<li>xive: Bump table sizes in direct mode</li>
-<li>xive: Properly register escalation interrupts</li>
-<li>xive: Split the OPAL irq flags from the internal ones</li>
-<li>xive: Don’t touch ESB masks unless masking/unmasking</li>
-<li>xive: Fix xive_get_ir_targetting()</li>
-<li>xive: Cleanup escalation PQ on queue change</li>
-<li>xive: Add <em>any chip</em> for allocating interrupts</li>
-<li>xive: Add chip_id to get_vp_info</li>
-<li>xive: Add opal_xive_get/set_vp_info</li>
-<li>xive: Add VP alloc/free OPAL functions</li>
-<li>xive: Workaround for bad DD1 checker</li>
-<li>xive: Add more checks for exploitation mode</li>
-<li>xive: Add support for EOIs via OPAL</li>
-<li>xive/phb4: Work around broken LSI control on P9 DD1</li>
-<li>xive: Forward interrupt names callback</li>
-<li>xive: Export opal_xive_reset() arguments in OPAL API</li>
-<li>xive: Add interrupt allocator</li>
-<li>xive: Implement xive_reset</li>
-<li>xive: Don’t assert if xive_get_vp() fails</li>
-<li>xive: Expose exploitation mode DT properties</li>
-<li>xive: Use a constant for max# of chips</li>
-<li>xive: Keep track of which interrupts were ever enabled
-In order to speed up xive reset</li>
-<li>xive: Implement internal VP allocator</li>
-<li>xive: Add xive_get/set_queue_info</li>
-<li>xive: Add helpers to encode and decode VP numbers</li>
-<li>xive: Add API to donate pages in indirect mode</li>
-<li>xive: Add asynchronous cache updates and update irq targetting</li>
-<li>xive: Split xive_provision_cpu() and use cache watch for VP</li>
-<li>xive: Add cache scrub to push watch updates to memory</li>
-<li>xive: Mark XIVE owned EQs with a specific flag</li>
-<li>xive: Use an allocator for EQDs</li>
-<li>xive: Break assumption that block ID == chip ID</li>
-<li>xive/phb4: Handle bad ESB offsets in PHB4 DD1</li>
-<li>xive: Implement get/set_irq_config APIs</li>
-<li>xive: Rework xive_set_eq_info() to store all info even when masking</li>
-<li>xive: Implement cache watch and use it for EQs</li>
-<li>xive: Add locking to some API calls</li>
-<li>xive: Add opal_xive_get_irq_info()</li>
-<li>xive: Add CPU node “interrupts” properties representing the IPIs</li>
-<li>xive: Add basic opal_xive_reset() call and exploitation mode</li>
-<li>xive: Add support for escalation interrupts</li>
-<li>xive: OPAL API update</li>
-<li>xive: Add some dump facility for debugging</li>
-<li>xive: Document exploitation mode
-(Pretty much work in progress)</li>
-<li>xive: Indirect table entries must have top bits “type” set</li>
-<li>xive: Remove unused field and clarify comment</li>
-<li>xive: Provide a way to override some IPI sources</li>
-<li>xive: Add helper to retrieve an IPI trigger port</li>
-<li>xive: Fix IPI EOI logic in opal_xive_eoi()</li>
-<li>xive: Don’t try to EOI a masked source</li>
-<li>xive: Fix comments in xive_source_set_xive()</li>
-<li>xive: Fix comments in xive_get_ive()</li>
-<li>xive: Configure forwarding ports</li>
-<li>xive: Fix mangling of interrupt server# in opal_get/set_xive()</li>
-<li>xive: Fix interrupt number mangling</li>
+<li><p>xive: Enable backlog on queues</p></li>
+<li><p>xive: Use for_each_present_cpu() for setting up XIVE</p></li>
+<li><p>xive: Fix logic in opal_xive_get_xirr()</p></li>
+<li><p>xive: Properly initialize new VP and EQ structures</p></li>
+<li><p>xive: Improve/fix EOI of LSIs</p></li>
+<li><p>xive: Add FIXME comments about mask/umask races</p></li>
+<li><p>xive: Fix memory barrier in opal_xive_get_xirr()</p></li>
+<li><p>xive: Don’t try to find a target EQ for prio 0xff</p></li>
+<li><p>xive: Bump table sizes in direct mode</p></li>
+<li><p>xive: Properly register escalation interrupts</p></li>
+<li><p>xive: Split the OPAL irq flags from the internal ones</p></li>
+<li><p>xive: Don’t touch ESB masks unless masking/unmasking</p></li>
+<li><p>xive: Fix xive_get_ir_targetting()</p></li>
+<li><p>xive: Cleanup escalation PQ on queue change</p></li>
+<li><p>xive: Add <em>any chip</em> for allocating interrupts</p></li>
+<li><p>xive: Add chip_id to get_vp_info</p></li>
+<li><p>xive: Add opal_xive_get/set_vp_info</p></li>
+<li><p>xive: Add VP alloc/free OPAL functions</p></li>
+<li><p>xive: Workaround for bad DD1 checker</p></li>
+<li><p>xive: Add more checks for exploitation mode</p></li>
+<li><p>xive: Add support for EOIs via OPAL</p></li>
+<li><p>xive/phb4: Work around broken LSI control on P9 DD1</p></li>
+<li><p>xive: Forward interrupt names callback</p></li>
+<li><p>xive: Export opal_xive_reset() arguments in OPAL API</p></li>
+<li><p>xive: Add interrupt allocator</p></li>
+<li><p>xive: Implement xive_reset</p></li>
+<li><p>xive: Don’t assert if xive_get_vp() fails</p></li>
+<li><p>xive: Expose exploitation mode DT properties</p></li>
+<li><p>xive: Use a constant for max# of chips</p></li>
+<li><p>xive: Keep track of which interrupts were ever enabled
+In order to speed up xive reset</p></li>
+<li><p>xive: Implement internal VP allocator</p></li>
+<li><p>xive: Add xive_get/set_queue_info</p></li>
+<li><p>xive: Add helpers to encode and decode VP numbers</p></li>
+<li><p>xive: Add API to donate pages in indirect mode</p></li>
+<li><p>xive: Add asynchronous cache updates and update irq targetting</p></li>
+<li><p>xive: Split xive_provision_cpu() and use cache watch for VP</p></li>
+<li><p>xive: Add cache scrub to push watch updates to memory</p></li>
+<li><p>xive: Mark XIVE owned EQs with a specific flag</p></li>
+<li><p>xive: Use an allocator for EQDs</p></li>
+<li><p>xive: Break assumption that block ID == chip ID</p></li>
+<li><p>xive/phb4: Handle bad ESB offsets in PHB4 DD1</p></li>
+<li><p>xive: Implement get/set_irq_config APIs</p></li>
+<li><p>xive: Rework xive_set_eq_info() to store all info even when masking</p></li>
+<li><p>xive: Implement cache watch and use it for EQs</p></li>
+<li><p>xive: Add locking to some API calls</p></li>
+<li><p>xive: Add opal_xive_get_irq_info()</p></li>
+<li><p>xive: Add CPU node “interrupts” properties representing the IPIs</p></li>
+<li><p>xive: Add basic opal_xive_reset() call and exploitation mode</p></li>
+<li><p>xive: Add support for escalation interrupts</p></li>
+<li><p>xive: OPAL API update</p></li>
+<li><p>xive: Add some dump facility for debugging</p></li>
+<li><p>xive: Document exploitation mode
+(Pretty much work in progress)</p></li>
+<li><p>xive: Indirect table entries must have top bits “type” set</p></li>
+<li><p>xive: Remove unused field and clarify comment</p></li>
+<li><p>xive: Provide a way to override some IPI sources</p></li>
+<li><p>xive: Add helper to retrieve an IPI trigger port</p></li>
+<li><p>xive: Fix IPI EOI logic in opal_xive_eoi()</p></li>
+<li><p>xive: Don’t try to EOI a masked source</p></li>
+<li><p>xive: Fix comments in xive_source_set_xive()</p></li>
+<li><p>xive: Fix comments in xive_get_ive()</p></li>
+<li><p>xive: Configure forwarding ports</p></li>
+<li><p>xive: Fix mangling of interrupt server# in opal_get/set_xive()</p></li>
+<li><p>xive: Fix interrupt number mangling</p></li>
</ul>
</div></blockquote>
-</div>
-<div class="section" id="fast-reboot">
+</section>
+<section id="fast-reboot">
<h2>Fast-reboot<a class="headerlink" href="#fast-reboot" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>fast-reboot: creset PHBs on fast reboot
+<li><p>fast-reboot: creset PHBs on fast reboot
On fast reboot, perform a creset of all PHBs. This ensures that any PHBs
-that are fenced will be working after the reboot.</li>
-<li>fast-reboot: Enable fast reboot with CAPI adapters in CAPI mode
-CAPI mode is disabled as part of OPAL_SYNC_HOST_REBOOT.</li>
-<li>opal/fast-reboot: set fw_progress sensor status with IPMI_FW_PCI_INIT.</li>
+that are fenced will be working after the reboot.</p></li>
+<li><p>fast-reboot: Enable fast reboot with CAPI adapters in CAPI mode
+CAPI mode is disabled as part of OPAL_SYNC_HOST_REBOOT.</p></li>
+<li><p>opal/fast-reboot: set fw_progress sensor status with IPMI_FW_PCI_INIT.</p></li>
</ul>
-</div>
-<div class="section" id="capi">
+</section>
+<section id="capi">
<h2>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hmi: Print CAPP FIR information when handling CAPP malfunction alerts</li>
+<li><p>hmi: Print CAPP FIR information when handling CAPP malfunction alerts</p></li>
</ul>
-</div>
-<div class="section" id="fsp-based-systems">
+</section>
+<section id="fsp-based-systems">
<h2>FSP based systems<a class="headerlink" href="#fsp-based-systems" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>hw/fsp: Do not queue SP and SPCN class messages during reset/reload
+<li><p>hw/fsp: Do not queue SP and SPCN class messages during reset/reload
This could cause soft lockups if FSP reset reload was done while in OPAL
During FSP R/R, the FSP is inaccessible and will lose state. Messages to the
-FSP are generally queued for sending later.</li>
+FSP are generally queued for sending later.</p></li>
</ul>
-</div>
-<div class="section" id="tests">
+</section>
+<section id="tests">
<h2>Tests<a class="headerlink" href="#tests" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><dl class="first docutils">
-<dt>core/test/run-trace: Reduce number of samples when running under valgrind</dt>
-<dd><p class="first last">This reduces ‘make check’ run time by ~10 seconds on my laptop,
+<li><dl class="simple">
+<dt>core/test/run-trace: Reduce number of samples when running under valgrind</dt><dd><p>This reduces ‘make check’ run time by ~10 seconds on my laptop,
and just the run-trace test itself takes 15 seconds less (under valgrind).</p>
</dd>
</dl>
</li>
-<li><p class="first">test/sreset_world: Kind of like Hello World, but from the SRESET vector.
-A regression test for the mambo implementation of OPAL_SIGNAL_SYSTEM_RESET.</p>
-</li>
-<li><dl class="first docutils">
-<dt>nvram-format: Fix endian issues</dt>
-<dd><p class="first">NVRAM formats are always BE, so let’s use the sparse annotation to catch
+<li><p>test/sreset_world: Kind of like Hello World, but from the SRESET vector.
+A regression test for the mambo implementation of OPAL_SIGNAL_SYSTEM_RESET.</p></li>
+<li><dl>
+<dt>nvram-format: Fix endian issues</dt><dd><p>NVRAM formats are always BE, so let’s use the sparse annotation to catch
any issues (and correct said issues).</p>
-<p class="last">On LE platforms, the test was erroneously passing as with building the
+<p>On LE platforms, the test was erroneously passing as with building the
nvram-format code on LE we were produces an incorrect NVRAM image.</p>
</dd>
</dl>
</li>
-<li><p class="first">test/hello_world: use P9MAMBO to differentiate from P8</p>
-</li>
-<li><p class="first">hdata_to_dt: Specify PVR on command line</p>
-</li>
-<li><p class="first">hdata/test: Add DTS output for the test cases</p>
-</li>
-<li><p class="first">hdata/test: strip blobs from the DT output</p>
-</li>
-<li><p class="first">mambo: add mprintf()</p>
+<li><p>test/hello_world: use P9MAMBO to differentiate from P8</p></li>
+<li><p>hdata_to_dt: Specify PVR on command line</p></li>
+<li><p>hdata/test: Add DTS output for the test cases</p></li>
+<li><p>hdata/test: strip blobs from the DT output</p></li>
+<li><p>mambo: add mprintf()</p>
<blockquote>
<div><p>mprintf() is printf(), but it goes straight to the mambo console. This
allows it to be independent of Skiboot’s actual console infrastructure
@@ -783,25 +683,18 @@ so it can be used for debugging the console drivers and for debugging
code that runs before the console is setup.</p>
</div></blockquote>
</li>
-<li><p class="first">generate-fwts-olog: add support for parsing prerror()</p>
-</li>
-<li><dl class="first docutils">
-<dt>Add bitmap test</dt>
-<dd><p class="first last">The worst test suite ever</p>
+<li><p>generate-fwts-olog: add support for parsing prerror()</p></li>
+<li><dl class="simple">
+<dt>Add bitmap test</dt><dd><p>The worst test suite ever</p>
</dd>
</dl>
</li>
-<li><p class="first">mambo_utils: add ascii output to hexdump</p>
-</li>
-<li><p class="first">mambo_utils: add p_str &lt;addr&gt; [limit]</p>
-</li>
-<li><p class="first">mambo_utils: make p return a value</p>
-</li>
-<li><p class="first">hello_world: print out full path of missing MAMBO_BINARY</p>
-</li>
-<li><p class="first">print-stb-container: Fix build on centos7</p>
-</li>
-<li><p class="first">Travis-ci improvements:
+<li><p>mambo_utils: add ascii output to hexdump</p></li>
+<li><p>mambo_utils: add p_str &lt;addr&gt; [limit]</p></li>
+<li><p>mambo_utils: make p return a value</p></li>
+<li><p>hello_world: print out full path of missing MAMBO_BINARY</p></li>
+<li><p>print-stb-container: Fix build on centos7</p></li>
+<li><p>Travis-ci improvements:
- install expect on ubuntu 12.04, disable qemu on 16.04/latest
- build and test more on centos7
- hello_world: run p9 mambo tests
@@ -810,598 +703,593 @@ code that runs before the console is setup.</p>
- install systemsim-p9
- enable fedora25
- always pull new docker image
-- add fedora rawhide</p>
-</li>
-<li><p class="first">Add fwts annotation for duplicate DT node entries.</p>
+- add fedora rawhide</p></li>
+<li><p>Add fwts annotation for duplicate DT node entries.</p>
<blockquote>
<div><p>Reference bug: <a class="reference external" href="https://github.com/open-power/op-build/issues/751">https://github.com/open-power/op-build/issues/751</a></p>
</div></blockquote>
</li>
-<li><p class="first">external/fwts: Add ‘last-tag’ to FWTS olog output
+<li><p>external/fwts: Add ‘last-tag’ to FWTS olog output
This isn’t so useful at the moment, but this will make cleaning out
-crufty old error definitions much easier.</p>
-</li>
-<li><p class="first">external/fwts: Add FWTS olog merge script
+crufty old error definitions much easier.</p></li>
+<li><p>external/fwts: Add FWTS olog merge script
A script to merge olog error definitions from multiple skiboot versions
into a single olog JSON file. Will prompt when conflicting patterns are
-found to update the pattern, or add both.</p>
-</li>
-<li><p class="first">mambo: fake NVRAM support</p>
-</li>
-<li><p class="first">mambo: Add Fake NVRAM driver</p>
-</li>
-<li><p class="first">external/mambo: add shortcut to print all GPRs</p>
-</li>
+found to update the pattern, or add both.</p></li>
+<li><p>mambo: fake NVRAM support</p></li>
+<li><p>mambo: Add Fake NVRAM driver</p></li>
+<li><p>external/mambo: add shortcut to print all GPRs</p></li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>Processed 363 csets from 28 developers.
A total of 18105 lines added, 16499 removed (delta 1606)</p>
-<div class="section" id="developers-with-the-most-changesets">
+<section id="developers-with-the-most-changesets">
<h3>Developers with the most changesets<a class="headerlink" href="#developers-with-the-most-changesets" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>138</td>
-<td>(38.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>138</p></td>
+<td><p>(38.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>56</td>
-<td>(15.4%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>56</p></td>
+<td><p>(15.4%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>47</td>
-<td>(12.9%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>47</p></td>
+<td><p>(12.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>18</td>
-<td>(5.0%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>18</p></td>
+<td><p>(5.0%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>15</td>
-<td>(4.1%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>15</p></td>
+<td><p>(4.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Claudio Carvalho</td>
-<td>14</td>
-<td>(3.9%)</td>
+<tr class="row-odd"><td><p>Claudio Carvalho</p></td>
+<td><p>14</p></td>
+<td><p>(3.9%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>11</td>
-<td>(3.0%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>11</p></td>
+<td><p>(3.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>11</td>
-<td>(3.0%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>11</p></td>
+<td><p>(3.0%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>11</td>
-<td>(3.0%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>11</p></td>
+<td><p>(3.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>5</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>5</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>5</td>
-<td>(1.4%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>5</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>5</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>5</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>4</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>4</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>4</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>4</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>3</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>3</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Jack Miller</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Jack Miller</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Matt Brown</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Matt Brown</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Hank Chang</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Hank Chang</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Willie Liauw</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Willie Liauw</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Werner Fischer</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Werner Fischer</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Alexey Kardashevskiy</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-changed-lines">
+</section>
+<section id="developers-with-the-most-changed-lines">
<h3>Developers with the most changed lines<a class="headerlink" href="#developers-with-the-most-changed-lines" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="13%" />
-<col width="18%" />
+<col style="width: 69%" />
+<col style="width: 13%" />
+<col style="width: 18%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>17961</td>
-<td>(56.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>17961</p></td>
+<td><p>(56.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>5509</td>
-<td>(17.4%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>5509</p></td>
+<td><p>(17.4%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>2801</td>
-<td>(8.8%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>2801</p></td>
+<td><p>(8.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1649</td>
-<td>(5.2%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1649</p></td>
+<td><p>(5.2%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>653</td>
-<td>(2.1%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>653</p></td>
+<td><p>(2.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Claudio Carvalho</td>
-<td>489</td>
-<td>(1.5%)</td>
+<tr class="row-odd"><td><p>Claudio Carvalho</p></td>
+<td><p>489</p></td>
+<td><p>(1.5%)</p></td>
</tr>
-<tr class="row-even"><td>Willie Liauw</td>
-<td>361</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Willie Liauw</p></td>
+<td><p>361</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>340</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>340</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>315</td>
-<td>(1.0%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>315</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>240</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>240</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>228</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>228</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>219</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>219</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>207</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>207</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>158</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>158</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Jack Miller</td>
-<td>127</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Jack Miller</p></td>
+<td><p>127</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>126</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>126</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Chris Smart</td>
-<td>95</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Chris Smart</p></td>
+<td><p>95</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Hank Chang</td>
-<td>56</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Hank Chang</p></td>
+<td><p>56</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>47</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>47</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>39</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>39</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Matt Brown</td>
-<td>29</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Matt Brown</p></td>
+<td><p>29</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Alexey Kardashevskiy</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Werner Fischer</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Werner Fischer</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Patrick Williams</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-lines-removed">
+</section>
+<section id="developers-with-the-most-lines-removed">
<h3>Developers with the most lines removed<a class="headerlink" href="#developers-with-the-most-lines-removed" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="13%" />
-<col width="18%" />
+<col style="width: 69%" />
+<col style="width: 13%" />
+<col style="width: 18%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>8810</td>
-<td>(53.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>8810</p></td>
+<td><p>(53.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>98</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>98</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>9</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>9</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Werner Fischer</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Werner Fischer</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-signoffs">
+</section>
+<section id="developers-with-the-most-signoffs">
<h3>Developers with the most signoffs<a class="headerlink" href="#developers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
<p>Total 322</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 67%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>307</td>
-<td>(95.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>307</p></td>
+<td><p>(95.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>6</td>
-<td>(1.9%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>6</p></td>
+<td><p>(1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>3</td>
-<td>(0.9%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>3</p></td>
+<td><p>(0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>2</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>2</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Hank Chang</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Hank Chang</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Jack Miller</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Jack Miller</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-reviews">
+</section>
+<section id="developers-with-the-most-reviews">
<h3>Developers with the most reviews<a class="headerlink" href="#developers-with-the-most-reviews" title="Permalink to this headline">¶</a></h3>
<p>Total: 45</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 67%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>10</td>
-<td>(22.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>10</p></td>
+<td><p>(22.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>9</td>
-<td>(20.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>9</p></td>
+<td><p>(20.0%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>6</td>
-<td>(13.3%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>6</p></td>
+<td><p>(13.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>5</td>
-<td>(11.1%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>5</p></td>
+<td><p>(11.1%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>4</td>
-<td>(8.9%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>4</p></td>
+<td><p>(8.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>3</td>
-<td>(6.7%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>3</p></td>
+<td><p>(6.7%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>2</td>
-<td>(4.4%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>2</p></td>
+<td><p>(4.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>2</td>
-<td>(4.4%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>2</p></td>
+<td><p>(4.4%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>2</td>
-<td>(4.4%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>2</p></td>
+<td><p>(4.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>1</td>
-<td>(2.2%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>1</p></td>
+<td><p>(2.2%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>1</td>
-<td>(2.2%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(2.2%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-test-credits">
+</section>
+<section id="developers-with-the-most-test-credits">
<h3>Developers with the most test credits<a class="headerlink" href="#developers-with-the-most-test-credits" title="Permalink to this headline">¶</a></h3>
<p>Total 11</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 67%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Willie Liauw</td>
-<td>4</td>
-<td>(36.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Willie Liauw</p></td>
+<td><p>4</p></td>
+<td><p>(36.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Claudio Carvalho</td>
-<td>3</td>
-<td>(27.3%)</td>
+<tr class="row-odd"><td><p>Claudio Carvalho</p></td>
+<td><p>3</p></td>
+<td><p>(27.3%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-tested-by-credits">
+</section>
+<section id="developers-who-gave-the-most-tested-by-credits">
<h3>Developers who gave the most tested-by credits<a class="headerlink" href="#developers-who-gave-the-most-tested-by-credits" title="Permalink to this headline">¶</a></h3>
<p>Total 11</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="13%" />
-<col width="18%" />
+<col style="width: 68%" />
+<col style="width: 13%" />
+<col style="width: 18%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>4</td>
-<td>(36.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>4</p></td>
+<td><p>(36.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>4</td>
-<td>(36.4%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>4</p></td>
+<td><p>(36.4%)</p></td>
</tr>
-<tr class="row-even"><td>Chris Smart</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Chris Smart</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>1</td>
-<td>(9.1%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1</p></td>
+<td><p>(9.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-report-credits">
+</section>
+<section id="developers-with-the-most-report-credits">
<h3>Developers with the most report credits<a class="headerlink" href="#developers-with-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
<p>Total 7</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Hank Chang</td>
-<td>4</td>
-<td>(57.1%)</td>
+<tbody>
+<tr class="row-even"><td><p>Hank Chang</p></td>
+<td><p>4</p></td>
+<td><p>(57.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Guilherme G. Piccoli</td>
-<td>1</td>
-<td>(14.3%)</td>
+<tr class="row-odd"><td><p>Guilherme G. Piccoli</p></td>
+<td><p>1</p></td>
+<td><p>(14.3%)</p></td>
</tr>
-<tr class="row-even"><td>Colin Ian King</td>
-<td>1</td>
-<td>(14.3%)</td>
+<tr class="row-even"><td><p>Colin Ian King</p></td>
+<td><p>1</p></td>
+<td><p>(14.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Pradipta Ghosh</td>
-<td>1</td>
-<td>(14.3%)</td>
+<tr class="row-odd"><td><p>Pradipta Ghosh</p></td>
+<td><p>1</p></td>
+<td><p>(14.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-report-credits">
+</section>
+<section id="developers-who-gave-the-most-report-credits">
<h3>Developers who gave the most report credits<a class="headerlink" href="#developers-who-gave-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
<p>Total 7</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>5</td>
-<td>(71.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>5</p></td>
+<td><p>(71.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(14.3%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(14.3%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(14.3%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(14.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1454,17 +1342,15 @@ A total of 18105 lines added, 16499 removed (delta 1606)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1481,14 +1367,15 @@ A total of 18105 lines added, 16499 removed (delta 1606)</p>
<li class="right" >
<a href="skiboot-5.5.0.html" title="skiboot-5.5.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.5.0-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.5.0-rc2.html b/doc/release-notes/skiboot-5.5.0-rc2.html
index 3e196ba..da5f5d1 100644
--- a/doc/release-notes/skiboot-5.5.0-rc2.html
+++ b/doc/release-notes/skiboot-5.5.0-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.5.0-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.5.0-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.5.0-rc1.html" title="skiboot-5.5.0-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.5.0-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-5-0-rc2">
+ <section id="skiboot-5-5-0-rc2">
<span id="id1"></span><h1>skiboot-5.5.0-rc2<a class="headerlink" href="#skiboot-5-5-0-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.5.0-rc2 was released on Monday April 3rd 2017. It is the second
release candidate of skiboot 5.5, which will become the new stable release
@@ -62,10 +62,10 @@ similar to op-build, but slightly offset to allow for a short stabilisation
period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
<p>Over <a class="reference internal" href="skiboot-5.5.0-rc1.html#skiboot-5-5-0-rc1"><span class="std std-ref">skiboot-5.5.0-rc1</span></a>, we have the following changes:</p>
-<div class="section" id="nvlink2">
+<section id="nvlink2">
<h2>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Introduce NPU2 support</p>
+<li><p>Introduce NPU2 support</p>
<p>NVLink2 is a new feature introduced on POWER9 systems. It is an
evolution of of the NVLink1 feature included in POWER8+ systems but
adds several new features including support for GPU address
@@ -77,7 +77,7 @@ can be shared between implementations in the firmware.</p>
<p>This patch adds basic hardware initialisation and exposure of the
virtual NVLink2 PCIe devices to the running OS.</p>
</li>
-<li><p class="first">npu2: Add OPAL calls for nvlink2 address translation services (see <a class="reference internal" href="../opal-api/opal-npu2-146-147-148.html#opal-npu2"><span class="std std-ref">OPAL NPU2 calls</span></a>)</p>
+<li><p>npu2: Add OPAL calls for nvlink2 address translation services (see <a class="reference internal" href="../opal-api/opal-npu2-146-147-148.html#opal-npu2"><span class="std std-ref">OPAL NPU2 calls</span></a>)</p>
<p>Adds three OPAL calls for interacting with NPU2 devices:
<a class="reference internal" href="../opal-api/opal-npu2-146-147-148.html#opal-npu-init-context"><span class="std std-ref">OPAL_NPU_INIT_CONTEXT</span></a>, <a class="reference internal" href="../opal-api/opal-npu2-146-147-148.html#opal-npu-destroy-context"><span class="std std-ref">OPAL_NPU_DESTROY_CONTEXT</span></a> and
<a class="reference internal" href="../opal-api/opal-npu2-146-147-148.html#opal-npu-map-lpar"><span class="std std-ref">OPAL_NPU_MAP_LPAR</span></a>.</p>
@@ -85,50 +85,49 @@ virtual NVLink2 PCIe devices to the running OS.</p>
(ATS) for a process/partition on a given NVLink2 device.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdata/memory: ignore homer and occ reserved ranges</p>
+<li><p>hdata/memory: ignore homer and occ reserved ranges</p>
<p>We populate these from the HOMER BARs in the PBA directly. There’s no
need to take the hostboot supplied values so just ignore the
corresponding reserved ranges.</p>
</li>
-<li><p class="first">hdata/vpd: Parse the OpenPOWER OPFR record</p>
+<li><p>hdata/vpd: Parse the OpenPOWER OPFR record</p>
<p>Parse the OpenPOWER FRU VPD (OPFR) record on OpenPOWER instead
of the VINI records.</p>
</li>
-<li><p class="first">hdata/vpd: Parse additional VINI records</p>
+<li><p>hdata/vpd: Parse additional VINI records</p>
<p>These records provide hardware version details, CCIN extension information,
card type details and hardware characteristics of the FRU</p>
</li>
-<li><p class="first">hdata/cpu: account for p9 shared caches</p>
+<li><p>hdata/cpu: account for p9 shared caches</p>
<p>On P9 the L2 and L3 caches are shared between pairs of SMT=4 cores.
Currently this is not accounted for when creating caches nodes in
the device tree. This patch adds additional checking so that a
cache node is only created for the first core in the pair and
the second core will reference the cache correctly.</p>
</li>
-<li><p class="first">hdata: print backtraces on HDAT errors</p>
-</li>
-<li><p class="first">hdat: ignore zero length reserves</p>
+<li><p>hdata: print backtraces on HDAT errors</p></li>
+<li><p>hdat: ignore zero length reserves</p>
<p>Hostboot can export reserved regions with a length of zero and these
should be ignored rather than being turned into reserved range. While
we’re here fix a memory leak by moving the “too large” region check
to before we allocate space for the label.</p>
</li>
-<li><p class="first">SLW: Add init for power9 power management</p>
+<li><p>SLW: Add init for power9 power management</p>
<p>This patch adds new function to init core for power9 power management.
SPECIAL_WKUP_* SCOM registers, if set, can hold the cores from going into
idle states. Hence, clear PPM_SPECIAL_WKUP_HYP_REG scom register for each
core during init. (This init are not required for MAMBO)</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/phb3: Adjust ECRC on root port dynamically</p>
+<li><p>hw/phb3: Adjust ECRC on root port dynamically</p>
<p>The Samsung NVMe adapter is lost when it’s connected to PMC 8546 PCIe
switch, until ECRC is disabled on the root port. We found similar issue
prevously when Broadcom adapter is connected to same part of PCIe switch
@@ -145,26 +144,24 @@ last PMC 8546 switch port is destroyed (in PCI hot remove scenario).
Except PHB’s reinitialization after complete reset, the ECRC on
root port is untouched.</p>
</li>
-<li><p class="first">core/pci: Fix lost NVMe adapter behind PMC 8546 switch</p>
+<li><p>core/pci: Fix lost NVMe adapter behind PMC 8546 switch</p>
<p>The NVMe adapter in below PCI topology is lost. The root cause is
the presence bit on its PCI slot is missed, but the PCIe link has
been up. The PCI core doesn’t probe the adapter behind the slot,
leading to lost NVMe adapter in the particular case.</p>
<ul class="simple">
-<li>PHB3 root port</li>
-<li>PLX switch 8748 (10b5:8748)</li>
-<li>PLX swich 9733 (10b5:9733)</li>
-<li>PMC 8546 swtich (11f8:8546)</li>
-<li>NVMe adapter (1c58:0023)</li>
+<li><p>PHB3 root port</p></li>
+<li><p>PLX switch 8748 (10b5:8748)</p></li>
+<li><p>PLX swich 9733 (10b5:9733)</p></li>
+<li><p>PMC 8546 swtich (11f8:8546)</p></li>
+<li><p>NVMe adapter (1c58:0023)</p></li>
</ul>
<p>This fixes the issue by overriding the PCI slot presence bit with
PCIe link state bit.</p>
</li>
-<li><p class="first">hw/phb4: Locate AER capability position if necessary</p>
-</li>
-<li><p class="first">core/pci: Disable surprise hotplug on root port</p>
-</li>
-<li><p class="first">core/pci: Ignore PCI slot capability on root port</p>
+<li><p>hw/phb4: Locate AER capability position if necessary</p></li>
+<li><p>core/pci: Disable surprise hotplug on root port</p></li>
+<li><p>core/pci: Ignore PCI slot capability on root port</p>
<p>We are creating PCI slot on root port, where the PCI slot isn’t
supported from hardware. For this case, we shouldn’t read the PCI
slot capability from hardware. When bogus data returned from the
@@ -175,11 +172,11 @@ without hardware support.</p>
isn’t set in hardware (pcie_cap + 0x2). Otherwise, the PCI slot’s
capability list is retrieved from hardware (pcie_cap + 0x14).</p>
</li>
-<li><p class="first">phb4: Default to PCIe GEN2 on DD1</p>
+<li><p>phb4: Default to PCIe GEN2 on DD1</p>
<p>Default to PCIe GEN2 link speeds on DD1 for stability.</p>
<p>Can be overridden using nvram pcie-max-link-speed=4 parameter.</p>
</li>
-<li><p class="first">phb3/4: Set max link speed via nvram</p>
+<li><p>phb3/4: Set max link speed via nvram</p>
<p>This adds an nvram parameter pcie-max-link-speed to configure the max
speed of the pcie link. This can be set from the petitboot prompt
using:</p>
@@ -190,18 +187,19 @@ using:</p>
global to all PHBs.</p>
</li>
</ul>
-</div>
-<div class="section" id="tests">
+</section>
+<section id="tests">
<h2>Tests<a class="headerlink" href="#tests" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Mambo/Qemu boot tests: expect (and fail) on checkstop</p>
+<li><p>Mambo/Qemu boot tests: expect (and fail) on checkstop</p>
<p>This allows us to fail a lot faster if we checkstop</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -232,17 +230,15 @@ global to all PHBs.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -259,14 +255,15 @@ global to all PHBs.</p>
<li class="right" >
<a href="skiboot-5.5.0-rc1.html" title="skiboot-5.5.0-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.5.0-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.5.0-rc3.html b/doc/release-notes/skiboot-5.5.0-rc3.html
index ca7df7f..3a4f332 100644
--- a/doc/release-notes/skiboot-5.5.0-rc3.html
+++ b/doc/release-notes/skiboot-5.5.0-rc3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.5.0-rc3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.5.0-rc3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.5.0-rc2.html" title="skiboot-5.5.0-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.5.0-rc3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-5-0-rc3">
+ <section id="skiboot-5-5-0-rc3">
<span id="id1"></span><h1>skiboot-5.5.0-rc3<a class="headerlink" href="#skiboot-5-5-0-rc3" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.5.0-rc3 was released on Wednesday April 5th 2017. It is the third
release candidate of skiboot 5.5, which will become the new stable release
@@ -63,38 +63,35 @@ period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
<p>Over <a class="reference internal" href="skiboot-5.5.0-rc2.html#skiboot-5-5-0-rc2"><span class="std std-ref">skiboot-5.5.0-rc2</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">xive: Fix setting of remote NVT VSD</p>
+<li><p>xive: Fix setting of remote NVT VSD</p>
<p>This fixes a checkstop when using my XIVE exploitation mode on some multi-chip machines.</p>
</li>
-<li><p class="first">core/init: Use ‘_’ as separator in names of “exports” properties</p>
+<li><p>core/init: Use ‘_’ as separator in names of “exports” properties</p>
<p>The names of the properties under /ibm,opal/firmware/exports are used
directly by Linux to create files in sysfs. To remain consistent with
the existing naming of OPAL sysfs files, use ‘_’ as the separator.</p>
-<dl class="docutils">
-<dt>In particular for the symbol map which is already exported separately,</dt>
-<dd><p class="first">it’s cleaner for the two files to have the same name, eg:</p>
-<div class="last highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">sys</span><span class="o">/</span><span class="n">firmware</span><span class="o">/</span><span class="n">opal</span><span class="o">/</span><span class="n">exports</span><span class="o">/</span><span class="n">symbol_map</span>
+<dl>
+<dt>In particular for the symbol map which is already exported separately,</dt><dd><p>it’s cleaner for the two files to have the same name, eg:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">sys</span><span class="o">/</span><span class="n">firmware</span><span class="o">/</span><span class="n">opal</span><span class="o">/</span><span class="n">exports</span><span class="o">/</span><span class="n">symbol_map</span>
<span class="o">/</span><span class="n">sys</span><span class="o">/</span><span class="n">firmware</span><span class="o">/</span><span class="n">opal</span><span class="o">/</span><span class="n">symbol_map</span>
</pre></div>
</div>
</dd>
</dl>
</li>
-<li><p class="first">hdata: fix reservation size</p>
+<li><p>hdata: fix reservation size</p>
<p>The hostboot reserved ranges are [start, end] pairs rather than
[start, end) so we need to stick a +1 in there to calculate the
size properly.</p>
</li>
-<li><p class="first">hdat: Add model-name property for OpenPower system</p>
-</li>
-<li><p class="first">hdat: Read description from ibm, vpd binary blob</p>
-</li>
-<li><p class="first">hdat: Populate model property with ‘Unknown’ in error path</p>
-</li>
+<li><p>hdat: Add model-name property for OpenPower system</p></li>
+<li><p>hdat: Read description from ibm, vpd binary blob</p></li>
+<li><p>hdat: Populate model property with ‘Unknown’ in error path</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -114,17 +111,15 @@ size properly.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -141,14 +136,15 @@ size properly.</p>
<li class="right" >
<a href="skiboot-5.5.0-rc2.html" title="skiboot-5.5.0-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.5.0-rc3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.5.0.html b/doc/release-notes/skiboot-5.5.0.html
index fe7ff64..175383f 100644
--- a/doc/release-notes/skiboot-5.5.0.html
+++ b/doc/release-notes/skiboot-5.5.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.5.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.5.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.4.9.html" title="skiboot-5.4.9"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.5.0</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-5-0">
+ <section id="skiboot-5-5-0">
<span id="id1"></span><h1>skiboot-5.5.0<a class="headerlink" href="#skiboot-5-5-0" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.5.0 was released on Friday April 7th 2017. It is the new stable
release of skiboot, taking over from the 5.4 release, first released on
@@ -60,23 +60,23 @@ skiboot master.</p>
similar to op-build, but slightly offset to allow for a short stabilisation
period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
-<div class="section" id="changes-in-skiboot-5-5-0">
+<section id="changes-in-skiboot-5-5-0">
<h2>Changes in skiboot-5.5.0<a class="headerlink" href="#changes-in-skiboot-5-5-0" title="Permalink to this headline">¶</a></h2>
<p>See changes in the release candidates:</p>
<ul class="simple">
-<li><a class="reference internal" href="skiboot-5.5.0-rc1.html#skiboot-5-5-0-rc1"><span class="std std-ref">skiboot-5.5.0-rc1</span></a></li>
-<li><a class="reference internal" href="skiboot-5.5.0-rc2.html#skiboot-5-5-0-rc2"><span class="std std-ref">skiboot-5.5.0-rc2</span></a></li>
-<li><a class="reference internal" href="skiboot-5.5.0-rc3.html#skiboot-5-5-0-rc3"><span class="std std-ref">skiboot-5.5.0-rc3</span></a></li>
+<li><p><a class="reference internal" href="skiboot-5.5.0-rc1.html#skiboot-5-5-0-rc1"><span class="std std-ref">skiboot-5.5.0-rc1</span></a></p></li>
+<li><p><a class="reference internal" href="skiboot-5.5.0-rc2.html#skiboot-5-5-0-rc2"><span class="std std-ref">skiboot-5.5.0-rc2</span></a></p></li>
+<li><p><a class="reference internal" href="skiboot-5.5.0-rc3.html#skiboot-5-5-0-rc3"><span class="std std-ref">skiboot-5.5.0-rc3</span></a></p></li>
</ul>
-</div>
-<div class="section" id="changes-since-skiboot-5-5-0-rc3">
+</section>
+<section id="changes-since-skiboot-5-5-0-rc3">
<h2>Changes since skiboot-5.5.0-rc3<a class="headerlink" href="#changes-since-skiboot-5-5-0-rc3" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdat: parse processor attached i2c devices</p>
+<li><p>hdat: parse processor attached i2c devices</p>
<p>Adds basic parsing for i2c devices that are attached to the processor
I2C interfaces. This is mainly VPD SEEPROMs.</p>
</li>
-<li><p class="first">libflash/blocklevel: Add blocklevel_smart_erase()</p>
+<li><p>libflash/blocklevel: Add blocklevel_smart_erase()</p>
<p>With recent changes to flash drivers in linux not all erase blocks are
4K anymore. While most level of the pflash/gard tool stacks were written
to not mind, it turns out there are bugs which means not 4K erase block
@@ -88,95 +88,91 @@ which they are usually not with 64K erase blocks.</p>
least) pflash and the gard tool don’t need to worry about the problem
anymore.</p>
</li>
-<li><p class="first">external/pflash: Use blocklevel_smart_erase()</p>
-</li>
-<li><p class="first">external/gard: Use blocklevel_smart_erase()</p>
-</li>
-<li><p class="first">libstb/create-container: Add full container build and sign with imprint keys</p>
+<li><p>external/pflash: Use blocklevel_smart_erase()</p></li>
+<li><p>external/gard: Use blocklevel_smart_erase()</p></li>
+<li><p>libstb/create-container: Add full container build and sign with imprint keys</p>
<p>This adds support for writing all the public key and signature fields to the
container header, and for dumping the prefix and software headers so they may
may be signed, and for signing those headers with the imprint keys.</p>
</li>
-<li><p class="first">asm: do not set SDR1 on POWER9. This register does not exist in ISAv3.</p>
-</li>
+<li><p>asm: do not set SDR1 on POWER9. This register does not exist in ISAv3.</p></li>
</ul>
<p>Testing:</p>
<ul>
-<li><p class="first">mambo: Allow setting the Linux command line from the environment</p>
+<li><p>mambo: Allow setting the Linux command line from the environment</p>
<p>For automated testing it’s helpful to be able to set the Linux command
line via an environment variable.</p>
</li>
-<li><p class="first">mambo: Add util function for breaking on console output</p>
-</li>
+<li><p>mambo: Add util function for breaking on console output</p></li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>Processed 408 csets from 31 developers</p>
<p>3 employers found</p>
<p>A total of 24073 lines added, 16759 removed (delta 7314)</p>
<p>Extending the analysis done for the last few releases, we can see our trends
in code review across versions:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="19%" />
-<col width="14%" />
-<col width="17%" />
-<col width="17%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 19%" />
+<col style="width: 14%" />
+<col style="width: 17%" />
+<col style="width: 17%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack</th>
-<th class="head">Reviews</th>
-<th class="head">Tested</th>
-<th class="head">Reported</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack</p></th>
+<th class="head"><p>Reviews</p></th>
+<th class="head"><p>Tested</p></th>
+<th class="head"><p>Reported</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15</td>
-<td>20</td>
-<td>1</td>
-<td>0</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13</td>
-<td>38</td>
-<td>1</td>
-<td>4</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20</td>
-<td>34</td>
-<td>6</td>
-<td>11</td>
-</tr>
-<tr class="row-odd"><td>5.3-rc1</td>
-<td>302</td>
-<td>36</td>
-<td>53</td>
-<td>4</td>
-<td>5</td>
-</tr>
-<tr class="row-even"><td>5.4.0</td>
-<td>361</td>
-<td>16</td>
-<td>28</td>
-<td>1</td>
-<td>9</td>
-</tr>
-<tr class="row-odd"><td>5.5.0</td>
-<td>408</td>
-<td>11</td>
-<td>48</td>
-<td>14</td>
-<td>10</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15</p></td>
+<td><p>20</p></td>
+<td><p>1</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13</p></td>
+<td><p>38</p></td>
+<td><p>1</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20</p></td>
+<td><p>34</p></td>
+<td><p>6</p></td>
+<td><p>11</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.3-rc1</p></td>
+<td><p>302</p></td>
+<td><p>36</p></td>
+<td><p>53</p></td>
+<td><p>4</p></td>
+<td><p>5</p></td>
+</tr>
+<tr class="row-even"><td><p>5.4.0</p></td>
+<td><p>361</p></td>
+<td><p>16</p></td>
+<td><p>28</p></td>
+<td><p>1</p></td>
+<td><p>9</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.5.0</p></td>
+<td><p>408</p></td>
+<td><p>11</p></td>
+<td><p>48</p></td>
+<td><p>14</p></td>
+<td><p>10</p></td>
</tr>
</tbody>
</table>
@@ -184,712 +180,713 @@ in code review across versions:</p>
over our 5.4.0 release. Although we are not yet back up to 5.3 era levels for
review, we’re much closer. For tested-by, we’ve set a new record, which is
excellent!</p>
-<div class="section" id="developers-with-the-most-changesets">
+<section id="developers-with-the-most-changesets">
<h3>Developers with the most changesets<a class="headerlink" href="#developers-with-the-most-changesets" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>139</td>
-<td>(34.1%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>139</p></td>
+<td><p>(34.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>60</td>
-<td>(14.7%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>60</p></td>
+<td><p>(14.7%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>54</td>
-<td>(13.2%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>54</p></td>
+<td><p>(13.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>23</td>
-<td>(5.6%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>23</p></td>
+<td><p>(5.6%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>20</td>
-<td>(4.9%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>20</p></td>
+<td><p>(4.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>15</td>
-<td>(3.7%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>15</p></td>
+<td><p>(3.7%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>15</td>
-<td>(3.7%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>15</p></td>
+<td><p>(3.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Claudio Carvalho</td>
-<td>14</td>
-<td>(3.4%)</td>
+<tr class="row-odd"><td><p>Claudio Carvalho</p></td>
+<td><p>14</p></td>
+<td><p>(3.4%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>11</td>
-<td>(2.7%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>11</p></td>
+<td><p>(2.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>9</td>
-<td>(2.2%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>9</p></td>
+<td><p>(2.2%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>6</td>
-<td>(1.5%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>6</p></td>
+<td><p>(1.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>5</td>
-<td>(1.2%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>5</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>5</td>
-<td>(1.2%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>5</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>5</td>
-<td>(1.2%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>5</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Ellerman</td>
-<td>4</td>
-<td>(1.0%)</td>
+<tr class="row-even"><td><p>Michael Ellerman</p></td>
+<td><p>4</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>4</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>4</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>3</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>3</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Jack Miller</td>
-<td>2</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Jack Miller</p></td>
+<td><p>2</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Chris Smart</td>
-<td>2</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Chris Smart</p></td>
+<td><p>2</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Dave Heller</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Dave Heller</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Akshay Adiga</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Akshay Adiga</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Matt Brown</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Matt Brown</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Hank Chang</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Hank Chang</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Willie Liauw</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Willie Liauw</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Werner Fischer</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Werner Fischer</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Patrick Williams</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Patrick Williams</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Alexey Kardashevskiy</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-changed-lines">
+</section>
+<section id="developers-with-the-most-changed-lines">
<h3>Developers with the most changed lines<a class="headerlink" href="#developers-with-the-most-changed-lines" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="13%" />
-<col width="18%" />
+<col style="width: 68%" />
+<col style="width: 13%" />
+<col style="width: 18%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>18278</td>
-<td>(48.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>18278</p></td>
+<td><p>(48.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>5512</td>
-<td>(14.6%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>5512</p></td>
+<td><p>(14.6%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>3184</td>
-<td>(8.4%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>3184</p></td>
+<td><p>(8.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>3102</td>
-<td>(8.2%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>3102</p></td>
+<td><p>(8.2%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>2757</td>
-<td>(7.3%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>2757</p></td>
+<td><p>(7.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>802</td>
-<td>(2.1%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>802</p></td>
+<td><p>(2.1%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>544</td>
-<td>(1.4%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>544</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Claudio Carvalho</td>
-<td>489</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Claudio Carvalho</p></td>
+<td><p>489</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Dave Heller</td>
-<td>425</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Dave Heller</p></td>
+<td><p>425</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Willie Liauw</td>
-<td>361</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Willie Liauw</p></td>
+<td><p>361</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>315</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>315</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>290</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>290</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>253</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>253</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>228</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>228</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>222</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>222</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>198</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>198</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>158</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>158</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Jack Miller</td>
-<td>127</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Jack Miller</p></td>
+<td><p>127</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>126</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>126</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Chris Smart</td>
-<td>95</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Chris Smart</p></td>
+<td><p>95</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Akshay Adiga</td>
-<td>57</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Akshay Adiga</p></td>
+<td><p>57</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Hank Chang</td>
-<td>56</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Hank Chang</p></td>
+<td><p>56</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>47</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>47</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>29</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>29</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Matt Brown</td>
-<td>29</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Matt Brown</p></td>
+<td><p>29</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Alexey Kardashevskiy</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Werner Fischer</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Werner Fischer</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Patrick Williams</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Patrick Williams</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-lines-removed">
+</section>
+<section id="developers-with-the-most-lines-removed">
<h3>Developers with the most lines removed<a class="headerlink" href="#developers-with-the-most-lines-removed" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="13%" />
-<col width="18%" />
+<col style="width: 68%" />
+<col style="width: 13%" />
+<col style="width: 18%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>8516</td>
-<td>(50.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>8516</p></td>
+<td><p>(50.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Werner Fischer</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Werner Fischer</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-signoffs">
+</section>
+<section id="developers-with-the-most-signoffs">
<h3>Developers with the most signoffs<a class="headerlink" href="#developers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
<p>Total: 364</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 67%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>348</td>
-<td>(95.6%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>348</p></td>
+<td><p>(95.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>6</td>
-<td>(1.6%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>6</p></td>
+<td><p>(1.6%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>3</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>3</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>2</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>2</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Hank Chang</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Hank Chang</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Jack Miller</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Jack Miller</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-reviews">
+</section>
+<section id="developers-with-the-most-reviews">
<h3>Developers with the most reviews<a class="headerlink" href="#developers-with-the-most-reviews" title="Permalink to this headline">¶</a></h3>
<p>Total 50</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 67%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>14</td>
-<td>(28.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>14</p></td>
+<td><p>(28.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>9</td>
-<td>(18.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>9</p></td>
+<td><p>(18.0%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>6</td>
-<td>(12.0%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>6</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>5</td>
-<td>(10.0%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>5</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>4</td>
-<td>(8.0%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>4</p></td>
+<td><p>(8.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>3</td>
-<td>(6.0%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>3</p></td>
+<td><p>(6.0%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>3</td>
-<td>(6.0%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>3</p></td>
+<td><p>(6.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>2</td>
-<td>(4.0%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>2</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>2</td>
-<td>(4.0%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>2</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>1</td>
-<td>(2.0%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>1</p></td>
+<td><p>(2.0%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>1</td>
-<td>(2.0%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(2.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-test-credits">
+</section>
+<section id="developers-with-the-most-test-credits">
<h3>Developers with the most test credits<a class="headerlink" href="#developers-with-the-most-test-credits" title="Permalink to this headline">¶</a></h3>
<p>Total 14</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="67%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 67%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Willie Liauw</td>
-<td>4</td>
-<td>(28.6%)</td>
+<tbody>
+<tr class="row-even"><td><p>Willie Liauw</p></td>
+<td><p>4</p></td>
+<td><p>(28.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Mark E Schreiter</td>
-<td>3</td>
-<td>(21.4%)</td>
+<tr class="row-odd"><td><p>Mark E Schreiter</p></td>
+<td><p>3</p></td>
+<td><p>(21.4%)</p></td>
</tr>
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>3</td>
-<td>(21.4%)</td>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>3</p></td>
+<td><p>(21.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>1</td>
-<td>(7.1%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>1</td>
-<td>(7.1%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(7.1%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-even"><td>Chris Smart</td>
-<td>1</td>
-<td>(7.1%)</td>
+<tr class="row-even"><td><p>Chris Smart</p></td>
+<td><p>1</p></td>
+<td><p>(7.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-tested-by-credits">
+</section>
+<section id="developers-who-gave-the-most-tested-by-credits">
<h3>Developers who gave the most tested-by credits<a class="headerlink" href="#developers-who-gave-the-most-tested-by-credits" title="Permalink to this headline">¶</a></h3>
<p>Total 14</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>7</td>
-<td>(50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>7</p></td>
+<td><p>(50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>4</td>
-<td>(28.6%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>4</p></td>
+<td><p>(28.6%)</p></td>
</tr>
-<tr class="row-even"><td>Chris Smart</td>
-<td>1</td>
-<td>(7.1%)</td>
+<tr class="row-even"><td><p>Chris Smart</p></td>
+<td><p>1</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>1</td>
-<td>(7.1%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>1</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>1</td>
-<td>(7.1%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1</p></td>
+<td><p>(7.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-report-credits">
+</section>
+<section id="developers-with-the-most-report-credits">
<h3>Developers with the most report credits<a class="headerlink" href="#developers-with-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
<p>Total 10</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="78%" />
-<col width="3%" />
-<col width="19%" />
+<col style="width: 78%" />
+<col style="width: 3%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Hank Chang</td>
-<td>4</td>
-<td>(40.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Hank Chang</p></td>
+<td><p>4</p></td>
+<td><p>(40.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Mark E Schreiter</td>
-<td>3</td>
-<td>(30.0%)</td>
+<tr class="row-odd"><td><p>Mark E Schreiter</p></td>
+<td><p>3</p></td>
+<td><p>(30.0%)</p></td>
</tr>
-<tr class="row-even"><td>Guilherme G. Piccoli</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-even"><td><p>Guilherme G. Piccoli</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Colin Ian King</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-odd"><td><p>Colin Ian King</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-even"><td>Pradipta Ghosh</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-even"><td><p>Pradipta Ghosh</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-report-credits">
+</section>
+<section id="developers-who-gave-the-most-report-credits">
<h3>Developers who gave the most report credits<a class="headerlink" href="#developers-who-gave-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
<p>Total 10</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="78%" />
-<col width="3%" />
-<col width="19%" />
+<col style="width: 78%" />
+<col style="width: 3%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gavin Shan</td>
-<td>8</td>
-<td>(80.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>8</p></td>
+<td><p>(80.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="top-changeset-contributors-by-employer">
+</section>
+<section id="top-changeset-contributors-by-employer">
<h3>Top changeset contributors by employer<a class="headerlink" href="#top-changeset-contributors-by-employer" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>406</td>
-<td>(99.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>406</p></td>
+<td><p>(99.5%)</p></td>
</tr>
-<tr class="row-odd"><td>SuperMicro</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>SuperMicro</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Thomas-Krenn AG</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Thomas-Krenn AG</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="top-lines-changed-by-employer">
+</section>
+<section id="top-lines-changed-by-employer">
<h3>Top lines changed by employer<a class="headerlink" href="#top-lines-changed-by-employer" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="68%" />
-<col width="14%" />
-<col width="19%" />
+<col style="width: 68%" />
+<col style="width: 14%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>37329</td>
-<td>(99.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>37329</p></td>
+<td><p>(99.0%)</p></td>
</tr>
-<tr class="row-odd"><td>SuperMicro</td>
-<td>361</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>SuperMicro</p></td>
+<td><p>361</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Thomas-Krenn AG</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Thomas-Krenn AG</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="employers-with-the-most-signoffs">
+</section>
+<section id="employers-with-the-most-signoffs">
<h3>Employers with the most signoffs<a class="headerlink" href="#employers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
<p>Total 364</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>363</td>
-<td>(99.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>363</p></td>
+<td><p>(99.7%)</p></td>
</tr>
-<tr class="row-odd"><td>(Unknown)</td>
-<td>1</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>(Unknown)</p></td>
+<td><p>1</p></td>
+<td><p>(0.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="employers-with-the-most-hackers">
+</section>
+<section id="employers-with-the-most-hackers">
<h3>Employers with the most hackers<a class="headerlink" href="#employers-with-the-most-hackers" title="Permalink to this headline">¶</a></h3>
<p>Total 31</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>29</td>
-<td>(93.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>29</p></td>
+<td><p>(93.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Thomas-Krenn AG</td>
-<td>1</td>
-<td>(3.2%)</td>
+<tr class="row-odd"><td><p>Thomas-Krenn AG</p></td>
+<td><p>1</p></td>
+<td><p>(3.2%)</p></td>
</tr>
-<tr class="row-even"><td>SuperMicro</td>
-<td>1</td>
-<td>(3.2%)</td>
+<tr class="row-even"><td><p>SuperMicro</p></td>
+<td><p>1</p></td>
+<td><p>(3.2%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -934,17 +931,15 @@ excellent!</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -961,14 +956,15 @@ excellent!</p>
<li class="right" >
<a href="skiboot-5.4.9.html" title="skiboot-5.4.9"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.5.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.6.0-rc1.html b/doc/release-notes/skiboot-5.6.0-rc1.html
index 3b62cea..7e67949 100644
--- a/doc/release-notes/skiboot-5.6.0-rc1.html
+++ b/doc/release-notes/skiboot-5.6.0-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.6.0-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.6.0-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.6.0.html" title="skiboot-5.6.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.6.0-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-6-0-rc1">
+ <section id="skiboot-5-6-0-rc1">
<span id="id1"></span><h1>skiboot-5.6.0-rc1<a class="headerlink" href="#skiboot-5-6-0-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.6.0-rc1 was released on Tuesday May 16th 2017. It is the first
release candidate of skiboot 5.6, which will become the new stable release
@@ -63,60 +63,52 @@ similar to op-build, but slightly offset to allow for a short stabilisation
period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
<p>Over skiboot-5.5, we have the following changes:</p>
-<div class="section" id="new-platforms">
+<section id="new-platforms">
<h2>New Platforms<a class="headerlink" href="#new-platforms" title="Permalink to this headline">¶</a></h2>
<p>Thanks to SuperMicro for submitting support for the p9dsu platform, AKA Boston.</p>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<p>XIVE:</p>
<blockquote>
<div><ul>
-<li><p class="first">xive: Clear emulation mode queue on reset</p>
-</li>
-<li><p class="first">xive: Fixes/improvements to xive reset for multi-chip systems</p>
-</li>
-<li><p class="first">xive: Synchronize after disable IRQs in opal_xive_reset()</p>
-</li>
-<li><p class="first">xive: Workaround a problem with indirect TM access</p>
-</li>
-<li><p class="first">hdata: Make FSPv1 work again
-One less thing to work around for those crazy enough to try.</p>
-</li>
-<li><p class="first">xive: Log more information in opal_xive_dump() for emulation state</p>
+<li><p>xive: Clear emulation mode queue on reset</p></li>
+<li><p>xive: Fixes/improvements to xive reset for multi-chip systems</p></li>
+<li><p>xive: Synchronize after disable IRQs in opal_xive_reset()</p></li>
+<li><p>xive: Workaround a problem with indirect TM access</p></li>
+<li><p>hdata: Make FSPv1 work again
+One less thing to work around for those crazy enough to try.</p></li>
+<li><p>xive: Log more information in opal_xive_dump() for emulation state</p>
<p>Add a counter of total interrupts taken by a CPU, dump the
queue buffer both before and after the current pointer,
and also display the HW state of the queue descriptor and
the PQ state of the IPI.</p>
</li>
-<li><p class="first">xive: Add a per-cpu logging mechanism to XICS emulation</p>
+<li><p>xive: Add a per-cpu logging mechanism to XICS emulation</p>
<p>This is a small 32-entries rolling buffer that logs a few
operations. It’s useful to debug odd problems. The output
is printed when opal_xive_dump() is called.</p>
</li>
-<li><p class="first">xive: Check queues for duplicates in DEBUG builds.</p>
+<li><p>xive: Check queues for duplicates in DEBUG builds.</p>
<p>There should never be duplicate interrupts in a queue.
This adds code to check that when looking at the queue
content. Since it can be a performance loss, this is only
done for debug builds.</p>
</li>
-<li><p class="first">xive+phb4: Fix exposing trigger page to Linux</p>
-</li>
+<li><p>xive+phb4: Fix exposing trigger page to Linux</p></li>
</ul>
</div></blockquote>
<p>HDAT Parsing:</p>
<blockquote>
<div><ul>
-<li><p class="first">hdata/spira.c: Add device-tree bindings for nest mmu</p>
-</li>
-<li><p class="first">hdata/i2c: Workaround broken i2c devices</p>
-</li>
-<li><p class="first">hdata: indicate when booted with elevated risk level</p>
+<li><p>hdata/spira.c: Add device-tree bindings for nest mmu</p></li>
+<li><p>hdata/i2c: Workaround broken i2c devices</p></li>
+<li><p>hdata: indicate when booted with elevated risk level</p>
<p>When the system is IPLed with an elevated risk level Hostboot will
set a flag in the IPL parameters structure. Parse and export this
in the device tree at: /ipl-params/sys-params/elevated-risk-level</p>
</li>
-<li><p class="first">hdata: Respect OCC and HOMER resevations</p>
+<li><p>hdata: Respect OCC and HOMER resevations</p>
<p>In the past we’ve ignored these since Hostboot insisted in exporting
broken reservations and the OCC was not being used yet. This situation
seems to have resolved itself so we should respect the reservations that
@@ -126,7 +118,7 @@ hostboot provides.</p>
</div></blockquote>
<p>I2C:</p>
<ul>
-<li><p class="first">i2c: Add interrupts support on P9</p>
+<li><p>i2c: Add interrupts support on P9</p>
<p>Some older revisions of hostboot populate the host i2c device fields
with all zero entires. Detect and ignore these so we don’t crash on
boot.</p>
@@ -160,7 +152,7 @@ CPU 0034 Backtrace:
<p>PHB4:</p>
<blockquote>
<div><ul>
-<li><p class="first">phb4: Enforce root complex config space size of 2048</p>
+<li><p>phb4: Enforce root complex config space size of 2048</p>
<p>The root complex config space size on PHB4 is 2048. This patch sets
that size and enforces it when trying to read/write the config space
in the root complex.</p>
@@ -168,29 +160,26 @@ in the root complex.</p>
cause an EEH on the PHB.</p>
<p>If too high, reads returns 1s and writes are silently dropped.</p>
</li>
-<li><p class="first">phb4: Add an option for disabling EEH MMIO in nvram</p>
+<li><p>phb4: Add an option for disabling EEH MMIO in nvram</p>
<p>Having the option to disable EEH for MMIO without rebuilding skiboot
could be useful for testing, so check for pci-eeh-mmio=disabled in nvram.</p>
<p>This is not designed to be a supported option or configuration, just
an option that’s useful in bringup and development of POWER9 systems.</p>
</li>
-<li><p class="first">phb4: Fix slot presence detect</p>
+<li><p>phb4: Fix slot presence detect</p>
<p>This has the nice side effect of improving boot times since we no
longer waste time tring to train links that don’t have anything
present.</p>
</li>
-<li><p class="first">phb4: Enable EEH for MMIO</p>
-</li>
-<li><p class="first">phb4: Implement fence check</p>
-</li>
-<li><p class="first">phb4: Implement diag data</p>
-</li>
+<li><p>phb4: Enable EEH for MMIO</p></li>
+<li><p>phb4: Implement fence check</p></li>
+<li><p>phb4: Implement diag data</p></li>
</ul>
</div></blockquote>
<p>OCC:</p>
<blockquote>
<div><ul>
-<li><p class="first">occ/irq: Fix SCOM address and irq reasons for P9 OCC</p>
+<li><p>occ/irq: Fix SCOM address and irq reasons for P9 OCC</p>
<p>This patch fixes the SCOM address for OCC_MISC register which is used
for OCC interupts. In P9, OCC sends an interrupt to notify change in
the shared memory like throttle status. This patch handles this
@@ -201,39 +190,38 @@ interrupt reason.</p>
<p>PRD:</p>
<blockquote>
<div><ul class="simple">
-<li>prd: Fix PRD scoms for P9</li>
+<li><p>prd: Fix PRD scoms for P9</p></li>
</ul>
</div></blockquote>
<p>NX/DARN:</p>
<blockquote>
<div><ul class="simple">
-<li>nx: Add POWER9 DARN support</li>
+<li><p>nx: Add POWER9 DARN support</p></li>
</ul>
</div></blockquote>
<p>NPU2:</p>
<blockquote>
<div><ul>
-<li><p class="first">npu2: Do not attempt to initialise non DD1 hardware</p>
+<li><p>npu2: Do not attempt to initialise non DD1 hardware</p>
<p>There are significant changes to hardware register addresses and
meanings on newer chip revisions making them unlikely to work
correctly with the existing code. Better to fail clearly and early.</p>
</li>
-<li><p class="first">npu, npu2: Describe diag data size in device tree</p>
-</li>
+<li><p>npu, npu2: Describe diag data size in device tree</p></li>
</ul>
</div></blockquote>
<p>Memory Reservation:</p>
<blockquote>
<div><ul>
-<li><p class="first">mem_region: Add reserved regions after memory init</p>
+<li><p>mem_region: Add reserved regions after memory init</p>
<p>When a new memory region is added (e.g for memory reserved by firmware)
the list of existing memory regions is iterated through and a cut-out is
made in any existing region that overlaps with the new one. Prior to the
HDAT reservations being made the region init process was always:</p>
<blockquote>
<div><ol class="arabic simple">
-<li>Create regions from the memory&#64;&lt;addr&gt; DT nodes. (mostly large)</li>
-<li>Create reserved regions from the device-tree. (mostly small)</li>
+<li><p>Create regions from the memory&#64;&lt;addr&gt; DT nodes. (mostly large)</p></li>
+<li><p>Create reserved regions from the device-tree. (mostly small)</p></li>
</ol>
</div></blockquote>
<p>When adding new regions we have assumed that the new region will only
@@ -247,11 +235,11 @@ reservations are handled.</p>
</li>
</ul>
</div></blockquote>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pci: Describe PHB diag data size in device tree</p>
+<li><p>pci: Describe PHB diag data size in device tree</p>
<p>Linux hardcodes the PHB diag data buffer at (as of this commit) 8192 bytes.
This has been enough for P7IOC and PHB3, but the 512 PEs of PHB4 pushes
the diag data blob over this size. Rather than just increasing the
@@ -262,32 +250,30 @@ and PHB3.</p>
<p>P7IOC communicates both hub and PHB data using this buffer, so when
setting the size, use whichever struct is largest.</p>
</li>
-<li><p class="first">hdata/i2c: Fix bus and clock frequencies</p>
-</li>
-<li><p class="first">ibm-fsp: use opal-prd on p9 and above</p>
+<li><p>hdata/i2c: Fix bus and clock frequencies</p></li>
+<li><p>ibm-fsp: use opal-prd on p9 and above</p>
<p>Previously the PRD tooling ran on the FSP, but it was moved into
userspace on the host for OpenPower systems. For P9 this system
was adopted for FSP systems too.</p>
</li>
</ul>
-</div>
-<div class="section" id="i2c">
+</section>
+<section id="i2c">
<h2>I2C<a class="headerlink" href="#i2c" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">i2c: Remove old hack for bad clock frequency</p>
+<li><p>i2c: Remove old hack for bad clock frequency</p>
<p>This hack dates back to ancient P8 hostboots. The value
it would use if it detected the “bad” value was incorrect
anyway.</p>
</li>
-<li><p class="first">i2c: Log the engine clock frequency at boot</p>
-</li>
+<li><p>i2c: Log the engine clock frequency at boot</p></li>
</ul>
-</div>
-<div class="section" id="fsp-systems">
+</section>
+<section id="fsp-systems">
<h2>FSP Systems<a class="headerlink" href="#fsp-systems" title="Permalink to this headline">¶</a></h2>
<p>These include the Apollo, Firenze and ZZ platforms.</p>
<ul>
-<li><p class="first">Remove multiple logging for un-handled fsp sub commands.</p>
+<li><p>Remove multiple logging for un-handled fsp sub commands.</p>
<p>If any new or unknown command need to be handled, just log
un-hnadled message from only fsp, not required from fsp-dpo.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cat</span> <span class="o">/</span><span class="n">sys</span><span class="o">/</span><span class="n">firmware</span><span class="o">/</span><span class="n">opal</span><span class="o">/</span><span class="n">msglog</span> <span class="o">|</span> <span class="n">grep</span> <span class="o">-</span><span class="n">i</span> <span class="p">,</span><span class="mi">3</span>
@@ -299,7 +285,7 @@ un-hnadled message from only fsp, not required from fsp-dpo.</p>
</pre></div>
</div>
</li>
-<li><p class="first">FSP: Notify FSP of Platform Log ID after Host Initiated Reset Reload</p>
+<li><p>FSP: Notify FSP of Platform Log ID after Host Initiated Reset Reload</p>
<p>Trigging a Host Initiated Reset (when the host detects the FSP has gone
out to lunch and should be rebooted), would cause “Unknown Command” messages
to appear in the OPAL log.</p>
@@ -323,13 +309,12 @@ reset/reload”. When the FSP comes back from HIR, it asks “hey, so, which
error log explains why you rebooted me?”. So, we tell it.</p>
</li>
</ul>
-</div>
-<div class="section" id="misc">
+</section>
+<section id="misc">
<h2>Misc<a class="headerlink" href="#misc" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdata_to_dt: Misc improvements in the utility and unit test</p>
-</li>
-<li><p class="first">GCC7: fixes for -Wimplicit-fallthrough expected regexes</p>
+<li><p>hdata_to_dt: Misc improvements in the utility and unit test</p></li>
+<li><p>GCC7: fixes for -Wimplicit-fallthrough expected regexes</p>
<p>It turns out GCC7 adds a useful warning and does fancy things like
parsing your comments to work out that you intended to do the fallthrough.
There’s a few places where we don’t match the regex. Fix them, as it’s
@@ -338,16 +323,13 @@ harmless to do so.</p>
<p>While we do not have everything needed to start building successfully
with GCC7 (well, at least doing so warning clean), it’s a start.</p>
</li>
-<li><p class="first">hdata/i2c: avoid possible int32_t overflow</p>
+<li><p>hdata/i2c: avoid possible int32_t overflow</p>
<p>We’re safe up until engine number 524288. Found by static analysis (of course)</p>
</li>
-<li><p class="first">tpm_i2c_nuvoton: fix use-after-free in tpm_register_chip failure path</p>
-</li>
-<li><p class="first">mambo: Fix reserved-ranges node</p>
-</li>
-<li><p class="first">external/mambo: add helper for machine checks</p>
-</li>
-<li><p class="first">console: Set log level from nvram</p>
+<li><p>tpm_i2c_nuvoton: fix use-after-free in tpm_register_chip failure path</p></li>
+<li><p>mambo: Fix reserved-ranges node</p></li>
+<li><p>external/mambo: add helper for machine checks</p></li>
+<li><p>console: Set log level from nvram</p>
<p>This adds two new nvram options to set the console log level for the
driver/uart and in memory. These are called log-level-memory and
log-level-driver.</p>
@@ -363,15 +345,11 @@ warning, notice, printf, info, debug, trace or insane. ie.</p>
</pre></div>
</div>
</li>
-<li><p class="first">npu: Implement Function Level Reset (FLR)</p>
-</li>
-<li><p class="first">mbox: Sanitize interrupts registers</p>
-</li>
-<li><p class="first">xive: Fix potential for lost IPIs when manipulating CPPR</p>
-</li>
-<li><p class="first">xive: Don’t double EOI interrupts that have an EOI override</p>
-</li>
-<li><p class="first">libflash/file: Only use 64bit MTD erase ioctl() when needed</p>
+<li><p>npu: Implement Function Level Reset (FLR)</p></li>
+<li><p>mbox: Sanitize interrupts registers</p></li>
+<li><p>xive: Fix potential for lost IPIs when manipulating CPPR</p></li>
+<li><p>xive: Don’t double EOI interrupts that have an EOI override</p></li>
+<li><p>libflash/file: Only use 64bit MTD erase ioctl() when needed</p>
<p>We recently made MTD 64 bit safe in e5720d3fe94 which now requires the
64 bit MTD erase ioctl. Unfortunately this ioctl is not present in
older kernels used by some BMC vendors that use pflash.</p>
@@ -383,478 +361,479 @@ beforehand if the kernel supports it. The ioctl() will fail and an error
will be returned from from the function.</p>
</li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>This release contains 81 csets from 15 developers, working at 2 employers.
A total of 2496 lines added, 641 removed (delta 1855)</p>
-<div class="section" id="developers-with-the-most-changesets">
+<section id="developers-with-the-most-changesets">
<h3>Developers with the most changesets<a class="headerlink" href="#developers-with-the-most-changesets" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>17</td>
-<td>(21.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>17</p></td>
+<td><p>(21.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>17</td>
-<td>(21.0%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>17</p></td>
+<td><p>(21.0%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>16</td>
-<td>(19.8%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>16</p></td>
+<td><p>(19.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>9</td>
-<td>(11.1%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>9</p></td>
+<td><p>(11.1%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>8</td>
-<td>(9.9%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>8</p></td>
+<td><p>(9.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>5</td>
-<td>(6.2%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>5</p></td>
+<td><p>(6.2%)</p></td>
</tr>
-<tr class="row-even"><td><a class="reference external" href="mailto:ppaidipe&#37;&#52;&#48;linux&#46;vnet&#46;ibm&#46;com">ppaidipe<span>&#64;</span>linux<span>&#46;</span>vnet<span>&#46;</span>ibm<span>&#46;</span>com</a></td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-even"><td><p><a class="reference external" href="mailto:ppaidipe&#37;&#52;&#48;linux&#46;vnet&#46;ibm&#46;com">ppaidipe<span>&#64;</span>linux<span>&#46;</span>vnet<span>&#46;</span>ibm<span>&#46;</span>com</a></p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Dave Heller</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-odd"><td><p>Dave Heller</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Jeff Scheel</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-even"><td><p>Jeff Scheel</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Alexey Kardashevskiy</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-even"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Jim Yuan</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-odd"><td><p>Jim Yuan</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-changed-lines">
+</section>
+<section id="developers-with-the-most-changed-lines">
<h3>Developers with the most changed lines<a class="headerlink" href="#developers-with-the-most-changed-lines" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="73%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 73%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Michael Neuling</td>
-<td>748</td>
-<td>(28.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>748</p></td>
+<td><p>(28.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>405</td>
-<td>(15.4%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>405</p></td>
+<td><p>(15.4%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>360</td>
-<td>(13.7%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>360</p></td>
+<td><p>(13.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>297</td>
-<td>(11.3%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>297</p></td>
+<td><p>(11.3%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>187</td>
-<td>(7.1%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>187</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>183</td>
-<td>(7.0%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>183</p></td>
+<td><p>(7.0%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>175</td>
-<td>(6.6%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>175</p></td>
+<td><p>(6.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>79</td>
-<td>(3.0%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>79</p></td>
+<td><p>(3.0%)</p></td>
</tr>
-<tr class="row-even"><td>Jim Yuan</td>
-<td>56</td>
-<td>(2.1%)</td>
+<tr class="row-even"><td><p>Jim Yuan</p></td>
+<td><p>56</p></td>
+<td><p>(2.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>45</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>45</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>38</td>
-<td>(1.4%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>38</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Alexey Kardashevskiy</td>
-<td>37</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>37</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Jeff Scheel</td>
-<td>19</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Jeff Scheel</p></td>
+<td><p>19</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Dave Heller</td>
-<td>2</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Dave Heller</p></td>
+<td><p>2</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-lines-removed">
+</section>
+<section id="developers-with-the-most-lines-removed">
<h3>Developers with the most lines removed<a class="headerlink" href="#developers-with-the-most-lines-removed" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="73%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 73%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(0.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(0.2%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-signoffs">
+</section>
+<section id="developers-with-the-most-signoffs">
<h3>Developers with the most signoffs<a class="headerlink" href="#developers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
<p>Total of 73.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="71%" />
-<col width="9%" />
-<col width="20%" />
+<col style="width: 71%" />
+<col style="width: 9%" />
+<col style="width: 20%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>56</td>
-<td>(76.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>56</p></td>
+<td><p>(76.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>16</td>
-<td>(21.9%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>16</p></td>
+<td><p>(21.9%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>1</td>
-<td>(1.4%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>1</p></td>
+<td><p>(1.4%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-reviews">
+</section>
+<section id="developers-with-the-most-reviews">
<h3>Developers with the most reviews<a class="headerlink" href="#developers-with-the-most-reviews" title="Permalink to this headline">¶</a></h3>
<p>Total of 6.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="71%" />
-<col width="9%" />
-<col width="20%" />
+<col style="width: 71%" />
+<col style="width: 9%" />
+<col style="width: 20%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>3</td>
-<td>(50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>3</p></td>
+<td><p>(50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-even"><td>Gavin Shan</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-even"><td><p>Gavin Shan</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-test-credits">
+</section>
+<section id="developers-with-the-most-test-credits">
<h3>Developers with the most test credits<a class="headerlink" href="#developers-with-the-most-test-credits" title="Permalink to this headline">¶</a></h3>
<p>Total of 5.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="71%" />
-<col width="9%" />
-<col width="20%" />
+<col style="width: 71%" />
+<col style="width: 9%" />
+<col style="width: 20%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>2</td>
-<td>(40.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>2</p></td>
+<td><p>(40.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-tested-by-credits">
+</section>
+<section id="developers-who-gave-the-most-tested-by-credits">
<h3>Developers who gave the most tested-by credits<a class="headerlink" href="#developers-who-gave-the-most-tested-by-credits" title="Permalink to this headline">¶</a></h3>
<p>Total of 5.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="71%" />
-<col width="9%" />
-<col width="20%" />
+<col style="width: 71%" />
+<col style="width: 9%" />
+<col style="width: 20%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>2</td>
-<td>(40.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>2</p></td>
+<td><p>(40.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>2</td>
-<td>(40.0%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>2</p></td>
+<td><p>(40.0%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-report-credits">
+</section>
+<section id="developers-with-the-most-report-credits">
<h3>Developers with the most report credits<a class="headerlink" href="#developers-with-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
<p>Total of 2.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="73%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 73%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-report-credits">
+</section>
+<section id="developers-who-gave-the-most-report-credits">
<h3>Developers who gave the most report credits<a class="headerlink" href="#developers-who-gave-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
<p>Total of 2.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="8%" />
-<col width="22%" />
+<col style="width: 69%" />
+<col style="width: 8%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>2</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>2</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="top-changeset-contributors-by-employer">
+</section>
+<section id="top-changeset-contributors-by-employer">
<h3>Top changeset contributors by employer<a class="headerlink" href="#top-changeset-contributors-by-employer" title="Permalink to this headline">¶</a></h3>
<p>Total of 2.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="71%" />
-<col width="9%" />
-<col width="20%" />
+<col style="width: 71%" />
+<col style="width: 9%" />
+<col style="width: 20%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>80</td>
-<td>(98.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>80</p></td>
+<td><p>(98.8%)</p></td>
</tr>
-<tr class="row-odd"><td>SuperMicro</td>
-<td>1</td>
-<td>(1.2%)</td>
+<tr class="row-odd"><td><p>SuperMicro</p></td>
+<td><p>1</p></td>
+<td><p>(1.2%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="top-lines-changed-by-employer">
+</section>
+<section id="top-lines-changed-by-employer">
<h3>Top lines changed by employer<a class="headerlink" href="#top-lines-changed-by-employer" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>2576</td>
-<td>(97.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>2576</p></td>
+<td><p>(97.9%)</p></td>
</tr>
-<tr class="row-odd"><td>SuperMicro</td>
-<td>56</td>
-<td>(2.1%)</td>
+<tr class="row-odd"><td><p>SuperMicro</p></td>
+<td><p>56</p></td>
+<td><p>(2.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="employers-with-the-most-signoffs">
+</section>
+<section id="employers-with-the-most-signoffs">
<h3>Employers with the most signoffs<a class="headerlink" href="#employers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
<p>Total 73.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="8%" />
-<col width="22%" />
+<col style="width: 69%" />
+<col style="width: 8%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>73</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>73</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="employers-with-the-most-hackers">
+</section>
+<section id="employers-with-the-most-hackers">
<h3>Employers with the most hackers<a class="headerlink" href="#employers-with-the-most-hackers" title="Permalink to this headline">¶</a></h3>
<p>Total 15.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="71%" />
-<col width="9%" />
-<col width="20%" />
+<col style="width: 71%" />
+<col style="width: 9%" />
+<col style="width: 20%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>14</td>
-<td>(93.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>14</p></td>
+<td><p>(93.3%)</p></td>
</tr>
-<tr class="row-odd"><td>SuperMicro</td>
-<td>1</td>
-<td>(6.7%)</td>
+<tr class="row-odd"><td><p>SuperMicro</p></td>
+<td><p>1</p></td>
+<td><p>(6.7%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -903,17 +882,15 @@ A total of 2496 lines added, 641 removed (delta 1855)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -930,14 +907,15 @@ A total of 2496 lines added, 641 removed (delta 1855)</p>
<li class="right" >
<a href="skiboot-5.6.0.html" title="skiboot-5.6.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.6.0-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.6.0-rc2.html b/doc/release-notes/skiboot-5.6.0-rc2.html
index 6d9fc31..18577de 100644
--- a/doc/release-notes/skiboot-5.6.0-rc2.html
+++ b/doc/release-notes/skiboot-5.6.0-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.6.0-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.6.0-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.6.0-rc1.html" title="skiboot-5.6.0-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.6.0-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-6-0-rc2">
+ <section id="skiboot-5-6-0-rc2">
<span id="id1"></span><h1>skiboot-5.6.0-rc2<a class="headerlink" href="#skiboot-5-6-0-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.6.0-rc2 was released on Friday May 19th 2017. It is the second
release candidate of skiboot 5.6, which will become the new stable release
@@ -64,7 +64,7 @@ period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
<p>Over <a class="reference internal" href="skiboot-5.6.0-rc1.html#skiboot-5-6-0-rc1"><span class="std std-ref">skiboot-5.6.0-rc1</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">hw/i2c: Fix early lock drop</p>
+<li><p>hw/i2c: Fix early lock drop</p>
<p>When interacting with an I2C master the p8-i2c driver (common to p9)
aquires a per-master lock which it holds for the duration of it’s
interaction with the master. Unfortunately, when
@@ -74,7 +74,7 @@ contrary to the driver’s locking strategy which requires that the
caller aquire and drop the lock. This leads to a crash due to the
double unlock(), which skiboot treats as fatal.</p>
</li>
-<li><p class="first">mambo: Add skiboot/linux symbol lookup</p>
+<li><p>mambo: Add skiboot/linux symbol lookup</p>
<p>Adds the skisym and linsym commands which can be used to find the
address of a Linux or Skiboot symbol. To function this requires
the user to provide the SKIBOOT_MAP and VMLINUX_MAP environmental
@@ -82,21 +82,21 @@ variables which indicate which skiboot.map and System.map files
should be used.</p>
<p>Examples:</p>
<ul>
-<li><p class="first">Look up a symbol address:</p>
+<li><p>Look up a symbol address:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">systemsim</span> <span class="o">%</span> <span class="n">skisym</span> <span class="o">.</span><span class="n">load_and_boot_kernel</span>
<span class="mh">0x0000000030013a08</span>
</pre></div>
</div>
</li>
-<li><p class="first">Set a breakpoint there:</p>
+<li><p>Set a breakpoint there:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">systemsim</span> <span class="o">%</span> <span class="n">b</span> <span class="p">[</span><span class="n">skisym</span> <span class="o">.</span><span class="n">load_and_boot_kernel</span><span class="p">]</span>
-<span class="n">breakpoint</span> <span class="nb">set</span> <span class="n">at</span> <span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">0</span><span class="p">]:</span> <span class="mh">0x0000000030013a08</span> <span class="p">(</span><span class="mh">0x0000000030013A08</span><span class="p">)</span> <span class="n">Enc</span><span class="p">:</span><span class="mh">0x7D800026</span> <span class="p">:</span> <span class="n">mfcr</span> <span class="n">r12</span>
+<span class="nb">breakpoint</span> <span class="nb">set</span> <span class="n">at</span> <span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">0</span><span class="p">]:</span> <span class="mh">0x0000000030013a08</span> <span class="p">(</span><span class="mh">0x0000000030013A08</span><span class="p">)</span> <span class="n">Enc</span><span class="p">:</span><span class="mh">0x7D800026</span> <span class="p">:</span> <span class="n">mfcr</span> <span class="n">r12</span>
</pre></div>
</div>
</li>
</ul>
</li>
-<li><p class="first">libstb: Fix build in OpenSSL 1.1</p>
+<li><p>libstb: Fix build in OpenSSL 1.1</p>
<p>The build failure was as follows:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>[ HOSTCC ] libstb/create-container.c
In file included from /usr/include/openssl/asn1.h:24:0,
@@ -111,9 +111,10 @@ libstb/create-container.c:104:31: error: dereferencing pointer to incomplete
</div>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -133,17 +134,15 @@ libstb/create-container.c:104:31: error: dereferencing pointer to incomplete
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -160,14 +159,15 @@ libstb/create-container.c:104:31: error: dereferencing pointer to incomplete
<li class="right" >
<a href="skiboot-5.6.0-rc1.html" title="skiboot-5.6.0-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.6.0-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.6.0.html b/doc/release-notes/skiboot-5.6.0.html
index ac335e5..226062d 100644
--- a/doc/release-notes/skiboot-5.6.0.html
+++ b/doc/release-notes/skiboot-5.6.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.6.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.6.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.5.0-rc3.html" title="skiboot-5.5.0-rc3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.6.0</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-6-0">
+ <section id="skiboot-5-6-0">
<span id="id1"></span><h1>skiboot-5.6.0<a class="headerlink" href="#skiboot-5-6-0" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.6.0 was released on Wednesday 24th May 2017. It is the new stable
release of skiboot, taking over from the 5.5 release, first released on
@@ -58,18 +58,19 @@ do not currently expect to do any 5.5.x stable releases.</p>
<p>This release is a good level set of POWER9 support for bringup activities.
If you are doing bringup, it is strongly suggested you continue to follow
skiboot master.</p>
-<div class="section" id="changes-in-skiboot-5-6-0">
+<section id="changes-in-skiboot-5-6-0">
<h2>Changes in skiboot-5.6.0<a class="headerlink" href="#changes-in-skiboot-5-6-0" title="Permalink to this headline">¶</a></h2>
<p>See changes in the release candidates:</p>
<ul class="simple">
-<li><a class="reference internal" href="skiboot-5.6.0-rc1.html#skiboot-5-6-0-rc1"><span class="std std-ref">skiboot-5.6.0-rc1</span></a></li>
-<li><a class="reference internal" href="skiboot-5.6.0-rc2.html#skiboot-5-6-0-rc2"><span class="std std-ref">skiboot-5.6.0-rc2</span></a></li>
+<li><p><a class="reference internal" href="skiboot-5.6.0-rc1.html#skiboot-5-6-0-rc1"><span class="std std-ref">skiboot-5.6.0-rc1</span></a></p></li>
+<li><p><a class="reference internal" href="skiboot-5.6.0-rc2.html#skiboot-5-6-0-rc2"><span class="std std-ref">skiboot-5.6.0-rc2</span></a></p></li>
</ul>
<p>The final 5.6.0 release has no functional changes over the 5.6.0-rc2.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -97,17 +98,15 @@ skiboot master.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -124,14 +123,15 @@ skiboot master.</p>
<li class="right" >
<a href="skiboot-5.5.0-rc3.html" title="skiboot-5.5.0-rc3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.6.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.7-rc1.html b/doc/release-notes/skiboot-5.7-rc1.html
index 6e88491..0b3095f 100644
--- a/doc/release-notes/skiboot-5.7-rc1.html
+++ b/doc/release-notes/skiboot-5.7-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.7-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.7-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.7.html" title="skiboot-5.7"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.7-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-7-rc1">
+ <section id="skiboot-5-7-rc1">
<span id="id1"></span><h1>skiboot-5.7-rc1<a class="headerlink" href="#skiboot-5-7-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.7-rc1 was released on Monday July 3rd 2017. It is the first
release candidate of skiboot 5.7, which will become the new stable release
@@ -63,17 +63,17 @@ similar to op-build, but slightly offset to allow for a short stabilisation
period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
<p>Over skiboot-5.6, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>New features in this release for POWER9 systems:</p>
<ul class="simple">
-<li>In Memory Counters (IMC) (See <a class="reference internal" href="../imc.html#imc"><span class="std std-ref">OPAL/Skiboot In-Memory Collection (IMC) interface Documentation</span></a> for details)</li>
-<li>phb4: Activate shared PCI slot on witherspoon (see <a class="reference internal" href="#shared-slot-5-7-rc1-rn"><span class="std std-ref">Shared Slot</span></a>)</li>
-<li>phb4 capi (i.e. CAPI2): Enable capi mode for PHB4 (see <a class="reference internal" href="#capi2-5-7-rc1-rn"><span class="std std-ref">CAPI on PHB4</span></a>)</li>
+<li><p>In Memory Counters (IMC) (See <a class="reference internal" href="../imc.html#imc"><span class="std std-ref">OPAL/Skiboot In-Memory Collection (IMC) interface Documentation</span></a> for details)</p></li>
+<li><p>phb4: Activate shared PCI slot on witherspoon (see <a class="reference internal" href="#shared-slot-5-7-rc1-rn"><span class="std std-ref">Shared Slot</span></a>)</p></li>
+<li><p>phb4 capi (i.e. CAPI2): Enable capi mode for PHB4 (see <a class="reference internal" href="#capi2-5-7-rc1-rn"><span class="std std-ref">CAPI on PHB4</span></a>)</p></li>
</ul>
<p>New feature for IBM FSP based systems:</p>
<ul>
-<li><p class="first">fsp/tpo: Provide support for disabling TPO alarm</p>
+<li><p>fsp/tpo: Provide support for disabling TPO alarm</p>
<p>This patch adds support for disabling a preconfigured
Timed-Power-On(TPO) alarm on FSP based systems. Presently once a TPO alarm
is configured from the kernel it will be triggered even if its
@@ -86,22 +86,22 @@ expected to call opal_tpo_write() with y_m_d==hr_min==0 to request
opal to disable TPO alarm.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<p>Development on POWER9 systems continues in earnest.</p>
<p>This release includes the first support for POWER9 DD2 chips. Future releases
will likely contain more bug fixes, this release has booted on real hardware.</p>
<ul>
-<li><p class="first">hdata: Reserve Trace Areas</p>
+<li><p>hdata: Reserve Trace Areas</p>
<p>When hostboot is configured to setup in memory tracing it will reserve
some memory for use by the hardware tracing facility. We need to mark
these areas as off limits to the operating system and firmware.</p>
</li>
-<li><p class="first">hdata: Make out-of-range idata print at PR_DEBUG</p>
+<li><p>hdata: Make out-of-range idata print at PR_DEBUG</p>
<p>Some fields just aren’t populated on some systems.</p>
</li>
-<li><p class="first">hdata: Ignore unnamed memory reservations.</p>
+<li><p>hdata: Ignore unnamed memory reservations.</p>
<p>Hostboot should name any and all memory reservations that it provides.
Currently some hostboots export a broken reservation covering the first
256MB of memory and this causes the system to crash at boot due to an
@@ -110,19 +110,19 @@ region (which covers the first 768MB of memory).</p>
<p>According to the hostboot team unnamed reservations are invalid and can
be ignored.</p>
</li>
-<li><p class="first">hdata: Check the Host I2C devices array version</p>
+<li><p>hdata: Check the Host I2C devices array version</p>
<p>Currently this is not populated on FSP machines which causes some
obnoxious errors to appear in the boot log. We also only want to
parse version 1 of this structure since future versions will completely
change the array item format.</p>
</li>
-<li><p class="first">Ensure P9 DD1 workarounds apply only to Nimbus</p>
+<li><p>Ensure P9 DD1 workarounds apply only to Nimbus</p>
<p>The workarounds for P9 DD1 are only needed for Nimbus. P9 Cumulus will
be DD1 but don’t need these same workarounds.</p>
<p>This patch ensures the P9 DD1 workarounds only apply to Nimbus. It
also renames some things to make clear what’s what.</p>
</li>
-<li><p class="first">cpu: Cleanup AMR and IAMR when re-initializing CPUs</p>
+<li><p>cpu: Cleanup AMR and IAMR when re-initializing CPUs</p>
<p>There’s a bug in current Linux kernels leaving crap in those registers
accross kexec and not sanitizing them on boot. This breaks kexec under
some circumstances (such as booting a hash kernel from a radix one
@@ -134,10 +134,10 @@ and shouldn’t have adverse effects.</p>
well such as restoring some other SPRs to their default value in
the future.</p>
</li>
-<li><p class="first">Set POWER9 RPR SPR to 0x00000103070F1F3F. Same value as P8.</p>
+<li><p>Set POWER9 RPR SPR to 0x00000103070F1F3F. Same value as P8.</p>
<p>Without this, thread priorities inside a core don’t work.</p>
</li>
-<li><p class="first">cpu: Support setting HID[RADIX] and set it by default on P9</p>
+<li><p>cpu: Support setting HID[RADIX] and set it by default on P9</p>
<p>This adds new opal_reinit_cpus() flags to setup radix or hash
mode in HID[8] on POWER9.</p>
<p>By default HID[8] will be set. On P9 DD1.0, Linux will change
@@ -147,33 +147,32 @@ will work.</p>
<p>Newer kernels built for hash will call this to clear the HID bit
and thus get the full size of the TLB as an optimization.</p>
</li>
-<li><p class="first">Add “cleanup_global_tlb” for P9 and later</p>
+<li><p>Add “cleanup_global_tlb” for P9 and later</p>
<p>Uses broadcast TLBIE’s to cleanup the TLB on all cores and on
the nest MMU</p>
</li>
-<li><p class="first">xive: DD2.0 updates</p>
+<li><p>xive: DD2.0 updates</p>
<p>Add support for StoreEOI, fix StoreEOI MMIO offset in ESB page,
and other cleanups</p>
</li>
-<li><p class="first">Update default TSCR value for P9 as recommended by HW folk.</p>
-</li>
-<li><p class="first">xive: Fix initialisation of xive_cpu_state struct</p>
+<li><p>Update default TSCR value for P9 as recommended by HW folk.</p></li>
+<li><p>xive: Fix initialisation of xive_cpu_state struct</p>
<p>When using XIVE emulation with DEBUG=1, we run into crashes in log_add()
due to the xive_cpu_state-&gt;log_pos being uninitialised (and thus, with
DEBUG enabled, initialised to the poison value of 0x99999999).</p>
</li>
</ul>
-<div class="section" id="occ-power-management">
+<section id="occ-power-management">
<h3>OCC/Power Management<a class="headerlink" href="#occ-power-management" title="Permalink to this headline">¶</a></h3>
<p>With this release, it’s possible to boot POWER9 systems with the OCC
enabled and change CPU frequencies. Doing so does require other firmware
components to also support this (otherwise the frequency will not be set).</p>
<ul>
-<li><p class="first">occ: Skip setting cores to nominal frequency in P9</p>
+<li><p>occ: Skip setting cores to nominal frequency in P9</p>
<p>In P9, once OCC is up, it is supposed to setup the cores to nominal
frequency. So skip this step in OPAL.</p>
</li>
-<li><p class="first">occ: Fix Pstate ordering for P9</p>
+<li><p>occ: Fix Pstate ordering for P9</p>
<p>In P9 the pstate values are positive. They are continuous set of
unsigned integers [0 to +N] where Pmax is 0 and Pmin is N. The
linear ordering of pstates for P9 has changed compared to P8.
@@ -182,7 +181,7 @@ is 0 and Pmin is -N. This patch adds helper routines to abstract
pstate comparison with pmax and adds sanity pstate limit checks.
This patch also fixes pstate arithmetic by using labs().</p>
</li>
-<li><p class="first">p8-i2c: occ: Add support for OCC to use I2C engines</p>
+<li><p>p8-i2c: occ: Add support for OCC to use I2C engines</p>
<p>This patch adds support to share the I2C engines with host and OCC.
OCC uses I2C engines to read DIMM temperatures and to communicate with
GPU. OCC Flag register is used for locking between host and OCC. Host
@@ -190,24 +189,24 @@ requests for the bus by setting a bit in OCC Flag register. OCC sends
an interrupt to indicate the change in ownership.</p>
</li>
</ul>
-</div>
-<div class="section" id="opal-prd-prd">
+</section>
+<section id="opal-prd-prd">
<h3>opal-prd/PRD<a class="headerlink" href="#opal-prd-prd" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">opal-prd: Handle SBE passthrough message passing</p>
+<li><p>opal-prd: Handle SBE passthrough message passing</p>
<p>This patch adds support to send SBE pass through command to HBRT.</p>
</li>
-<li><p class="first">SBE: Add passthrough command support</p>
+<li><p>SBE: Add passthrough command support</p>
<p>SBE sends passthrough command. We have to capture this interrupt and
send event to HBRT via opal-prd (user space daemon).</p>
</li>
-<li><p class="first">opal-prd: hook up reset_pm_complex</p>
+<li><p>opal-prd: hook up reset_pm_complex</p>
<p>This change provides the facility to invoke HBRT’s reset_pm_complex, in
the same manner is done with process_occ_reset previously.</p>
<p>We add a control command for <cite>opal-prd pm-complex reset</cite>, which is just
an alias for occ_reset at this stage.</p>
</li>
-<li><p class="first">prd: Implement firmware side of opaque PRD channel</p>
+<li><p>prd: Implement firmware side of opaque PRD channel</p>
<p>This change introduces the firmware side of the opaque HBRT &lt;–&gt; OPAL
message channel. We define a base message format to be shared with HBRT
(in include/prd-fw-msg.h), and allow firmware requests and responses to
@@ -215,52 +214,51 @@ be sent over this channel.</p>
<p>We don’t currently have any notifications defined, so have nothing to do
for firmware_notify() at this stage.</p>
</li>
-<li><p class="first">opal-prd: Add firmware_request &amp; firmware_notify implementations</p>
+<li><p>opal-prd: Add firmware_request &amp; firmware_notify implementations</p>
<p>This change adds the implementation of firmware_request() and
firmware_notify(). To do this, we need to add a message queue, so that
we can properly handle out-of-order messages coming from firmware.</p>
</li>
-<li><p class="first">opal-prd: Add support for variable-sized messages</p>
+<li><p>opal-prd: Add support for variable-sized messages</p>
<p>With the introductuion of the opaque firmware channel, we want to
support variable-sized messages. Rather than expecting to read an
entire ‘struct opal_prd_msg’ in one read() call, we can split this
over mutiple reads, potentially expanding our message buffer.</p>
</li>
-<li><p class="first">opal-prd: Sync hostboot interfaces with HBRT</p>
+<li><p>opal-prd: Sync hostboot interfaces with HBRT</p>
<p>This change adds new callbacks defined for p9, and the base thunks for
the added calls.</p>
</li>
-<li><p class="first">opal-prd: interpret log level prefixes from HBRT</p>
+<li><p>opal-prd: interpret log level prefixes from HBRT</p>
<p>Interpret the (optional) *_MRK log prefixes on HBRT messages, and set
the syslog log priority to suit.</p>
</li>
-<li><p class="first">opal-prd: Add occ reset to usage text</p>
-</li>
-<li><p class="first">opal-prd: allow different chips for occ control actions</p>
+<li><p>opal-prd: Add occ reset to usage text</p></li>
+<li><p>opal-prd: allow different chips for occ control actions</p>
<p>The <cite>occ reset</cite> and <cite>occ error</cite> actions can both take a chip id
argument, but we’re currently just using zero. This change changes the
control message format to pass the chip ID from the control process to
the opal-prd daemon.</p>
</li>
</ul>
-</div>
-<div class="section" id="pci-phb4">
+</section>
+<section id="pci-phb4">
<h3>PCI/PHB4<a class="headerlink" href="#pci-phb4" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4: Fix number of index bits in IODA tables</p>
+<li><p>phb4: Fix number of index bits in IODA tables</p>
<p>On PHB4 the number of index bits in the IODA table address register
was bumped to 10 bits to accomodate for 1024 MSIs and 1024 TVEs (DD2).</p>
<p>However our macro only defined the field to be 9 bits, thus causing
“interesting” behaviours on some systems.</p>
</li>
-<li><p class="first">phb4: Harden init with bad PHBs</p>
+<li><p>phb4: Harden init with bad PHBs</p>
<p>Currently if we read all 1’s from the EEH or IRQ capabilities, we end
up train wrecking on some other random code (eg. an assert() in xive).</p>
<p>This hardens the PHB4 code to look for these bad reads and more
gracefully fails the init for that PHB alone. This allows the rest of
the system to boot and ignore those bad PHBs.</p>
</li>
-<li><p class="first">phb4 capi (i.e. CAPI2): Handle HMI events</p>
+<li><p>phb4 capi (i.e. CAPI2): Handle HMI events</p>
<p>Find the CAPP on the chip associated with the HMI event for PHB4.
The recovery mode (re-initialization of the capp, resume of functional
operations) is only available with P9 DD2. A new patch will be provided
@@ -268,7 +266,7 @@ to support this feature.</p>
</li>
</ul>
<ul id="capi2-5-7-rc1-rn">
-<li><p class="first">phb4 capi (i.e. CAPI2): Enable capi mode for PHB4</p>
+<li><p>phb4 capi (i.e. CAPI2): Enable capi mode for PHB4</p>
<p>Enable the Coherently attached processor interface. The PHB is used as
a CAPI interface.
CAPI Adapters can be connected to either PEC0 or PEC2. Single port
@@ -277,7 +275,7 @@ Adapter can be only connected to PEC2
* CAPP0 attached to PHB0(PEC0 - single port)
* CAPP1 attached to PHB3(PEC2 - single or dual port)</p>
</li>
-<li><p class="first">hw/phb4: Rework phb4_get_presence_state()</p>
+<li><p>hw/phb4: Rework phb4_get_presence_state()</p>
<p>There are two issues in current implementation: It should return errcode
visibile to Linux, which has prefix OPAL_*. The code isn’t very obvious.</p>
<p>This returns OPAL_HARDWARE when the PHB is broken. Otherwise, OPAL_SUCCESS
@@ -285,29 +283,28 @@ is always returned. In the mean while, It refactors the code to make it
obvious: OPAL_PCI_SLOT_PRESENT is returned when the presence signal (low active)
or PCIe link is active. Otherwise, OPAL_PCI_SLOT_EMPTY is returned.</p>
</li>
-<li><p class="first">phb4: Error injection for config space</p>
+<li><p>phb4: Error injection for config space</p>
<p>Implement CFG (config space) error injection.</p>
<p>This works the same as PHB3. MMIO and DMA error injection require a
rewrite, so they’re unsupported for now.</p>
<p>While it’s not feature complete, this at least provides an easy way to
inject an error that will trigger EEH.</p>
</li>
-<li><p class="first">phb4: Error clear implementation</p>
-</li>
-<li><p class="first">phb4: Mask link down errors during reset</p>
+<li><p>phb4: Error clear implementation</p></li>
+<li><p>phb4: Mask link down errors during reset</p>
<p>During a hot reset the PCI link will drop, so we need to mask link down
events to prevent unnecessary errors.</p>
</li>
-<li><p class="first">phb4: Implement root port initialization</p>
+<li><p>phb4: Implement root port initialization</p>
<p>phb4_root_port_init() was a NOP before, so fix that.</p>
</li>
-<li><p class="first">phb4: Complete reset implementation</p>
+<li><p>phb4: Complete reset implementation</p>
<p>This implements complete reset (creset) functionality for POWER9 DD1.</p>
<p>Only partially tested and contends with some DD1 errata, but it’s a start.</p>
</li>
</ul>
<ul id="shared-slot-5-7-rc1-rn">
-<li><p class="first">phb4: Activate shared PCI slot on witherspoon</p>
+<li><p>phb4: Activate shared PCI slot on witherspoon</p>
<p>Witherspoon systems come with a ‘shared’ PCI slot: physically, it
looks like a x16 slot, but it’s actually two x8 slots connected to two
PHBs of two different chips. Taking advantage of it requires some
@@ -328,13 +325,12 @@ then the presence bit of the second slot is not set, so this patch
does nothing. The x8 (or less) adapter should work like on any other
physical slot.</p>
</li>
-<li><p class="first">phb4: Block D-state power management on direct slots</p>
+<li><p>phb4: Block D-state power management on direct slots</p>
<p>As current revisions of PHB4 don’t properly handle the resulting
L1 link transition.</p>
</li>
-<li><p class="first">phb4: Call pci config filters</p>
-</li>
-<li><p class="first">phb4: Mask out write-1-to-clear registers in RC cfg</p>
+<li><p>phb4: Call pci config filters</p></li>
+<li><p>phb4: Mask out write-1-to-clear registers in RC cfg</p>
<p>The root complex config space only supports 4-byte accesses. Thus, when
the client requests a smaller size write, we do a read-modify-write to
the register.</p>
@@ -345,115 +341,113 @@ write back those 1’s and clear the corresponding bit.</p>
<p>This avoids it by masking out those magic bits from the “old” value
read from the register.</p>
</li>
-<li><p class="first">phb4: Properly mask out link down errors during reset</p>
-</li>
-<li><p class="first">phb3/4: Silence a useless warning</p>
+<li><p>phb4: Properly mask out link down errors during reset</p></li>
+<li><p>phb3/4: Silence a useless warning</p>
<p>PHB’s don’t have base location codes on non-FSP systems and it’s
normal.</p>
</li>
-<li><p class="first">phb4: Workaround bug in spec 053</p>
+<li><p>phb4: Workaround bug in spec 053</p>
<p>Wait for DLP PGRESET to clear <em>after</em> lifting the PCIe core reset</p>
</li>
-<li><p class="first">phb4: DD2.0 updates</p>
+<li><p>phb4: DD2.0 updates</p>
<p>Support StoreEOI, full complements of PEs (twice as big TVT)
and other updates.</p>
<p>Also renumber init steps to match spec 063</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2">
+</section>
+<section id="npu2">
<h3>NPU2<a class="headerlink" href="#npu2" title="Permalink to this headline">¶</a></h3>
<p>Note that currently NPU2 support is limited to POWER9 DD1 hardware.</p>
<ul>
-<li><p class="first">platforms/astbmc/witherspoon.c: Add NPU2 slot mappings</p>
+<li><p>platforms/astbmc/witherspoon.c: Add NPU2 slot mappings</p>
<p>For NVLink2 to function PCIe devices need to be associated with the right
NVLinks. This association is supposed to be passed down to Skiboot via HDAT but
those fields are still not correctly filled out. To work around this we add slot
tables for the NVLinks similar to what we have for P8+.</p>
</li>
-<li><p class="first">hw/npu2.c: Fix device aperture calculation</p>
+<li><p>hw/npu2.c: Fix device aperture calculation</p>
<p>The POWER9 NPU2 implements an address compression scheme to compress 56-bit P9
physical addresses to 47-bit GPU addresses. System software needs to know both
addresses, unfortunately the calculation of the compressed address was
incorrect. Fix it here.</p>
</li>
-<li><p class="first">hw/npu2.c: Change MCD BAR allocation order</p>
+<li><p>hw/npu2.c: Change MCD BAR allocation order</p>
<p>MCD BARs need to be correctly aligned to the size of the region. As GPU
memory is allocated from the top of memory down we should start allocating
from the highest GPU memory address to the lowest to ensure correct
alignment.</p>
</li>
-<li><p class="first">NPU2: Add flag to nvlink config space indicating DL reset state</p>
+<li><p>NPU2: Add flag to nvlink config space indicating DL reset state</p>
<p>Device drivers need to be able to determine if the DL is out of reset or
not so they can safely probe to see if links have already been trained.
This patch adds a flag to the vendor specific config space indicating if
the DL is out of reset.</p>
</li>
-<li><p class="first">hw/npu2.c: Hardcode MSR_SF when setting up npu XTS contexts</p>
+<li><p>hw/npu2.c: Hardcode MSR_SF when setting up npu XTS contexts</p>
<p>We don’t support anything other than 64-bit mode for address translations so we
can safely hardcode it.</p>
</li>
-<li><p class="first">hw/npu2-hw-procedures.c: Add nvram option to override zcal calculations</p>
+<li><p>hw/npu2-hw-procedures.c: Add nvram option to override zcal calculations</p>
<p>In some rare cases the zcal state machine may fail and flag an error. According
to hardware designers it is sometimes ok to ignore this failure and use nominal
values for the calculations. In this case we add a nvram variable
(nv_zcal_override) which will cause skiboot to ignore the failure and use the
nominal value specified in nvram.</p>
</li>
-<li><p class="first">npu2: Fix npu2_{read,write}_4b()</p>
+<li><p>npu2: Fix npu2_{read,write}_4b()</p>
<p>When writing or reading 4-byte values, we need to use the upper half of
the 64-bit SCOM register.</p>
<p>Fix npu2_{read,write}_4b() and their callers to use uint32_t, and
appropriately shift the value being written or returned.</p>
</li>
-<li><p class="first">hw/npu2.c: Fix opal_npu_map_lpar to search for existing BDF</p>
-</li>
-<li><p class="first">hw/npu2-hw-procedures.c: Fix running of zcal procedure</p>
+<li><p>hw/npu2.c: Fix opal_npu_map_lpar to search for existing BDF</p></li>
+<li><p>hw/npu2-hw-procedures.c: Fix running of zcal procedure</p>
<blockquote>
<div><p>The zcal procedure should only be run once per obus (ie. once per group of 3
links). Clean up the code and fix the potential buffer overflow due to a typo.
Also updates the zcal settings to their proper values.</p>
</div></blockquote>
</li>
-<li><p class="first">hw/npu2.c: Add memory coherence directory programming</p>
+<li><p>hw/npu2.c: Add memory coherence directory programming</p>
<p>The memory coherence directory (MCD) needs to know which system memory addresses
belong to the GPU. This amounts to setting a BAR and a size in the MCD to cover
the addresses assigned to each of the GPUs. To ease assignment we assume GPUs
are assigned memory in a contiguous block per chip.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="pflash-libflash">
+</section>
+</section>
+<section id="pflash-libflash">
<h2>pflash/libflash<a class="headerlink" href="#pflash-libflash" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">libflash/libffs: Zero checksum words</p>
+<li><p>libflash/libffs: Zero checksum words</p>
<p>On writing ffs entries to flash libffs doesn’t zero checksum words
before calculating the checksum across the entire structure. This causes
an inaccurate calculation of the checksum as it may calculate a checksum
on non-zero checksum bytes.</p>
</li>
-<li><p class="first">libffs: Fix ffs_lookup_part() return value</p>
+<li><p>libffs: Fix ffs_lookup_part() return value</p>
<p>It would return success when the part wasn’t found</p>
</li>
-<li><p class="first">libflash/libffs: Correctly update the actual size of the partition</p>
+<li><p>libflash/libffs: Correctly update the actual size of the partition</p>
<p>libffs has been updating FFS partition information in the wrong place
which leads to incomplete erases and corruption.</p>
</li>
-<li><p class="first">libflash: Initialise entries list earlier</p>
+<li><p>libflash: Initialise entries list earlier</p>
<p>In the bail-out path we call ffs_close() to tear down the partially
initialised ffs_handle. ffs_close() expects the entries list to be
initialised so we need to do that earlier to prevent a null pointer
dereference.</p>
</li>
</ul>
-</div>
-<div class="section" id="mbox-flash">
+</section>
+<section id="mbox-flash">
<h2>mbox-flash<a class="headerlink" href="#mbox-flash" title="Permalink to this headline">¶</a></h2>
<p>mbox-flash is the emerging standard way of talking to host PNOR flash
on POWER9 systems.</p>
<ul>
-<li><p class="first">libflash/mbox-flash: Implement MARK_WRITE_ERASED mbox call</p>
+<li><p>libflash/mbox-flash: Implement MARK_WRITE_ERASED mbox call</p>
<p>Version two of the mbox-flash protocol defines a new command:
MARK_WRITE_ERASED.</p>
<p>This command provides a simple way to mark a region of flash as all 0xff
@@ -463,7 +457,7 @@ the BMC to deal with the flash correctly, however in v1 it was ambiguous
what a client should do if the flash should be erased but not actually
written to. This allows of a optimal path to resolve this problem.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Update to V2 of the protocol</p>
+<li><p>libflash/mbox-flash: Update to V2 of the protocol</p>
<p>Updated version 2 of the protocol can be found at:
<a class="reference external" href="https://github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md">https://github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md</a></p>
<p>This commit changes mbox-flash such that it will preferentially talk
@@ -474,7 +468,7 @@ consistency and usability.
Version two includes more attention bits - these are now dealt with at a
simple level.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Implement MARK_WRITE_ERASED mbox call</p>
+<li><p>libflash/mbox-flash: Implement MARK_WRITE_ERASED mbox call</p>
<p>Version two of the mbox-flash protocol defines a new command:
MARK_WRITE_ERASED.</p>
<p>This command provides a simple way to mark a region of flash as all 0xff
@@ -484,7 +478,7 @@ the BMC to deal with the flash correctly, however in v1 it was ambiguous
what a client should do if the flash should be erased but not actually
written to. This allows of a optimal path to resolve this problem.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Update to V2 of the protocol</p>
+<li><p>libflash/mbox-flash: Update to V2 of the protocol</p>
<p>Updated version 2 of the protocol can be found at:
<a class="reference external" href="https://github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md">https://github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md</a></p>
<p>This commit changes mbox-flash such that it will preferentially talk
@@ -495,7 +489,7 @@ consistency and usability.
Version two includes more attention bits - these are now dealt with at a
simple level.</p>
</li>
-<li><p class="first">hw/lpc-mbox: Use message registers for interrupts</p>
+<li><p>hw/lpc-mbox: Use message registers for interrupts</p>
<p>Currently the BMC raises the interrupt using the BMC control register.
It does so on all accesses to the 16 ‘data’ registers meaning that when
the BMC only wants to set the ATTN (on which we have interrupts enabled)
@@ -504,41 +498,37 @@ bit we will also get a control register based interrupt.</p>
interrupts on the protocol defined ‘response’ data byte.</p>
</li>
</ul>
-</div>
-<div class="section" id="general-fixes">
+</section>
+<section id="general-fixes">
<h2>General fixes<a class="headerlink" href="#general-fixes" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Reduce log level on non-error log messages</p>
+<li><p>Reduce log level on non-error log messages</p>
<p>90% of what we print isn’t useful to a normal user. This
dramatically reduces the amount of messages printed by
OPAL in normal circumstances.</p>
</li>
-<li><p class="first">init: Silence messages and call ourselves “OPAL”</p>
-</li>
-<li><p class="first">psi: Switch to ESB mode later</p>
+<li><p>init: Silence messages and call ourselves “OPAL”</p></li>
+<li><p>psi: Switch to ESB mode later</p>
<p>There’s an errata, if we switch to ESB mode before setting up
the various ESB mode related registers, a pending interrupts
can go wrong.</p>
</li>
-<li><p class="first">lpc: Enable “new” SerIRQ mode</p>
-</li>
-<li><p class="first">hw/ipmi/ipmi-sel: missing newline in prlog warning</p>
-</li>
-<li><p class="first">p8-i2c OCC lock: fix locking in p9_i2c_bus_owner_change</p>
-</li>
-<li><p class="first">Convert important polling loops to spin at lowest SMT priority</p>
+<li><p>lpc: Enable “new” SerIRQ mode</p></li>
+<li><p>hw/ipmi/ipmi-sel: missing newline in prlog warning</p></li>
+<li><p>p8-i2c OCC lock: fix locking in p9_i2c_bus_owner_change</p></li>
+<li><p>Convert important polling loops to spin at lowest SMT priority</p>
<p>The pattern of calling cpu_relax() inside a polling loop does
not suit the powerpc SMT priority instructions. Prefrred is to
set a low priority then spin until break condition is reached,
then restore priority.</p>
</li>
-<li><p class="first">Improve cpu_idle when PM is disabled</p>
+<li><p>Improve cpu_idle when PM is disabled</p>
<p>Split cpu_idle() into cpu_idle_delay() and cpu_idle_job() rather than
requesting the idle type as a function argument. Have those functions
provide a default polling (non-PM) implentation which spin at the
lowest SMT priority.</p>
</li>
-<li><p class="first">core/fdt: Always add a reserve map</p>
+<li><p>core/fdt: Always add a reserve map</p>
<p>Currently we skip adding the reserved ranges block to the generated
FDT blob if we are excluding the root node. This can result in a DTB
that dtc will barf on because the reserved memory ranges overlap with
@@ -586,7 +576,7 @@ the start of the dt_struct block. As an example:</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/lpc-mbox: Use message registers for interrupts</p>
+<li><p>hw/lpc-mbox: Use message registers for interrupts</p>
<p>Currently the BMC raises the interrupt using the BMC control register.
It does so on all accesses to the 16 ‘data’ registers meaning that when
the BMC only wants to set the ATTN (on which we have interrupts enabled)
@@ -595,19 +585,19 @@ bit we will also get a control register based interrupt.</p>
interrupts on the protocol defined ‘response’ data byte.</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pci: Wait 20ms before checking presence detect on PCIe</p>
+<li><p>pci: Wait 20ms before checking presence detect on PCIe</p>
<p>As the PHB presence logic has a debounce timer that can take
a while to settle.</p>
</li>
-<li><p class="first">phb3+iov: Fixup support for config space filters</p>
+<li><p>phb3+iov: Fixup support for config space filters</p>
<p>The filter should be called before the HW access and its
return value control whether to perform the access or not</p>
</li>
-<li><p class="first">core/pci: Use PCI slot’s power facality in pci_enable_bridge()</p>
+<li><p>core/pci: Use PCI slot’s power facality in pci_enable_bridge()</p>
<p>The current implmentation has incorrect assumptions: there is
always a PCI slot associated with root port and PCIe switch
downstream port and all of them are capable to change its
@@ -619,28 +609,27 @@ I2C slave devices used to control the power states on Tuleta.</p>
<p>In order to use the PCI slot’s methods to manage the power
states, this does:</p>
<ul class="simple">
-<li>Introduce PCI_SLOT_FLAG_ENFORCE, indicates the request operation
-is enforced to be applied.</li>
-<li>pci_enable_bridge() is split into 3 functions: pci_bridge_power_on()
+<li><p>Introduce PCI_SLOT_FLAG_ENFORCE, indicates the request operation
+is enforced to be applied.</p></li>
+<li><p>pci_enable_bridge() is split into 3 functions: pci_bridge_power_on()
to power it on; pci_enable_bridge() as a place holder and
-pci_bridge_wait_link() to wait the downstream link to come up.</li>
-<li>In pci_bridge_power_on(), the PCI slot’s specific power management
+pci_bridge_wait_link() to wait the downstream link to come up.</p></li>
+<li><p>In pci_bridge_power_on(), the PCI slot’s specific power management
methods are used if there is a PCI slot associated with the PCIe
-switch downstream port or root port.</li>
+switch downstream port or root port.</p></li>
</ul>
</li>
-<li><p class="first">platforms/astbmc/slots.c: Allow comparison of bus numbers when matching slots</p>
+<li><p>platforms/astbmc/slots.c: Allow comparison of bus numbers when matching slots</p>
<p>When matching devices on multiple down stream PLX busses we need to compare more
than just the device-id of the PCIe BDFN, so increase the mask to do so.</p>
</li>
</ul>
-</div>
-<div class="section" id="tests-and-simulators">
+</section>
+<section id="tests-and-simulators">
<h2>Tests and simulators<a class="headerlink" href="#tests-and-simulators" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">boot-tests: add OpenBMC support</p>
-</li>
-<li><p class="first">boot_test.sh: Add SMC BMC support</p>
+<li><p>boot-tests: add OpenBMC support</p></li>
+<li><p>boot_test.sh: Add SMC BMC support</p>
<p>Your BMC needs a special debug image flashed to use this, the exact
image and methods aren’t something I can publish here, but if you work
for IBM or SMC you can find out from the right sources.</p>
@@ -654,9 +643,8 @@ we don’t publicise too broadly (because Security Through Obscurity is
and we can’t scp, but we can anonymous rsync!</p>
<p>You also need a pflash binary to copy over.</p>
</li>
-<li><p class="first">hdata_to_dt: Add PVR overrides to the usage text</p>
-</li>
-<li><p class="first">mambo: Add a reservation for the initramfs</p>
+<li><p>hdata_to_dt: Add PVR overrides to the usage text</p></li>
+<li><p>mambo: Add a reservation for the initramfs</p>
<p>On most systems the initramfs is loaded inside the part of memory
reserved for the OS [0x0-0x30000000] and skiboot will never touch it.
On mambo it’s loaded at 0x80000000 and if you’re unlucky skiboot can
@@ -665,43 +653,43 @@ allocate over the top of it and corrupt the initramfs blob.</p>
memory since it’s marked as reserved, but the kernel might also free it
anyway.</p>
</li>
-<li><p class="first">mambo: Update P9 PVR to reflect Scale out 24 core chips</p>
+<li><p>mambo: Update P9 PVR to reflect Scale out 24 core chips</p>
<p>The P9 PVR bits 48:51 don’t indicate a revision but instead different
configurations. From BookIV we have:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="17%" />
-<col width="83%" />
+<col style="width: 17%" />
+<col style="width: 83%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Bits</th>
-<th class="head">Configuration</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Bits</p></th>
+<th class="head"><p>Configuration</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>0</td>
-<td>Scale out 12 cores</td>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>Scale out 12 cores</p></td>
</tr>
-<tr class="row-odd"><td>1</td>
-<td>Scale out 24 cores</td>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>Scale out 24 cores</p></td>
</tr>
-<tr class="row-even"><td>2</td>
-<td>Scale up 12 cores</td>
+<tr class="row-even"><td><p>2</p></td>
+<td><p>Scale up 12 cores</p></td>
</tr>
-<tr class="row-odd"><td>3</td>
-<td>Scale up 24 cores</td>
+<tr class="row-odd"><td><p>3</p></td>
+<td><p>Scale up 24 cores</p></td>
</tr>
</tbody>
</table>
<p>Skiboot will mostly the use “Scale out 24 core” configuration
(ie. SMT4 not SMT8) so reflect this in mambo.</p>
</li>
-<li><p class="first">core: Move enable_mambo_console() into chip initialisation</p>
+<li><p>core: Move enable_mambo_console() into chip initialisation</p>
<p>Rather than having a wart in main_cpu_entry() that initialises the mambo
console, we can move it into init_chips() which is where we discover that we’re
on mambo.</p>
</li>
-<li><p class="first">mambo: Create multiple chips when we have multiple CPUs</p>
+<li><p>mambo: Create multiple chips when we have multiple CPUs</p>
<p>Currently when we boot mambo with multiple CPUs, we create multiple CPU nodes in
the device tree, and each claims to be on a separate chip.</p>
<p>However we don’t create multiple xscom nodes, which means skiboot only knows
@@ -716,7 +704,7 @@ separate chip created. This then enables Linux to see multiple chips:</p>
</pre></div>
</div>
</li>
-<li><p class="first">chip: Add support for discovering chips on mambo</p>
+<li><p>chip: Add support for discovering chips on mambo</p>
<p>Currently the only way for skiboot to discover chips is by looking for xscom
nodes. But on mambo it’s currently not possible to create multiple xscom nodes,
which means we can only simulate a single chip system.</p>
@@ -725,18 +713,18 @@ node, and use that to instantiate multiple chips.</p>
<p>Add a check in init_chip() that we’re not clobbering an already initialised
chip, now that we have two places that initialise chips.</p>
</li>
-<li><p class="first">mambo: Make xscom claim to be DD 2.0</p>
+<li><p>mambo: Make xscom claim to be DD 2.0</p>
<p>In the mambo tcl we set the CPU version to DD 2.0, because mambo is not
bug compatible with DD 1.</p>
<p>But in xscom_read_cfam_chipid() we have a hard coded value, to work
around the lack of the f000f register, which claims to be P9 DD 1.0.</p>
<p>This doesn’t seem to cause crashes or anything, but at boot we do see:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">0.003893084</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">XSCOM</span><span class="p">:</span> <span class="n">chip</span> <span class="mh">0x0</span> <span class="n">at</span> <span class="mh">0x1a0000000000</span> <span class="p">[</span><span class="n">P9N</span> <span class="n">DD1</span><span class="o">.</span><span class="mi">0</span><span class="p">]</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">0.003893084</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">XSCOM</span><span class="p">:</span> <span class="n">chip</span> <span class="mh">0x0</span> <span class="n">at</span> <span class="mh">0x1a0000000000</span> <span class="p">[</span><span class="n">P9N</span> <span class="n">DD1</span><span class="mf">.0</span><span class="p">]</span>
</pre></div>
</div>
<p>So fix it to claim that the xscom is also DD 2.0 to match the CPU.</p>
</li>
-<li><p class="first">mambo: Match whole string when looking up symbols with linsym/skisym</p>
+<li><p>mambo: Match whole string when looking up symbols with linsym/skisym</p>
<p>linsym/skisym use a regex to match the symbol name, and accepts a
partial match against the entry in the symbol map, which can lead to
somewhat confusing results, eg:</p>
@@ -755,9 +743,8 @@ that the symbol has to match against the whole entry, eg:</p>
</pre></div>
</div>
</li>
-<li><p class="first">Disable nap on P8 Mambo, public release has bugs</p>
-</li>
-<li><p class="first">mambo: Allow loading multiple CPIOs</p>
+<li><p>Disable nap on P8 Mambo, public release has bugs</p></li>
+<li><p>mambo: Allow loading multiple CPIOs</p>
<p>Currently we have support for loading a single CPIO and telling Linux to
use it as the initrd. But the Linux code actually supports having
multiple CPIOs contiguously in memory, between initrd-start and end, and
@@ -770,7 +757,7 @@ filenames, but we could make it space, colon, whatever. Or we could add
a new environment variable entirely. The code also supports trimming
whitespace from the values, so you can have “cpio1, cpio2”.</p>
</li>
-<li><p class="first">hdata/test: Add memory reservations to hdata_to_dt</p>
+<li><p>hdata/test: Add memory reservations to hdata_to_dt</p>
<p>Currently memory reservations are parsed, but since they are not
processed until mem_region_init() they don’t appear in the output
device tree blob. Several bugs have been found with memory reservations
@@ -779,19 +766,18 @@ so we want them to be part of the test output.</p>
dtb to appear in standard out.</p>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-systems">
+</section>
+<section id="ibm-fsp-systems">
<h2>IBM FSP systems<a class="headerlink" href="#ibm-fsp-systems" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">FSP/CONSOLE: Fix possible NULL dereference</p>
-</li>
-<li><p class="first">platforms/ibm-fsp/firenze: Fix PCI slot power-off pattern</p>
+<li><p>FSP/CONSOLE: Fix possible NULL dereference</p></li>
+<li><p>platforms/ibm-fsp/firenze: Fix PCI slot power-off pattern</p>
<p>When powering off the PCI slot, the corresponding bits should
be set to 0bxx00xx00 instead of 0bxx11xx11. Otherwise, the
specified PCI slot can’t be put into power-off state. Fortunately,
it didn’t introduce any side-effects so far.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Workaround for unresponsive ipmi daemon</p>
+<li><p>FSP/CONSOLE: Workaround for unresponsive ipmi daemon</p>
<p>We use TCE mapped area to write data to console. Console header
(fsp_serbuf_hdr) is modified by both FSP and OPAL (OPAL updates
next_in pointer in fsp_serbuf_hdr and FSP updates next_out pointer).</p>
@@ -812,7 +798,7 @@ everything becomes normal.</p>
when cosole is full. Side effect of this patch is, we may endup dropping
latest console data. But better to drop console data than system hang.</p>
</li>
-<li><p class="first">FSP: Set status field in response message for timed out message</p>
+<li><p>FSP: Set status field in response message for timed out message</p>
<p>For timed out FSP messages, we set message status as “fsp_msg_timeout”.
But most FSP driver users (like surviellance) are ignoring this field.
They always look for FSP returned status value in callback function
@@ -830,21 +816,19 @@ response from FSP.</p>
receive response from FSP.</p>
<p>This patch fixes above issue by updating status field in response structure.</p>
</li>
-<li><p class="first">FSP: Improve timeout message</p>
-</li>
-<li><p class="first">FSP/RTC: Fix possible FSP R/R issue in rtc write path</p>
-</li>
-<li><p class="first">hw/fsp/rtc: read/write cached rtc tod on fsp hir.</p>
+<li><p>FSP: Improve timeout message</p></li>
+<li><p>FSP/RTC: Fix possible FSP R/R issue in rtc write path</p></li>
+<li><p>hw/fsp/rtc: read/write cached rtc tod on fsp hir.</p>
<p>Currently fsp-rtc reads/writes the cached RTC TOD on an fsp
reset. Use latest fsp_in_rr() function to properly read the cached rtc
value when fsp reset initiated by the hir.</p>
<p>Below is the kernel trace when we set hw clock, when hir process starts.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1727.775824</span><span class="p">]</span> <span class="n">NMI</span> <span class="n">watchdog</span><span class="p">:</span> <span class="n">BUG</span><span class="p">:</span> <span class="n">soft</span> <span class="n">lockup</span> <span class="o">-</span> <span class="n">CPU</span><span class="c1">#57 stuck for 23s! [hwclock:7688]</span>
<span class="p">[</span> <span class="mf">1727.775856</span><span class="p">]</span> <span class="n">Modules</span> <span class="n">linked</span> <span class="ow">in</span><span class="p">:</span> <span class="n">vmx_crypto</span> <span class="n">ibmpowernv</span> <span class="n">ipmi_powernv</span> <span class="n">uio_pdrv_genirq</span> <span class="n">ipmi_devintf</span> <span class="n">powernv_op_panel</span> <span class="n">uio</span> <span class="n">ipmi_msghandler</span> <span class="n">powernv_rng</span> <span class="n">leds_powernv</span> <span class="n">ip_tables</span> <span class="n">x_tables</span> <span class="n">autofs4</span> <span class="n">ses</span> <span class="n">enclosure</span> <span class="n">scsi_transport_sas</span> <span class="n">crc32c_vpmsum</span> <span class="n">lpfc</span> <span class="n">ipr</span> <span class="n">tg3</span> <span class="n">scsi_transport_fc</span>
-<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">CPU</span><span class="p">:</span> <span class="mi">57</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">7688</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">hwclock</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="mf">4.10</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span> <span class="c1">#16-Ubuntu</span>
+<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">CPU</span><span class="p">:</span> <span class="mi">57</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">7688</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">hwclock</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="mf">4.10.0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span> <span class="c1">#16-Ubuntu</span>
<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">task</span><span class="p">:</span> <span class="n">c000000fdfdc8400</span> <span class="n">task</span><span class="o">.</span><span class="n">stack</span><span class="p">:</span> <span class="n">c000000fdfef4000</span>
<span class="p">[</span> <span class="mf">1727.775884</span><span class="p">]</span> <span class="n">NIP</span><span class="p">:</span> <span class="n">c00000000090540c</span> <span class="n">LR</span><span class="p">:</span> <span class="n">c0000000000846f4</span> <span class="n">CTR</span><span class="p">:</span> <span class="mi">000000003006</span><span class="n">dd70</span>
-<span class="p">[</span> <span class="mf">1727.775885</span><span class="p">]</span> <span class="n">REGS</span><span class="p">:</span> <span class="n">c000000fdfef79a0</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="p">(</span><span class="mf">4.10</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span><span class="p">)</span>
+<span class="p">[</span> <span class="mf">1727.775885</span><span class="p">]</span> <span class="n">REGS</span><span class="p">:</span> <span class="n">c000000fdfef79a0</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="p">(</span><span class="mf">4.10.0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">1727.775886</span><span class="p">]</span> <span class="n">MSR</span><span class="p">:</span> <span class="mi">9000000000009033</span> <span class="o">&lt;</span><span class="n">SF</span><span class="p">,</span><span class="n">HV</span><span class="p">,</span><span class="n">EE</span><span class="p">,</span><span class="n">ME</span><span class="p">,</span><span class="n">IR</span><span class="p">,</span><span class="n">DR</span><span class="p">,</span><span class="n">RI</span><span class="p">,</span><span class="n">LE</span><span class="o">&gt;</span>
<span class="p">[</span> <span class="mf">1727.775889</span><span class="p">]</span> <span class="n">CR</span><span class="p">:</span> <span class="mi">28024442</span> <span class="n">XER</span><span class="p">:</span> <span class="mi">20000000</span>
<span class="p">[</span> <span class="mf">1727.775890</span><span class="p">]</span> <span class="n">CFAR</span><span class="p">:</span> <span class="n">c00000000008472c</span> <span class="n">SOFTE</span><span class="p">:</span> <span class="mi">1</span>
@@ -871,20 +855,20 @@ value when fsp reset initiated by the hir.</p>
<p>With this fix ran fsp hir torture testcase in the above test
which is working fine.</p>
</li>
-<li><p class="first">occ: Set return variable to correct value</p>
+<li><p>occ: Set return variable to correct value</p>
<p>When entering this section of code rc will be zero. If fsp_mkmsg() fails
the code responsible for printing an error message won’t be set.
Resetting rc should allow for the error case to trigger if fsp_mkmsg
fails.</p>
</li>
-<li><p class="first">capp: Fix hang when CAPP microcode LID is missing on FSP machine</p>
+<li><p>capp: Fix hang when CAPP microcode LID is missing on FSP machine</p>
<p>When the LID is absent, we fail early with an error from
start_preload_resource. In that case, capp_ucode_info.load_result
isn’t set properly causing a subsequent capp_lid_download() to
call wait_for_resource_loaded() on something that isn’t being
loaded, thus hanging.</p>
</li>
-<li><p class="first">FSP: Add check to detect FSP R/R inside fsp_sync_msg()</p>
+<li><p>FSP: Add check to detect FSP R/R inside fsp_sync_msg()</p>
<p>OPAL sends MBOX message to FSP and updates message state from fsp_msg_queued
-&gt; fsp_msg_sent. fsp_sync_msg() queues message and waits until we get response
from FSP. During FSP R/R we move outstanding MBOX messages from msgq to rr_queue
@@ -893,13 +877,12 @@ inflight message state.</p>
<p>In extreme croner case where we sent message to FSP via fsp_sync_msg() path
and FSP R/R happens before getting respose from FSP, then we will endup waiting
in fsp_sync_msg() until everything becomes normal.</p>
-<dl class="docutils">
-<dt>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to caller</dt>
-<dd><p class="first last">if FSP is in R/R.</p>
+<dl class="simple">
+<dt>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to caller</dt><dd><p>if FSP is in R/R.</p>
</dd>
</dl>
</li>
-<li><p class="first">FSP: Add check to detect FSP R/R inside fsp_sync_msg()</p>
+<li><p>FSP: Add check to detect FSP R/R inside fsp_sync_msg()</p>
<p>OPAL sends MBOX message to FSP and updates message state from fsp_msg_queued
-&gt; fsp_msg_sent. fsp_sync_msg() queues message and waits until we get response
from FSP. During FSP R/R we move outstanding MBOX messages from msgq to rr_queue
@@ -908,34 +891,32 @@ inflight message state.</p>
<p>In extreme croner case where we sent message to FSP via fsp_sync_msg() path
and FSP R/R happens before getting respose from FSP, then we will endup waiting
in fsp_sync_msg() until everything becomes normal.</p>
-<dl class="docutils">
-<dt>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to caller</dt>
-<dd><p class="first last">if FSP is in R/R.</p>
+<dl class="simple">
+<dt>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to caller</dt><dd><p>if FSP is in R/R.</p>
</dd>
</dl>
</li>
-<li><p class="first">capp: Fix hang when CAPP microcode LID is missing on FSP machine</p>
+<li><p>capp: Fix hang when CAPP microcode LID is missing on FSP machine</p>
<p>When the LID is absent, we fail early with an error from
start_preload_resource. In that case, capp_ucode_info.load_result
isn’t set properly causing a subsequent capp_lid_download() to
call wait_for_resource_loaded() on something that isn’t being
loaded, thus hanging.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Do not free fsp_msg in error path</p>
+<li><p>FSP/CONSOLE: Do not free fsp_msg in error path</p>
<p>as we reuse same msg to send next output message.</p>
</li>
-<li><p class="first">platform/zz: Acknowledge OCC_LOAD mbox message in ZZ</p>
+<li><p>platform/zz: Acknowledge OCC_LOAD mbox message in ZZ</p>
<p>In P9 FSP box, OCC image is pre-loaded. So do not handle the load
command and send SUCCESS to FSP on recieving OCC_LOAD mbox message.</p>
</li>
-<li><p class="first">FSP/RTC: Improve error log</p>
-</li>
+<li><p>FSP/RTC: Improve error log</p></li>
</ul>
-</div>
-<div class="section" id="astbmc-systems">
+</section>
+<section id="astbmc-systems">
<h2>astbmc systems<a class="headerlink" href="#astbmc-systems" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">platforms/astbmc: Don’t validate model on palmetto</p>
+<li><p>platforms/astbmc: Don’t validate model on palmetto</p>
<p>The platform isn’t compatible with palmetto until the root device-tree
node’s “model” property is NULL or “palmetto”. However, we could have
“TN71-BP012” for the property on palmetto.</p>
@@ -947,10 +928,11 @@ node’s “model” property is NULL or “palmetto”. However, we could have
on palmetto, meaning we check the “compatible” property only.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -992,17 +974,15 @@ on palmetto, meaning we check the “compatible” property only.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1019,14 +999,15 @@ on palmetto, meaning we check the “compatible” property only.</p>
<li class="right" >
<a href="skiboot-5.7.html" title="skiboot-5.7"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.7-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.7-rc2.html b/doc/release-notes/skiboot-5.7-rc2.html
index efc762a..063c098 100644
--- a/doc/release-notes/skiboot-5.7-rc2.html
+++ b/doc/release-notes/skiboot-5.7-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.7-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.7-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.7-rc1.html" title="skiboot-5.7-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.7-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-7-rc2">
+ <section id="skiboot-5-7-rc2">
<span id="id1"></span><h1>skiboot-5.7-rc2<a class="headerlink" href="#skiboot-5-7-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.7-rc2 was released on Thursday July 13th 2017. It is the second
release candidate of skiboot 5.7, which will become the new stable release
@@ -62,15 +62,14 @@ similar to op-build, but slightly offset to allow for a short stabilisation
period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
<p>Over <a class="reference internal" href="skiboot-5.7-rc1.html#skiboot-5-7-rc1"><span class="std std-ref">skiboot-5.7-rc1</span></a>, we have the following changes:</p>
-<div class="section" id="power9">
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<p>There are many important changes for POWER9 DD1 and DD2 systems. POWER9 support
should be considered in development and skiboot 5.7 is certainly <strong>NOT</strong>
suitable for POWER9 production environments.</p>
<ul>
-<li><p class="first">HDAT: Add IPMI sensor data under /bmc node</p>
-</li>
-<li><p class="first">numa/associativity: Add a new level of NUMA for GPU’s</p>
+<li><p>HDAT: Add IPMI sensor data under /bmc node</p></li>
+<li><p>numa/associativity: Add a new level of NUMA for GPU’s</p>
<p>Today we have an issue where the NUMA nodes corresponding
to GPU’s have the same affinity/distance as normal memory
nodes. Our reference-points today supports two levels
@@ -78,16 +77,16 @@ nodes. Our reference-points today supports two levels
systems. This patch adds a new level [0x4, X, 0x2] and
uses node-id as at all levels for the GPU.</p>
</li>
-<li><p class="first">xive: Enable memory backing of queues</p>
+<li><p>xive: Enable memory backing of queues</p>
<p>This dedicates 6x64k pages of memory permanently for the XIVE to
use for internal queue overflow. This allows the XIVE to deal with
some corner cases where the internal queues might prove insufficient.</p>
</li>
-<li><p class="first">xive: Properly get rid of donated indirect pages during reset</p>
+<li><p>xive: Properly get rid of donated indirect pages during reset</p>
<p>Otherwise they keep being used accross kexec causing memory
corruption in subsequent kernels once KVM has been used.</p>
</li>
-<li><p class="first">cpu: Better handle unknown flags in opal_reinit_cpus()</p>
+<li><p>cpu: Better handle unknown flags in opal_reinit_cpus()</p>
<p>At the moment, if we get passed flags we don’t know about, we
return OPAL_UNSUPPORTED but we still perform whatever actions
was requied by the flags we do support. Additionally, on P8,
@@ -98,31 +97,31 @@ be careful at least on P8, but to avoid future issues let’s clean
that up, make sure we only use slw_reinit() when HILE isn’t
supported.</p>
</li>
-<li><p class="first">cpu: Unconditionally cleanup TLBs on P9 in opal_reinit_cpus()</p>
+<li><p>cpu: Unconditionally cleanup TLBs on P9 in opal_reinit_cpus()</p>
<p>This can work around problems where Linux fails to properly
cleanup part or all of the TLB on kexec.</p>
</li>
-<li><p class="first">Fix scom addresses for power9 nx checkstop hmi handling.</p>
+<li><p>Fix scom addresses for power9 nx checkstop hmi handling.</p>
<p>Scom addresses for NX status, DMA &amp; ENGINE FIR and PBI FIR has changed
for Power9. Fixup thoes while handling nx checkstop for Power9.</p>
</li>
-<li><p class="first">Fix scom addresses for power9 core checkstop hmi handling.</p>
+<li><p>Fix scom addresses for power9 core checkstop hmi handling.</p>
<p>Scom addresses for CORE FIR (Fault Isolation Register) and Malfunction
Alert Register has changed for Power9. Fixup those while handling core
checkstop for Power9.</p>
<p>Without this change HMI handler fails to check for correct reason for
core checkstop on Power9.</p>
</li>
-<li><p class="first">core/mem_region: check return value of add_region</p>
+<li><p>core/mem_region: check return value of add_region</p>
<p>The only sensible thing to do if this fails is to abort() as we’ve
likely just failed reserving reserved memory regions, and nothing
good comes from that.</p>
</li>
</ul>
-<div class="section" id="phb4">
+<section id="phb4">
<h3>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4: Do more retries on link training failures
+<li><p>phb4: Do more retries on link training failures
Currently we only retry once when we have a link training failure.
This changes this to be 3 retries as 1 retry is not giving us enough
reliablity.</p>
@@ -131,7 +130,7 @@ incorrectly detect a link presence when there really is nothing
present. I’ll post a followup patch to optimise our timings to help
mitigate this later.</p>
</li>
-<li><p class="first">phb4: Workaround phy lockup by doing full PHB reset on retry</p>
+<li><p>phb4: Workaround phy lockup by doing full PHB reset on retry</p>
<p>For PHB4 it’s possible that the phy may end up in a bad state where it
can no longer recieve data. This can manifest as the link not
retraining. A simple PERST will not clear this. The PHB must be
@@ -141,44 +140,44 @@ completely reset.</p>
state (lower speed or narrower width). This patch doesn’t attempt to
fix that (will come later).</p>
</li>
-<li><p class="first">pci: Add ability to trace timing</p>
+<li><p>pci: Add ability to trace timing</p>
<p>PCI link training is responsible for a huge chunk of the skiboot boot
time, so add the ability to trace it waiting in the main state
machine.</p>
</li>
-<li><p class="first">pci: Print resetting PHB notice at higher log level</p>
+<li><p>pci: Print resetting PHB notice at higher log level</p>
<p>Currently during boot there a long delay while we wait for the PHBs to
be reset and train. During this time, there is no output from skiboot
and the last message doesn’t give an indication of what’s happening.</p>
<p>This boosts the PHB reset message from info to notice so users can see
what’s happening during this long period of waiting.</p>
</li>
-<li><p class="first">phb4: Only set one bit in nfir</p>
+<li><p>phb4: Only set one bit in nfir</p>
<p>The MPIPL procedure says to only set bit 26 when forcing the PEC into
freeze mode. Currently we set bits 24-27.</p>
<p>This changes the code to follow spec and only set bit 26.</p>
</li>
-<li><p class="first">phb4: Fix order of pfir/nfir clearing in CRESET</p>
+<li><p>phb4: Fix order of pfir/nfir clearing in CRESET</p>
<p>According to the workbook, pfir must be cleared before the nfir.
The way we have it now causes the nfir to not clear properly in some
error circumstances.</p>
<p>This swaps the order to match the workbook.</p>
</li>
-<li><p class="first">phb4: Remove incorrect state transition</p>
+<li><p>phb4: Remove incorrect state transition</p>
<p>When waiting in PHB4_SLOT_CRESET_WAIT_CQ for transations to end, we
incorrectly move onto the next state. Generally we don’t hit this as
the transactions have ended already anyway.</p>
<p>This removes the incorrect state transition.</p>
</li>
-<li><p class="first">phb4: Set default lane equalisation</p>
+<li><p>phb4: Set default lane equalisation</p>
<p>Set default lane equalisation if there is nothing in the device-tree.</p>
<p>Default value taken from hdat and confirmed by hardware team. Neatens
the code up a bit too.</p>
</li>
-<li><p class="first">hdata: Fix phb4 lane-eq property generation</p>
+<li><p>hdata: Fix phb4 lane-eq property generation</p>
<p>The lane-eq data we get from hdat is all 7s but what we end up in the
device tree is:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">xscom</span><span class="nd">@603fc00000000</span><span class="o">/</span><span class="n">pbcq</span><span class="nd">@4010c00</span><span class="o">/</span><span class="n">stack</span><span class="nd">@0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">lane</span><span class="o">-</span><span class="n">eq</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">xscom</span><span class="o">@</span><span class="mi">603</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">pbcq</span><span class="o">@</span><span class="mi">4010</span><span class="n">c00</span><span class="o">/</span><span class="n">stack</span><span class="o">@</span><span class="mi">0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">lane</span><span class="o">-</span><span class="n">eq</span>
<span class="mi">00000000</span> <span class="mi">31</span><span class="n">c339e0</span> <span class="mi">00000000</span> <span class="mi">0000000</span><span class="n">c</span>
<span class="mi">00000000</span> <span class="mi">00000000</span> <span class="mi">00000000</span> <span class="mi">00000000</span>
<span class="mi">00000000</span> <span class="mi">31</span><span class="n">c30000</span> <span class="mi">77777777</span> <span class="mi">77777777</span>
@@ -188,47 +187,48 @@ device tree is:</p>
<p>This fixes grabbing the properties from hdat and fixes the call to put
them in the device tree.</p>
</li>
-<li><p class="first">phb4: Fix PHB4 fence recovery.</p>
+<li><p>phb4: Fix PHB4 fence recovery.</p>
<p>We had a few problems:</p>
<ul class="simple">
-<li>We used the wrong register to trigger the reset (spec bug)</li>
-<li>We should clear the PFIR and NFIR while the reset is asserted</li>
-<li>… and in the right order !</li>
-<li>We should only apply the DD1 workaround after the reset has
-been lifted.</li>
-<li>We should ensure we use ASB whenever we are fenced or doing a
-CRESET</li>
-<li>Make config ops write with ASB</li>
+<li><p>We used the wrong register to trigger the reset (spec bug)</p></li>
+<li><p>We should clear the PFIR and NFIR while the reset is asserted</p></li>
+<li><p>… and in the right order !</p></li>
+<li><p>We should only apply the DD1 workaround after the reset has
+been lifted.</p></li>
+<li><p>We should ensure we use ASB whenever we are fenced or doing a
+CRESET</p></li>
+<li><p>Make config ops write with ASB</p></li>
</ul>
</li>
-<li><p class="first">phb4: Verbose EEH options</p>
+<li><p>phb4: Verbose EEH options</p>
<p>Enabled via nvram pci-eeh-verbose=true. ie.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">nvram</span> <span class="o">-</span><span class="n">p</span> <span class="n">ibm</span><span class="p">,</span><span class="n">skiboot</span> <span class="o">--</span><span class="n">update</span><span class="o">-</span><span class="n">config</span> <span class="n">pci</span><span class="o">-</span><span class="n">eeh</span><span class="o">-</span><span class="n">verbose</span><span class="o">=</span><span class="n">true</span>
</pre></div>
</div>
</li>
-<li><p class="first">phb4: Print more info when PHB fences</p>
+<li><p>phb4: Print more info when PHB fences</p>
<p>For now at PHBERR level. We don’t have room in the diags data
passed to Linux for these unfortunately.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="testing-development">
+</section>
+</section>
+<section id="testing-development">
<h2>Testing/development<a class="headerlink" href="#testing-development" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>lpc: remove double LPC prefix from messages</li>
-<li>opal-ci/fetch-debian-jessie-installer: follow redirects
-Fixes some CI failures</li>
-<li>test/qemu-jessie: bail out fast on kernel panic</li>
-<li>test/qemu-jessie: dump boot log on failure</li>
-<li>travis: add fedora26</li>
-<li>xz: add fallthrough annotations to silence GCC7 warning</li>
+<li><p>lpc: remove double LPC prefix from messages</p></li>
+<li><p>opal-ci/fetch-debian-jessie-installer: follow redirects
+Fixes some CI failures</p></li>
+<li><p>test/qemu-jessie: bail out fast on kernel panic</p></li>
+<li><p>test/qemu-jessie: dump boot log on failure</p></li>
+<li><p>travis: add fedora26</p></li>
+<li><p>xz: add fallthrough annotations to silence GCC7 warning</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -260,17 +260,15 @@ Fixes some CI failures</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -287,14 +285,15 @@ Fixes some CI failures</li>
<li class="right" >
<a href="skiboot-5.7-rc1.html" title="skiboot-5.7-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.7-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.7.html b/doc/release-notes/skiboot-5.7.html
index 1a1534f..50f85b9 100644
--- a/doc/release-notes/skiboot-5.7.html
+++ b/doc/release-notes/skiboot-5.7.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.7 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.7 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.6.0-rc2.html" title="skiboot-5.6.0-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.7</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-7">
+ <section id="skiboot-5-7">
<span id="id1"></span><h1>skiboot-5.7<a class="headerlink" href="#skiboot-5-7" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.7 was released on Tuesday July 25th 2017. It follows two
release candidates of skiboot 5.7, and is now the new stable release
@@ -60,18 +60,18 @@ to skiboot v5.7.</p>
similar to op-build, but slightly offset to allow for a short stabilisation
period. Expected release dates and contents are tracked using GitHub milestone
and issues: <a class="reference external" href="https://github.com/open-power/skiboot/milestones">https://github.com/open-power/skiboot/milestones</a></p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>, we have a few new features:</p>
<p>New features in this release for POWER9 systems:</p>
<ul class="simple">
-<li>In Memory Counters (IMC) (See <a class="reference internal" href="../imc.html#imc"><span class="std std-ref">OPAL/Skiboot In-Memory Collection (IMC) interface Documentation</span></a> for details)</li>
-<li>phb4: Activate shared PCI slot on witherspoon (see <a class="reference internal" href="#shared-slot-rn"><span class="std std-ref">Shared Slot</span></a>)</li>
-<li>phb4 capi (i.e. CAPI2): Enable capi mode for PHB4 (see <a class="reference internal" href="#capi2-rn"><span class="std std-ref">CAPI on PHB4</span></a>)</li>
+<li><p>In Memory Counters (IMC) (See <a class="reference internal" href="../imc.html#imc"><span class="std std-ref">OPAL/Skiboot In-Memory Collection (IMC) interface Documentation</span></a> for details)</p></li>
+<li><p>phb4: Activate shared PCI slot on witherspoon (see <a class="reference internal" href="#shared-slot-rn"><span class="std std-ref">Shared Slot</span></a>)</p></li>
+<li><p>phb4 capi (i.e. CAPI2): Enable capi mode for PHB4 (see <a class="reference internal" href="#capi2-rn"><span class="std std-ref">CAPI on PHB4</span></a>)</p></li>
</ul>
<p>New feature for IBM FSP based systems:</p>
<ul>
-<li><p class="first">fsp/tpo: Provide support for disabling TPO alarm</p>
+<li><p>fsp/tpo: Provide support for disabling TPO alarm</p>
<p>This patch adds support for disabling a preconfigured
Timed-Power-On(TPO) alarm on FSP based systems. Presently once a TPO alarm
is configured from the kernel it will be triggered even if its
@@ -84,29 +84,28 @@ expected to call opal_tpo_write() with y_m_d==hr_min==0 to request
opal to disable TPO alarm.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<p>There are many important changes for POWER9 DD1 and DD2 systems. POWER9 support
should be considered in development and skiboot 5.7 is certainly <strong>NOT</strong>
suitable for POWER9 production environments.</p>
<p>Since <a class="reference internal" href="skiboot-5.7-rc2.html#skiboot-5-7-rc2"><span class="std std-ref">skiboot-5.7-rc2</span></a>:</p>
<ul>
-<li><p class="first">platform/witherspoon: Enable eSEL logging</p>
+<li><p>platform/witherspoon: Enable eSEL logging</p>
<p>OpenBMC stack added IPMI OEM extension to log eSEL events.
Lets enable eSEL logging from OPAL side.</p>
<p>See: <a class="reference external" href="https://github.com/openbmc/openpower-host-ipmi-oem/blob/d9296050bcece5c2eca5ede0932d944b0ced66c9/oemhandler.cpp#L142">https://github.com/openbmc/openpower-host-ipmi-oem/blob/d9296050bcece5c2eca5ede0932d944b0ced66c9/oemhandler.cpp#L142</a>
(yes, that is the documentation)</p>
</li>
-<li><p class="first">hdat/i2c: Fix array version check</p>
-</li>
-<li><p class="first">mem_region: Check for no-map in reserved nodes</p>
+<li><p>hdat/i2c: Fix array version check</p></li>
+<li><p>mem_region: Check for no-map in reserved nodes</p>
<p>Regions with the no-map property should be handled seperately to
“normal” firmware reservations. When creating mem_region regions
from a reserved-memory DT node use the no-map property to select
the right reservation type.</p>
</li>
-<li><p class="first">hdata/memory: Add memory reservations to the DT</p>
+<li><p>hdata/memory: Add memory reservations to the DT</p>
<p>Currently we just add these to a list of pre-boot reserved regions
which is then converted into a the contents of the /reserved-memory/
node just before Skiboot jumps into the firmware kernel.</p>
@@ -120,9 +119,8 @@ makes the HDAT parser do the same.</p>
</ul>
<p>Since Since <a class="reference internal" href="skiboot-5.7-rc1.html#skiboot-5-7-rc1"><span class="std std-ref">skiboot-5.7-rc1</span></a>:</p>
<ul>
-<li><p class="first">HDAT: Add IPMI sensor data under /bmc node</p>
-</li>
-<li><p class="first">numa/associativity: Add a new level of NUMA for GPU’s</p>
+<li><p>HDAT: Add IPMI sensor data under /bmc node</p></li>
+<li><p>numa/associativity: Add a new level of NUMA for GPU’s</p>
<p>Today we have an issue where the NUMA nodes corresponding
to GPU’s have the same affinity/distance as normal memory
nodes. Our reference-points today supports two levels
@@ -130,16 +128,16 @@ nodes. Our reference-points today supports two levels
systems. This patch adds a new level [0x4, X, 0x2] and
uses node-id as at all levels for the GPU.</p>
</li>
-<li><p class="first">xive: Enable memory backing of queues</p>
+<li><p>xive: Enable memory backing of queues</p>
<p>This dedicates 6x64k pages of memory permanently for the XIVE to
use for internal queue overflow. This allows the XIVE to deal with
some corner cases where the internal queues might prove insufficient.</p>
</li>
-<li><p class="first">xive: Properly get rid of donated indirect pages during reset</p>
+<li><p>xive: Properly get rid of donated indirect pages during reset</p>
<p>Otherwise they keep being used accross kexec causing memory
corruption in subsequent kernels once KVM has been used.</p>
</li>
-<li><p class="first">cpu: Better handle unknown flags in opal_reinit_cpus()</p>
+<li><p>cpu: Better handle unknown flags in opal_reinit_cpus()</p>
<p>At the moment, if we get passed flags we don’t know about, we
return OPAL_UNSUPPORTED but we still perform whatever actions
was requied by the flags we do support. Additionally, on P8,
@@ -150,22 +148,22 @@ be careful at least on P8, but to avoid future issues let’s clean
that up, make sure we only use slw_reinit() when HILE isn’t
supported.</p>
</li>
-<li><p class="first">cpu: Unconditionally cleanup TLBs on P9 in opal_reinit_cpus()</p>
+<li><p>cpu: Unconditionally cleanup TLBs on P9 in opal_reinit_cpus()</p>
<p>This can work around problems where Linux fails to properly
cleanup part or all of the TLB on kexec.</p>
</li>
-<li><p class="first">Fix scom addresses for power9 nx checkstop hmi handling.</p>
+<li><p>Fix scom addresses for power9 nx checkstop hmi handling.</p>
<p>Scom addresses for NX status, DMA &amp; ENGINE FIR and PBI FIR has changed
for Power9. Fixup thoes while handling nx checkstop for Power9.</p>
</li>
-<li><p class="first">Fix scom addresses for power9 core checkstop hmi handling.</p>
+<li><p>Fix scom addresses for power9 core checkstop hmi handling.</p>
<p>Scom addresses for CORE FIR (Fault Isolation Register) and Malfunction
Alert Register has changed for Power9. Fixup those while handling core
checkstop for Power9.</p>
<p>Without this change HMI handler fails to check for correct reason for
core checkstop on Power9.</p>
</li>
-<li><p class="first">core/mem_region: check return value of add_region</p>
+<li><p>core/mem_region: check return value of add_region</p>
<p>The only sensible thing to do if this fails is to abort() as we’ve
likely just failed reserving reserved memory regions, and nothing
good comes from that.</p>
@@ -173,15 +171,15 @@ good comes from that.</p>
</ul>
<p>Since Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">hdata: Reserve Trace Areas</p>
+<li><p>hdata: Reserve Trace Areas</p>
<p>When hostboot is configured to setup in memory tracing it will reserve
some memory for use by the hardware tracing facility. We need to mark
these areas as off limits to the operating system and firmware.</p>
</li>
-<li><p class="first">hdata: Make out-of-range idata print at PR_DEBUG</p>
+<li><p>hdata: Make out-of-range idata print at PR_DEBUG</p>
<p>Some fields just aren’t populated on some systems.</p>
</li>
-<li><p class="first">hdata: Ignore unnamed memory reservations.</p>
+<li><p>hdata: Ignore unnamed memory reservations.</p>
<p>Hostboot should name any and all memory reservations that it provides.
Currently some hostboots export a broken reservation covering the first
256MB of memory and this causes the system to crash at boot due to an
@@ -190,19 +188,19 @@ region (which covers the first 768MB of memory).</p>
<p>According to the hostboot team unnamed reservations are invalid and can
be ignored.</p>
</li>
-<li><p class="first">hdata: Check the Host I2C devices array version</p>
+<li><p>hdata: Check the Host I2C devices array version</p>
<p>Currently this is not populated on FSP machines which causes some
obnoxious errors to appear in the boot log. We also only want to
parse version 1 of this structure since future versions will completely
change the array item format.</p>
</li>
-<li><p class="first">Ensure P9 DD1 workarounds apply only to Nimbus</p>
+<li><p>Ensure P9 DD1 workarounds apply only to Nimbus</p>
<p>The workarounds for P9 DD1 are only needed for Nimbus. P9 Cumulus will
be DD1 but don’t need these same workarounds.</p>
<p>This patch ensures the P9 DD1 workarounds only apply to Nimbus. It
also renames some things to make clear what’s what.</p>
</li>
-<li><p class="first">cpu: Cleanup AMR and IAMR when re-initializing CPUs</p>
+<li><p>cpu: Cleanup AMR and IAMR when re-initializing CPUs</p>
<p>There’s a bug in current Linux kernels leaving crap in those registers
accross kexec and not sanitizing them on boot. This breaks kexec under
some circumstances (such as booting a hash kernel from a radix one
@@ -214,10 +212,10 @@ and shouldn’t have adverse effects.</p>
well such as restoring some other SPRs to their default value in
the future.</p>
</li>
-<li><p class="first">Set POWER9 RPR SPR to 0x00000103070F1F3F. Same value as P8.</p>
+<li><p>Set POWER9 RPR SPR to 0x00000103070F1F3F. Same value as P8.</p>
<p>Without this, thread priorities inside a core don’t work.</p>
</li>
-<li><p class="first">cpu: Support setting HID[RADIX] and set it by default on P9</p>
+<li><p>cpu: Support setting HID[RADIX] and set it by default on P9</p>
<p>This adds new opal_reinit_cpus() flags to setup radix or hash
mode in HID[8] on POWER9.</p>
<p>By default HID[8] will be set. On P9 DD1.0, Linux will change
@@ -227,27 +225,26 @@ will work.</p>
<p>Newer kernels built for hash will call this to clear the HID bit
and thus get the full size of the TLB as an optimization.</p>
</li>
-<li><p class="first">Add “cleanup_global_tlb” for P9 and later</p>
+<li><p>Add “cleanup_global_tlb” for P9 and later</p>
<p>Uses broadcast TLBIE’s to cleanup the TLB on all cores and on
the nest MMU</p>
</li>
-<li><p class="first">xive: DD2.0 updates</p>
+<li><p>xive: DD2.0 updates</p>
<p>Add support for StoreEOI, fix StoreEOI MMIO offset in ESB page,
and other cleanups</p>
</li>
-<li><p class="first">Update default TSCR value for P9 as recommended by HW folk.</p>
-</li>
-<li><p class="first">xive: Fix initialisation of xive_cpu_state struct</p>
+<li><p>Update default TSCR value for P9 as recommended by HW folk.</p></li>
+<li><p>xive: Fix initialisation of xive_cpu_state struct</p>
<p>When using XIVE emulation with DEBUG=1, we run into crashes in log_add()
due to the xive_cpu_state-&gt;log_pos being uninitialised (and thus, with
DEBUG enabled, initialised to the poison value of 0x99999999).</p>
</li>
</ul>
-<div class="section" id="phb4">
+<section id="phb4">
<h3>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h3>
<p>Since <a class="reference internal" href="skiboot-5.7-rc2.html#skiboot-5-7-rc2"><span class="std std-ref">skiboot-5.7-rc2</span></a>:</p>
<ul>
-<li><p class="first">phb4: Add link training trace mode</p>
+<li><p>phb4: Add link training trace mode</p>
<p>Add a mode to PHB4 to trace training process closely. This activates
as soon as PERST is deasserted and produces human readable output of
the process.</p>
@@ -275,14 +272,14 @@ timeout but will fall through to the default training code once done.</p>
</pre></div>
</div>
</li>
-<li><p class="first">phb4: Improve reset and link training timing</p>
+<li><p>phb4: Improve reset and link training timing</p>
<p>This improves PHB reset and link training timing.</p>
</li>
-<li><p class="first">phb4: Add phb4_check_reg() to sanity check failures</p>
+<li><p>phb4: Add phb4_check_reg() to sanity check failures</p>
<p>This adds a function phb4_check_reg() to sanity check when we do MMIO
reads from the PHB to make sure it’s not fenced.</p>
</li>
-<li><p class="first">phb4: Remove retry on electrical link timeout</p>
+<li><p>phb4: Remove retry on electrical link timeout</p>
<p>Currently we retry if we don’t detect an electrical link. This is
pointless as all devices should respond in the given time.</p>
<p>This patches removes this retry and just returns OPAL_HARDWARE if we
@@ -291,28 +288,28 @@ don’t detect an electrical link.</p>
that have badly wired presence detect (ie. says a device is present
when there isn’t).</p>
</li>
-<li><p class="first">phb4: Read PERST signal rather than assuming it’s asserted</p>
+<li><p>phb4: Read PERST signal rather than assuming it’s asserted</p>
<p>Currently we assume on boot that PERST is asserted so that we can skip
having to assert it ourselves.</p>
<p>This instead reads the PERST status and determines if we need to
assert it based on that.</p>
</li>
-<li><p class="first">phb4: Fix endian of TLP headers print</p>
+<li><p>phb4: Fix endian of TLP headers print</p>
<p>Byte swap TLP headers so they are the same as the PCIe spec.</p>
</li>
-<li><p class="first">phb4: Change timeouts prints to error level</p>
+<li><p>phb4: Change timeouts prints to error level</p>
<p>If the link doesn’t have a electrical link or the link doesn’t train
we should make that more obvious to the user.</p>
</li>
-<li><p class="first">phb4: Better logs why the slot didn’t work</p>
+<li><p>phb4: Better logs why the slot didn’t work</p>
<p>Better logs why the slot didn’t work and make it a PR_ERR so users
see it by default.</p>
</li>
-<li><p class="first">phb4: Force verbose EEH logging</p>
+<li><p>phb4: Force verbose EEH logging</p>
<p>Force verbose EEH. This is a heavy handed and we should turn if off
later as things stabilise, but is useful for now.</p>
</li>
-<li><p class="first">phb4: Initialization sequence updates</p>
+<li><p>phb4: Initialization sequence updates</p>
<p>Mostly errata workarounds, some DD1 specific.</p>
<p>The step Init_5 was moved to Init_16, so the numbering was updated to
reflect this.</p>
@@ -320,7 +317,7 @@ reflect this.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.7-rc1.html#skiboot-5-7-rc1"><span class="std std-ref">skiboot-5.7-rc1</span></a>:</p>
<ul>
-<li><p class="first">phb4: Do more retries on link training failures
+<li><p>phb4: Do more retries on link training failures
Currently we only retry once when we have a link training failure.
This changes this to be 3 retries as 1 retry is not giving us enough
reliablity.</p>
@@ -329,7 +326,7 @@ incorrectly detect a link presence when there really is nothing
present. I’ll post a followup patch to optimise our timings to help
mitigate this later.</p>
</li>
-<li><p class="first">phb4: Workaround phy lockup by doing full PHB reset on retry</p>
+<li><p>phb4: Workaround phy lockup by doing full PHB reset on retry</p>
<p>For PHB4 it’s possible that the phy may end up in a bad state where it
can no longer recieve data. This can manifest as the link not
retraining. A simple PERST will not clear this. The PHB must be
@@ -339,44 +336,44 @@ completely reset.</p>
state (lower speed or narrower width). This patch doesn’t attempt to
fix that (will come later).</p>
</li>
-<li><p class="first">pci: Add ability to trace timing</p>
+<li><p>pci: Add ability to trace timing</p>
<p>PCI link training is responsible for a huge chunk of the skiboot boot
time, so add the ability to trace it waiting in the main state
machine.</p>
</li>
-<li><p class="first">pci: Print resetting PHB notice at higher log level</p>
+<li><p>pci: Print resetting PHB notice at higher log level</p>
<p>Currently during boot there a long delay while we wait for the PHBs to
be reset and train. During this time, there is no output from skiboot
and the last message doesn’t give an indication of what’s happening.</p>
<p>This boosts the PHB reset message from info to notice so users can see
what’s happening during this long period of waiting.</p>
</li>
-<li><p class="first">phb4: Only set one bit in nfir</p>
+<li><p>phb4: Only set one bit in nfir</p>
<p>The MPIPL procedure says to only set bit 26 when forcing the PEC into
freeze mode. Currently we set bits 24-27.</p>
<p>This changes the code to follow spec and only set bit 26.</p>
</li>
-<li><p class="first">phb4: Fix order of pfir/nfir clearing in CRESET</p>
+<li><p>phb4: Fix order of pfir/nfir clearing in CRESET</p>
<p>According to the workbook, pfir must be cleared before the nfir.
The way we have it now causes the nfir to not clear properly in some
error circumstances.</p>
<p>This swaps the order to match the workbook.</p>
</li>
-<li><p class="first">phb4: Remove incorrect state transition</p>
+<li><p>phb4: Remove incorrect state transition</p>
<p>When waiting in PHB4_SLOT_CRESET_WAIT_CQ for transations to end, we
incorrectly move onto the next state. Generally we don’t hit this as
the transactions have ended already anyway.</p>
<p>This removes the incorrect state transition.</p>
</li>
-<li><p class="first">phb4: Set default lane equalisation</p>
+<li><p>phb4: Set default lane equalisation</p>
<p>Set default lane equalisation if there is nothing in the device-tree.</p>
<p>Default value taken from hdat and confirmed by hardware team. Neatens
the code up a bit too.</p>
</li>
-<li><p class="first">hdata: Fix phb4 lane-eq property generation</p>
+<li><p>hdata: Fix phb4 lane-eq property generation</p>
<p>The lane-eq data we get from hdat is all 7s but what we end up in the
device tree is:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">xscom</span><span class="nd">@603fc00000000</span><span class="o">/</span><span class="n">pbcq</span><span class="nd">@4010c00</span><span class="o">/</span><span class="n">stack</span><span class="nd">@0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">lane</span><span class="o">-</span><span class="n">eq</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">xscom</span><span class="o">@</span><span class="mi">603</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">pbcq</span><span class="o">@</span><span class="mi">4010</span><span class="n">c00</span><span class="o">/</span><span class="n">stack</span><span class="o">@</span><span class="mi">0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">lane</span><span class="o">-</span><span class="n">eq</span>
<span class="mi">00000000</span> <span class="mi">31</span><span class="n">c339e0</span> <span class="mi">00000000</span> <span class="mi">0000000</span><span class="n">c</span>
<span class="mi">00000000</span> <span class="mi">00000000</span> <span class="mi">00000000</span> <span class="mi">00000000</span>
<span class="mi">00000000</span> <span class="mi">31</span><span class="n">c30000</span> <span class="mi">77777777</span> <span class="mi">77777777</span>
@@ -386,46 +383,46 @@ device tree is:</p>
<p>This fixes grabbing the properties from hdat and fixes the call to put
them in the device tree.</p>
</li>
-<li><p class="first">phb4: Fix PHB4 fence recovery.</p>
+<li><p>phb4: Fix PHB4 fence recovery.</p>
<p>We had a few problems:</p>
<ul class="simple">
-<li>We used the wrong register to trigger the reset (spec bug)</li>
-<li>We should clear the PFIR and NFIR while the reset is asserted</li>
-<li>… and in the right order !</li>
-<li>We should only apply the DD1 workaround after the reset has
-been lifted.</li>
-<li>We should ensure we use ASB whenever we are fenced or doing a
-CRESET</li>
-<li>Make config ops write with ASB</li>
+<li><p>We used the wrong register to trigger the reset (spec bug)</p></li>
+<li><p>We should clear the PFIR and NFIR while the reset is asserted</p></li>
+<li><p>… and in the right order !</p></li>
+<li><p>We should only apply the DD1 workaround after the reset has
+been lifted.</p></li>
+<li><p>We should ensure we use ASB whenever we are fenced or doing a
+CRESET</p></li>
+<li><p>Make config ops write with ASB</p></li>
</ul>
</li>
-<li><p class="first">phb4: Verbose EEH options</p>
+<li><p>phb4: Verbose EEH options</p>
<p>Enabled via nvram pci-eeh-verbose=true. ie.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">nvram</span> <span class="o">-</span><span class="n">p</span> <span class="n">ibm</span><span class="p">,</span><span class="n">skiboot</span> <span class="o">--</span><span class="n">update</span><span class="o">-</span><span class="n">config</span> <span class="n">pci</span><span class="o">-</span><span class="n">eeh</span><span class="o">-</span><span class="n">verbose</span><span class="o">=</span><span class="n">true</span>
</pre></div>
</div>
</li>
-<li><p class="first">phb4: Print more info when PHB fences</p>
+<li><p>phb4: Print more info when PHB fences</p>
<p>For now at PHBERR level. We don’t have room in the diags data
passed to Linux for these unfortunately.</p>
</li>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">phb4: Fix number of index bits in IODA tables</p>
+<li><p>phb4: Fix number of index bits in IODA tables</p>
<p>On PHB4 the number of index bits in the IODA table address register
was bumped to 10 bits to accomodate for 1024 MSIs and 1024 TVEs (DD2).</p>
<p>However our macro only defined the field to be 9 bits, thus causing
“interesting” behaviours on some systems.</p>
</li>
-<li><p class="first">phb4: Harden init with bad PHBs</p>
+<li><p>phb4: Harden init with bad PHBs</p>
<p>Currently if we read all 1’s from the EEH or IRQ capabilities, we end
up train wrecking on some other random code (eg. an assert() in xive).</p>
<p>This hardens the PHB4 code to look for these bad reads and more
gracefully fails the init for that PHB alone. This allows the rest of
the system to boot and ignore those bad PHBs.</p>
</li>
-<li><p class="first">phb4 capi (i.e. CAPI2): Handle HMI events</p>
+<li><p>phb4 capi (i.e. CAPI2): Handle HMI events</p>
<p>Find the CAPP on the chip associated with the HMI event for PHB4.
The recovery mode (re-initialization of the capp, resume of functional
operations) is only available with P9 DD2. A new patch will be provided
@@ -433,7 +430,7 @@ to support this feature.</p>
</li>
</ul>
<ul id="capi2-rn">
-<li><p class="first">phb4 capi (i.e. CAPI2): Enable capi mode for PHB4</p>
+<li><p>phb4 capi (i.e. CAPI2): Enable capi mode for PHB4</p>
<p>Enable the Coherently attached processor interface. The PHB is used as
a CAPI interface.
CAPI Adapters can be connected to either PEC0 or PEC2. Single port
@@ -442,7 +439,7 @@ Adapter can be only connected to PEC2
* CAPP0 attached to PHB0(PEC0 - single port)
* CAPP1 attached to PHB3(PEC2 - single or dual port)</p>
</li>
-<li><p class="first">hw/phb4: Rework phb4_get_presence_state()</p>
+<li><p>hw/phb4: Rework phb4_get_presence_state()</p>
<p>There are two issues in current implementation: It should return errcode
visibile to Linux, which has prefix OPAL_*. The code isn’t very obvious.</p>
<p>This returns OPAL_HARDWARE when the PHB is broken. Otherwise, OPAL_SUCCESS
@@ -450,29 +447,28 @@ is always returned. In the mean while, It refactors the code to make it
obvious: OPAL_PCI_SLOT_PRESENT is returned when the presence signal (low active)
or PCIe link is active. Otherwise, OPAL_PCI_SLOT_EMPTY is returned.</p>
</li>
-<li><p class="first">phb4: Error injection for config space</p>
+<li><p>phb4: Error injection for config space</p>
<p>Implement CFG (config space) error injection.</p>
<p>This works the same as PHB3. MMIO and DMA error injection require a
rewrite, so they’re unsupported for now.</p>
<p>While it’s not feature complete, this at least provides an easy way to
inject an error that will trigger EEH.</p>
</li>
-<li><p class="first">phb4: Error clear implementation</p>
-</li>
-<li><p class="first">phb4: Mask link down errors during reset</p>
+<li><p>phb4: Error clear implementation</p></li>
+<li><p>phb4: Mask link down errors during reset</p>
<p>During a hot reset the PCI link will drop, so we need to mask link down
events to prevent unnecessary errors.</p>
</li>
-<li><p class="first">phb4: Implement root port initialization</p>
+<li><p>phb4: Implement root port initialization</p>
<p>phb4_root_port_init() was a NOP before, so fix that.</p>
</li>
-<li><p class="first">phb4: Complete reset implementation</p>
+<li><p>phb4: Complete reset implementation</p>
<p>This implements complete reset (creset) functionality for POWER9 DD1.</p>
<p>Only partially tested and contends with some DD1 errata, but it’s a start.</p>
</li>
</ul>
<ul id="shared-slot-rn">
-<li><p class="first">phb4: Activate shared PCI slot on witherspoon</p>
+<li><p>phb4: Activate shared PCI slot on witherspoon</p>
<p>Witherspoon systems come with a ‘shared’ PCI slot: physically, it
looks like a x16 slot, but it’s actually two x8 slots connected to two
PHBs of two different chips. Taking advantage of it requires some
@@ -493,13 +489,12 @@ then the presence bit of the second slot is not set, so this patch
does nothing. The x8 (or less) adapter should work like on any other
physical slot.</p>
</li>
-<li><p class="first">phb4: Block D-state power management on direct slots</p>
+<li><p>phb4: Block D-state power management on direct slots</p>
<p>As current revisions of PHB4 don’t properly handle the resulting
L1 link transition.</p>
</li>
-<li><p class="first">phb4: Call pci config filters</p>
-</li>
-<li><p class="first">phb4: Mask out write-1-to-clear registers in RC cfg</p>
+<li><p>phb4: Call pci config filters</p></li>
+<li><p>phb4: Mask out write-1-to-clear registers in RC cfg</p>
<p>The root complex config space only supports 4-byte accesses. Thus, when
the client requests a smaller size write, we do a read-modify-write to
the register.</p>
@@ -510,97 +505,95 @@ write back those 1’s and clear the corresponding bit.</p>
<p>This avoids it by masking out those magic bits from the “old” value
read from the register.</p>
</li>
-<li><p class="first">phb4: Properly mask out link down errors during reset</p>
-</li>
-<li><p class="first">phb3/4: Silence a useless warning</p>
+<li><p>phb4: Properly mask out link down errors during reset</p></li>
+<li><p>phb3/4: Silence a useless warning</p>
<p>PHB’s don’t have base location codes on non-FSP systems and it’s
normal.</p>
</li>
-<li><p class="first">phb4: Workaround bug in spec 053</p>
+<li><p>phb4: Workaround bug in spec 053</p>
<p>Wait for DLP PGRESET to clear <em>after</em> lifting the PCIe core reset</p>
</li>
-<li><p class="first">phb4: DD2.0 updates</p>
+<li><p>phb4: DD2.0 updates</p>
<p>Support StoreEOI, full complements of PEs (twice as big TVT)
and other updates.</p>
<p>Also renumber init steps to match spec 063</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2">
+</section>
+<section id="npu2">
<h3>NPU2<a class="headerlink" href="#npu2" title="Permalink to this headline">¶</a></h3>
<p>Note that currently NPU2 support is limited to POWER9 DD1 hardware.</p>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">platforms/astbmc/witherspoon.c: Add NPU2 slot mappings</p>
+<li><p>platforms/astbmc/witherspoon.c: Add NPU2 slot mappings</p>
<p>For NVLink2 to function PCIe devices need to be associated with the right
NVLinks. This association is supposed to be passed down to Skiboot via HDAT but
those fields are still not correctly filled out. To work around this we add slot
tables for the NVLinks similar to what we have for P8+.</p>
</li>
-<li><p class="first">hw/npu2.c: Fix device aperture calculation</p>
+<li><p>hw/npu2.c: Fix device aperture calculation</p>
<p>The POWER9 NPU2 implements an address compression scheme to compress 56-bit P9
physical addresses to 47-bit GPU addresses. System software needs to know both
addresses, unfortunately the calculation of the compressed address was
incorrect. Fix it here.</p>
</li>
-<li><p class="first">hw/npu2.c: Change MCD BAR allocation order</p>
+<li><p>hw/npu2.c: Change MCD BAR allocation order</p>
<p>MCD BARs need to be correctly aligned to the size of the region. As GPU
memory is allocated from the top of memory down we should start allocating
from the highest GPU memory address to the lowest to ensure correct
alignment.</p>
</li>
-<li><p class="first">NPU2: Add flag to nvlink config space indicating DL reset state</p>
+<li><p>NPU2: Add flag to nvlink config space indicating DL reset state</p>
<p>Device drivers need to be able to determine if the DL is out of reset or
not so they can safely probe to see if links have already been trained.
This patch adds a flag to the vendor specific config space indicating if
the DL is out of reset.</p>
</li>
-<li><p class="first">hw/npu2.c: Hardcode MSR_SF when setting up npu XTS contexts</p>
+<li><p>hw/npu2.c: Hardcode MSR_SF when setting up npu XTS contexts</p>
<p>We don’t support anything other than 64-bit mode for address translations so we
can safely hardcode it.</p>
</li>
-<li><p class="first">hw/npu2-hw-procedures.c: Add nvram option to override zcal calculations</p>
+<li><p>hw/npu2-hw-procedures.c: Add nvram option to override zcal calculations</p>
<p>In some rare cases the zcal state machine may fail and flag an error. According
to hardware designers it is sometimes ok to ignore this failure and use nominal
values for the calculations. In this case we add a nvram variable
(nv_zcal_override) which will cause skiboot to ignore the failure and use the
nominal value specified in nvram.</p>
</li>
-<li><p class="first">npu2: Fix npu2_{read,write}_4b()</p>
+<li><p>npu2: Fix npu2_{read,write}_4b()</p>
<p>When writing or reading 4-byte values, we need to use the upper half of
the 64-bit SCOM register.</p>
<p>Fix npu2_{read,write}_4b() and their callers to use uint32_t, and
appropriately shift the value being written or returned.</p>
</li>
-<li><p class="first">hw/npu2.c: Fix opal_npu_map_lpar to search for existing BDF</p>
-</li>
-<li><p class="first">hw/npu2-hw-procedures.c: Fix running of zcal procedure</p>
+<li><p>hw/npu2.c: Fix opal_npu_map_lpar to search for existing BDF</p></li>
+<li><p>hw/npu2-hw-procedures.c: Fix running of zcal procedure</p>
<blockquote>
<div><p>The zcal procedure should only be run once per obus (ie. once per group of 3
links). Clean up the code and fix the potential buffer overflow due to a typo.
Also updates the zcal settings to their proper values.</p>
</div></blockquote>
</li>
-<li><p class="first">hw/npu2.c: Add memory coherence directory programming</p>
+<li><p>hw/npu2.c: Add memory coherence directory programming</p>
<p>The memory coherence directory (MCD) needs to know which system memory addresses
belong to the GPU. This amounts to setting a BAR and a size in the MCD to cover
the addresses assigned to each of the GPUs. To ease assignment we assume GPUs
are assigned memory in a contiguous block per chip.</p>
</li>
</ul>
-</div>
-<div class="section" id="occ-power-management">
+</section>
+<section id="occ-power-management">
<h3>OCC/Power Management<a class="headerlink" href="#occ-power-management" title="Permalink to this headline">¶</a></h3>
<p>With this release, it’s possible to boot POWER9 systems with the OCC
enabled and change CPU frequencies. Doing so does require other firmware
components to also support this (otherwise the frequency will not be set).</p>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">occ: Skip setting cores to nominal frequency in P9</p>
+<li><p>occ: Skip setting cores to nominal frequency in P9</p>
<p>In P9, once OCC is up, it is supposed to setup the cores to nominal
frequency. So skip this step in OPAL.</p>
</li>
-<li><p class="first">occ: Fix Pstate ordering for P9</p>
+<li><p>occ: Fix Pstate ordering for P9</p>
<p>In P9 the pstate values are positive. They are continuous set of
unsigned integers [0 to +N] where Pmax is 0 and Pmin is N. The
linear ordering of pstates for P9 has changed compared to P8.
@@ -609,7 +602,7 @@ is 0 and Pmin is -N. This patch adds helper routines to abstract
pstate comparison with pmax and adds sanity pstate limit checks.
This patch also fixes pstate arithmetic by using labs().</p>
</li>
-<li><p class="first">p8-i2c: occ: Add support for OCC to use I2C engines</p>
+<li><p>p8-i2c: occ: Add support for OCC to use I2C engines</p>
<p>This patch adds support to share the I2C engines with host and OCC.
OCC uses I2C engines to read DIMM temperatures and to communicate with
GPU. OCC Flag register is used for locking between host and OCC. Host
@@ -617,25 +610,25 @@ requests for the bus by setting a bit in OCC Flag register. OCC sends
an interrupt to indicate the change in ownership.</p>
</li>
</ul>
-</div>
-<div class="section" id="opal-prd-prd">
+</section>
+<section id="opal-prd-prd">
<h3>opal-prd/PRD<a class="headerlink" href="#opal-prd-prd" title="Permalink to this headline">¶</a></h3>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">opal-prd: Handle SBE passthrough message passing</p>
+<li><p>opal-prd: Handle SBE passthrough message passing</p>
<p>This patch adds support to send SBE pass through command to HBRT.</p>
</li>
-<li><p class="first">SBE: Add passthrough command support</p>
+<li><p>SBE: Add passthrough command support</p>
<p>SBE sends passthrough command. We have to capture this interrupt and
send event to HBRT via opal-prd (user space daemon).</p>
</li>
-<li><p class="first">opal-prd: hook up reset_pm_complex</p>
+<li><p>opal-prd: hook up reset_pm_complex</p>
<p>This change provides the facility to invoke HBRT’s reset_pm_complex, in
the same manner is done with process_occ_reset previously.</p>
<p>We add a control command for <cite>opal-prd pm-complex reset</cite>, which is just
an alias for occ_reset at this stage.</p>
</li>
-<li><p class="first">prd: Implement firmware side of opaque PRD channel</p>
+<li><p>prd: Implement firmware side of opaque PRD channel</p>
<p>This change introduces the firmware side of the opaque HBRT &lt;–&gt; OPAL
message channel. We define a base message format to be shared with HBRT
(in include/prd-fw-msg.h), and allow firmware requests and responses to
@@ -643,41 +636,40 @@ be sent over this channel.</p>
<p>We don’t currently have any notifications defined, so have nothing to do
for firmware_notify() at this stage.</p>
</li>
-<li><p class="first">opal-prd: Add firmware_request &amp; firmware_notify implementations</p>
+<li><p>opal-prd: Add firmware_request &amp; firmware_notify implementations</p>
<p>This change adds the implementation of firmware_request() and
firmware_notify(). To do this, we need to add a message queue, so that
we can properly handle out-of-order messages coming from firmware.</p>
</li>
-<li><p class="first">opal-prd: Add support for variable-sized messages</p>
+<li><p>opal-prd: Add support for variable-sized messages</p>
<p>With the introductuion of the opaque firmware channel, we want to
support variable-sized messages. Rather than expecting to read an
entire ‘struct opal_prd_msg’ in one read() call, we can split this
over mutiple reads, potentially expanding our message buffer.</p>
</li>
-<li><p class="first">opal-prd: Sync hostboot interfaces with HBRT</p>
+<li><p>opal-prd: Sync hostboot interfaces with HBRT</p>
<p>This change adds new callbacks defined for p9, and the base thunks for
the added calls.</p>
</li>
-<li><p class="first">opal-prd: interpret log level prefixes from HBRT</p>
+<li><p>opal-prd: interpret log level prefixes from HBRT</p>
<p>Interpret the (optional) *_MRK log prefixes on HBRT messages, and set
the syslog log priority to suit.</p>
</li>
-<li><p class="first">opal-prd: Add occ reset to usage text</p>
-</li>
-<li><p class="first">opal-prd: allow different chips for occ control actions</p>
+<li><p>opal-prd: Add occ reset to usage text</p></li>
+<li><p>opal-prd: allow different chips for occ control actions</p>
<p>The <cite>occ reset</cite> and <cite>occ error</cite> actions can both take a chip id
argument, but we’re currently just using zero. This change changes the
control message format to pass the chip ID from the control process to
the opal-prd daemon.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="ibm-fsp-based-platforms">
+</section>
+</section>
+<section id="ibm-fsp-based-platforms">
<h2>IBM FSP based platforms<a class="headerlink" href="#ibm-fsp-based-platforms" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.7-rc2.html#skiboot-5-7-rc2"><span class="std std-ref">skiboot-5.7-rc2</span></a>:</p>
<ul>
-<li><p class="first">FSP/CONSOLE: Do not enable input irq in write path</p>
+<li><p>FSP/CONSOLE: Do not enable input irq in write path</p>
<p>We use irq for reading input from console, but not in output path.
Hence do not enable input irq in write path.</p>
<p>Fixes : 583c8203 (fsp/console: Allocate irq for each hvc console)</p>
@@ -685,15 +677,14 @@ Hence do not enable input irq in write path.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">FSP/CONSOLE: Fix possible NULL dereference</p>
-</li>
-<li><p class="first">platforms/ibm-fsp/firenze: Fix PCI slot power-off pattern</p>
+<li><p>FSP/CONSOLE: Fix possible NULL dereference</p></li>
+<li><p>platforms/ibm-fsp/firenze: Fix PCI slot power-off pattern</p>
<p>When powering off the PCI slot, the corresponding bits should
be set to 0bxx00xx00 instead of 0bxx11xx11. Otherwise, the
specified PCI slot can’t be put into power-off state. Fortunately,
it didn’t introduce any side-effects so far.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Workaround for unresponsive ipmi daemon</p>
+<li><p>FSP/CONSOLE: Workaround for unresponsive ipmi daemon</p>
<p>We use TCE mapped area to write data to console. Console header
(fsp_serbuf_hdr) is modified by both FSP and OPAL (OPAL updates
next_in pointer in fsp_serbuf_hdr and FSP updates next_out pointer).</p>
@@ -714,7 +705,7 @@ everything becomes normal.</p>
when cosole is full. Side effect of this patch is, we may endup dropping
latest console data. But better to drop console data than system hang.</p>
</li>
-<li><p class="first">FSP: Set status field in response message for timed out message</p>
+<li><p>FSP: Set status field in response message for timed out message</p>
<p>For timed out FSP messages, we set message status as “fsp_msg_timeout”.
But most FSP driver users (like surviellance) are ignoring this field.
They always look for FSP returned status value in callback function
@@ -732,21 +723,19 @@ response from FSP.</p>
receive response from FSP.</p>
<p>This patch fixes above issue by updating status field in response structure.</p>
</li>
-<li><p class="first">FSP: Improve timeout message</p>
-</li>
-<li><p class="first">FSP/RTC: Fix possible FSP R/R issue in rtc write path</p>
-</li>
-<li><p class="first">hw/fsp/rtc: read/write cached rtc tod on fsp hir.</p>
+<li><p>FSP: Improve timeout message</p></li>
+<li><p>FSP/RTC: Fix possible FSP R/R issue in rtc write path</p></li>
+<li><p>hw/fsp/rtc: read/write cached rtc tod on fsp hir.</p>
<p>Currently fsp-rtc reads/writes the cached RTC TOD on an fsp
reset. Use latest fsp_in_rr() function to properly read the cached rtc
value when fsp reset initiated by the hir.</p>
<p>Below is the kernel trace when we set hw clock, when hir process starts.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">1727.775824</span><span class="p">]</span> <span class="n">NMI</span> <span class="n">watchdog</span><span class="p">:</span> <span class="n">BUG</span><span class="p">:</span> <span class="n">soft</span> <span class="n">lockup</span> <span class="o">-</span> <span class="n">CPU</span><span class="c1">#57 stuck for 23s! [hwclock:7688]</span>
<span class="p">[</span> <span class="mf">1727.775856</span><span class="p">]</span> <span class="n">Modules</span> <span class="n">linked</span> <span class="ow">in</span><span class="p">:</span> <span class="n">vmx_crypto</span> <span class="n">ibmpowernv</span> <span class="n">ipmi_powernv</span> <span class="n">uio_pdrv_genirq</span> <span class="n">ipmi_devintf</span> <span class="n">powernv_op_panel</span> <span class="n">uio</span> <span class="n">ipmi_msghandler</span> <span class="n">powernv_rng</span> <span class="n">leds_powernv</span> <span class="n">ip_tables</span> <span class="n">x_tables</span> <span class="n">autofs4</span> <span class="n">ses</span> <span class="n">enclosure</span> <span class="n">scsi_transport_sas</span> <span class="n">crc32c_vpmsum</span> <span class="n">lpfc</span> <span class="n">ipr</span> <span class="n">tg3</span> <span class="n">scsi_transport_fc</span>
-<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">CPU</span><span class="p">:</span> <span class="mi">57</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">7688</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">hwclock</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="mf">4.10</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span> <span class="c1">#16-Ubuntu</span>
+<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">CPU</span><span class="p">:</span> <span class="mi">57</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">7688</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">hwclock</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="mf">4.10.0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span> <span class="c1">#16-Ubuntu</span>
<span class="p">[</span> <span class="mf">1727.775883</span><span class="p">]</span> <span class="n">task</span><span class="p">:</span> <span class="n">c000000fdfdc8400</span> <span class="n">task</span><span class="o">.</span><span class="n">stack</span><span class="p">:</span> <span class="n">c000000fdfef4000</span>
<span class="p">[</span> <span class="mf">1727.775884</span><span class="p">]</span> <span class="n">NIP</span><span class="p">:</span> <span class="n">c00000000090540c</span> <span class="n">LR</span><span class="p">:</span> <span class="n">c0000000000846f4</span> <span class="n">CTR</span><span class="p">:</span> <span class="mi">000000003006</span><span class="n">dd70</span>
-<span class="p">[</span> <span class="mf">1727.775885</span><span class="p">]</span> <span class="n">REGS</span><span class="p">:</span> <span class="n">c000000fdfef79a0</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="p">(</span><span class="mf">4.10</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span><span class="p">)</span>
+<span class="p">[</span> <span class="mf">1727.775885</span><span class="p">]</span> <span class="n">REGS</span><span class="p">:</span> <span class="n">c000000fdfef79a0</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Not</span> <span class="n">tainted</span> <span class="p">(</span><span class="mf">4.10.0</span><span class="o">-</span><span class="mi">14</span><span class="o">-</span><span class="n">generic</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">1727.775886</span><span class="p">]</span> <span class="n">MSR</span><span class="p">:</span> <span class="mi">9000000000009033</span> <span class="o">&lt;</span><span class="n">SF</span><span class="p">,</span><span class="n">HV</span><span class="p">,</span><span class="n">EE</span><span class="p">,</span><span class="n">ME</span><span class="p">,</span><span class="n">IR</span><span class="p">,</span><span class="n">DR</span><span class="p">,</span><span class="n">RI</span><span class="p">,</span><span class="n">LE</span><span class="o">&gt;</span>
<span class="p">[</span> <span class="mf">1727.775889</span><span class="p">]</span> <span class="n">CR</span><span class="p">:</span> <span class="mi">28024442</span> <span class="n">XER</span><span class="p">:</span> <span class="mi">20000000</span>
<span class="p">[</span> <span class="mf">1727.775890</span><span class="p">]</span> <span class="n">CFAR</span><span class="p">:</span> <span class="n">c00000000008472c</span> <span class="n">SOFTE</span><span class="p">:</span> <span class="mi">1</span>
@@ -773,20 +762,20 @@ value when fsp reset initiated by the hir.</p>
<p>With this fix ran fsp hir torture testcase in the above test
which is working fine.</p>
</li>
-<li><p class="first">occ: Set return variable to correct value</p>
+<li><p>occ: Set return variable to correct value</p>
<p>When entering this section of code rc will be zero. If fsp_mkmsg() fails
the code responsible for printing an error message won’t be set.
Resetting rc should allow for the error case to trigger if fsp_mkmsg
fails.</p>
</li>
-<li><p class="first">capp: Fix hang when CAPP microcode LID is missing on FSP machine</p>
+<li><p>capp: Fix hang when CAPP microcode LID is missing on FSP machine</p>
<p>When the LID is absent, we fail early with an error from
start_preload_resource. In that case, capp_ucode_info.load_result
isn’t set properly causing a subsequent capp_lid_download() to
call wait_for_resource_loaded() on something that isn’t being
loaded, thus hanging.</p>
</li>
-<li><p class="first">FSP: Add check to detect FSP R/R inside fsp_sync_msg()</p>
+<li><p>FSP: Add check to detect FSP R/R inside fsp_sync_msg()</p>
<p>OPAL sends MBOX message to FSP and updates message state from fsp_msg_queued
-&gt; fsp_msg_sent. fsp_sync_msg() queues message and waits until we get response
from FSP. During FSP R/R we move outstanding MBOX messages from msgq to rr_queue
@@ -795,13 +784,12 @@ inflight message state.</p>
<p>In extreme croner case where we sent message to FSP via fsp_sync_msg() path
and FSP R/R happens before getting respose from FSP, then we will endup waiting
in fsp_sync_msg() until everything becomes normal.</p>
-<dl class="docutils">
-<dt>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to caller</dt>
-<dd><p class="first last">if FSP is in R/R.</p>
+<dl class="simple">
+<dt>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to caller</dt><dd><p>if FSP is in R/R.</p>
</dd>
</dl>
</li>
-<li><p class="first">FSP: Add check to detect FSP R/R inside fsp_sync_msg()</p>
+<li><p>FSP: Add check to detect FSP R/R inside fsp_sync_msg()</p>
<p>OPAL sends MBOX message to FSP and updates message state from fsp_msg_queued
-&gt; fsp_msg_sent. fsp_sync_msg() queues message and waits until we get response
from FSP. During FSP R/R we move outstanding MBOX messages from msgq to rr_queue
@@ -810,35 +798,33 @@ inflight message state.</p>
<p>In extreme croner case where we sent message to FSP via fsp_sync_msg() path
and FSP R/R happens before getting respose from FSP, then we will endup waiting
in fsp_sync_msg() until everything becomes normal.</p>
-<dl class="docutils">
-<dt>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to caller</dt>
-<dd><p class="first last">if FSP is in R/R.</p>
+<dl class="simple">
+<dt>This patch adds fsp_in_rr() check to fsp_sync_msg() and return error to caller</dt><dd><p>if FSP is in R/R.</p>
</dd>
</dl>
</li>
-<li><p class="first">capp: Fix hang when CAPP microcode LID is missing on FSP machine</p>
+<li><p>capp: Fix hang when CAPP microcode LID is missing on FSP machine</p>
<p>When the LID is absent, we fail early with an error from
start_preload_resource. In that case, capp_ucode_info.load_result
isn’t set properly causing a subsequent capp_lid_download() to
call wait_for_resource_loaded() on something that isn’t being
loaded, thus hanging.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Do not free fsp_msg in error path</p>
+<li><p>FSP/CONSOLE: Do not free fsp_msg in error path</p>
<p>as we reuse same msg to send next output message.</p>
</li>
-<li><p class="first">platform/zz: Acknowledge OCC_LOAD mbox message in ZZ</p>
+<li><p>platform/zz: Acknowledge OCC_LOAD mbox message in ZZ</p>
<p>In P9 FSP box, OCC image is pre-loaded. So do not handle the load
command and send SUCCESS to FSP on recieving OCC_LOAD mbox message.</p>
</li>
-<li><p class="first">FSP/RTC: Improve error log</p>
-</li>
+<li><p>FSP/RTC: Improve error log</p></li>
</ul>
-</div>
-<div class="section" id="astbmc-systems">
+</section>
+<section id="astbmc-systems">
<h2>astbmc systems<a class="headerlink" href="#astbmc-systems" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">platforms/astbmc: Don’t validate model on palmetto</p>
+<li><p>platforms/astbmc: Don’t validate model on palmetto</p>
<p>The platform isn’t compatible with palmetto until the root device-tree
node’s “model” property is NULL or “palmetto”. However, we could have
“TN71-BP012” for the property on palmetto.</p>
@@ -850,53 +836,48 @@ node’s “model” property is NULL or “palmetto”. However, we could have
on palmetto, meaning we check the “compatible” property only.</p>
</li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.7-rc2.html#skiboot-5-7-rc2"><span class="std std-ref">skiboot-5.7-rc2</span></a>:</p>
<ul>
-<li><p class="first">core/pci: Fix mem-leak on fast-reboot</p>
+<li><p>core/pci: Fix mem-leak on fast-reboot</p>
<p>Fast-reboot has a memory leak which causes the system to crash after about
250 fast-reboots. The patch fixes the memory leak.
The cause of the leak was the pci_device’s being freed, without freeing
the pci_slot within it.</p>
</li>
-<li><p class="first">gcov: properly handle gard and pflash code coverage</p>
-</li>
+<li><p>gcov: properly handle gard and pflash code coverage</p></li>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">Reduce log level on non-error log messages</p>
+<li><p>Reduce log level on non-error log messages</p>
<p>90% of what we print isn’t useful to a normal user. This
dramatically reduces the amount of messages printed by
OPAL in normal circumstances.</p>
</li>
-<li><p class="first">init: Silence messages and call ourselves “OPAL”</p>
-</li>
-<li><p class="first">psi: Switch to ESB mode later</p>
+<li><p>init: Silence messages and call ourselves “OPAL”</p></li>
+<li><p>psi: Switch to ESB mode later</p>
<p>There’s an errata, if we switch to ESB mode before setting up
the various ESB mode related registers, a pending interrupts
can go wrong.</p>
</li>
-<li><p class="first">lpc: Enable “new” SerIRQ mode</p>
-</li>
-<li><p class="first">hw/ipmi/ipmi-sel: missing newline in prlog warning</p>
-</li>
-<li><p class="first">p8-i2c OCC lock: fix locking in p9_i2c_bus_owner_change</p>
-</li>
-<li><p class="first">Convert important polling loops to spin at lowest SMT priority</p>
+<li><p>lpc: Enable “new” SerIRQ mode</p></li>
+<li><p>hw/ipmi/ipmi-sel: missing newline in prlog warning</p></li>
+<li><p>p8-i2c OCC lock: fix locking in p9_i2c_bus_owner_change</p></li>
+<li><p>Convert important polling loops to spin at lowest SMT priority</p>
<p>The pattern of calling cpu_relax() inside a polling loop does
not suit the powerpc SMT priority instructions. Prefrred is to
set a low priority then spin until break condition is reached,
then restore priority.</p>
</li>
-<li><p class="first">Improve cpu_idle when PM is disabled</p>
+<li><p>Improve cpu_idle when PM is disabled</p>
<p>Split cpu_idle() into cpu_idle_delay() and cpu_idle_job() rather than
requesting the idle type as a function argument. Have those functions
provide a default polling (non-PM) implentation which spin at the
lowest SMT priority.</p>
</li>
-<li><p class="first">core/fdt: Always add a reserve map</p>
+<li><p>core/fdt: Always add a reserve map</p>
<p>Currently we skip adding the reserved ranges block to the generated
FDT blob if we are excluding the root node. This can result in a DTB
that dtc will barf on because the reserved memory ranges overlap with
@@ -944,7 +925,7 @@ the start of the dt_struct block. As an example:</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/lpc-mbox: Use message registers for interrupts</p>
+<li><p>hw/lpc-mbox: Use message registers for interrupts</p>
<p>Currently the BMC raises the interrupt using the BMC control register.
It does so on all accesses to the 16 ‘data’ registers meaning that when
the BMC only wants to set the ATTN (on which we have interrupts enabled)
@@ -953,20 +934,20 @@ bit we will also get a control register based interrupt.</p>
interrupts on the protocol defined ‘response’ data byte.</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h2>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">pci: Wait 20ms before checking presence detect on PCIe</p>
+<li><p>pci: Wait 20ms before checking presence detect on PCIe</p>
<p>As the PHB presence logic has a debounce timer that can take
a while to settle.</p>
</li>
-<li><p class="first">phb3+iov: Fixup support for config space filters</p>
+<li><p>phb3+iov: Fixup support for config space filters</p>
<p>The filter should be called before the HW access and its
return value control whether to perform the access or not</p>
</li>
-<li><p class="first">core/pci: Use PCI slot’s power facality in pci_enable_bridge()</p>
+<li><p>core/pci: Use PCI slot’s power facality in pci_enable_bridge()</p>
<p>The current implmentation has incorrect assumptions: there is
always a PCI slot associated with root port and PCIe switch
downstream port and all of them are capable to change its
@@ -978,34 +959,33 @@ I2C slave devices used to control the power states on Tuleta.</p>
<p>In order to use the PCI slot’s methods to manage the power
states, this does:</p>
<ul class="simple">
-<li>Introduce PCI_SLOT_FLAG_ENFORCE, indicates the request operation
-is enforced to be applied.</li>
-<li>pci_enable_bridge() is split into 3 functions: pci_bridge_power_on()
+<li><p>Introduce PCI_SLOT_FLAG_ENFORCE, indicates the request operation
+is enforced to be applied.</p></li>
+<li><p>pci_enable_bridge() is split into 3 functions: pci_bridge_power_on()
to power it on; pci_enable_bridge() as a place holder and
-pci_bridge_wait_link() to wait the downstream link to come up.</li>
-<li>In pci_bridge_power_on(), the PCI slot’s specific power management
+pci_bridge_wait_link() to wait the downstream link to come up.</p></li>
+<li><p>In pci_bridge_power_on(), the PCI slot’s specific power management
methods are used if there is a PCI slot associated with the PCIe
-switch downstream port or root port.</li>
+switch downstream port or root port.</p></li>
</ul>
</li>
-<li><p class="first">platforms/astbmc/slots.c: Allow comparison of bus numbers when matching slots</p>
+<li><p>platforms/astbmc/slots.c: Allow comparison of bus numbers when matching slots</p>
<p>When matching devices on multiple down stream PLX busses we need to compare more
than just the device-id of the PCIe BDFN, so increase the mask to do so.</p>
</li>
</ul>
-</div>
-<div class="section" id="debugging-tests-and-simulators">
+</section>
+<section id="debugging-tests-and-simulators">
<h2>Debugging, Tests and simulators<a class="headerlink" href="#debugging-tests-and-simulators" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.7-rc2.html#skiboot-5-7-rc2"><span class="std std-ref">skiboot-5.7-rc2</span></a>:</p>
<ul>
-<li><p class="first">boot_tests: add PFLASH_TO_COPY for OpenBMC</p>
-</li>
-<li><p class="first">travis: Add debian stretch and unstable</p>
+<li><p>boot_tests: add PFLASH_TO_COPY for OpenBMC</p></li>
+<li><p>travis: Add debian stretch and unstable</p>
<p>At the moment, we mark them both as being able to fail, as we’re
hitting an assert in one of the unit tests on debian stretch, and
that hasn’t yet been chased down.</p>
</li>
-<li><p class="first">core/backtrace: Serialise printing backtraces</p>
+<li><p>core/backtrace: Serialise printing backtraces</p>
<p>Add a lock so that only one thread can print a backtrace at a time.
This should prevent multiple threads from garbaling each other’s
backtraces.</p>
@@ -1013,19 +993,18 @@ backtraces.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.7-rc1.html#skiboot-5-7-rc1"><span class="std std-ref">skiboot-5.7-rc1</span></a>:</p>
<ul class="simple">
-<li>lpc: remove double LPC prefix from messages</li>
-<li>opal-ci/fetch-debian-jessie-installer: follow redirects
-Fixes some CI failures</li>
-<li>test/qemu-jessie: bail out fast on kernel panic</li>
-<li>test/qemu-jessie: dump boot log on failure</li>
-<li>travis: add fedora26</li>
-<li>xz: add fallthrough annotations to silence GCC7 warning</li>
+<li><p>lpc: remove double LPC prefix from messages</p></li>
+<li><p>opal-ci/fetch-debian-jessie-installer: follow redirects
+Fixes some CI failures</p></li>
+<li><p>test/qemu-jessie: bail out fast on kernel panic</p></li>
+<li><p>test/qemu-jessie: dump boot log on failure</p></li>
+<li><p>travis: add fedora26</p></li>
+<li><p>xz: add fallthrough annotations to silence GCC7 warning</p></li>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">boot-tests: add OpenBMC support</p>
-</li>
-<li><p class="first">boot_test.sh: Add SMC BMC support</p>
+<li><p>boot-tests: add OpenBMC support</p></li>
+<li><p>boot_test.sh: Add SMC BMC support</p>
<p>Your BMC needs a special debug image flashed to use this, the exact
image and methods aren’t something I can publish here, but if you work
for IBM or SMC you can find out from the right sources.</p>
@@ -1039,9 +1018,8 @@ we don’t publicise too broadly (because Security Through Obscurity is
and we can’t scp, but we can anonymous rsync!</p>
<p>You also need a pflash binary to copy over.</p>
</li>
-<li><p class="first">hdata_to_dt: Add PVR overrides to the usage text</p>
-</li>
-<li><p class="first">mambo: Add a reservation for the initramfs</p>
+<li><p>hdata_to_dt: Add PVR overrides to the usage text</p></li>
+<li><p>mambo: Add a reservation for the initramfs</p>
<p>On most systems the initramfs is loaded inside the part of memory
reserved for the OS [0x0-0x30000000] and skiboot will never touch it.
On mambo it’s loaded at 0x80000000 and if you’re unlucky skiboot can
@@ -1050,43 +1028,43 @@ allocate over the top of it and corrupt the initramfs blob.</p>
memory since it’s marked as reserved, but the kernel might also free it
anyway.</p>
</li>
-<li><p class="first">mambo: Update P9 PVR to reflect Scale out 24 core chips</p>
+<li><p>mambo: Update P9 PVR to reflect Scale out 24 core chips</p>
<p>The P9 PVR bits 48:51 don’t indicate a revision but instead different
configurations. From BookIV we have:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="17%" />
-<col width="83%" />
+<col style="width: 17%" />
+<col style="width: 83%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Bits</th>
-<th class="head">Configuration</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Bits</p></th>
+<th class="head"><p>Configuration</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>0</td>
-<td>Scale out 12 cores</td>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>Scale out 12 cores</p></td>
</tr>
-<tr class="row-odd"><td>1</td>
-<td>Scale out 24 cores</td>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>Scale out 24 cores</p></td>
</tr>
-<tr class="row-even"><td>2</td>
-<td>Scale up 12 cores</td>
+<tr class="row-even"><td><p>2</p></td>
+<td><p>Scale up 12 cores</p></td>
</tr>
-<tr class="row-odd"><td>3</td>
-<td>Scale up 24 cores</td>
+<tr class="row-odd"><td><p>3</p></td>
+<td><p>Scale up 24 cores</p></td>
</tr>
</tbody>
</table>
<p>Skiboot will mostly the use “Scale out 24 core” configuration
(ie. SMT4 not SMT8) so reflect this in mambo.</p>
</li>
-<li><p class="first">core: Move enable_mambo_console() into chip initialisation</p>
+<li><p>core: Move enable_mambo_console() into chip initialisation</p>
<p>Rather than having a wart in main_cpu_entry() that initialises the mambo
console, we can move it into init_chips() which is where we discover that we’re
on mambo.</p>
</li>
-<li><p class="first">mambo: Create multiple chips when we have multiple CPUs</p>
+<li><p>mambo: Create multiple chips when we have multiple CPUs</p>
<p>Currently when we boot mambo with multiple CPUs, we create multiple CPU nodes in
the device tree, and each claims to be on a separate chip.</p>
<p>However we don’t create multiple xscom nodes, which means skiboot only knows
@@ -1101,7 +1079,7 @@ separate chip created. This then enables Linux to see multiple chips:</p>
</pre></div>
</div>
</li>
-<li><p class="first">chip: Add support for discovering chips on mambo</p>
+<li><p>chip: Add support for discovering chips on mambo</p>
<p>Currently the only way for skiboot to discover chips is by looking for xscom
nodes. But on mambo it’s currently not possible to create multiple xscom nodes,
which means we can only simulate a single chip system.</p>
@@ -1110,18 +1088,18 @@ node, and use that to instantiate multiple chips.</p>
<p>Add a check in init_chip() that we’re not clobbering an already initialised
chip, now that we have two places that initialise chips.</p>
</li>
-<li><p class="first">mambo: Make xscom claim to be DD 2.0</p>
+<li><p>mambo: Make xscom claim to be DD 2.0</p>
<p>In the mambo tcl we set the CPU version to DD 2.0, because mambo is not
bug compatible with DD 1.</p>
<p>But in xscom_read_cfam_chipid() we have a hard coded value, to work
around the lack of the f000f register, which claims to be P9 DD 1.0.</p>
<p>This doesn’t seem to cause crashes or anything, but at boot we do see:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">0.003893084</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">XSCOM</span><span class="p">:</span> <span class="n">chip</span> <span class="mh">0x0</span> <span class="n">at</span> <span class="mh">0x1a0000000000</span> <span class="p">[</span><span class="n">P9N</span> <span class="n">DD1</span><span class="o">.</span><span class="mi">0</span><span class="p">]</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">0.003893084</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">XSCOM</span><span class="p">:</span> <span class="n">chip</span> <span class="mh">0x0</span> <span class="n">at</span> <span class="mh">0x1a0000000000</span> <span class="p">[</span><span class="n">P9N</span> <span class="n">DD1</span><span class="mf">.0</span><span class="p">]</span>
</pre></div>
</div>
<p>So fix it to claim that the xscom is also DD 2.0 to match the CPU.</p>
</li>
-<li><p class="first">mambo: Match whole string when looking up symbols with linsym/skisym</p>
+<li><p>mambo: Match whole string when looking up symbols with linsym/skisym</p>
<p>linsym/skisym use a regex to match the symbol name, and accepts a
partial match against the entry in the symbol map, which can lead to
somewhat confusing results, eg:</p>
@@ -1140,9 +1118,8 @@ that the symbol has to match against the whole entry, eg:</p>
</pre></div>
</div>
</li>
-<li><p class="first">Disable nap on P8 Mambo, public release has bugs</p>
-</li>
-<li><p class="first">mambo: Allow loading multiple CPIOs</p>
+<li><p>Disable nap on P8 Mambo, public release has bugs</p></li>
+<li><p>mambo: Allow loading multiple CPIOs</p>
<p>Currently we have support for loading a single CPIO and telling Linux to
use it as the initrd. But the Linux code actually supports having
multiple CPIOs contiguously in memory, between initrd-start and end, and
@@ -1155,7 +1132,7 @@ filenames, but we could make it space, colon, whatever. Or we could add
a new environment variable entirely. The code also supports trimming
whitespace from the values, so you can have “cpio1, cpio2”.</p>
</li>
-<li><p class="first">hdata/test: Add memory reservations to hdata_to_dt</p>
+<li><p>hdata/test: Add memory reservations to hdata_to_dt</p>
<p>Currently memory reservations are parsed, but since they are not
processed until mem_region_init() they don’t appear in the output
device tree blob. Several bugs have been found with memory reservations
@@ -1164,12 +1141,12 @@ so we want them to be part of the test output.</p>
dtb to appear in standard out.</p>
</li>
</ul>
-</div>
-<div class="section" id="pflash-libffs">
+</section>
+<section id="pflash-libffs">
<h2>pflash/libffs<a class="headerlink" href="#pflash-libffs" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.7-rc2.html#skiboot-5-7-rc2"><span class="std std-ref">skiboot-5.7-rc2</span></a>:</p>
<ul>
-<li><p class="first">pflash option to retrieve PNOR partition flags</p>
+<li><p>pflash option to retrieve PNOR partition flags</p>
<p>This commit extends pflash with an option to retrieve and print
information for a particular partition, including the content from
“pflash -i” and a verbose list of set miscellaneous flags. -i option
@@ -1180,33 +1157,33 @@ included in libflash/test.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.6.0.html#skiboot-5-6-0"><span class="std std-ref">skiboot-5.6.0</span></a>:</p>
<ul>
-<li><p class="first">libflash/libffs: Zero checksum words</p>
+<li><p>libflash/libffs: Zero checksum words</p>
<p>On writing ffs entries to flash libffs doesn’t zero checksum words
before calculating the checksum across the entire structure. This causes
an inaccurate calculation of the checksum as it may calculate a checksum
on non-zero checksum bytes.</p>
</li>
-<li><p class="first">libffs: Fix ffs_lookup_part() return value</p>
+<li><p>libffs: Fix ffs_lookup_part() return value</p>
<p>It would return success when the part wasn’t found</p>
</li>
-<li><p class="first">libflash/libffs: Correctly update the actual size of the partition</p>
+<li><p>libflash/libffs: Correctly update the actual size of the partition</p>
<p>libffs has been updating FFS partition information in the wrong place
which leads to incomplete erases and corruption.</p>
</li>
-<li><p class="first">libflash: Initialise entries list earlier</p>
+<li><p>libflash: Initialise entries list earlier</p>
<p>In the bail-out path we call ffs_close() to tear down the partially
initialised ffs_handle. ffs_close() expects the entries list to be
initialised so we need to do that earlier to prevent a null pointer
dereference.</p>
</li>
</ul>
-</div>
-<div class="section" id="mbox-flash">
+</section>
+<section id="mbox-flash">
<h2>mbox-flash<a class="headerlink" href="#mbox-flash" title="Permalink to this headline">¶</a></h2>
<p>mbox-flash is the emerging standard way of talking to host PNOR flash
on POWER9 systems.</p>
<ul>
-<li><p class="first">libflash/mbox-flash: Implement MARK_WRITE_ERASED mbox call</p>
+<li><p>libflash/mbox-flash: Implement MARK_WRITE_ERASED mbox call</p>
<p>Version two of the mbox-flash protocol defines a new command:
MARK_WRITE_ERASED.</p>
<p>This command provides a simple way to mark a region of flash as all 0xff
@@ -1216,7 +1193,7 @@ the BMC to deal with the flash correctly, however in v1 it was ambiguous
what a client should do if the flash should be erased but not actually
written to. This allows of a optimal path to resolve this problem.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Update to V2 of the protocol</p>
+<li><p>libflash/mbox-flash: Update to V2 of the protocol</p>
<p>Updated version 2 of the protocol can be found at:
<a class="reference external" href="https://github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md">https://github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md</a></p>
<p>This commit changes mbox-flash such that it will preferentially talk
@@ -1227,7 +1204,7 @@ consistency and usability.
Version two includes more attention bits - these are now dealt with at a
simple level.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Implement MARK_WRITE_ERASED mbox call</p>
+<li><p>libflash/mbox-flash: Implement MARK_WRITE_ERASED mbox call</p>
<p>Version two of the mbox-flash protocol defines a new command:
MARK_WRITE_ERASED.</p>
<p>This command provides a simple way to mark a region of flash as all 0xff
@@ -1237,7 +1214,7 @@ the BMC to deal with the flash correctly, however in v1 it was ambiguous
what a client should do if the flash should be erased but not actually
written to. This allows of a optimal path to resolve this problem.</p>
</li>
-<li><p class="first">libflash/mbox-flash: Update to V2 of the protocol</p>
+<li><p>libflash/mbox-flash: Update to V2 of the protocol</p>
<p>Updated version 2 of the protocol can be found at:
<a class="reference external" href="https://github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md">https://github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md</a></p>
<p>This commit changes mbox-flash such that it will preferentially talk
@@ -1248,7 +1225,7 @@ consistency and usability.
Version two includes more attention bits - these are now dealt with at a
simple level.</p>
</li>
-<li><p class="first">hw/lpc-mbox: Use message registers for interrupts</p>
+<li><p>hw/lpc-mbox: Use message registers for interrupts</p>
<p>Currently the BMC raises the interrupt using the BMC control register.
It does so on all accesses to the 16 ‘data’ registers meaning that when
the BMC only wants to set the ATTN (on which we have interrupts enabled)
@@ -1257,593 +1234,594 @@ bit we will also get a control register based interrupt.</p>
interrupts on the protocol defined ‘response’ data byte.</p>
</li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Processed 232 csets from 29 developers.</li>
-<li>1 employer found</li>
-<li>A total of 13043 lines added, 2517 removed (delta 10526)</li>
+<li><p>Processed 232 csets from 29 developers.</p></li>
+<li><p>1 employer found</p></li>
+<li><p>A total of 13043 lines added, 2517 removed (delta 10526)</p></li>
</ul>
<p>Extending the analysis done for some previous releases, we can see our trends
in code review across versions:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="14%" />
-<col width="12%" />
-<col width="16%" />
-<col width="18%" />
-<col width="18%" />
-<col width="22%" />
+<col style="width: 14%" />
+<col style="width: 12%" />
+<col style="width: 16%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack %</th>
-<th class="head">Reviews %</th>
-<th class="head">Tested %</th>
-<th class="head">Reported %</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack %</p></th>
+<th class="head"><p>Reviews %</p></th>
+<th class="head"><p>Tested %</p></th>
+<th class="head"><p>Reported %</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15 (5%)</td>
-<td>20 (6%)</td>
-<td>1 (0%)</td>
-<td>0 (0%)</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13 (3%)</td>
-<td>38 (10%)</td>
-<td>1 (0%)</td>
-<td>4 (1%)</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20 (6%)</td>
-<td>34 (10%)</td>
-<td>6 (2%)</td>
-<td>11 (3%)</td>
-</tr>
-<tr class="row-odd"><td>5.3-rc1</td>
-<td>302</td>
-<td>36 (12%)</td>
-<td>53 (18%)</td>
-<td>4 (1%)</td>
-<td>5 (2%)</td>
-</tr>
-<tr class="row-even"><td>5.4</td>
-<td>361</td>
-<td>16 (4%)</td>
-<td>28 (8%)</td>
-<td>1 (0%)</td>
-<td>9 (2%)</td>
-</tr>
-<tr class="row-odd"><td>5.5</td>
-<td>408</td>
-<td>11 (3%)</td>
-<td>48 (12%)</td>
-<td>14 (3%)</td>
-<td>10 (2%)</td>
-</tr>
-<tr class="row-even"><td>5.6</td>
-<td>87</td>
-<td>12 (14%)</td>
-<td>6 (7%)</td>
-<td>5 (6%)</td>
-<td>2 (2%)</td>
-</tr>
-<tr class="row-odd"><td>5.7</td>
-<td>232</td>
-<td>30 (13%)</td>
-<td>32 (14%)</td>
-<td>5 (2%)</td>
-<td>2 (1%)</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15 (5%)</p></td>
+<td><p>20 (6%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>0 (0%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13 (3%)</p></td>
+<td><p>38 (10%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>4 (1%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20 (6%)</p></td>
+<td><p>34 (10%)</p></td>
+<td><p>6 (2%)</p></td>
+<td><p>11 (3%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.3-rc1</p></td>
+<td><p>302</p></td>
+<td><p>36 (12%)</p></td>
+<td><p>53 (18%)</p></td>
+<td><p>4 (1%)</p></td>
+<td><p>5 (2%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.4</p></td>
+<td><p>361</p></td>
+<td><p>16 (4%)</p></td>
+<td><p>28 (8%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>9 (2%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.5</p></td>
+<td><p>408</p></td>
+<td><p>11 (3%)</p></td>
+<td><p>48 (12%)</p></td>
+<td><p>14 (3%)</p></td>
+<td><p>10 (2%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.6</p></td>
+<td><p>87</p></td>
+<td><p>12 (14%)</p></td>
+<td><p>6 (7%)</p></td>
+<td><p>5 (6%)</p></td>
+<td><p>2 (2%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.7</p></td>
+<td><p>232</p></td>
+<td><p>30 (13%)</p></td>
+<td><p>32 (14%)</p></td>
+<td><p>5 (2%)</p></td>
+<td><p>2 (1%)</p></td>
</tr>
</tbody>
</table>
<p>This cycle has been good for reviews/acks, scoring second highest percentage
ever on both, as well as being right up there on absolute numbers.</p>
-<div class="section" id="developers-with-the-most-changesets">
+<section id="developers-with-the-most-changesets">
<h3>Developers with the most changesets<a class="headerlink" href="#developers-with-the-most-changesets" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>41</td>
-<td>(17.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>41</p></td>
+<td><p>(17.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>31</td>
-<td>(13.4%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>31</p></td>
+<td><p>(13.4%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>28</td>
-<td>(12.1%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>28</p></td>
+<td><p>(12.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>18</td>
-<td>(7.8%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>18</p></td>
+<td><p>(7.8%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>18</td>
-<td>(7.8%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>18</p></td>
+<td><p>(7.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>12</td>
-<td>(5.2%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>12</p></td>
+<td><p>(5.2%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>11</td>
-<td>(4.7%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>11</p></td>
+<td><p>(4.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>10</td>
-<td>(4.3%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>10</p></td>
+<td><p>(4.3%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>9</td>
-<td>(3.9%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>9</p></td>
+<td><p>(3.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>9</td>
-<td>(3.9%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>9</p></td>
+<td><p>(3.9%)</p></td>
</tr>
-<tr class="row-even"><td>Madhavan Srinivasan</td>
-<td>7</td>
-<td>(3.0%)</td>
+<tr class="row-even"><td><p>Madhavan Srinivasan</p></td>
+<td><p>7</p></td>
+<td><p>(3.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>6</td>
-<td>(2.6%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>6</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-even"><td>Christophe Lombard</td>
-<td>5</td>
-<td>(2.2%)</td>
+<tr class="row-even"><td><p>Christophe Lombard</p></td>
+<td><p>5</p></td>
+<td><p>(2.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>5</td>
-<td>(2.2%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>5</p></td>
+<td><p>(2.2%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>3</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>3</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>3</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>3</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>2</td>
-<td>(0.9%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>2</p></td>
+<td><p>(0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Anju T Sudhakar</td>
-<td>2</td>
-<td>(0.9%)</td>
+<tr class="row-odd"><td><p>Anju T Sudhakar</p></td>
+<td><p>2</p></td>
+<td><p>(0.9%)</p></td>
</tr>
-<tr class="row-even"><td>Hemant Kumar</td>
-<td>2</td>
-<td>(0.9%)</td>
+<tr class="row-even"><td><p>Hemant Kumar</p></td>
+<td><p>2</p></td>
+<td><p>(0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Matt Brown</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Matt Brown</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Tritz</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Michael Tritz</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Jeffery</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Andrew Jeffery</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Reza Arbab</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Reza Arbab</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Suraj Jitindar Singh</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Vaibhav Jain</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Vaibhav Jain</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-changed-lines">
+</section>
+<section id="developers-with-the-most-changed-lines">
<h3>Developers with the most changed lines<a class="headerlink" href="#developers-with-the-most-changed-lines" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Hemant Kumar</td>
-<td>3056</td>
-<td>(23.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Hemant Kumar</p></td>
+<td><p>3056</p></td>
+<td><p>(23.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1826</td>
-<td>(13.7%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1826</p></td>
+<td><p>(13.7%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>1348</td>
-<td>(10.1%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1348</p></td>
+<td><p>(10.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Christophe Lombard</td>
-<td>937</td>
-<td>(7.0%)</td>
+<tr class="row-odd"><td><p>Christophe Lombard</p></td>
+<td><p>937</p></td>
+<td><p>(7.0%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>770</td>
-<td>(5.8%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>770</p></td>
+<td><p>(5.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Madhavan Srinivasan</td>
-<td>755</td>
-<td>(5.7%)</td>
+<tr class="row-odd"><td><p>Madhavan Srinivasan</p></td>
+<td><p>755</p></td>
+<td><p>(5.7%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>731</td>
-<td>(5.5%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>731</p></td>
+<td><p>(5.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>674</td>
-<td>(5.1%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>674</p></td>
+<td><p>(5.1%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>477</td>
-<td>(3.6%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>477</p></td>
+<td><p>(3.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>414</td>
-<td>(3.1%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>414</p></td>
+<td><p>(3.1%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>396</td>
-<td>(3.0%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>396</p></td>
+<td><p>(3.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>336</td>
-<td>(2.5%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>336</p></td>
+<td><p>(2.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>308</td>
-<td>(2.3%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>308</p></td>
+<td><p>(2.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>300</td>
-<td>(2.3%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>300</p></td>
+<td><p>(2.3%)</p></td>
</tr>
-<tr class="row-even"><td>Anju T Sudhakar</td>
-<td>300</td>
-<td>(2.3%)</td>
+<tr class="row-even"><td><p>Anju T Sudhakar</p></td>
+<td><p>300</p></td>
+<td><p>(2.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Tritz</td>
-<td>167</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Michael Tritz</p></td>
+<td><p>167</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>113</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>113</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>93</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>93</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>76</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>76</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>66</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>66</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Suraj Jitindar Singh</td>
-<td>59</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>59</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>53</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>53</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>20</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>20</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Balbir Singh</td>
-<td>12</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Balbir Singh</p></td>
+<td><p>12</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Reza Arbab</td>
-<td>10</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Reza Arbab</p></td>
+<td><p>10</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>9</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>9</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Matt Brown</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Matt Brown</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Jeffery</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Andrew Jeffery</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-signoffs">
+</section>
+<section id="developers-with-the-most-signoffs">
<h3>Developers with the most signoffs<a class="headerlink" href="#developers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
<p>(total 242)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>201</td>
-<td>(83.1%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>201</p></td>
+<td><p>(83.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>29</td>
-<td>(12.0%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>29</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-even"><td>Madhavan Srinivasan</td>
-<td>4</td>
-<td>(1.7%)</td>
+<tr class="row-even"><td><p>Madhavan Srinivasan</p></td>
+<td><p>4</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Suraj Jitindar Singh</td>
-<td>3</td>
-<td>(1.2%)</td>
+<tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>3</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-even"><td>Anju T Sudhakar</td>
-<td>2</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Anju T Sudhakar</p></td>
+<td><p>2</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Hemant Kumar</td>
-<td>2</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Hemant Kumar</p></td>
+<td><p>2</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-reviews">
+</section>
+<section id="developers-with-the-most-reviews">
<h3>Developers with the most reviews<a class="headerlink" href="#developers-with-the-most-reviews" title="Permalink to this headline">¶</a></h3>
<p>(total 32)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>8</td>
-<td>(25.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>8</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>7</td>
-<td>(21.9%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>7</p></td>
+<td><p>(21.9%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>5</td>
-<td>(15.6%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>5</p></td>
+<td><p>(15.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>5</td>
-<td>(15.6%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>5</p></td>
+<td><p>(15.6%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Jeffery</td>
-<td>2</td>
-<td>(6.2%)</td>
+<tr class="row-even"><td><p>Andrew Jeffery</p></td>
+<td><p>2</p></td>
+<td><p>(6.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Gavin Shan</td>
-<td>2</td>
-<td>(6.2%)</td>
+<tr class="row-odd"><td><p>Gavin Shan</p></td>
+<td><p>2</p></td>
+<td><p>(6.2%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>1</td>
-<td>(3.1%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>1</p></td>
+<td><p>(3.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>1</td>
-<td>(3.1%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>1</p></td>
+<td><p>(3.1%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>1</td>
-<td>(3.1%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>1</p></td>
+<td><p>(3.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-test-credits">
+</section>
+<section id="developers-with-the-most-test-credits">
<h3>Developers with the most test credits<a class="headerlink" href="#developers-with-the-most-test-credits" title="Permalink to this headline">¶</a></h3>
<p>(total 5)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 70%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>2</td>
-<td>(40.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>2</p></td>
+<td><p>(40.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-tested-by-credits">
+</section>
+<section id="developers-who-gave-the-most-tested-by-credits">
<h3>Developers who gave the most tested-by credits<a class="headerlink" href="#developers-who-gave-the-most-tested-by-credits" title="Permalink to this headline">¶</a></h3>
<p>(total 5)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>2</td>
-<td>(40.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>2</p></td>
+<td><p>(40.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1</td>
-<td>(20.0%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1</p></td>
+<td><p>(20.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-report-credits">
+</section>
+<section id="developers-with-the-most-report-credits">
<h3>Developers with the most report credits<a class="headerlink" href="#developers-with-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
<p>(total 2)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Alastair D’Silva</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tr class="row-odd"><td><p>Alastair D’Silva</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-report-credits">
+</section>
+<section id="developers-who-gave-the-most-report-credits">
<h3>Developers who gave the most report credits<a class="headerlink" href="#developers-who-gave-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
<p>(total 2)</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1896,17 +1874,15 @@ ever on both, as well as being right up there on absolute numbers.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1923,14 +1899,15 @@ ever on both, as well as being right up there on absolute numbers.</p>
<li class="right" >
<a href="skiboot-5.6.0-rc2.html" title="skiboot-5.6.0-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.7</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.8-rc1.html b/doc/release-notes/skiboot-5.8-rc1.html
index 8eab8c5..15ebb55 100644
--- a/doc/release-notes/skiboot-5.8-rc1.html
+++ b/doc/release-notes/skiboot-5.8-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.8-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.8-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.8.html" title="skiboot-5.8"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.8-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-8-rc1">
+ <section id="skiboot-5-8-rc1">
<span id="id1"></span><h1>skiboot-5.8-rc1<a class="headerlink" href="#skiboot-5-8-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.8-rc1 was released on Tuesday August 22nd 2017. It is the first
release candidate of skiboot 5.8, which will become the new stable release
@@ -59,21 +59,21 @@ being for all POWER8 and POWER9 platforms in op-build v1.19 (Due August 25th).
This is a short cycle as this release is mainly targetted towards POWER9
bringup efforts.</p>
<p>Over skiboot-5.7, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">sensors: occ: Add support to clear sensor groups</p>
+<li><p>sensors: occ: Add support to clear sensor groups</p>
<p>Adds a generic API to clear sensor groups. OCC inband sensor groups
such as CSM, Profiler and Job Scheduler can be cleared using this API.
It will clear the min/max of all sensors belonging to OCC sensor
groups.</p>
</li>
-<li><p class="first">sensors: occ: Add CSM_{min/max} sensors</p>
+<li><p>sensors: occ: Add CSM_{min/max} sensors</p>
<p>HWMON’s lowest/highest attribute is used by CSM agent, so map min/max
device-tree properties “sensor-data-min” and “sensor-data-max” to
the min/max of CSM.</p>
</li>
-<li><p class="first">sensors: occ: Add support for OCC inband sensors</p>
+<li><p>sensors: occ: Add support for OCC inband sensors</p>
<p>Add support to parse and export OCC inband sensors which are copied
by OCC to main memory in P9. Each OCC writes three buffers which
includes one names buffer for sensor meta data and two buffers for
@@ -84,29 +84,29 @@ can be read from the other buffer. The sensors are updated every
<code class="docutils literal notranslate"><span class="pre">/ibm,opal/sensors</span></code> device-tree node which can be exported by the
ibmpowernv-hwmon driver in Linux.</p>
</li>
-<li><p class="first">psr: occ: Add support to change power-shifting-ratio</p>
+<li><p>psr: occ: Add support to change power-shifting-ratio</p>
<p>Add support to set the CPU-GPU power shifting ratio which is used by
the OCC power capping algorithm. PSR value of 100 takes all power away
from CPU first and a PSR value of 0 caps GPU first.</p>
</li>
-<li><p class="first">powercap: occ: Add a generic powercap framework</p>
+<li><p>powercap: occ: Add a generic powercap framework</p>
<p>This patch adds a generic powercap framework and exports OCC powercap
sensors using which system powercap can be set inband through OPAL-OCC
command-response interface.</p>
</li>
-<li><p class="first">phb4: Enable PCI peer-to-peer</p>
+<li><p>phb4: Enable PCI peer-to-peer</p>
<p>P9 supports PCI peer-to-peer: a PCI device can write directly to the
mmio space of another PCI device. It completely by-passes the CPU.</p>
<p>It requires some configuration on the PHBs involved:</p>
<ol class="arabic simple">
-<li>on the initiating side, the address for the read/write operation is
+<li><p>on the initiating side, the address for the read/write operation is
in the mmio space of the target, i.e. well outside the range normally
-allowed. So we disable range-checking on the TVT entry in bypass mode.</li>
-<li>on the target side, we need to explicitly enable p2p by setting a
+allowed. So we disable range-checking on the TVT entry in bypass mode.</p></li>
+<li><p>on the target side, we need to explicitly enable p2p by setting a
bit in a configuration register. It has the side-effect of reserving
an outbound (as seen from the CPU) store queue for p2p. Therefore we
only enable p2p on the PHBs using it, as we don’t want to waste the
-resource if we don’t have to.</li>
+resource if we don’t have to.</p></li>
</ol>
<p>P9 supports p2p mmio writes. Reads are currently only supported if the
two devices are under the same PHB but that is expected to change in
@@ -115,44 +115,40 @@ configuration, so we report an error for the time being.</p>
<p>The patch adds a new OPAL call to allow the OS to declare a p2p
(initiator, target) pair.</p>
</li>
-<li><p class="first">NX 842 and GZIP support on POWER9</p>
-</li>
+<li><p>NX 842 and GZIP support on POWER9</p></li>
</ul>
-</div>
-<div class="section" id="power9-dd2">
+</section>
+<section id="power9-dd2">
<h2>POWER9 DD2<a class="headerlink" href="#power9-dd2" title="Permalink to this headline">¶</a></h2>
<p>Further support for POWER9 DD2 revision chips. Notable changes include:</p>
<ul>
-<li><p class="first">xscom: Grab P9 DD2 revision level</p>
-</li>
-<li><p class="first">vas: Set mmio enable bits in DD2</p>
+<li><p>xscom: Grab P9 DD2 revision level</p></li>
+<li><p>vas: Set mmio enable bits in DD2</p>
<p>POWER9 DD2 added some new “enable” bits that must be set for VAS to
work. These bits were unused in DD1.</p>
</li>
-<li><p class="first">hdat: Add POWER9 DD2.0 specific pa_features</p>
+<li><p>hdat: Add POWER9 DD2.0 specific pa_features</p>
<p>Same as the default but with TM off.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Base NPU2 support on POWER9 DD2</p>
-</li>
-<li><p class="first">hdata/i2c: Work around broken I2C array version</p>
+<li><p>Base NPU2 support on POWER9 DD2</p></li>
+<li><p>hdata/i2c: Work around broken I2C array version</p>
<p>Work around a bug in the I2C devices array that shows the
array version as being v2 when only the v1 data is populated.</p>
</li>
-<li><p class="first">Recognize the 2s2u zz platform</p>
+<li><p>Recognize the 2s2u zz platform</p>
<p>OPAL currently doesn’t know about the 2s2u zz. It recognizes such a
box as a generic BMC machine and fails to boot. Add the 2s2u as a
supported platform.</p>
<p>There will subsequently be a 2s2u-L system which may have a different
compatible property, which will need to be handled later.</p>
</li>
-<li><p class="first">hdata/spira: POWER9 NX isn’t software compatible with P7/P8 NX, don’t claim so</p>
-</li>
-<li><p class="first">NX: Add P9 NX support for gzip compression engine</p>
+<li><p>hdata/spira: POWER9 NX isn’t software compatible with P7/P8 NX, don’t claim so</p></li>
+<li><p>NX: Add P9 NX support for gzip compression engine</p>
<p>Power 9 introduces NX gzip compression engine. This patch adds gzip
compression support in NX. Virtual Accelerator Switch (VAS) is used to
access NX gzip engine and the channel configuration will be done with
@@ -164,41 +160,33 @@ also enables other registers to enable / disable the engine.</p>
<p>Creates the following device-tree entries to provide RxFIFO address,
RxFIFO size, Fifo priority, lpid, pid and tid values so that kernel
can drive P9 NX gzip engine.</p>
-<dl class="docutils">
-<dt>The following nodes are located under an xscom node: ::</dt>
-<dd><blockquote class="first">
+<dl>
+<dt>The following nodes are located under an xscom node: ::</dt><dd><blockquote>
<div><p>/xscom&#64;&lt;xscom_addr&gt;/nx&#64;&lt;nx_addr&gt;</p>
<p>/ibm,gzip-high-fifo : High priority gzip RxFIFO
/ibm,gzip-normal-fifo : Normal priority gzip RxFIFO</p>
</div></blockquote>
<p>Each RxFIFO node contain:s</p>
-<dl class="last docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt>
-<dd><p class="first last"><code class="docutils literal notranslate"><span class="pre">ibm,p9-nx-gzip</span></code></p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">ibm,p9-nx-gzip</span></code></p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt>
-<dd><p class="first last">High or Normal</p>
+<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt><dd><p>High or Normal</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-address</span></code></dt>
-<dd><p class="first last">RxFIFO address</p>
+<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-address</span></code></dt><dd><p>RxFIFO address</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-size</span></code></dt>
-<dd><p class="first last">RxFIFO size</p>
+<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-size</span></code></dt><dd><p>RxFIFO size</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">lpid</span></code></dt>
-<dd><p class="first last">0xfff (1’s for 12 bits in UMAC notify match register)</p>
+<dt><code class="docutils literal notranslate"><span class="pre">lpid</span></code></dt><dd><p>0xfff (1’s for 12 bits in UMAC notify match register)</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pid</span></code></dt>
-<dd><p class="first last">gzip coprocessor type</p>
+<dt><code class="docutils literal notranslate"><span class="pre">pid</span></code></dt><dd><p>gzip coprocessor type</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">tid</span></code></dt>
-<dd><p class="first last">counter for gzip</p>
+<dt><code class="docutils literal notranslate"><span class="pre">tid</span></code></dt><dd><p>counter for gzip</p>
</dd>
</dl>
</dd>
</dl>
</li>
-<li><p class="first">NX: Add P9 NX support for 842 compression engine</p>
+<li><p>NX: Add P9 NX support for 842 compression engine</p>
<p>This patch adds changes needed for 842 compression engine on power 9.
Virtual Accelerator Switch (VAS) is used to access NX 842 engine on P9
and the channel setup will be done with receive FIFO. So RxFIFO
@@ -214,45 +202,36 @@ values so that kernel can drive P9 NX 842 engine.</p>
<blockquote>
<div><p>The following nodes are located under an xscom node:
<code class="docutils literal notranslate"><span class="pre">/xscom&#64;&lt;xscom_addr&gt;/nx&#64;&lt;nx_addr&gt;</span></code></p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">/ibm,842-high-fifo</span></code></dt>
-<dd><p class="first last">High priority 842 RxFIFO</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">/ibm,842-high-fifo</span></code></dt><dd><p>High priority 842 RxFIFO</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">/ibm,842-normal-fifo</span></code></dt>
-<dd><p class="first last">Normal priority 842 RxFIFO</p>
+<dt><code class="docutils literal notranslate"><span class="pre">/ibm,842-normal-fifo</span></code></dt><dd><p>Normal priority 842 RxFIFO</p>
</dd>
</dl>
<p>Each RxFIFO node contains:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt>
-<dd><p class="first last">ibm,p9-nx-842</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt><dd><p>ibm,p9-nx-842</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt>
-<dd><p class="first last">High or Normal</p>
+<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt><dd><p>High or Normal</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-address</span></code></dt>
-<dd><p class="first last">RxFIFO address</p>
+<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-address</span></code></dt><dd><p>RxFIFO address</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-size</span></code></dt>
-<dd><p class="first last">RXFIFO size</p>
+<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-size</span></code></dt><dd><p>RXFIFO size</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">lpid</span></code></dt>
-<dd><p class="first last">0xfff (1’s for 12 bits set in UMAC notify match register)</p>
+<dt><code class="docutils literal notranslate"><span class="pre">lpid</span></code></dt><dd><p>0xfff (1’s for 12 bits set in UMAC notify match register)</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pid</span></code></dt>
-<dd><p class="first last">842 coprocessor type</p>
+<dt><code class="docutils literal notranslate"><span class="pre">pid</span></code></dt><dd><p>842 coprocessor type</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">tid</span></code></dt>
-<dd><p class="first last">Counter for 842</p>
+<dt><code class="docutils literal notranslate"><span class="pre">tid</span></code></dt><dd><p>Counter for 842</p>
</dd>
</dl>
</div></blockquote>
</li>
-<li><p class="first">vas: Create MMIO device tree node</p>
+<li><p>vas: Create MMIO device tree node</p>
<p>Create a device tree node for VAS and add properties that Linux
will need to configure/use VAS.</p>
</li>
-<li><p class="first">opal: Extract sw checkstop fir address from HDAT.</p>
+<li><p>opal: Extract sw checkstop fir address from HDAT.</p>
<p>Extract sw checkstop fir address info from HDAT and populate device tree
node ibm,sw-checkstop-fir.</p>
<p>This patch is required for OPAL_CEC_REBOOT2 OPAL call to work as expected
@@ -266,15 +245,15 @@ populated:</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="phb4">
+</section>
+<section id="phb4">
<h2>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdat: Fix PCIe GEN4 lane-eq setting for DD2</p>
+<li><p>hdat: Fix PCIe GEN4 lane-eq setting for DD2</p>
<p>For PCIe GEN4, DD2 uses only 1 byte per PCIe lane for the lane-eq
settings (DD1 uses 2 bytes)</p>
</li>
-<li><p class="first">pci: Wait for CRS and switch link when restoring bus numbers</p>
+<li><p>pci: Wait for CRS and switch link when restoring bus numbers</p>
<p>When a complete reset occurs, after the PHB recovers it propagates a
reset down the wire to every device. At the same time, skiboot talks to
every device in order to restore the state of devices to what they were
@@ -285,12 +264,12 @@ before the link was up and the device could respond.</p>
<p>Fix this by retrying CRS until the device responds correctly, and for
devices behind a switch, making sure the switch has its link up first.</p>
</li>
-<li><p class="first">pci: Track whether a PCI device is a virtual function</p>
+<li><p>pci: Track whether a PCI device is a virtual function</p>
<p>This can be checked from config space, but we will need to know this when
restoring the PCI topology, and it is not always safe to access config
space during this period.</p>
</li>
-<li><p class="first">phb4: Enhanced PCIe training tracing</p>
+<li><p>phb4: Enhanced PCIe training tracing</p>
<p>This add more details to the PCI training tracing (aka Rick Mata
mode). It enables the PCIe Link Training and Status State
Machine (LTSSM) tracing and details on speed and link width.</p>
@@ -315,27 +294,26 @@ Machine (LTSSM) tracing and details on speed and link width.</p>
</pre></div>
</div>
</li>
-<li><p class="first">phb4: Fix reading wrong size registers in EEH dump</p>
+<li><p>phb4: Fix reading wrong size registers in EEH dump</p>
<p>These registers are supposed to be 16bit, and it makes part of the
register dump misleading.</p>
</li>
-<li><p class="first">phb4: Ignore slot state if performing complete reset</p>
+<li><p>phb4: Ignore slot state if performing complete reset</p>
<p>If a PHB is being completely reset, its state is about to be blown away
anyway, so if it’s not in an appropriate state, creset it regardless.</p>
</li>
-<li><p class="first">phb4: Prepare for link down when creset called from kernel</p>
+<li><p>phb4: Prepare for link down when creset called from kernel</p>
<p>phb4_creset() is typically called by functions that prepare the link
to go down. In cases where creset() is called directly by the kernel,
this isn’t the case and it can cause issues. Prepare for link down in
creset, just like we do in freset and hreset.</p>
</li>
-<li><p class="first">phb4: Skip attempting to fix PHBs broken on boot</p>
+<li><p>phb4: Skip attempting to fix PHBs broken on boot</p>
<p>If a PHB is marked broken it didn’t work on boot, and if it didn’t work
on boot then there’s no point trying to recover it later</p>
</li>
-<li><p class="first">phb4: Fix duplicate in EEH register dump</p>
-</li>
-<li><p class="first">phb4: Be more conservative on link presence timeout</p>
+<li><p>phb4: Fix duplicate in EEH register dump</p></li>
+<li><p>phb4: Be more conservative on link presence timeout</p>
<p>In this patch we tuned our link timing to be more agressive:
<code class="docutils literal notranslate"><span class="pre">cf960e2884</span> <span class="pre">phb4:</span> <span class="pre">Improve</span> <span class="pre">reset</span> <span class="pre">and</span> <span class="pre">link</span> <span class="pre">training</span> <span class="pre">timing</span></code></p>
<p>Cards should take only 32ms but unfortunately we’ve seen some take
@@ -345,12 +323,12 @@ status but no electrical link is present (which we’ve seen). Since we
have to wait 1 second between PERST and touching config space anyway,
it shouldn’t hurt too much.</p>
</li>
-<li><p class="first">phb4: Assert PERST before PHB reset</p>
+<li><p>phb4: Assert PERST before PHB reset</p>
<p>Currently we don’t assert PERST before issuing a PHB reset. This means
any link issues while resetting the PHB will be logged as errors.</p>
<p>This asserts PERST before we start resetting the PHB to avoid this.</p>
</li>
-<li><p class="first">Revert “phb4: Read PERST signal rather than assuming it’s asserted”</p>
+<li><p>Revert “phb4: Read PERST signal rather than assuming it’s asserted”</p>
<p>This reverts commit b42ff2b904165addf32e77679cebb94a08086966</p>
<p>The original patch assumes that PERST has been asserted well before (&gt;
250ms) we hit here (ie. during hostboot).</p>
@@ -361,32 +339,32 @@ before we hit this code.</p>
skip_perst to determine if PERST should be asserted or not. This
allows us to keep the speed optimisation on boot.</p>
</li>
-<li><p class="first">phb4: Set REGB error enables based on link state</p>
+<li><p>phb4: Set REGB error enables based on link state</p>
<p>Currently we always set these enables when initing the PHB. If the
link is already down, we shouldn’t set them as it may cause spurious
errors.</p>
<p>This changes the code to only sets them if the link is up.</p>
</li>
-<li><p class="first">phb4: Mark PHB as fenced on creset</p>
+<li><p>phb4: Mark PHB as fenced on creset</p>
<p>If we have to inject an error to trigger recover, we end up not
marking the PHB as fenced in the PHB struct. This fixes that.</p>
</li>
-<li><p class="first">phb4: Clear errors before deasserting reset</p>
+<li><p>phb4: Clear errors before deasserting reset</p>
<p>During reset we may have logged some errors (eg. due to the link going
down).</p>
<p>Hence before we deassert PERST or Hot Reset, we need to clear these
errors. This ensures that once link training starts, only new errors
are logged.</p>
</li>
-<li><p class="first">phb4: Disable device config space access when fenced</p>
+<li><p>phb4: Disable device config space access when fenced</p>
<p>On DD2 you can’t access device config space when fenced, so just
disable access whenever we are fenced.</p>
</li>
-<li><p class="first">phb4: Dump devctl and devstat registers</p>
+<li><p>phb4: Dump devctl and devstat registers</p>
<p>Dump devctl and devstat registers. These would have been useful when
debugging the MPS issue.</p>
</li>
-<li><p class="first">phb4: Only clear some PHB config space registers on errors</p>
+<li><p>phb4: Only clear some PHB config space registers on errors</p>
<p>Currently on error we clear the entire PHB config space. This is a
problem as the PCIe Maximum Payload Size (MPS) negotiation may have
already occurred. Clearing MPS in the PHB back to a default of 128
@@ -399,11 +377,11 @@ configured.</p>
error.</p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/xscom-utils: Add <code class="docutils literal notranslate"><span class="pre">--list-bits</span></code></p>
+<li><p>external/xscom-utils: Add <code class="docutils literal notranslate"><span class="pre">--list-bits</span></code></p>
<p>When using getscom/putscom it’s helpful to know what bits are set in the
register. This patch adds an option to print out which bits are set
along with the value that was read/written to the register. Note that
@@ -411,83 +389,80 @@ this output indicates which bits are set using the IBM bit ordering
since that’s what the XSCOM documentation uses.</p>
</li>
</ul>
-</div>
-<div class="section" id="opal-prd">
+</section>
+<section id="opal-prd">
<h2>opal-prd<a class="headerlink" href="#opal-prd" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">opal-prd: Do not pass pnor file while starting daemon.</p>
+<li><p>opal-prd: Do not pass pnor file while starting daemon.</p>
<p>This change to the included systemd init file means opal-prd can
start and run on IBM FSP based systems.</p>
<p>We do not have pnor support on all the system. Also we have logic to
autodetect PNOR. Hence do not pass <code class="docutils literal notranslate"><span class="pre">--pnor</span></code> by default.</p>
</li>
-<li><p class="first">opal-prd: Disable pnor access interface on FSP system</p>
+<li><p>opal-prd: Disable pnor access interface on FSP system</p>
<p>On FSP system host does not have access to PNOR. Hence disable PNOR
access interfaces.</p>
</li>
</ul>
-</div>
-<div class="section" id="opal-sensors">
+</section>
+<section id="opal-sensors">
<h2>OPAL Sensors<a class="headerlink" href="#opal-sensors" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">sensor-groups : occ: Add ‘ops’ DT property</p>
+<li><p>sensor-groups : occ: Add ‘ops’ DT property</p>
<p>Add new device-tree property ‘ops’ to define different operations
supported on each sensor-group.</p>
</li>
-<li><p class="first">OCC: Map OCC sensor to a chip-id</p>
+<li><p>OCC: Map OCC sensor to a chip-id</p>
<p>Parse device tree to get chip-id for OCC sensor.</p>
</li>
-<li><p class="first">HDAT: Add chip-id property to ipmi sensors</p>
+<li><p>HDAT: Add chip-id property to ipmi sensors</p>
<p>Presently we do not have a way to map sensor to chip id. Hence we are
always passing chip id 0 for occ_reset request (see occ_sensor_id_to_chip()).</p>
<p>This patch adds chip-id property to sensors (whenever its available) so that
we can map occ sensor to chip-id and pass valid chip-id to occ_reset request.</p>
</li>
-<li><p class="first">xive: Check for valid PIR index when decoding</p>
+<li><p>xive: Check for valid PIR index when decoding</p>
<p>This fixes an unlikely but possible assert() fail on kdump.</p>
</li>
-<li><p class="first">sensors: occ: Skip the deconfigured core sensors</p>
+<li><p>sensors: occ: Skip the deconfigured core sensors</p>
<p>This patch skips the deconfigured cores from the core sensors while
parsing the sensor names in the main memory as these sensor values are
not updated by OCC.</p>
</li>
</ul>
-</div>
-<div class="section" id="tests">
+</section>
+<section id="tests">
<h2>Tests<a class="headerlink" href="#tests" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdata_to_dt: use a realistic PVR and chip revision</p>
-</li>
-<li><p class="first">nx: PR_INFO that NX RNG and Crypto not yet supported on POWER9</p>
-</li>
-<li><p class="first">external/pflash: Add tests</p>
-</li>
-<li><p class="first">external/pflash: Reinstate the progress bars</p>
+<li><p>hdata_to_dt: use a realistic PVR and chip revision</p></li>
+<li><p>nx: PR_INFO that NX RNG and Crypto not yet supported on POWER9</p></li>
+<li><p>external/pflash: Add tests</p></li>
+<li><p>external/pflash: Reinstate the progress bars</p>
<p>Recent work did some optimising which unfortunately removed some of the
progress bars in pflash.</p>
<p>It turns out that there’s only one thing people prefer to correctly
programmed flash chips, it is the ability to watch little equals
characters go across their screens for potentially minutes.</p>
</li>
-<li><p class="first">external/pflash: Correct erase alignment checks</p>
+<li><p>external/pflash: Correct erase alignment checks</p>
<p>pflash should check the alignment of addresses and sizes when asked to
erase. There are two possibilities:</p>
<ol class="arabic simple">
-<li>The user has specified sizes manually in which case pflash should
+<li><p>The user has specified sizes manually in which case pflash should
be as flexible as possible, blocklevel_smart_erase() permits this. To
prevent possible mistakes pflash will require –force to perform a
-manual erase of unaligned sizes.</li>
-<li>The user used -P to specify a partition, partitions aren’t
+manual erase of unaligned sizes.</p></li>
+<li><p>The user used -P to specify a partition, partitions aren’t
necessarily erase granule aligned anymore, blocklevel_smart_erase() can
handle. In this it doesn’t make sense to warn/error about misalignment
since the misalignment is inherent to the FFS partition and not really
-user input.</li>
+user input.</p></li>
</ol>
</li>
-<li><p class="first">external/pflash: Check the result of strtoul</p>
+<li><p>external/pflash: Check the result of strtoul</p>
<p>Also add 0x in front of –info output to avoid a copy and paste mistake.</p>
</li>
-<li><p class="first">libflash/file: Break up MTD erase ioctl() calls</p>
+<li><p>libflash/file: Break up MTD erase ioctl() calls</p>
<p>Unfortunately not all drivers are created equal and several drivers on
which pflash relies block in the kernel for quite some time and ignore
signals.</p>
@@ -499,28 +474,28 @@ aren’t significantly slower than whole chip erases there isn’t much of a
performance penalty to breaking up the erase ioctl()s.</p>
</li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">opal-msg: Increase the max-async completion count by max chips possible</p>
-</li>
-<li><p class="first">occ: Add support for OPAL-OCC command/response interface</p>
+<li><p>opal-msg: Increase the max-async completion count by max chips possible</p></li>
+<li><p>occ: Add support for OPAL-OCC command/response interface</p>
<p>This patch adds support for a shared memory based command/response
interface between OCC and OPAL. In HOMER, there is an OPAL command
buffer and an OCC response buffer which is used to send inband
commands to OCC.</p>
</li>
-<li><p class="first">HDAT/device-tree: only add lid-type on pre-POWER9 systems</p>
+<li><p>HDAT/device-tree: only add lid-type on pre-POWER9 systems</p>
<p>Largely a relic of back when we had multiple entry points into OPAL depending
on which mechanism on an FSP we were using to get loaded, this isn’t needed
on modern P9 as we only have one entry point (we don’t do the PHYP LID hack).</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -556,17 +531,15 @@ on modern P9 as we only have one entry point (we don’t do the PHYP LID hack).<
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -583,14 +556,15 @@ on modern P9 as we only have one entry point (we don’t do the PHYP LID hack).<
<li class="right" >
<a href="skiboot-5.8.html" title="skiboot-5.8"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.8-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.8.html b/doc/release-notes/skiboot-5.8.html
index 584e6ca..4ca4acc 100644
--- a/doc/release-notes/skiboot-5.8.html
+++ b/doc/release-notes/skiboot-5.8.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.8 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.8 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.7-rc2.html" title="skiboot-5.7-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.8</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-8">
+ <section id="skiboot-5-8">
<span id="id1"></span><h1>skiboot-5.8<a class="headerlink" href="#skiboot-5-8" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.8 was released on Thursday August 31st 2017. It is the first
release of skiboot 5.8, which becomes the new stable release.
@@ -55,21 +55,21 @@ and <a class="reference internal" href="skiboot-5.1.20.html#skiboot-5-1-20"><spa
do not currently expect to do any 5.7.x stable releases.</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over <a class="reference internal" href="skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a>, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">sensors: occ: Add support to clear sensor groups</p>
+<li><p>sensors: occ: Add support to clear sensor groups</p>
<p>Adds a generic API to clear sensor groups. OCC inband sensor groups
such as CSM, Profiler and Job Scheduler can be cleared using this API.
It will clear the min/max of all sensors belonging to OCC sensor
groups.</p>
</li>
-<li><p class="first">sensors: occ: Add CSM_{min/max} sensors</p>
+<li><p>sensors: occ: Add CSM_{min/max} sensors</p>
<p>HWMON’s lowest/highest attribute is used by CSM agent, so map min/max
device-tree properties “sensor-data-min” and “sensor-data-max” to
the min/max of CSM.</p>
</li>
-<li><p class="first">sensors: occ: Add support for OCC inband sensors</p>
+<li><p>sensors: occ: Add support for OCC inband sensors</p>
<p>Add support to parse and export OCC inband sensors which are copied
by OCC to main memory in P9. Each OCC writes three buffers which
includes one names buffer for sensor meta data and two buffers for
@@ -80,29 +80,29 @@ can be read from the other buffer. The sensors are updated every
<code class="docutils literal notranslate"><span class="pre">/ibm,opal/sensors</span></code> device-tree node which can be exported by the
ibmpowernv-hwmon driver in Linux.</p>
</li>
-<li><p class="first">psr: occ: Add support to change power-shifting-ratio</p>
+<li><p>psr: occ: Add support to change power-shifting-ratio</p>
<p>Add support to set the CPU-GPU power shifting ratio which is used by
the OCC power capping algorithm. PSR value of 100 takes all power away
from CPU first and a PSR value of 0 caps GPU first.</p>
</li>
-<li><p class="first">powercap: occ: Add a generic powercap framework</p>
+<li><p>powercap: occ: Add a generic powercap framework</p>
<p>This patch adds a generic powercap framework and exports OCC powercap
sensors using which system powercap can be set inband through OPAL-OCC
command-response interface.</p>
</li>
-<li><p class="first">phb4: Enable PCI peer-to-peer</p>
+<li><p>phb4: Enable PCI peer-to-peer</p>
<p>P9 supports PCI peer-to-peer: a PCI device can write directly to the
mmio space of another PCI device. It completely by-passes the CPU.</p>
<p>It requires some configuration on the PHBs involved:</p>
<ol class="arabic simple">
-<li>on the initiating side, the address for the read/write operation is
+<li><p>on the initiating side, the address for the read/write operation is
in the mmio space of the target, i.e. well outside the range normally
-allowed. So we disable range-checking on the TVT entry in bypass mode.</li>
-<li>on the target side, we need to explicitly enable p2p by setting a
+allowed. So we disable range-checking on the TVT entry in bypass mode.</p></li>
+<li><p>on the target side, we need to explicitly enable p2p by setting a
bit in a configuration register. It has the side-effect of reserving
an outbound (as seen from the CPU) store queue for p2p. Therefore we
only enable p2p on the PHBs using it, as we don’t want to waste the
-resource if we don’t have to.</li>
+resource if we don’t have to.</p></li>
</ol>
<p>P9 supports p2p mmio writes. Reads are currently only supported if the
two devices are under the same PHB but that is expected to change in
@@ -111,40 +111,38 @@ configuration, so we report an error for the time being.</p>
<p>The patch adds a new OPAL call to allow the OS to declare a p2p
(initiator, target) pair.</p>
</li>
-<li><p class="first">NX 842 and GZIP support on POWER9</p>
-</li>
+<li><p>NX 842 and GZIP support on POWER9</p></li>
</ul>
-</div>
-<div class="section" id="power9-dd2">
+</section>
+<section id="power9-dd2">
<h2>POWER9 DD2<a class="headerlink" href="#power9-dd2" title="Permalink to this headline">¶</a></h2>
<p>Further support for POWER9 DD2 revision chips. Notable changes include:</p>
<ul>
-<li><p class="first">xscom: Grab P9 DD2 revision level</p>
-</li>
-<li><p class="first">vas: Set mmio enable bits in DD2</p>
+<li><p>xscom: Grab P9 DD2 revision level</p></li>
+<li><p>vas: Set mmio enable bits in DD2</p>
<p>POWER9 DD2 added some new “enable” bits that must be set for VAS to
work. These bits were unused in DD1.</p>
</li>
-<li><p class="first">hdat: Add POWER9 DD2.0 specific pa_features</p>
+<li><p>hdat: Add POWER9 DD2.0 specific pa_features</p>
<p>Same as the default but with TM off.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.8-rc1.html#skiboot-5-8-rc1"><span class="std std-ref">skiboot-5.8-rc1</span></a>:</p>
<ul>
-<li><p class="first">hw/npu2.c: Add ibm,nvlink-speed device-tree property</p>
+<li><p>hw/npu2.c: Add ibm,nvlink-speed device-tree property</p>
<p>NVLink2 links can support multiple different speeds. However the device driver
has no way of determining which speed was programmed so pass it down as a device
tree property.</p>
</li>
-<li><p class="first">hw/npu2-hw-procedures.c: Update PHY_RESET procedure</p>
+<li><p>hw/npu2-hw-procedures.c: Update PHY_RESET procedure</p>
<p>Newer versions of Hostboot will have various clocks powered down by default
to save power. Therefore we need to power them up before accessing the OBUS
PHY.</p>
</li>
-<li><p class="first">p8-i2c: Fix random data corruption (POWER9 specific)
+<li><p>p8-i2c: Fix random data corruption (POWER9 specific)
While waiting for the OCC to signal that it has finished using the I2C
master we put the master into the, poorly named, occache_dis state.
While in this state the transaction hasn’t been started, but
@@ -157,7 +155,7 @@ actually doing anything.</p>
<p>If the transaction was a I2C read, the resulting output will be a
zeroed data buffer.</p>
</li>
-<li><p class="first">hw/p8-i2c: Fix OCC locking (POWER9 specific)</p>
+<li><p>hw/p8-i2c: Fix OCC locking (POWER9 specific)</p>
<p>There’s a few issues with the Host&lt;-&gt;OCC I2C bus handshaking. First up,
skiboot is currently examining the wrong bit when checking if the OCC
is currently using the bus. Secondly, when we need to wait for the OCC
@@ -170,10 +168,9 @@ failure in the recovery thread. All of this is bad.</p>
<p>This patch addresses all these issues and sets the recovery timeout to
10ms.</p>
</li>
-<li><p class="first">vas: export chip-id to vas platform device
-This is needed so VAS in the kernel can perform cpu to vas id mapping.</p>
-</li>
-<li><p class="first">slw: Modify the power9 stop0_lite latency &amp; residency</p>
+<li><p>vas: export chip-id to vas platform device
+This is needed so VAS in the kernel can perform cpu to vas id mapping.</p></li>
+<li><p>slw: Modify the power9 stop0_lite latency &amp; residency</p>
<p>Currently skiboot exposes the exit-latency for stop0_lite as 200ns and
the target-residency to be 2us.</p>
<p>However, the kernel cpu-idle infrastructure rounds up the latency to
@@ -198,22 +195,20 @@ switches.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a>:</p>
<ul>
-<li><p class="first">Base NPU2 support on POWER9 DD2</p>
-</li>
-<li><p class="first">hdata/i2c: Work around broken I2C array version</p>
+<li><p>Base NPU2 support on POWER9 DD2</p></li>
+<li><p>hdata/i2c: Work around broken I2C array version</p>
<p>Work around a bug in the I2C devices array that shows the
array version as being v2 when only the v1 data is populated.</p>
</li>
-<li><p class="first">Recognize the 2s2u zz platform</p>
+<li><p>Recognize the 2s2u zz platform</p>
<p>OPAL currently doesn’t know about the 2s2u zz. It recognizes such a
box as a generic BMC machine and fails to boot. Add the 2s2u as a
supported platform.</p>
<p>There will subsequently be a 2s2u-L system which may have a different
compatible property, which will need to be handled later.</p>
</li>
-<li><p class="first">hdata/spira: POWER9 NX isn’t software compatible with P7/P8 NX, don’t claim so</p>
-</li>
-<li><p class="first">NX: Add P9 NX support for gzip compression engine</p>
+<li><p>hdata/spira: POWER9 NX isn’t software compatible with P7/P8 NX, don’t claim so</p></li>
+<li><p>NX: Add P9 NX support for gzip compression engine</p>
<p>Power 9 introduces NX gzip compression engine. This patch adds gzip
compression support in NX. Virtual Accelerator Switch (VAS) is used to
access NX gzip engine and the channel configuration will be done with
@@ -225,41 +220,33 @@ also enables other registers to enable / disable the engine.</p>
<p>Creates the following device-tree entries to provide RxFIFO address,
RxFIFO size, Fifo priority, lpid, pid and tid values so that kernel
can drive P9 NX gzip engine.</p>
-<dl class="docutils">
-<dt>The following nodes are located under an xscom node: ::</dt>
-<dd><blockquote class="first">
+<dl>
+<dt>The following nodes are located under an xscom node: ::</dt><dd><blockquote>
<div><p>/xscom&#64;&lt;xscom_addr&gt;/nx&#64;&lt;nx_addr&gt;</p>
<p>/ibm,gzip-high-fifo : High priority gzip RxFIFO
/ibm,gzip-normal-fifo : Normal priority gzip RxFIFO</p>
</div></blockquote>
<p>Each RxFIFO node contain:s</p>
-<dl class="last docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt>
-<dd><p class="first last"><code class="docutils literal notranslate"><span class="pre">ibm,p9-nx-gzip</span></code></p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">ibm,p9-nx-gzip</span></code></p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt>
-<dd><p class="first last">High or Normal</p>
+<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt><dd><p>High or Normal</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-address</span></code></dt>
-<dd><p class="first last">RxFIFO address</p>
+<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-address</span></code></dt><dd><p>RxFIFO address</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-size</span></code></dt>
-<dd><p class="first last">RxFIFO size</p>
+<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-size</span></code></dt><dd><p>RxFIFO size</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">lpid</span></code></dt>
-<dd><p class="first last">0xfff (1’s for 12 bits in UMAC notify match register)</p>
+<dt><code class="docutils literal notranslate"><span class="pre">lpid</span></code></dt><dd><p>0xfff (1’s for 12 bits in UMAC notify match register)</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pid</span></code></dt>
-<dd><p class="first last">gzip coprocessor type</p>
+<dt><code class="docutils literal notranslate"><span class="pre">pid</span></code></dt><dd><p>gzip coprocessor type</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">tid</span></code></dt>
-<dd><p class="first last">counter for gzip</p>
+<dt><code class="docutils literal notranslate"><span class="pre">tid</span></code></dt><dd><p>counter for gzip</p>
</dd>
</dl>
</dd>
</dl>
</li>
-<li><p class="first">NX: Add P9 NX support for 842 compression engine</p>
+<li><p>NX: Add P9 NX support for 842 compression engine</p>
<p>This patch adds changes needed for 842 compression engine on power 9.
Virtual Accelerator Switch (VAS) is used to access NX 842 engine on P9
and the channel setup will be done with receive FIFO. So RxFIFO
@@ -275,45 +262,36 @@ values so that kernel can drive P9 NX 842 engine.</p>
<blockquote>
<div><p>The following nodes are located under an xscom node:
<code class="docutils literal notranslate"><span class="pre">/xscom&#64;&lt;xscom_addr&gt;/nx&#64;&lt;nx_addr&gt;</span></code></p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">/ibm,842-high-fifo</span></code></dt>
-<dd><p class="first last">High priority 842 RxFIFO</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">/ibm,842-high-fifo</span></code></dt><dd><p>High priority 842 RxFIFO</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">/ibm,842-normal-fifo</span></code></dt>
-<dd><p class="first last">Normal priority 842 RxFIFO</p>
+<dt><code class="docutils literal notranslate"><span class="pre">/ibm,842-normal-fifo</span></code></dt><dd><p>Normal priority 842 RxFIFO</p>
</dd>
</dl>
<p>Each RxFIFO node contains:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt>
-<dd><p class="first last">ibm,p9-nx-842</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">compatible</span></code></dt><dd><p>ibm,p9-nx-842</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt>
-<dd><p class="first last">High or Normal</p>
+<dt><code class="docutils literal notranslate"><span class="pre">priority</span></code></dt><dd><p>High or Normal</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-address</span></code></dt>
-<dd><p class="first last">RxFIFO address</p>
+<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-address</span></code></dt><dd><p>RxFIFO address</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-size</span></code></dt>
-<dd><p class="first last">RXFIFO size</p>
+<dt><code class="docutils literal notranslate"><span class="pre">rx-fifo-size</span></code></dt><dd><p>RXFIFO size</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">lpid</span></code></dt>
-<dd><p class="first last">0xfff (1’s for 12 bits set in UMAC notify match register)</p>
+<dt><code class="docutils literal notranslate"><span class="pre">lpid</span></code></dt><dd><p>0xfff (1’s for 12 bits set in UMAC notify match register)</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">pid</span></code></dt>
-<dd><p class="first last">842 coprocessor type</p>
+<dt><code class="docutils literal notranslate"><span class="pre">pid</span></code></dt><dd><p>842 coprocessor type</p>
</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">tid</span></code></dt>
-<dd><p class="first last">Counter for 842</p>
+<dt><code class="docutils literal notranslate"><span class="pre">tid</span></code></dt><dd><p>Counter for 842</p>
</dd>
</dl>
</div></blockquote>
</li>
-<li><p class="first">vas: Create MMIO device tree node</p>
+<li><p>vas: Create MMIO device tree node</p>
<p>Create a device tree node for VAS and add properties that Linux
will need to configure/use VAS.</p>
</li>
-<li><p class="first">opal: Extract sw checkstop fir address from HDAT.</p>
+<li><p>opal: Extract sw checkstop fir address from HDAT.</p>
<p>Extract sw checkstop fir address info from HDAT and populate device tree
node ibm,sw-checkstop-fir.</p>
<p>This patch is required for OPAL_CEC_REBOOT2 OPAL call to work as expected
@@ -327,15 +305,15 @@ populated:</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="phb4">
+</section>
+<section id="phb4">
<h2>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdat: Fix PCIe GEN4 lane-eq setting for DD2</p>
+<li><p>hdat: Fix PCIe GEN4 lane-eq setting for DD2</p>
<p>For PCIe GEN4, DD2 uses only 1 byte per PCIe lane for the lane-eq
settings (DD1 uses 2 bytes)</p>
</li>
-<li><p class="first">pci: Wait for CRS and switch link when restoring bus numbers</p>
+<li><p>pci: Wait for CRS and switch link when restoring bus numbers</p>
<p>When a complete reset occurs, after the PHB recovers it propagates a
reset down the wire to every device. At the same time, skiboot talks to
every device in order to restore the state of devices to what they were
@@ -346,12 +324,12 @@ before the link was up and the device could respond.</p>
<p>Fix this by retrying CRS until the device responds correctly, and for
devices behind a switch, making sure the switch has its link up first.</p>
</li>
-<li><p class="first">pci: Track whether a PCI device is a virtual function</p>
+<li><p>pci: Track whether a PCI device is a virtual function</p>
<p>This can be checked from config space, but we will need to know this when
restoring the PCI topology, and it is not always safe to access config
space during this period.</p>
</li>
-<li><p class="first">phb4: Enhanced PCIe training tracing</p>
+<li><p>phb4: Enhanced PCIe training tracing</p>
<p>This add more details to the PCI training tracing (aka Rick Mata
mode). It enables the PCIe Link Training and Status State
Machine (LTSSM) tracing and details on speed and link width.</p>
@@ -376,27 +354,26 @@ Machine (LTSSM) tracing and details on speed and link width.</p>
</pre></div>
</div>
</li>
-<li><p class="first">phb4: Fix reading wrong size registers in EEH dump</p>
+<li><p>phb4: Fix reading wrong size registers in EEH dump</p>
<p>These registers are supposed to be 16bit, and it makes part of the
register dump misleading.</p>
</li>
-<li><p class="first">phb4: Ignore slot state if performing complete reset</p>
+<li><p>phb4: Ignore slot state if performing complete reset</p>
<p>If a PHB is being completely reset, its state is about to be blown away
anyway, so if it’s not in an appropriate state, creset it regardless.</p>
</li>
-<li><p class="first">phb4: Prepare for link down when creset called from kernel</p>
+<li><p>phb4: Prepare for link down when creset called from kernel</p>
<p>phb4_creset() is typically called by functions that prepare the link
to go down. In cases where creset() is called directly by the kernel,
this isn’t the case and it can cause issues. Prepare for link down in
creset, just like we do in freset and hreset.</p>
</li>
-<li><p class="first">phb4: Skip attempting to fix PHBs broken on boot</p>
+<li><p>phb4: Skip attempting to fix PHBs broken on boot</p>
<p>If a PHB is marked broken it didn’t work on boot, and if it didn’t work
on boot then there’s no point trying to recover it later</p>
</li>
-<li><p class="first">phb4: Fix duplicate in EEH register dump</p>
-</li>
-<li><p class="first">phb4: Be more conservative on link presence timeout</p>
+<li><p>phb4: Fix duplicate in EEH register dump</p></li>
+<li><p>phb4: Be more conservative on link presence timeout</p>
<p>In this patch we tuned our link timing to be more agressive:
<code class="docutils literal notranslate"><span class="pre">cf960e2884</span> <span class="pre">phb4:</span> <span class="pre">Improve</span> <span class="pre">reset</span> <span class="pre">and</span> <span class="pre">link</span> <span class="pre">training</span> <span class="pre">timing</span></code></p>
<p>Cards should take only 32ms but unfortunately we’ve seen some take
@@ -406,12 +383,12 @@ status but no electrical link is present (which we’ve seen). Since we
have to wait 1 second between PERST and touching config space anyway,
it shouldn’t hurt too much.</p>
</li>
-<li><p class="first">phb4: Assert PERST before PHB reset</p>
+<li><p>phb4: Assert PERST before PHB reset</p>
<p>Currently we don’t assert PERST before issuing a PHB reset. This means
any link issues while resetting the PHB will be logged as errors.</p>
<p>This asserts PERST before we start resetting the PHB to avoid this.</p>
</li>
-<li><p class="first">Revert “phb4: Read PERST signal rather than assuming it’s asserted”</p>
+<li><p>Revert “phb4: Read PERST signal rather than assuming it’s asserted”</p>
<p>This reverts commit b42ff2b904165addf32e77679cebb94a08086966</p>
<p>The original patch assumes that PERST has been asserted well before (&gt;
250ms) we hit here (ie. during hostboot).</p>
@@ -422,32 +399,32 @@ before we hit this code.</p>
skip_perst to determine if PERST should be asserted or not. This
allows us to keep the speed optimisation on boot.</p>
</li>
-<li><p class="first">phb4: Set REGB error enables based on link state</p>
+<li><p>phb4: Set REGB error enables based on link state</p>
<p>Currently we always set these enables when initing the PHB. If the
link is already down, we shouldn’t set them as it may cause spurious
errors.</p>
<p>This changes the code to only sets them if the link is up.</p>
</li>
-<li><p class="first">phb4: Mark PHB as fenced on creset</p>
+<li><p>phb4: Mark PHB as fenced on creset</p>
<p>If we have to inject an error to trigger recover, we end up not
marking the PHB as fenced in the PHB struct. This fixes that.</p>
</li>
-<li><p class="first">phb4: Clear errors before deasserting reset</p>
+<li><p>phb4: Clear errors before deasserting reset</p>
<p>During reset we may have logged some errors (eg. due to the link going
down).</p>
<p>Hence before we deassert PERST or Hot Reset, we need to clear these
errors. This ensures that once link training starts, only new errors
are logged.</p>
</li>
-<li><p class="first">phb4: Disable device config space access when fenced</p>
+<li><p>phb4: Disable device config space access when fenced</p>
<p>On DD2 you can’t access device config space when fenced, so just
disable access whenever we are fenced.</p>
</li>
-<li><p class="first">phb4: Dump devctl and devstat registers</p>
+<li><p>phb4: Dump devctl and devstat registers</p>
<p>Dump devctl and devstat registers. These would have been useful when
debugging the MPS issue.</p>
</li>
-<li><p class="first">phb4: Only clear some PHB config space registers on errors</p>
+<li><p>phb4: Only clear some PHB config space registers on errors</p>
<p>Currently on error we clear the entire PHB config space. This is a
problem as the PCIe Maximum Payload Size (MPS) negotiation may have
already occurred. Clearing MPS in the PHB back to a default of 128
@@ -460,11 +437,11 @@ configured.</p>
error.</p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/xscom-utils: Add <code class="docutils literal notranslate"><span class="pre">--list-bits</span></code></p>
+<li><p>external/xscom-utils: Add <code class="docutils literal notranslate"><span class="pre">--list-bits</span></code></p>
<p>When using getscom/putscom it’s helpful to know what bits are set in the
register. This patch adds an option to print out which bits are set
along with the value that was read/written to the register. Note that
@@ -472,53 +449,53 @@ this output indicates which bits are set using the IBM bit ordering
since that’s what the XSCOM documentation uses.</p>
</li>
</ul>
-</div>
-<div class="section" id="opal-prd">
+</section>
+<section id="opal-prd">
<h2>opal-prd<a class="headerlink" href="#opal-prd" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">opal-prd: Do not pass pnor file while starting daemon.</p>
+<li><p>opal-prd: Do not pass pnor file while starting daemon.</p>
<p>This change to the included systemd init file means opal-prd can
start and run on IBM FSP based systems.</p>
<p>We do not have pnor support on all the system. Also we have logic to
autodetect PNOR. Hence do not pass <code class="docutils literal notranslate"><span class="pre">--pnor</span></code> by default.</p>
</li>
-<li><p class="first">opal-prd: Disable pnor access interface on FSP system</p>
+<li><p>opal-prd: Disable pnor access interface on FSP system</p>
<p>On FSP system host does not have access to PNOR. Hence disable PNOR
access interfaces.</p>
</li>
</ul>
-</div>
-<div class="section" id="opal-sensors">
+</section>
+<section id="opal-sensors">
<h2>OPAL Sensors<a class="headerlink" href="#opal-sensors" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">sensor-groups : occ: Add ‘ops’ DT property</p>
+<li><p>sensor-groups : occ: Add ‘ops’ DT property</p>
<p>Add new device-tree property ‘ops’ to define different operations
supported on each sensor-group.</p>
</li>
-<li><p class="first">OCC: Map OCC sensor to a chip-id</p>
+<li><p>OCC: Map OCC sensor to a chip-id</p>
<p>Parse device tree to get chip-id for OCC sensor.</p>
</li>
-<li><p class="first">HDAT: Add chip-id property to ipmi sensors</p>
+<li><p>HDAT: Add chip-id property to ipmi sensors</p>
<p>Presently we do not have a way to map sensor to chip id. Hence we are
always passing chip id 0 for occ_reset request (see occ_sensor_id_to_chip()).</p>
<p>This patch adds chip-id property to sensors (whenever its available) so that
we can map occ sensor to chip-id and pass valid chip-id to occ_reset request.</p>
</li>
-<li><p class="first">xive: Check for valid PIR index when decoding</p>
+<li><p>xive: Check for valid PIR index when decoding</p>
<p>This fixes an unlikely but possible assert() fail on kdump.</p>
</li>
-<li><p class="first">sensors: occ: Skip the deconfigured core sensors</p>
+<li><p>sensors: occ: Skip the deconfigured core sensors</p>
<p>This patch skips the deconfigured cores from the core sensors while
parsing the sensor names in the main memory as these sensor values are
not updated by OCC.</p>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-systems">
+</section>
+<section id="ibm-fsp-systems">
<h2>IBM FSP systems<a class="headerlink" href="#ibm-fsp-systems" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.8-rc1.html#skiboot-5-8-rc1"><span class="std std-ref">skiboot-5.8-rc1</span></a>:</p>
<ul>
-<li><p class="first">mktime: fix off-by-one error calling days_in_month</p>
+<li><p>mktime: fix off-by-one error calling days_in_month</p>
<p>From auditing all the mktime() users, there seems to be only a <em>very</em>
small window around new years day where we could possibly return
incorrect data to the OS, and even then, there would have to be FSP
@@ -526,49 +503,46 @@ reset/reload on FSP machines. I don’t <em>think</em> there’s an opportunity
on other machines.</p>
</li>
</ul>
-</div>
-<div class="section" id="tests">
+</section>
+<section id="tests">
<h2>Tests<a class="headerlink" href="#tests" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.8-rc1.html#skiboot-5-8-rc1"><span class="std std-ref">skiboot-5.8-rc1</span></a>:</p>
<ul class="simple">
-<li>travis: Debian Stretch must pass</li>
-<li>test kernels: link with -N</li>
-<li>core/test/run-msg: don’t depend on unittest mem layout</li>
+<li><p>travis: Debian Stretch must pass</p></li>
+<li><p>test kernels: link with -N</p></li>
+<li><p>core/test/run-msg: don’t depend on unittest mem layout</p></li>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a>:</p>
<ul>
-<li><p class="first">hdata_to_dt: use a realistic PVR and chip revision</p>
-</li>
-<li><p class="first">nx: PR_INFO that NX RNG and Crypto not yet supported on POWER9</p>
-</li>
-<li><p class="first">external/pflash: Add tests</p>
-</li>
-<li><p class="first">external/pflash: Reinstate the progress bars</p>
+<li><p>hdata_to_dt: use a realistic PVR and chip revision</p></li>
+<li><p>nx: PR_INFO that NX RNG and Crypto not yet supported on POWER9</p></li>
+<li><p>external/pflash: Add tests</p></li>
+<li><p>external/pflash: Reinstate the progress bars</p>
<p>Recent work did some optimising which unfortunately removed some of the
progress bars in pflash.</p>
<p>It turns out that there’s only one thing people prefer to correctly
programmed flash chips, it is the ability to watch little equals
characters go across their screens for potentially minutes.</p>
</li>
-<li><p class="first">external/pflash: Correct erase alignment checks</p>
+<li><p>external/pflash: Correct erase alignment checks</p>
<p>pflash should check the alignment of addresses and sizes when asked to
erase. There are two possibilities:</p>
<ol class="arabic simple">
-<li>The user has specified sizes manually in which case pflash should
+<li><p>The user has specified sizes manually in which case pflash should
be as flexible as possible, blocklevel_smart_erase() permits this. To
prevent possible mistakes pflash will require –force to perform a
-manual erase of unaligned sizes.</li>
-<li>The user used -P to specify a partition, partitions aren’t
+manual erase of unaligned sizes.</p></li>
+<li><p>The user used -P to specify a partition, partitions aren’t
necessarily erase granule aligned anymore, blocklevel_smart_erase() can
handle. In this it doesn’t make sense to warn/error about misalignment
since the misalignment is inherent to the FFS partition and not really
-user input.</li>
+user input.</p></li>
</ol>
</li>
-<li><p class="first">external/pflash: Check the result of strtoul</p>
+<li><p>external/pflash: Check the result of strtoul</p>
<p>Also add 0x in front of –info output to avoid a copy and paste mistake.</p>
</li>
-<li><p class="first">libflash/file: Break up MTD erase ioctl() calls</p>
+<li><p>libflash/file: Break up MTD erase ioctl() calls</p>
<p>Unfortunately not all drivers are created equal and several drivers on
which pflash relies block in the kernel for quite some time and ignore
signals.</p>
@@ -580,431 +554,431 @@ aren’t significantly slower than whole chip erases there isn’t much of a
performance penalty to breaking up the erase ioctl()s.</p>
</li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.8-rc1.html#skiboot-5-8-rc1"><span class="std std-ref">skiboot-5.8-rc1</span></a>:</p>
<ul class="simple">
-<li>gcov: support GCC 7.1+</li>
-<li>Tests build and pass on Debian
-A few things related to the Debian toolchain.</li>
+<li><p>gcov: support GCC 7.1+</p></li>
+<li><p>Tests build and pass on Debian
+A few things related to the Debian toolchain.</p></li>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.7.html#skiboot-5-7"><span class="std std-ref">skiboot-5.7</span></a>:</p>
<ul>
-<li><p class="first">opal-msg: Increase the max-async completion count by max chips possible</p>
-</li>
-<li><p class="first">occ: Add support for OPAL-OCC command/response interface</p>
+<li><p>opal-msg: Increase the max-async completion count by max chips possible</p></li>
+<li><p>occ: Add support for OPAL-OCC command/response interface</p>
<p>This patch adds support for a shared memory based command/response
interface between OCC and OPAL. In HOMER, there is an OPAL command
buffer and an OCC response buffer which is used to send inband
commands to OCC.</p>
</li>
-<li><p class="first">HDAT/device-tree: only add lid-type on pre-POWER9 systems</p>
+<li><p>HDAT/device-tree: only add lid-type on pre-POWER9 systems</p>
<p>Largely a relic of back when we had multiple entry points into OPAL depending
on which mechanism on an FSP we were using to get loaded, this isn’t needed
on modern P9 as we only have one entry point (we don’t do the PHYP LID hack).</p>
</li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Processed 156 csets from 17 developers</li>
-<li>1 employers found</li>
-<li>A total of 6888 lines added, 1089 removed (delta 5799)</li>
+<li><p>Processed 156 csets from 17 developers</p></li>
+<li><p>1 employers found</p></li>
+<li><p>A total of 6888 lines added, 1089 removed (delta 5799)</p></li>
</ul>
-<div class="section" id="developers-with-the-most-changesets">
+<section id="developers-with-the-most-changesets">
<h3>Developers with the most changesets<a class="headerlink" href="#developers-with-the-most-changesets" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Cyril Bur</td>
-<td>35</td>
-<td>(22.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>35</p></td>
+<td><p>(22.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>32</td>
-<td>(20.5%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>32</p></td>
+<td><p>(20.5%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Neuling</td>
-<td>23</td>
-<td>(14.7%)</td>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>23</p></td>
+<td><p>(14.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Sukadev Bhattiprolu</td>
-<td>11</td>
-<td>(7.1%)</td>
+<tr class="row-odd"><td><p>Sukadev Bhattiprolu</p></td>
+<td><p>11</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-even"><td>Reza Arbab</td>
-<td>10</td>
-<td>(6.4%)</td>
+<tr class="row-even"><td><p>Reza Arbab</p></td>
+<td><p>10</p></td>
+<td><p>(6.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>9</td>
-<td>(5.8%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>9</p></td>
+<td><p>(5.8%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>9</td>
-<td>(5.8%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>9</p></td>
+<td><p>(5.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>5</td>
-<td>(3.2%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>5</p></td>
+<td><p>(3.2%)</p></td>
</tr>
-<tr class="row-even"><td>Haren Myneni</td>
-<td>5</td>
-<td>(3.2%)</td>
+<tr class="row-even"><td><p>Haren Myneni</p></td>
+<td><p>5</p></td>
+<td><p>(3.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>4</td>
-<td>(2.6%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>4</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>4</td>
-<td>(2.6%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>4</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>3</td>
-<td>(1.9%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>3</p></td>
+<td><p>(1.9%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>2</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>2</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Gautham R. Shenoy</td>
-<td>1</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Gautham R. Shenoy</p></td>
+<td><p>1</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>1</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>1</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Ananth N Mavinakayanahalli</td>
-<td>1</td>
-<td>(0.6%)</td>
+<tr class="row-odd"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>1</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>1</p></td>
+<td><p>(0.6%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-changed-lines">
+</section>
+<section id="developers-with-the-most-changed-lines">
<h3>Developers with the most changed lines<a class="headerlink" href="#developers-with-the-most-changed-lines" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 70%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>1935</td>
-<td>(27.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1935</p></td>
+<td><p>(27.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1868</td>
-<td>(26.9%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1868</p></td>
+<td><p>(26.9%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>866</td>
-<td>(12.5%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>866</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Sukadev Bhattiprolu</td>
-<td>663</td>
-<td>(9.5%)</td>
+<tr class="row-odd"><td><p>Sukadev Bhattiprolu</p></td>
+<td><p>663</p></td>
+<td><p>(9.5%)</p></td>
</tr>
-<tr class="row-even"><td>Haren Myneni</td>
-<td>584</td>
-<td>(8.4%)</td>
+<tr class="row-even"><td><p>Haren Myneni</p></td>
+<td><p>584</p></td>
+<td><p>(8.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>384</td>
-<td>(5.5%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>384</p></td>
+<td><p>(5.5%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>168</td>
-<td>(2.4%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>168</p></td>
+<td><p>(2.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>98</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>98</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>98</td>
-<td>(1.4%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>98</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>93</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>93</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>77</td>
-<td>(1.1%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>77</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>60</td>
-<td>(0.9%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>60</p></td>
+<td><p>(0.9%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>28</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>28</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>11</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>11</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Gautham R. Shenoy</td>
-<td>6</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Gautham R. Shenoy</p></td>
+<td><p>6</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>4</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>4</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Ananth N Mavinakayanahalli</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Ananth N Mavinakayanahalli</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-signoffs">
+</section>
+<section id="developers-with-the-most-signoffs">
<h3>Developers with the most signoffs<a class="headerlink" href="#developers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>124</td>
-<td>(97.6%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>124</p></td>
+<td><p>(97.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>2</td>
-<td>(1.6%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>2</p></td>
+<td><p>(1.6%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>1</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Total</td>
-<td>127</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p>Total</p></td>
+<td><p>127</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-reviews">
+</section>
+<section id="developers-with-the-most-reviews">
<h3>Developers with the most reviews<a class="headerlink" href="#developers-with-the-most-reviews" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>19</td>
-<td>(52.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>19</p></td>
+<td><p>(52.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>11</td>
-<td>(30.6%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>11</p></td>
+<td><p>(30.6%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>2</td>
-<td>(5.6%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>2</p></td>
+<td><p>(5.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>1</td>
-<td>(2.8%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>1</p></td>
+<td><p>(2.8%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>1</td>
-<td>(2.8%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>1</p></td>
+<td><p>(2.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>1</td>
-<td>(2.8%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>1</p></td>
+<td><p>(2.8%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>1</td>
-<td>(2.8%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(2.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Total</td>
-<td>36</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p>Total</p></td>
+<td><p>36</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-test-credits">
+</section>
+<section id="developers-with-the-most-test-credits">
<h3>Developers with the most test credits<a class="headerlink" href="#developers-with-the-most-test-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Hari Bathini</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tr class="row-odd"><td><p>Hari Bathini</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-tested-by-credits">
+</section>
+<section id="developers-who-gave-the-most-tested-by-credits">
<h3>Developers who gave the most tested-by credits<a class="headerlink" href="#developers-who-gave-the-most-tested-by-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Russell Currey</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh Salgaonkar</td>
-<td>1</td>
-<td>(50.0%)</td>
+<tr class="row-odd"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>1</p></td>
+<td><p>(50.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-report-credits">
+</section>
+<section id="developers-with-the-most-report-credits">
<h3>Developers with the most report credits<a class="headerlink" href="#developers-with-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Anton Blanchard</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Anton Blanchard</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Mark Linimon</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Mark Linimon</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-even"><td>Pavaman Subramaniyam</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-even"><td><p>Pavaman Subramaniyam</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-even"><td>Rob Lippert</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-even"><td><p>Rob Lippert</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-report-credits">
+</section>
+<section id="developers-who-gave-the-most-report-credits">
<h3>Developers who gave the most report credits<a class="headerlink" href="#developers-who-gave-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>2</td>
-<td>(33.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>2</p></td>
+<td><p>(33.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
-<tr class="row-even"><td>Gautham R. Shenoy</td>
-<td>1</td>
-<td>(16.7%)</td>
+<tr class="row-even"><td><p>Gautham R. Shenoy</p></td>
+<td><p>1</p></td>
+<td><p>(16.7%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1052,17 +1026,15 @@ on modern P9 as we only have one entry point (we don’t do the PHYP LID hack).<
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1079,14 +1051,15 @@ on modern P9 as we only have one entry point (we don’t do the PHYP LID hack).<
<li class="right" >
<a href="skiboot-5.7-rc2.html" title="skiboot-5.7-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.8</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9-rc1.html b/doc/release-notes/skiboot-5.9-rc1.html
index d1823c0..697ec91 100644
--- a/doc/release-notes/skiboot-5.9-rc1.html
+++ b/doc/release-notes/skiboot-5.9-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.html" title="skiboot-5.9"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-rc1">
+ <section id="skiboot-5-9-rc1">
<span id="id1"></span><h1>skiboot-5.9-rc1<a class="headerlink" href="#skiboot-5-9-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.9-rc1 was released on Wednesday October 11th 2017. It is the first
release candidate of skiboot 5.9, which will become the new stable release
@@ -58,26 +58,26 @@ do not currently expect to do any 5.8.x stable releases.</p>
being for all POWER8 and POWER9 platforms in op-build v1.20 (Due October 18th).
This release will be targetted to early POWER9 systems.</p>
<p>Over skiboot-5.8, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="power8">
+<section id="power8">
<h3>POWER8<a class="headerlink" href="#power8" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">fast-reset by default (if possible)</p>
+<li><p>fast-reset by default (if possible)</p>
<p>Currently, this is limited to POWER8 systems.</p>
<p>A normal reboot will, rather than doing a full IPL, go through a
fast reboot procedure. This reduces the “reboot to petitboot” time
from minutes to a handful of seconds.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h3>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">POWER9 power management during boot</p>
+<li><p>POWER9 power management during boot</p>
<p>Less power should be consumed during boot.</p>
</li>
-<li><p class="first">OPAL_SIGNAL_SYSTEM_RESET for POWER9</p>
+<li><p>OPAL_SIGNAL_SYSTEM_RESET for POWER9</p>
<p>This implements OPAL_SIGNAL_SYSTEM_RESET, using scom registers to
quiesce the target thread and raise a system reset exception on it.
It has been tested on DD2 with stop0 ESL=0 and ESL=1 shallow power
@@ -85,20 +85,20 @@ saving modes.</p>
<p>DD1 is not implemented because it is sufficiently different as to
make support difficult.</p>
</li>
-<li><p class="first">Enable deep idle states for POWER9</p>
+<li><p>Enable deep idle states for POWER9</p>
<ul>
-<li><p class="first">SLW: Add support for p9_stop_api</p>
+<li><p>SLW: Add support for p9_stop_api</p>
<p>p9_stop_api’s are used to set SPR state on a core wakeup form a deeper
low power state. p9_stop_api uses low level platform formware and
self-restore microcode to restore the sprs to requested values.</p>
<p>Code is taken from :
<a class="reference external" href="https://github.com/open-power/hostboot/tree/master/src/import/chips/p9/procedures/utils/stopreg">https://github.com/open-power/hostboot/tree/master/src/import/chips/p9/procedures/utils/stopreg</a></p>
</li>
-<li><p class="first">SLW: Removing timebase related flags for stop4</p>
+<li><p>SLW: Removing timebase related flags for stop4</p>
<p>When a core enters stop4, it does not loose decrementer and time base.
Hence removing flags OPAL_PM_DEC_STOP and OPAL_PM_TIMEBASE_STOP.</p>
</li>
-<li><p class="first">SLW: Allow deep states if homer address is known</p>
+<li><p>SLW: Allow deep states if homer address is known</p>
<p>Use a common variable has_wakeup_engine instead of has_slw to tell if
the:
- SLW image is populated in case of power8
@@ -106,18 +106,18 @@ the:
<p>Currently we expect CME to be loaded if homer address is known ( except
for simulators)</p>
</li>
-<li><p class="first">SLW: Configure self-restore for HRMOR</p>
+<li><p>SLW: Configure self-restore for HRMOR</p>
<p>Make a stop api call using libpore to restore HRMOR register. HRMOR needs
to be cleared so that when thread exits stop, they arrives at linux
system_reset vector (0x100).</p>
</li>
-<li><p class="first">SLW: Add opal_slw_set_reg support for power9</p>
+<li><p>SLW: Add opal_slw_set_reg support for power9</p>
<p>This OPAL call is made from Linux to OPAL to configure values in
various SPRs after wakeup from a deep idle state.</p>
</li>
</ul>
</li>
-<li><p class="first">PHB4: CAPP recovery</p>
+<li><p>PHB4: CAPP recovery</p>
<p>CAPP recovery is initiated when a CAPP Machine Check is detected.
The capp recovery procedure is initiated via a Hypervisor Maintenance
interrupt (HMI).</p>
@@ -128,37 +128,37 @@ being asserted. The system continues running and the CAPP and PSL will
be re-initialized.</p>
<p>This implements CAPP recovery for POWER9 systems</p>
</li>
-<li><p class="first">Add <code class="docutils literal notranslate"><span class="pre">wafer-location</span></code> property for POWER9</p>
+<li><p>Add <code class="docutils literal notranslate"><span class="pre">wafer-location</span></code> property for POWER9</p>
<p>Extract wafer-location from ECID and add property under xscom node.
- bits 64:71 are the chip x location (7:0)
- bits 72:79 are the chip y location (7:0)</p>
<p>Sample output:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
<span class="n">ecid</span> <span class="mi">019</span><span class="n">a00d4</span> <span class="mi">03100718</span> <span class="mi">852</span><span class="n">c0000</span> <span class="mi">00</span><span class="n">fd7911</span>
-<span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop wafer-location</span>
+<span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop wafer-location</span>
<span class="n">wafer</span><span class="o">-</span><span class="n">location</span> <span class="mi">00000085</span> <span class="mi">0000002</span><span class="n">c</span>
</pre></div>
</div>
</li>
-<li><p class="first">Add <code class="docutils literal notranslate"><span class="pre">wafer-id</span></code> property for POWER9</p>
+<li><p>Add <code class="docutils literal notranslate"><span class="pre">wafer-id</span></code> property for POWER9</p>
<p>Wafer id is derived from ECID data.
- bits 4:63 are the wafer id ( ten 6 bit fields each containing a code)</p>
<p>Sample output:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
<span class="n">ecid</span> <span class="mi">019</span><span class="n">a00d4</span> <span class="mi">03100718</span> <span class="mi">852</span><span class="n">c0000</span> <span class="mi">00</span><span class="n">fd7911</span>
-<span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop wafer-id</span>
+<span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop wafer-id</span>
<span class="n">wafer</span><span class="o">-</span><span class="nb">id</span> <span class="s2">&quot;6Q0DG340SO&quot;</span>
</pre></div>
</div>
</li>
-<li><p class="first">Add <code class="docutils literal notranslate"><span class="pre">ecid</span></code> property under <code class="docutils literal notranslate"><span class="pre">xscom</span></code> node for POWER9.
+<li><p>Add <code class="docutils literal notranslate"><span class="pre">ecid</span></code> property under <code class="docutils literal notranslate"><span class="pre">xscom</span></code> node for POWER9.
Sample output:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
<span class="n">ecid</span> <span class="mi">019</span><span class="n">a00d4</span> <span class="mi">03100718</span> <span class="mi">852</span><span class="n">c0000</span> <span class="mi">00</span><span class="n">fd7911</span>
</pre></div>
</div>
</li>
-<li><p class="first">Add ibm,firmware-versions device tree node</p>
+<li><p>Add ibm,firmware-versions device tree node</p>
<p>In P8, hostboot provides mini device tree. It contains <code class="docutils literal notranslate"><span class="pre">/ibm,firmware-versions</span></code>
node which has various firmware component version details.</p>
<p>In P9, OPAL is building device tree. This patch adds support to parse VERSION
@@ -178,17 +178,17 @@ section of PNOR and create <code class="docutils literal notranslate"><span clas
</div>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="id2">
+</section>
+</section>
+<section id="id2">
<h2>POWER9<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Disable Transactional Memory on Power9 DD 2.1</p>
+<li><p>Disable Transactional Memory on Power9 DD 2.1</p>
<p>Update pa_features_p9[] to disable TM (Transactional Memory). On DD 2.1
TM is not usable by Linux without other workarounds, so skiboot must
disable it.</p>
</li>
-<li><p class="first">xscom: Do not print error message for ‘chiplet offline’ return values</p>
+<li><p>xscom: Do not print error message for ‘chiplet offline’ return values</p>
<p>xscom_read/write operations returns CHIPLET_OFFLINE when chiplet is offline.
Some multicast xscom_read/write requests from HBRT results in xscom operation
on offline chiplet(s) and printing below warnings in OPAL console:</p>
@@ -199,48 +199,47 @@ on offline chiplet(s) and printing below warnings in OPAL console:</p>
<p>Some SCOM users can deal correctly with this error code (notably opal-prd),
so the error message is (in practice) erroneous.</p>
</li>
-<li><p class="first">IMC: Fix the core_imc_event_mask</p>
+<li><p>IMC: Fix the core_imc_event_mask</p>
<p>CORE_IMC_EVENT_MASK is a scom that contains bits to control event sampling for
different machine state for core imc. The current event-mask setting sample
events only on host kernel (hypervisor) and host userspace.</p>
<p>Patch to enable the sampling of events in other machine states (like guest
kernel and guest userspace).</p>
</li>
-<li><p class="first">IMC: Update the nest_pmus array with occ/gpe microcode uav updates</p>
+<li><p>IMC: Update the nest_pmus array with occ/gpe microcode uav updates</p>
<p>OOC/gpe nest microcode maintains the list of individual nest units
supported. Sync the recent updates to the UAV with nest_pmus array.</p>
<p>For reference occ/gpr microcode link for the UAV:
<a class="reference external" href="https://github.com/open-power/occ/blob/master/src/occ_gpe1/gpe1_24x7.h">https://github.com/open-power/occ/blob/master/src/occ_gpe1/gpe1_24x7.h</a></p>
</li>
-<li><p class="first">Parse IOSLOT information from HDAT</p>
+<li><p>Parse IOSLOT information from HDAT</p>
<p>Add structure definitions that describe the physical PCIe topology of
a system and parse them into the device-tree based PCIe slot
description.</p>
</li>
-<li><p class="first">idle: user context state loss flags fix for stop states</p>
+<li><p>idle: user context state loss flags fix for stop states</p>
<p>The “lite” stop variants with PSSCR[ESL]=PSSCR[EC]=1 do not lose user
context, while the non-lite variants do (ESL: enable state loss).</p>
<p>Some of the POWER9 idle states had these wrong.</p>
</li>
</ul>
-<div class="section" id="capi">
+<section id="capi">
<h3>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">POWER9 DD2 update</p>
+<li><p>POWER9 DD2 update</p>
<p>The CAPI initialization sequence has been updated in DD2.
This patch adapts to the changes, retaining compatibility with DD1.
The patch includes some changes to DD1 fix-ups as well.</p>
</li>
-<li><p class="first">Load CAPP microcode for POWER9 DD2.0 and DD2.1</p>
-</li>
-<li><p class="first">capi: Mask Psl Credit timeout error for POWER9</p>
+<li><p>Load CAPP microcode for POWER9 DD2.0 and DD2.1</p></li>
+<li><p>capi: Mask Psl Credit timeout error for POWER9</p>
<p>Mask the PSL credit timeout error in CAPP FIR Mask register
bit(46). As per the h/w team this error is now deprecated and shouldn’t
cause any fir-action for P9.</p>
</li>
</ul>
-</div>
-<div class="section" id="nvlink2">
+</section>
+<section id="nvlink2">
<h3>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h3>
<p>A notabale change is that we now generate the device tree description of
NVLINK based on the HDAT we get from hostboot. Since Hostboot will generate
@@ -249,118 +248,111 @@ HDAT based on VPD, you now <em>MUST</em> have correct VPD programmed or we will
are not booting a Sequoia Witherspoon planar. In the case of booting with
old VPD and/or Hostboot, we print a <strong>giant scary warning</strong> in order to scare you.</p>
<ul>
-<li><p class="first">npu2: Read slot label from the HDAT link node</p>
+<li><p>npu2: Read slot label from the HDAT link node</p>
<p>Binding GPU to emulated NPU PCI devices is done using the slot labels
since the NPU devices do not have a patching slot node we need to
copy the label in here.</p>
</li>
-<li><p class="first">npu2: Copy link speed from the npu HDAT node</p>
+<li><p>npu2: Copy link speed from the npu HDAT node</p>
<p>This needs to be in the PCI device node so the speed of the NVLink
can be passed to the GPU driver.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Add settings to PHY_RESET</p>
+<li><p>npu2: hw-procedures: Add settings to PHY_RESET</p>
<p>Set a few new values in the PHY_RESET procedure, as specified by our
updated programming guide documentation.</p>
</li>
-<li><p class="first">Parse NVLink information from HDAT</p>
+<li><p>Parse NVLink information from HDAT</p>
<p>Add the per-chip structures that descibe how the A-Bus/NVLink/OpenCAPI
phy is configured. This generates the <a class="reference external" href="mailto:npu&#37;&#52;&#48;xyz">npu<span>&#64;</span>xyz</a> nodes for each chip on
systems that support it.</p>
</li>
-<li><p class="first">npu2: Add vendor cap for IRQ testing</p>
+<li><p>npu2: Add vendor cap for IRQ testing</p>
<p>Provide a way to test recoverable data link interrupts via a new
vendor capability byte.</p>
</li>
-<li><p class="first">npu2: Enable recoverable data link (no-stall) interrupts</p>
+<li><p>npu2: Enable recoverable data link (no-stall) interrupts</p>
<p>Allow the NPU2 to trigger “recoverable data link” interrupts.</p>
</li>
-<li><p class="first">npu2: Implement basic FLR (Function Level Reset)</p>
-</li>
-<li><p class="first">npu2: hw-procedures: Update PHY DC calibration procedure</p>
-</li>
-<li><p class="first">npu2: hw-procedures: Change rx_pr_phase_step value</p>
-</li>
+<li><p>npu2: Implement basic FLR (Function Level Reset)</p></li>
+<li><p>npu2: hw-procedures: Update PHY DC calibration procedure</p></li>
+<li><p>npu2: hw-procedures: Change rx_pr_phase_step value</p></li>
</ul>
-</div>
-<div class="section" id="xive">
+</section>
+<section id="xive">
<h3>XIVE<a class="headerlink" href="#xive" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">xive: Fix opal_xive_dump_tm() to access W2 properly.
-The HW only supported limited access sizes.</p>
-</li>
-<li><p class="first">xive: Make opal_xive_allocate_irq() properly try all chips</p>
+<li><p>xive: Fix opal_xive_dump_tm() to access W2 properly.
+The HW only supported limited access sizes.</p></li>
+<li><p>xive: Make opal_xive_allocate_irq() properly try all chips</p>
<p>When requested via OPAL_XIVE_ANY_CHIP, we need to try all
chips. We first try the current one (on which the caller
sits) and if that fails, we iterate all chips until the
allocation succeeds.</p>
</li>
-<li><p class="first">xive: Fix initialization &amp; cleanup of HW thread contexts</p>
+<li><p>xive: Fix initialization &amp; cleanup of HW thread contexts</p>
<p>Instead of trying to “pull” everything and clear VT (which didn’t
work and caused some FIRs to be set), instead just clear and then
set the PTER thread enable bit. This has the side effect of
completely resetting the corresponding thread context.</p>
<p>This fixes the spurrious XIVE FIRs reported by PRD and fircheck</p>
</li>
-<li><p class="first">xive: Add debug option for detecting misrouted IPI in emulation</p>
+<li><p>xive: Add debug option for detecting misrouted IPI in emulation</p>
<p>This is high overhead so we don’t enable it by default even
in debug builds, it’s also a bit messy, but it allowed me to
detect and debug a locking issue earlier so it can be useful.</p>
</li>
-<li><p class="first">xive: Increase the interrupt “gap” on debug builds</p>
+<li><p>xive: Increase the interrupt “gap” on debug builds</p>
<p>We normally allocate IPIs from 0x10. Make that 0x1000 on debug
builds to limit the chances of overlapping with Linux interrupt
numbers which makes debugging code that confuses them easier.</p>
<p>Also add a warning in emulation if we get an interrupt in the
queue whose number is below the gap.</p>
</li>
-<li><p class="first">xive: Fix locking around cache scrub &amp; watch</p>
+<li><p>xive: Fix locking around cache scrub &amp; watch</p>
<p>Thankfully the missing locking only affects debug code and
init code that doesn’t run concurrently. Also adds a DEBUG
option that checks the lock is properly held.</p>
</li>
-<li><p class="first">xive: Workaround HW issue with scrub facility</p>
+<li><p>xive: Workaround HW issue with scrub facility</p>
<p>Without this, we sometimes don’t observe from a CPU the
values written to the ENDs or NVTs via the cache watch.</p>
</li>
-<li><p class="first">xive: Add exerciser for cache watch/scrub facility in DEBUG builds</p>
-</li>
-<li><p class="first">xive: Make assertion in xive_eq_for_target() more informative</p>
-</li>
-<li><p class="first">xive: Add debug code to check initial cache updates</p>
-</li>
-<li><p class="first">xive: Ensure pressure relief interrupts are disabled</p>
+<li><p>xive: Add exerciser for cache watch/scrub facility in DEBUG builds</p></li>
+<li><p>xive: Make assertion in xive_eq_for_target() more informative</p></li>
+<li><p>xive: Add debug code to check initial cache updates</p></li>
+<li><p>xive: Ensure pressure relief interrupts are disabled</p>
<p>We don’t use them and we hijack the VP field with their
configuration to store the EQ reference, so make sure the
kernel or guest can’t turn them back on by doing MMIO
writes to ACK#</p>
</li>
-<li><p class="first">xive: Don’t try setting the reserved ACK# field in VPs</p>
+<li><p>xive: Don’t try setting the reserved ACK# field in VPs</p>
<p>That doesn’t work, the HW doesn’t implement it in the cache
watch facility anyway.</p>
</li>
-<li><p class="first">xive: Remove useless memory barriers in VP/EQ inits</p>
+<li><p>xive: Remove useless memory barriers in VP/EQ inits</p>
<p>We no longer update “live” memory structures, we use a temporary
copy on the stack and update the actual memory structure using
the cache watch, so those barriers are pointless.</p>
</li>
</ul>
-</div>
-<div class="section" id="phb4">
+</section>
+<section id="phb4">
<h3>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4: Mask RXE_ARB: DEC Stage Valid Error</p>
+<li><p>phb4: Mask RXE_ARB: DEC Stage Valid Error</p>
<p>Change the inits to mask out the RXE ARB: DEC Stage Valid Error (bit
370. This has been a fatal error but should be informational only.</p>
<p>This update will be in the next version of the phb4 workbook.</p>
</li>
-<li><p class="first">phb4: Add additional adapter to retrain whitelist</p>
+<li><p>phb4: Add additional adapter to retrain whitelist</p>
<p>The single port version of the ConnectX-5 has a different device ID 0x1017.
Updated descriptions to match pciutils database.</p>
</li>
-<li><p class="first">PHB4: Default to PCIe GEN3 on POWER9 DD2.00</p>
+<li><p>PHB4: Default to PCIe GEN3 on POWER9 DD2.00</p>
<p>You can use the NVRAM override for DD2.00 screened parts.</p>
</li>
-<li><p class="first">phb4: Retrain link if degraded</p>
+<li><p>phb4: Retrain link if degraded</p>
<p>On P9 Scale Out (Nimbus) DD2.0 and Scale in (Cumulus) DD1.0 (and
below) the PCIe PHY can lockup causing training issues. This can cause
a degradation in speed or width in ~5% of training cases (depending on
@@ -383,12 +375,12 @@ This option may increase the boot time if used on a badly behaving
card.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="ibm-fsp-platforms">
+</section>
+</section>
+<section id="ibm-fsp-platforms">
<h2>IBM FSP platforms<a class="headerlink" href="#ibm-fsp-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">FSP/NVRAM: Handle “get vNVRAM statistics” command</p>
+<li><p>FSP/NVRAM: Handle “get vNVRAM statistics” command</p>
<p>FSP sends MBOX command (cmd : 0xEB, subcmd : 0x05, mod : 0x00) to get vNVRAM
statistics. OPAL doesn’t maintain any such statistics. Hence return
FSP_STATUS_INVALID_SUBCMD.</p>
@@ -400,22 +392,21 @@ FSP_STATUS_INVALID_SUBCMD.</p>
</pre></div>
</div>
</li>
-<li><p class="first">fsp: Move common prints to trace</p>
+<li><p>fsp: Move common prints to trace</p>
<p>These two prints just end up filling the skiboot logs on any machine
that’s been booted for more than a few hours.</p>
-<dl class="docutils">
-<dt>They have never been useful, so make them trace level. They were: ::</dt>
-<dd><p class="first last">SURV: Received heartbeat acknowledge from FSP
+<dl class="simple">
+<dt>They have never been useful, so make them trace level. They were: ::</dt><dd><p>SURV: Received heartbeat acknowledge from FSP
SURV: Sending the heartbeat command to FSP</p>
</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="bmc-based-systems">
+</section>
+<section id="bmc-based-systems">
<h2>BMC based systems<a class="headerlink" href="#bmc-based-systems" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/lpc-uart: read from RBR to clear character timeout interrupts</p>
+<li><p>hw/lpc-uart: read from RBR to clear character timeout interrupts</p>
<p>When using the aspeed SUART, we see a condition where the UART sends
continuous character timeout interrupts. This change adds a (heavily
commented) dummy read from the RBR to clear the interrupt condition on
@@ -423,15 +414,14 @@ init.</p>
<p>This was observed on p9dsu systems, but likely applies to other systems
using the SUART.</p>
</li>
-<li><p class="first">astbmc: Add methods for handing Device Tree based slots
-e.g. ones from HDAT on POWER9.</p>
-</li>
+<li><p>astbmc: Add methods for handing Device Tree based slots
+e.g. ones from HDAT on POWER9.</p></li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">ipmi: Convert common debug prints to trace</p>
+<li><p>ipmi: Convert common debug prints to trace</p>
<p>OPAL logs messages for every IPMI request from host. Sometime OPAL console
is filled with only these messages. This path is pretty stable now and
we have enough logs to cover bad path. Hence lets convert these debug
@@ -443,11 +433,11 @@ message to trace/info message. Examples are:</p>
</pre></div>
</div>
</li>
-<li><p class="first">libflash/file: Handle short read()s and write()s correctly</p>
+<li><p>libflash/file: Handle short read()s and write()s correctly</p>
<p>Currently we don’t move the buffer along for a short read() or write()
and nor do we request only the remaining amount.</p>
</li>
-<li><p class="first">hw/p8-i2c: Rework timeout handling</p>
+<li><p>hw/p8-i2c: Rework timeout handling</p>
<p>Currently we treat a timeout as a hard failure and will automatically
fail any transations that hit their timeout. This results in
unnecessarily failing I2C requests if interrupts are dropped, etc.
@@ -458,7 +448,7 @@ handling to check the status and continue the transaction if it can.
if it can while logging an error if it detects a timeout due to a
dropped interrupt.</p>
</li>
-<li><p class="first">core/flash: Only expect ELF header for BOOTKERNEL partition flash resource</p>
+<li><p>core/flash: Only expect ELF header for BOOTKERNEL partition flash resource</p>
<p>When loading a flash resource which isn’t signed (secure and trusted
boot) and which doesn’t have a subpartition, we assume it’s the
BOOTKERNEL since previously this was the only such resource. Thus we
@@ -478,7 +468,7 @@ the FFS header. Also set the return code on error so we don’t
erroneously return OPAL_SUCCESS. Add a check that the resource will fit
in the supplied buffer to prevent buffer overrun.</p>
</li>
-<li><p class="first">flash: Support adding the no-erase property to flash</p>
+<li><p>flash: Support adding the no-erase property to flash</p>
<p>The mbox protocol explicitly states that an erase is not required
before a write. This means that issuing an erase from userspace,
through the mtd device, and back returns a successful operation
@@ -491,11 +481,11 @@ devices which do not require erases to be performed.</p>
MTD_NO_ERASE flag from the device tree property.</p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/gard: Clear entire guard partition instead of entry by entry</p>
+<li><p>external/gard: Clear entire guard partition instead of entry by entry</p>
<p>When using the current implementation of the gard tool to ecc clear the
entire GUARD partition it is done one gard record at a time. While this
may be ok when accessing the actual flash this is very slow when done
@@ -507,51 +497,50 @@ entire buffer. Then we can do one big erase and write of the entire
partition. This reduces the time to clear the guard partition to on the
order of 4 seconds.</p>
</li>
-<li><p class="first">opal-prd: Fix opal-prd command line options</p>
+<li><p>opal-prd: Fix opal-prd command line options</p>
<p>HBRT OCC reset interface depends on service processor type.</p>
<ul class="simple">
-<li>FSP: reset_pm_complex()</li>
-<li>BMC: process_occ_reset()</li>
+<li><p>FSP: reset_pm_complex()</p></li>
+<li><p>BMC: process_occ_reset()</p></li>
</ul>
<p>We have both <cite>occ</cite> and <cite>pm-complex</cite> command line interfaces.
This patch adds support to dispaly appropriate message depending
on system type.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="6%" />
-<col width="39%" />
-<col width="55%" />
+<col style="width: 6%" />
+<col style="width: 39%" />
+<col style="width: 55%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">SP</th>
-<th class="head">Command</th>
-<th class="head">Action</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>SP</p></th>
+<th class="head"><p>Command</p></th>
+<th class="head"><p>Action</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>FSP</td>
-<td>opal-prd occ</td>
-<td>display error message</td>
+<tbody>
+<tr class="row-even"><td><p>FSP</p></td>
+<td><p>opal-prd occ</p></td>
+<td><p>display error message</p></td>
</tr>
-<tr class="row-odd"><td>FSP</td>
-<td>opal-prd pm-complex</td>
-<td>Call pm_complex_reset()</td>
+<tr class="row-odd"><td><p>FSP</p></td>
+<td><p>opal-prd pm-complex</p></td>
+<td><p>Call pm_complex_reset()</p></td>
</tr>
-<tr class="row-even"><td>BMC</td>
-<td>opal-prd occ</td>
-<td>Call process_occ_reset()</td>
+<tr class="row-even"><td><p>BMC</p></td>
+<td><p>opal-prd occ</p></td>
+<td><p>Call process_occ_reset()</p></td>
</tr>
-<tr class="row-odd"><td>BMC</td>
-<td>opal-prd pm-complex</td>
-<td>display error message</td>
+<tr class="row-odd"><td><p>BMC</p></td>
+<td><p>opal-prd pm-complex</p></td>
+<td><p>display error message</p></td>
</tr>
</tbody>
</table>
</li>
-<li><p class="first">opal-prd: detect service processor type and
-then make appropriate occ reset call.</p>
-</li>
-<li><p class="first">pflash: Fix erase command for unaligned start address</p>
+<li><p>opal-prd: detect service processor type and
+then make appropriate occ reset call.</p></li>
+<li><p>pflash: Fix erase command for unaligned start address</p>
<p>The erase_range() function handles erasing the flash for a given start
address and length, and can handle an unaligned start address and
length. However in the unaligned start address case we are incorrectly
@@ -561,14 +550,13 @@ address was then we probably want to do that before we overide the
origin start address. So rearrange the code so that this is indeed the
case.</p>
</li>
-<li><p class="first">external/gard: Print an error if run on an FSP system</p>
-</li>
+<li><p>external/gard: Print an error if run on an FSP system</p></li>
</ul>
-</div>
-<div class="section" id="simulators">
+</section>
+<section id="simulators">
<h2>Simulators<a class="headerlink" href="#simulators" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">mambo: Add mambo socket program</p>
+<li><p>mambo: Add mambo socket program</p>
<p>This adds a program that can be run inside a mambo simulator in linux
userspace which enables TCP sockets to be proxied in and out of the
simulator to the host.</p>
@@ -576,15 +564,15 @@ simulator to the host.</p>
drivers/infrastructure to run.</p>
<p>Run inside the simulator:</p>
<ul class="simple">
-<li>to forward host ssh connections to sim ssh server:
+<li><p>to forward host ssh connections to sim ssh server:
<code class="docutils literal notranslate"><span class="pre">./mambo-socket-proxy</span> <span class="pre">-h</span> <span class="pre">10022</span> <span class="pre">-s</span> <span class="pre">22</span></code>, then connect to port 10022
-on your host with <code class="docutils literal notranslate"><span class="pre">ssh</span> <span class="pre">-p</span> <span class="pre">10022</span> <span class="pre">localhost</span></code></li>
-<li>to allow http proxy access from inside the sim to local http proxy:
-<code class="docutils literal notranslate"><span class="pre">./mambo-socket-proxy</span> <span class="pre">-b</span> <span class="pre">proxy.mynetwork</span> <span class="pre">-h</span> <span class="pre">3128</span> <span class="pre">-s</span> <span class="pre">3128</span></code></li>
+on your host with <code class="docutils literal notranslate"><span class="pre">ssh</span> <span class="pre">-p</span> <span class="pre">10022</span> <span class="pre">localhost</span></code></p></li>
+<li><p>to allow http proxy access from inside the sim to local http proxy:
+<code class="docutils literal notranslate"><span class="pre">./mambo-socket-proxy</span> <span class="pre">-b</span> <span class="pre">proxy.mynetwork</span> <span class="pre">-h</span> <span class="pre">3128</span> <span class="pre">-s</span> <span class="pre">3128</span></code></p></li>
</ul>
<p>Multiple connections are supported.</p>
</li>
-<li><p class="first">idle: disable stop*_lite POWER9 idle states for Mambo platform</p>
+<li><p>idle: disable stop*_lite POWER9 idle states for Mambo platform</p>
<p>Mambo prior to Mambo.7.8.21 had a bug where the stop idle instruction
with PSSCR[ESL]=PSSCR[EC]=0 would resume with MSR set as though it had
taken a system reset interrupt.</p>
@@ -594,10 +582,11 @@ that, and causes the idle code to crash. Work around this by disabling
lite stop states for the mambo platform for now.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -641,17 +630,15 @@ lite stop states for the mambo platform for now.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -668,14 +655,15 @@ lite stop states for the mambo platform for now.</p>
<li class="right" >
<a href="skiboot-5.9.html" title="skiboot-5.9"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9-rc2.html b/doc/release-notes/skiboot-5.9-rc2.html
index cabae1a..928a7a6 100644
--- a/doc/release-notes/skiboot-5.9-rc2.html
+++ b/doc/release-notes/skiboot-5.9-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9-rc1.html" title="skiboot-5.9-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-rc2">
+ <section id="skiboot-5-9-rc2">
<span id="id1"></span><h1>skiboot-5.9-rc2<a class="headerlink" href="#skiboot-5-9-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.9-rc2 was released on Monday October 16th 2017. It is the second
release candidate of skiboot 5.9, which will become the new stable release
@@ -59,17 +59,16 @@ being for all POWER8 and POWER9 platforms in op-build v1.20 (Due October 18th).
This release will be targetted to early POWER9 systems.</p>
<p>Over <a class="reference internal" href="skiboot-5.9-rc1.html#skiboot-5-9-rc1"><span class="std std-ref">skiboot-5.9-rc1</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">opal-prd: Fix memory leak</p>
-</li>
-<li><p class="first">hdata/i2c: update the list of known i2c devs</p>
+<li><p>opal-prd: Fix memory leak</p></li>
+<li><p>hdata/i2c: update the list of known i2c devs</p>
<p>This updates the list of known i2c devices - as of HDAT spec v10.5e - so
that they can be properly identified during the hdat parsing.</p>
</li>
-<li><p class="first">hdata/i2c: log unknown i2c devices</p>
+<li><p>hdata/i2c: log unknown i2c devices</p>
<p>An i2c device is unknown if either the i2c device list is outdated or
the device is marked as unknown (0xFF) in the hdat.</p>
</li>
-<li><p class="first">opal/cpu: Mark the core as bad while disabling threads of the core.</p>
+<li><p>opal/cpu: Mark the core as bad while disabling threads of the core.</p>
<p>If any of the core fails to sync its TB during chipTOD initialization,
all the threads of that core are disabled. But this does not make
linux kernel to ignore the core/cpus. It crashes while bringing them up
@@ -100,7 +99,7 @@ enter ? for help
</pre></div>
</div>
</li>
-<li><p class="first">hw/imc: pause microcode at boot</p>
+<li><p>hw/imc: pause microcode at boot</p>
<p>IMC nest counters has both in-band (ucode access) and out of
band access to it. Since not all nest counter configurations
are supported by ucode, out of band tools are used to characterize
@@ -116,7 +115,7 @@ and OPAL_IMC_COUNTERS_STOP API calls should be used to start and pause
these IMC engines. <cite>doc/opal-api/opal-imc-counters.rst</cite> details the
OPAL APIs and their usage.</p>
</li>
-<li><p class="first">xive: Fix VP free block group mode false-positive parameter check</p>
+<li><p>xive: Fix VP free block group mode false-positive parameter check</p>
<p>The check to ensure the buddy allocation idx is aligned to its
allocation order was not taking into account the allocation split.
This would result in opal_xive_free_vp_block failures despite
@@ -134,33 +133,33 @@ in the host:</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/p8-i2c: Fix deadlock in p9_i2c_bus_owner_change</p>
+<li><p>hw/p8-i2c: Fix deadlock in p9_i2c_bus_owner_change</p>
<p>When debugging a system where Linux was taking soft lockup errors with
two CPUs stuck in OPAL:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="50%" />
-<col width="50%" />
+<col style="width: 50%" />
+<col style="width: 50%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">CPU0</th>
-<th class="head">CPU1</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>CPU0</p></th>
+<th class="head"><p>CPU1</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>lock</td>
-<td>&#160;</td>
+<tbody>
+<tr class="row-even"><td><p>lock</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>p8_i2c_recover</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p>p8_i2c_recover</p></td>
+<td></td>
</tr>
-<tr class="row-even"><td>opal_handle_interrupt</td>
-<td>sync_timer
+<tr class="row-even"><td><p>opal_handle_interrupt</p></td>
+<td><p>sync_timer
cancel_timer
p9_i2c_bus_owner_change
occ_p9_interrupt
xive_source_interrupt
-opal_handle_interrupt</td>
+opal_handle_interrupt</p></td>
</tr>
</tbody>
</table>
@@ -169,13 +168,13 @@ p9_i2c_bus_owner_change() has taken master-&gt;lock, but then is stuck waiting
for all timers to complete. We deadlock.</p>
<p>Fix this by using cancel_timer_async().</p>
</li>
-<li><p class="first">FSP/CONSOLE: Limit number of error logging</p>
+<li><p>FSP/CONSOLE: Limit number of error logging</p>
<p>Commit c8a7535f (FSP/CONSOLE: Workaround for unresponsive ipmi daemon) added
error logging when buffer is full. In some corner cases kernel may call this
function multiple time and we may endup logging error again and again.</p>
<p>This patch fixes it by generating error log only once.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Fix fsp_console_write_buffer_space() call</p>
+<li><p>FSP/CONSOLE: Fix fsp_console_write_buffer_space() call</p>
<p>Kernel calls fsp_console_write_buffer_space() to check console buffer space
availability. If there is enough buffer space to write data, then kernel will
call fsp_console_write() to write actual data.</p>
@@ -191,7 +190,7 @@ point we will start timer with timeout of SER_BUFFER_OUT_TIMEOUT (10 secs).
If situation is not improved within 10 seconds means something went bad. Lets
return OPAL_RESOURCE so that kernel can drop console write and continue.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Close SOL session during R/R</p>
+<li><p>FSP/CONSOLE: Close SOL session during R/R</p>
<p>Presently we are not closing SOL and FW console sessions during R/R. Host will
continue to write to SOL buffer during FSP R/R. If there is heavy console write
operation happening during FSP R/R (like running <cite>top</cite> command inside console),
@@ -216,7 +215,7 @@ we may see RCU stalls (like below) in kernel.</p>
</div>
<p>Hence lets close SOL (and FW console) during FSP R/R.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Do not associate unavailable console</p>
+<li><p>FSP/CONSOLE: Do not associate unavailable console</p>
<p>Presently OPAL sends associate/unassociate MBOX command for all
FSP serial console (like below OPAL message). We have to check
console is available or not before sending this message.</p>
@@ -225,73 +224,73 @@ console is available or not before sending this message.</p>
</pre></div>
</div>
</li>
-<li><p class="first">FSP: Disable PSI link whenever FSP tells OPAL about impending R/R</p>
+<li><p>FSP: Disable PSI link whenever FSP tells OPAL about impending R/R</p>
<p>Commit 42d5d047 fixed scenario where DPO has been initiated, but FSP went
into reset before the CEC power down came in. But this is generic issue
that can happen in normal shutdown path as well.</p>
<p>Hence disable PSI link as soon as we detect FSP impending R/R.</p>
</li>
-<li><p class="first">fsp: return OPAL_BUSY_EVENT on failure sending FSP_CMD_POWERDOWN_NORM
+<li><p>fsp: return OPAL_BUSY_EVENT on failure sending FSP_CMD_POWERDOWN_NORM
Also, return OPAL_BUSY_EVENT on failure sending FSP_CMD_REBOOT / DEEP_REBOOT.</p>
<p>We had a race condition between FSP Reset/Reload and powering down
the system from the host:</p>
<p>Roughly:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="2%" />
-<col width="29%" />
-<col width="69%" />
+<col style="width: 2%" />
+<col style="width: 29%" />
+<col style="width: 69%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">#</th>
-<th class="head">FSP</th>
-<th class="head">Host</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>#</p></th>
+<th class="head"><p>FSP</p></th>
+<th class="head"><p>Host</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>1</td>
-<td>Power on</td>
-<td>&#160;</td>
+<tbody>
+<tr class="row-even"><td><p>1</p></td>
+<td><p>Power on</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>2</td>
-<td>&#160;</td>
-<td>Power on</td>
+<tr class="row-odd"><td><p>2</p></td>
+<td></td>
+<td><p>Power on</p></td>
</tr>
-<tr class="row-even"><td>3</td>
-<td>(inject EPOW)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>3</p></td>
+<td><p>(inject EPOW)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>4</td>
-<td>(trigger FSP R/R)</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p>4</p></td>
+<td><p>(trigger FSP R/R)</p></td>
+<td></td>
</tr>
-<tr class="row-even"><td>5</td>
-<td>&#160;</td>
-<td>Processes EPOW event, starts shutting down</td>
+<tr class="row-even"><td><p>5</p></td>
+<td></td>
+<td><p>Processes EPOW event, starts shutting down</p></td>
</tr>
-<tr class="row-odd"><td>6</td>
-<td>&#160;</td>
-<td>calls OPAL_CEC_POWER_DOWN</td>
+<tr class="row-odd"><td><p>6</p></td>
+<td></td>
+<td><p>calls OPAL_CEC_POWER_DOWN</p></td>
</tr>
-<tr class="row-even"><td>7</td>
-<td>(is still in R/R)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>7</p></td>
+<td><p>(is still in R/R)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>8</td>
-<td>&#160;</td>
-<td>gets OPAL_INTERNAL_ERROR, spins in opal_poll_events</td>
+<tr class="row-odd"><td><p>8</p></td>
+<td></td>
+<td><p>gets OPAL_INTERNAL_ERROR, spins in opal_poll_events</p></td>
</tr>
-<tr class="row-even"><td>9</td>
-<td>(FSP comes back)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>9</p></td>
+<td><p>(FSP comes back)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>10</td>
-<td>&#160;</td>
-<td>spinning in opal_poll_events</td>
+<tr class="row-odd"><td><p>10</p></td>
+<td></td>
+<td><p>spinning in opal_poll_events</p></td>
</tr>
-<tr class="row-even"><td>11</td>
-<td>(thinks host is running)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>11</p></td>
+<td><p>(thinks host is running)</p></td>
+<td></td>
</tr>
</tbody>
</table>
@@ -327,9 +326,10 @@ running pollers to communicate with the FSP and do the final bits of
Reset/Reload handling before we power off the system.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -349,17 +349,15 @@ Reset/Reload handling before we power off the system.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -376,14 +374,15 @@ Reset/Reload handling before we power off the system.</p>
<li class="right" >
<a href="skiboot-5.9-rc1.html" title="skiboot-5.9-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9-rc3.html b/doc/release-notes/skiboot-5.9-rc3.html
index 4509467..055649e 100644
--- a/doc/release-notes/skiboot-5.9-rc3.html
+++ b/doc/release-notes/skiboot-5.9-rc3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9-rc3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9-rc3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9-rc2.html" title="skiboot-5.9-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-rc3">
+ <section id="skiboot-5-9-rc3">
<span id="id1"></span><h1>skiboot-5.9-rc3<a class="headerlink" href="#skiboot-5-9-rc3" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.9-rc3 was released on Wednesday October 18th 2017. It is the third
release candidate of skiboot 5.9, which will become the new stable release
@@ -59,18 +59,17 @@ being for all POWER8 and POWER9 platforms in op-build v1.20 (Due October 18th).
This release will be targetted to early POWER9 systems.</p>
<p>Over <a class="reference internal" href="skiboot-5.9-rc2.html#skiboot-5-9-rc2"><span class="std std-ref">skiboot-5.9-rc2</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">Improvements to vpd device tree entries</p>
+<li><p>Improvements to vpd device tree entries</p>
<p>Previously we would miss some properties</p>
</li>
-<li><p class="first">Revert “npu2: Add vendor cap for IRQ testing”</p>
+<li><p>Revert “npu2: Add vendor cap for IRQ testing”</p>
<p>This reverts commit 9817c9e29b6fe00daa3a0e4420e69a97c90eb373 which seems to
break setting the PCI dev flag and the link number in the PCIe vendor
specific config space. This leads to the device driver attempting to
re-init the DL when it shouldn’t which can cause HMI’s.</p>
</li>
-<li><p class="first">hw/imc: Fix IMC Catalog load for DD2.X processors</p>
-</li>
-<li><p class="first">cpu: Add OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED</p>
+<li><p>hw/imc: Fix IMC Catalog load for DD2.X processors</p></li>
+<li><p>cpu: Add OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED</p>
<p>Add a new CPU reinit flag, “TM Suspend Disabled”, which requests that
CPUs be configured so that TM (Transactional Memory) suspend mode is
disabled.</p>
@@ -79,9 +78,10 @@ state. A future hostboot change will add a mechanism for skiboot to
determine the status and return an appropriate error code.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -101,17 +101,15 @@ determine the status and return an appropriate error code.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -128,14 +126,15 @@ determine the status and return an appropriate error code.</p>
<li class="right" >
<a href="skiboot-5.9-rc2.html" title="skiboot-5.9-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9-rc4.html b/doc/release-notes/skiboot-5.9-rc4.html
index cafedda..0677b22 100644
--- a/doc/release-notes/skiboot-5.9-rc4.html
+++ b/doc/release-notes/skiboot-5.9-rc4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9-rc4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9-rc4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9-rc3.html" title="skiboot-5.9-rc3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-rc4">
+ <section id="skiboot-5-9-rc4">
<span id="id1"></span><h1>skiboot-5.9-rc4<a class="headerlink" href="#skiboot-5-9-rc4" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.9-rc4 was released on Thursday October 19th 2017. It is the fourth
release candidate of skiboot 5.9, which will become the new stable release
@@ -60,37 +60,36 @@ so we’re running a bit behind there).
This release will be targetted to early POWER9 systems.</p>
<p>Over <a class="reference internal" href="skiboot-5.9-rc3.html#skiboot-5-9-rc3"><span class="std std-ref">skiboot-5.9-rc3</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">phb4: Fix PCIe GEN4 on DD2.1 and above</p>
-<dl class="docutils">
-<dt>In this change:</dt>
-<dd><p class="first last">eef0e197ab PHB4: Default to PCIe GEN3 on POWER9 DD2.00</p>
+<li><p>phb4: Fix PCIe GEN4 on DD2.1 and above</p>
+<dl class="simple">
+<dt>In this change:</dt><dd><p>eef0e197ab PHB4: Default to PCIe GEN3 on POWER9 DD2.00</p>
</dd>
</dl>
<p>We clamped DD2.00 parts to GEN3 but unfortunately this change also
applies to DD2.1 and above.</p>
<p>This fixes this to only apply to DD2.00.</p>
</li>
-<li><p class="first">occ-sensors : Add OCC inband sensor region to exports
-(useful for debugging)</p>
-</li>
+<li><p>occ-sensors : Add OCC inband sensor region to exports
+(useful for debugging)</p></li>
</ul>
<p>Two SRESET fixes:</p>
<ul>
-<li><p class="first">core: direct-controls: Fix clearing of special wakeup</p>
+<li><p>core: direct-controls: Fix clearing of special wakeup</p>
<p>‘special_wakeup_count’ is incremented on successfully asserting
special wakeup. So we will never clear the special wakeup if we
check ‘special_wakeup_count’ to be zero. Fix this issue by checking
the ‘special_wakeup_count’ to 1 in dctl_clear_special_wakeup().</p>
</li>
-<li><p class="first">core/direct-controls: increase special wakeup timeout on POWER9</p>
+<li><p>core/direct-controls: increase special wakeup timeout on POWER9</p>
<p>Some instances have been observed where the special wakeup assert
times out. The current timeout is too short for deeper sleep states.
Hostboot uses 100ms, so match that.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -110,17 +109,15 @@ Hostboot uses 100ms, so match that.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -137,14 +134,15 @@ Hostboot uses 100ms, so match that.</p>
<li class="right" >
<a href="skiboot-5.9-rc3.html" title="skiboot-5.9-rc3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9-rc5.html b/doc/release-notes/skiboot-5.9-rc5.html
index 0648db1..5969bde 100644
--- a/doc/release-notes/skiboot-5.9-rc5.html
+++ b/doc/release-notes/skiboot-5.9-rc5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9-rc5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9-rc5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9-rc4.html" title="skiboot-5.9-rc4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc5</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-rc5">
+ <section id="skiboot-5-9-rc5">
<span id="id1"></span><h1>skiboot-5.9-rc5<a class="headerlink" href="#skiboot-5-9-rc5" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.9-rc5 was released on Monday October 23rd 2017 approximately
32,000ft above somewhere north of Tucson, Arizona. It is the fifth
@@ -61,11 +61,9 @@ so we’re running a bit behind there).
This release will be targetted to early POWER9 systems.</p>
<p>Over <a class="reference internal" href="skiboot-5.9-rc3.html#skiboot-5-9-rc3"><span class="std std-ref">skiboot-5.9-rc3</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">opal/hmi: Workaround Power9 hw logic bug for couple of TFMR TB errors.</p>
-</li>
-<li><p class="first">opal/hmi: Fix TB reside and HDEC parity error recovery for power9</p>
-</li>
-<li><p class="first">phb4: Escalate freeze to fence to avoid checkstop</p>
+<li><p>opal/hmi: Workaround Power9 hw logic bug for couple of TFMR TB errors.</p></li>
+<li><p>opal/hmi: Fix TB reside and HDEC parity error recovery for power9</p></li>
+<li><p>phb4: Escalate freeze to fence to avoid checkstop</p>
<p>Freeze events such as MMIO loads can cause the PHB to lose it’s
limited powerbus credits. If all credits are used and a further MMIO
will cause a checkstop.</p>
@@ -73,11 +71,11 @@ will cause a checkstop.</p>
fence. The fence will cause a full PHB reset which resets the powerbus
credits and avoids the checkstop.</p>
</li>
-<li><p class="first">phb4: Update some init registers</p>
+<li><p>phb4: Update some init registers</p>
<p>New inits based on next PHB4 workbook. Increases some timeouts to
avoid some spurious error conditions.</p>
</li>
-<li><p class="first">phb4: Enable PHB MMIO in phb4_root_port_init()</p>
+<li><p>phb4: Enable PHB MMIO in phb4_root_port_init()</p>
<p>Linux EEH flow is somewhat broken. It saves the PCIe config space of
the PHB on boot, which it then uses to restore on EEH recovery. It
does this to restore MMIO bars and some other pieces.</p>
@@ -97,20 +95,21 @@ fail.</p>
phb4_root_port_init().</p>
<p>With this we can recovery from a PHB fence event on POWER9.</p>
</li>
-<li><p class="first">phb4: Reduce link degraded message log level to debug</p>
+<li><p>phb4: Reduce link degraded message log level to debug</p>
<p>If we hit this message we’ll retry and fix the problem. If we run out
of retries and can’t fix the problem, we’ll still print a log message
at error level indicating a problem.</p>
</li>
-<li><p class="first">phb4: Fix GEN3 for DD2.00</p>
+<li><p>phb4: Fix GEN3 for DD2.00</p>
<p>In this fix: <code class="docutils literal notranslate"><span class="pre">62ac7631ae</span></code> “phb4: Fix PCIe GEN4 on DD2.1 and above”,
We fixed DD2.1 GEN4 but broke DD2.00 as GEN3.</p>
<p>This fixes DD2.00 back to GEN3. This time for sure!</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -130,17 +129,15 @@ We fixed DD2.1 GEN4 but broke DD2.00 as GEN3.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -157,14 +154,15 @@ We fixed DD2.1 GEN4 but broke DD2.00 as GEN3.</p>
<li class="right" >
<a href="skiboot-5.9-rc4.html" title="skiboot-5.9-rc4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9-rc5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.1.html b/doc/release-notes/skiboot-5.9.1.html
index f07bb9a..0c6f031 100644
--- a/doc/release-notes/skiboot-5.9.1.html
+++ b/doc/release-notes/skiboot-5.9.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9-rc5.html" title="skiboot-5.9-rc5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.1</a></li>
</ul>
</div>
@@ -45,33 +45,34 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-1">
+ <section id="skiboot-5-9-1">
<span id="id1"></span><h1>skiboot-5.9.1<a class="headerlink" href="#skiboot-5-9-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.9.1 was released on Tuesday November 14th, 2017. It replaces
<a class="reference internal" href="skiboot-5.9.html#skiboot-5-9"><span class="std std-ref">skiboot-5.9</span></a> as the current stable release in the 5.9.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.9.html#skiboot-5-9"><span class="std std-ref">skiboot-5.9</span></a>, we have two NPU2 (NVLink2) fixes and two XIVE
bug fixes:</p>
<ul>
-<li><p class="first">npu2: hw-procedures: Refactor reset_ntl procedure</p>
+<li><p>npu2: hw-procedures: Refactor reset_ntl procedure</p>
<p>Change the implementation of reset_ntl to match the latest programming
guide documentation.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Add phy_rx_clock_sel()</p>
+<li><p>npu2: hw-procedures: Add phy_rx_clock_sel()</p>
<p>Change the RX clk mux control to be done by software instead of HW. This
avoids glitches caused by changing the mux setting.</p>
</li>
-<li><p class="first">xive: Fix ability to clear some EQ flags</p>
+<li><p>xive: Fix ability to clear some EQ flags</p>
<p>We could never clear “unconditional notify” and “escalate”</p>
</li>
-<li><p class="first">xive: Update inits for DD2.0</p>
+<li><p>xive: Update inits for DD2.0</p>
<p>This updates some inits based on information from the HW
designers. This includes enabling some new DD2.0 features
that we don’t yet exploit.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -91,17 +92,15 @@ that we don’t yet exploit.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -118,14 +117,15 @@ that we don’t yet exploit.</p>
<li class="right" >
<a href="skiboot-5.9-rc5.html" title="skiboot-5.9-rc5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.2.html b/doc/release-notes/skiboot-5.9.2.html
index 6216b59..98f25c6 100644
--- a/doc/release-notes/skiboot-5.9.2.html
+++ b/doc/release-notes/skiboot-5.9.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.1.html" title="skiboot-5.9.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-2">
+ <section id="skiboot-5-9-2">
<span id="id1"></span><h1>skiboot-5.9.2<a class="headerlink" href="#skiboot-5-9-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.9.2 was released on Thursday November 16th, 2017. It replaces
<a class="reference internal" href="skiboot-5.9.1.html#skiboot-5-9-1"><span class="std std-ref">skiboot-5.9.1</span></a> as the current stable release in the 5.9.x series.</p>
@@ -53,13 +53,13 @@
POWER9 platforms to avoid conflicting with the OCC use and an important
NPU2 (NVLink2) fix.</p>
<ul>
-<li><p class="first">phb4: Fix lane equalisation setting</p>
+<li><p>phb4: Fix lane equalisation setting</p>
<p>Fix cut and paste from phb3. The sizes have changes now we have GEN4,
so the check here needs to change also</p>
<p>Without this we end up with the default settings (all ‘7’) rather
than what’s in HDAT.</p>
</li>
-<li><p class="first">phb4: Fix PE mapping of M32 BAR</p>
+<li><p>phb4: Fix PE mapping of M32 BAR</p>
<p>The M32 BAR is the PHB4 region used to map all the non-prefetchable
or 32-bit device BARs. It’s supposed to have its segments remapped
via the MDT and Linux relies on that to assign them individual PE#.</p>
@@ -67,25 +67,25 @@ via the MDT and Linux relies on that to assign them individual PE#.</p>
mode where PE# == segment#, thus causing EEH to freeze the wrong
device or PE#.</p>
</li>
-<li><p class="first">phb4: Fix lost bit in PE number on config accesses</p>
+<li><p>phb4: Fix lost bit in PE number on config accesses</p>
<p>A PE number can be up to 9 bits, using a uint8_t won’t fly..</p>
<p>That was causing error on config accesses to freeze the
wrong PE.</p>
</li>
-<li><p class="first">phb4: Update inits</p>
+<li><p>phb4: Update inits</p>
<p>New init value from HW folks for the fence enable register.</p>
<p>This clears bit 17 (CFG Write Error CA or UR response) and bit 22 (MMIO Write
DAT_ERR Indication) and sets bit 21 (MMIO CFG Pending Error)</p>
</li>
-<li><p class="first">npu2: Move to new GPU memory map</p>
+<li><p>npu2: Move to new GPU memory map</p>
<p>There are three different ways we configure the MCD and memory map.</p>
<ol class="arabic simple">
-<li>Old way (current way)
-Skiboot configures the MCD and puts GPUs at 4TB and below</li>
-<li>New way with MCD
-Hostboot configures the MCD and skiboot puts GPU at 4TB and above</li>
-<li>New way without MCD
-No one configures the MCD and skiboot puts GPU at 4TB and below</li>
+<li><p>Old way (current way)
+Skiboot configures the MCD and puts GPUs at 4TB and below</p></li>
+<li><p>New way with MCD
+Hostboot configures the MCD and skiboot puts GPU at 4TB and above</p></li>
+<li><p>New way without MCD
+No one configures the MCD and skiboot puts GPU at 4TB and below</p></li>
</ol>
<p>The change keeps option 1 and adds options 2 and 3.</p>
<p>The different configurations are detected using certain scoms (see
@@ -97,22 +97,23 @@ support existing hostboot.</p>
<p>Option 3 supports 6 GPUs and 4TB of memory but may have some
performance impact.</p>
</li>
-<li><p class="first">p8-i2c: Don’t write the watermark register at init</p>
+<li><p>p8-i2c: Don’t write the watermark register at init</p>
<p>On P9 the I2C master is shared with the OCC. Currently the watermark
values are set once at init time which is bad for two reasons:</p>
<ol class="loweralpha simple">
-<li>We don’t take the OCC master lock before setting it. Which
-may cause issues if the OCC is currently using the master.</li>
-<li>The OCC might change the watermark levels and we need to reset
-them.</li>
+<li><p>We don’t take the OCC master lock before setting it. Which
+may cause issues if the OCC is currently using the master.</p></li>
+<li><p>The OCC might change the watermark levels and we need to reset
+them.</p></li>
</ol>
<p>Change this so that we set the watermark value when a new transaction
is started rather than at init time.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -132,17 +133,15 @@ is started rather than at init time.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -159,14 +158,15 @@ is started rather than at init time.</p>
<li class="right" >
<a href="skiboot-5.9.1.html" title="skiboot-5.9.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.3.html b/doc/release-notes/skiboot-5.9.3.html
index 71089ab..e1e596c 100644
--- a/doc/release-notes/skiboot-5.9.3.html
+++ b/doc/release-notes/skiboot-5.9.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.2.html" title="skiboot-5.9.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-3">
+ <section id="skiboot-5-9-3">
<span id="id1"></span><h1>skiboot-5.9.3<a class="headerlink" href="#skiboot-5-9-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.9.3 was released on Wednesday November 22nd, 2017. It replaces
<a class="reference internal" href="skiboot-5.9.2.html#skiboot-5-9-2"><span class="std std-ref">skiboot-5.9.2</span></a> as the current stable release in the 5.9.x series.</p>
@@ -54,7 +54,7 @@ machine to crash hard in the event of hardware error rather than crash
mysteriously later on whenever the NVLink2 links are used.</p>
<p>That fix is:</p>
<ul>
-<li><p class="first">npu2: hw-procedures: Add check_credits procedure</p>
+<li><p>npu2: hw-procedures: Add check_credits procedure</p>
<p>As an immediate mitigator for a current hardware glitch, add a procedure
that can be used to validate NTL credit values. This will be called as a
safeguard to check that link training succeeded.</p>
@@ -63,9 +63,10 @@ system will experience a catastrophic failure shortly after the start of
link traffic.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -85,17 +86,15 @@ link traffic.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -112,14 +111,15 @@ link traffic.</p>
<li class="right" >
<a href="skiboot-5.9.2.html" title="skiboot-5.9.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.4.html b/doc/release-notes/skiboot-5.9.4.html
index b8500d6..8ea0f96 100644
--- a/doc/release-notes/skiboot-5.9.4.html
+++ b/doc/release-notes/skiboot-5.9.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.3.html" title="skiboot-5.9.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-4">
+ <section id="skiboot-5-9-4">
<span id="id1"></span><h1>skiboot-5.9.4<a class="headerlink" href="#skiboot-5-9-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.9.4 was released on Wednesday November 29th, 2017. It replaces
<a class="reference internal" href="skiboot-5.9.3.html#skiboot-5-9-3"><span class="std std-ref">skiboot-5.9.3</span></a> as the current stable release in the 5.9.x series.</p>
@@ -54,10 +54,9 @@ a potential glitch (the one <a class="reference internal" href="skiboot-5.9.3.ht
than let a system continue to run until it mysteriously crashed later on).</p>
<p>That fix is in two parts:</p>
<ul>
-<li><p class="first">npu2: hw-procedures: Change phy_rx_clock_sel values to recover from a
-potential glitch.</p>
-</li>
-<li><p class="first">npu2: hw-procedures: Manipulate IOVALID during training</p>
+<li><p>npu2: hw-procedures: Change phy_rx_clock_sel values to recover from a
+potential glitch.</p></li>
+<li><p>npu2: hw-procedures: Manipulate IOVALID during training</p>
<p>Ensure that the IOVALID bit for this brick is raised at the start of
link training, in the reset_ntl procedure.</p>
<p>Then, to protect us from a glitch when the PHY clock turns off or gets
@@ -65,9 +64,10 @@ chopped, lower IOVALID for the duration of the phy_reset and
phy_rx_dccal procedures.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -87,17 +87,15 @@ phy_rx_dccal procedures.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -114,14 +112,15 @@ phy_rx_dccal procedures.</p>
<li class="right" >
<a href="skiboot-5.9.3.html" title="skiboot-5.9.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.5.html b/doc/release-notes/skiboot-5.9.5.html
index 954cd59..462660b 100644
--- a/doc/release-notes/skiboot-5.9.5.html
+++ b/doc/release-notes/skiboot-5.9.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.4.html" title="skiboot-5.9.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.5</a></li>
</ul>
</div>
@@ -45,19 +45,18 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-5">
+ <section id="skiboot-5-9-5">
<span id="id1"></span><h1>skiboot-5.9.5<a class="headerlink" href="#skiboot-5-9-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.9.5 was released on Wednesday December 13th, 2017. It replaces
<a class="reference internal" href="skiboot-5.9.4.html#skiboot-5-9-4"><span class="std std-ref">skiboot-5.9.4</span></a> as the current stable release in the 5.9.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.9.4.html#skiboot-5-9-4"><span class="std std-ref">skiboot-5.9.4</span></a>, we have a few bug fixes, they are:</p>
<ul>
-<li><p class="first">Fix <em>extremely</em> rare race in timer code.</p>
-</li>
-<li><p class="first">xive: Ensure VC informational FIRs are masked</p>
+<li><p>Fix <em>extremely</em> rare race in timer code.</p></li>
+<li><p>xive: Ensure VC informational FIRs are masked</p>
<p>Some HostBoot versions leave those as checkstop, they are harmless
and can sometimes occur during normal operations.</p>
</li>
-<li><p class="first">xive: Fix occasional VC checkstops in xive_reset</p>
+<li><p>xive: Fix occasional VC checkstops in xive_reset</p>
<p>The current workaround for the scrub bug described in
__xive_cache_scrub() has an issue in that it can leave
dirty invalid entries in the cache.</p>
@@ -68,25 +67,25 @@ of the cache.</p>
<p>This replaces the existing workaround with a new pair of
workarounds for VPs and EQs:</p>
<ul class="simple">
-<li>The VP one does the dummy watch on another entry than
+<li><p>The VP one does the dummy watch on another entry than
the one we scrubbed (which does the job of pushing old
stores out) using an entry that is known to be backed by
-a permanent indirect page.</li>
-<li>The EQ one switches to a more efficient workaround
+a permanent indirect page.</p></li>
+<li><p>The EQ one switches to a more efficient workaround
which consists of doing a non-side-effect ESB load from
-the EQ’s ESe control bits.</li>
+the EQ’s ESe control bits.</p></li>
</ul>
</li>
-<li><p class="first">io: Add load_wait() helper</p>
+<li><p>io: Add load_wait() helper</p>
<p>This uses the standard form twi/isync pair to ensure a load
is consumed by the core before continuing. This can be necessary
under some circumstances for example when having the following
sequence:</p>
<ul class="simple">
-<li>Store reg A</li>
-<li>Load reg A (ensure above store pushed out)</li>
-<li>delay loop</li>
-<li>Store reg A</li>
+<li><p>Store reg A</p></li>
+<li><p>Load reg A (ensure above store pushed out)</p></li>
+<li><p>delay loop</p></li>
+<li><p>Store reg A</p></li>
</ul>
<p>IE, a mandatory delay between 2 stores. In theory the first store
is only guaranteed to rach the device after the load from the same
@@ -95,17 +94,17 @@ the delay loop without waiting for the return value from the load.</p>
<p>This construct enforces that the delay loop isn’t executed until
the load value has been returned.</p>
</li>
-<li><p class="first">xive: Do not return a trigger page for an escalation interrupt</p>
+<li><p>xive: Do not return a trigger page for an escalation interrupt</p>
<p>This is bogus, we don’t support them. (Thankfully the callers
didn’t actually try to use this on escalation interrupts).</p>
</li>
-<li><p class="first">xive: Mark a freed IRQ’s IVE as valid and masked</p>
+<li><p>xive: Mark a freed IRQ’s IVE as valid and masked</p>
<p>Removing the valid bit means a FIR will trip if it’s accessed
inadvertently. Under some circumstances, the XIVE will speculatively
access an IVE for a masked interrupt and trip it. So make sure that
freed entries are still marked valid (but masked).</p>
</li>
-<li><p class="first">hw/nx: Fix NX BAR assignments</p>
+<li><p>hw/nx: Fix NX BAR assignments</p>
<p>The NX rng BAR is used by each core to source random numbers for the
DARN instruction. Currently we configure each core to use the NX rng of
the chip that it exists on. Unfortunately, the NX can be deconfigured by
@@ -116,9 +115,10 @@ when configuring which NX a core should use so that we can fallback
gracefully.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -138,17 +138,15 @@ gracefully.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -165,14 +163,15 @@ gracefully.</p>
<li class="right" >
<a href="skiboot-5.9.4.html" title="skiboot-5.9.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.6.html b/doc/release-notes/skiboot-5.9.6.html
index 995fc31..f704051 100644
--- a/doc/release-notes/skiboot-5.9.6.html
+++ b/doc/release-notes/skiboot-5.9.6.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.6 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.6 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.5.html" title="skiboot-5.9.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.6</a></li>
</ul>
</div>
@@ -45,19 +45,18 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-6">
+ <section id="skiboot-5-9-6">
<span id="id1"></span><h1>skiboot-5.9.6<a class="headerlink" href="#skiboot-5-9-6" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.9.6 was released on Friday December 15th, 2017. It replaces
<a class="reference internal" href="skiboot-5.9.5.html#skiboot-5-9-5"><span class="std std-ref">skiboot-5.9.5</span></a> as the current stable release in the 5.9.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.9.5.html#skiboot-5-9-5"><span class="std std-ref">skiboot-5.9.5</span></a>, we have a few bug fixes, they are:</p>
<ul>
-<li><p class="first">sensors: occ: Skip counter type of sensors</p>
+<li><p>sensors: occ: Skip counter type of sensors</p>
<p>Don’t add counter type of sensors to device-tree as they don’t
fit into hwmon sensor interface.</p>
</li>
-<li><p class="first">p9_stop_api updates to support IMC across deep stop states.</p>
-</li>
-<li><p class="first">opal/xscom: Add recovery for lost core wakeup scom failures.</p>
+<li><p>p9_stop_api updates to support IMC across deep stop states.</p></li>
+<li><p>opal/xscom: Add recovery for lost core wakeup scom failures.</p>
<p>Due to a hardware issue where core responding to scom was delayed due to
thread reconfiguration, leaves the SCOM logic in a state where the
subsequent scom to that core can get errors. This is affected for Core
@@ -70,9 +69,10 @@ scom operation can be retried.</p>
<p>The scom timeout is reported as status 0x4 (Invalid address) in HMER[21-23].</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -92,17 +92,15 @@ scom operation can be retried.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -119,14 +117,15 @@ scom operation can be retried.</p>
<li class="right" >
<a href="skiboot-5.9.5.html" title="skiboot-5.9.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.6</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.7.html b/doc/release-notes/skiboot-5.9.7.html
index 5cfb589..5eacc92 100644
--- a/doc/release-notes/skiboot-5.9.7.html
+++ b/doc/release-notes/skiboot-5.9.7.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.7 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.7 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.6.html" title="skiboot-5.9.6"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.7</a></li>
</ul>
</div>
@@ -45,13 +45,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-7">
+ <section id="skiboot-5-9-7">
<span id="id1"></span><h1>skiboot-5.9.7<a class="headerlink" href="#skiboot-5-9-7" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.9.7 was released on Friday December 22nd, 2017. It replaces
<a class="reference internal" href="skiboot-5.9.6.html#skiboot-5-9-6"><span class="std std-ref">skiboot-5.9.6</span></a> as the current stable release in the 5.9.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.9.6.html#skiboot-5-9-6"><span class="std std-ref">skiboot-5.9.6</span></a>, we have two bug fixes, they are:</p>
<ul>
-<li><p class="first">phb4: Change PCI MMIO timers</p>
+<li><p>phb4: Change PCI MMIO timers</p>
<p>Currently we have a mismatch between the NCU and PCI timers for MMIO
accesses. The PCI timers must be lower than the NCU timers otherwise
it may cause checkstops.</p>
@@ -59,7 +59,7 @@ it may cause checkstops.</p>
be forwards and backwards compatible with expected hostboot changes to
the NCU timer.</p>
</li>
-<li><p class="first">p8-i2c: Limit number of retry attempts</p>
+<li><p>p8-i2c: Limit number of retry attempts</p>
<p>Currently we will attempt to start an I2C transaction until it succeeds.
In the event that the OCC does not release the lock on an I2C bus this
results in an async token being held forever and the kernel thread that
@@ -68,9 +68,10 @@ completion message. Fix this by limiting the number of attempts to
start the transaction.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -90,17 +91,15 @@ start the transaction.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -117,14 +116,15 @@ start the transaction.</p>
<li class="right" >
<a href="skiboot-5.9.6.html" title="skiboot-5.9.6"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.7</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.8.html b/doc/release-notes/skiboot-5.9.8.html
index 948c279..4566d5b 100644
--- a/doc/release-notes/skiboot-5.9.8.html
+++ b/doc/release-notes/skiboot-5.9.8.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.8 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.8 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.7.html" title="skiboot-5.9.7"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.8</a></li>
</ul>
</div>
@@ -45,21 +45,22 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-8">
+ <section id="skiboot-5-9-8">
<span id="id1"></span><h1>skiboot-5.9.8<a class="headerlink" href="#skiboot-5-9-8" title="Permalink to this headline">¶</a></h1>
<p>skiboot-5.9.8 was released on Friday January 5th, 2018. It replaces
<a class="reference internal" href="skiboot-5.9.7.html#skiboot-5-9-7"><span class="std std-ref">skiboot-5.9.7</span></a> as the current stable release in the 5.9.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.9.7.html#skiboot-5-9-7"><span class="std std-ref">skiboot-5.9.7</span></a>, we have one new feature:</p>
<ul>
-<li><p class="first">Parse IPL FW feature settings</p>
+<li><p>Parse IPL FW feature settings</p>
<p>Add parsing for the firmware feature flags in the HDAT. This
indicates the settings of various parameters which are set at IPL time
by firmware.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -79,17 +80,15 @@ by firmware.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -106,14 +105,15 @@ by firmware.</p>
<li class="right" >
<a href="skiboot-5.9.7.html" title="skiboot-5.9.7"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.8</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.9.html b/doc/release-notes/skiboot-5.9.9.html
index 195b668..0fa6b6f 100644
--- a/doc/release-notes/skiboot-5.9.9.html
+++ b/doc/release-notes/skiboot-5.9.9.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9.9 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9.9 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.8.html" title="skiboot-5.9.8"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.9</a></li>
</ul>
</div>
@@ -45,17 +45,17 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9-9">
+ <section id="skiboot-5-9-9">
<span id="id1"></span><h1>skiboot-5.9.9<a class="headerlink" href="#skiboot-5-9-9" title="Permalink to this headline">¶</a></h1>
<p>skiboot 5.9.9 was released on Monday May 28th, 2018. It replaces
<a class="reference internal" href="skiboot-5.9.8.html#skiboot-5-9-8"><span class="std std-ref">skiboot-5.9.8</span></a> as the current stable release in the 5.9.x series.</p>
<p>Over <a class="reference internal" href="skiboot-5.9.8.html#skiboot-5-9-8"><span class="std std-ref">skiboot-5.9.8</span></a>, we have two bug fixes and a build fix, they are:</p>
<ul>
-<li><p class="first">OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
+<li><p>OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
<p>Otherwise we could exit OPAL holding locks, potentially leading
to all sorts of problems later on.</p>
</li>
-<li><p class="first">lpc: Clear pending IRQs at boot</p>
+<li><p>lpc: Clear pending IRQs at boot</p>
<p>When we come in from hostboot the LPC master has the bus reset indicator
set. This error isn’t handled until the host kernel unmasks interrupts,
at which point we get the following suprious error:</p>
@@ -66,12 +66,12 @@ at which point we get the following suprious error:</p>
<p>Fix this by clearing the various error bits in the LPC status register
before we initalise the skiboot LPC bus driver.</p>
</li>
-<li><p class="first">stb: Build fixes in constructing secure and trusted boot header</p>
-</li>
+<li><p>stb: Build fixes in constructing secure and trusted boot header</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -91,17 +91,15 @@ before we initalise the skiboot LPC bus driver.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -118,14 +116,15 @@ before we initalise the skiboot LPC bus driver.</p>
<li class="right" >
<a href="skiboot-5.9.8.html" title="skiboot-5.9.8"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9.9</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-5.9.html b/doc/release-notes/skiboot-5.9.html
index 32f84db..2e78a79 100644
--- a/doc/release-notes/skiboot-5.9.html
+++ b/doc/release-notes/skiboot-5.9.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-5.9 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-5.9 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.8-rc1.html" title="skiboot-5.8-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-5-9">
+ <section id="skiboot-5-9">
<span id="id1"></span><h1>skiboot-5.9<a class="headerlink" href="#skiboot-5-9" title="Permalink to this headline">¶</a></h1>
<p>skiboot v5.9 was released on Tuesday October 31st 2017. It is the first
release of skiboot 5.9 and becomes the new stable release
@@ -58,35 +58,35 @@ and <a class="reference internal" href="skiboot-5.1.21.html#skiboot-5-1-21"><spa
There may be some 5.9.x stable releases, depending on what issues are found.</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over <a class="reference internal" href="skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a>, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="power8">
+<section id="power8">
<h3>POWER8<a class="headerlink" href="#power8" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">fast-reset by default (if possible)</p>
+<li><p>fast-reset by default (if possible)</p>
<p>Currently, this is limited to POWER8 systems.</p>
<p>A normal reboot will, rather than doing a full IPL, go through a
fast reboot procedure. This reduces the “reboot to petitboot” time
from minutes to a handful of seconds.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h3>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h3>
<p>Since <a class="reference internal" href="skiboot-5.9-rc3.html#skiboot-5-9-rc3"><span class="std std-ref">skiboot-5.9-rc3</span></a>:</p>
<ul class="simple">
-<li>occ-sensors : Add OCC inband sensor region to exports
-(useful for debugging)</li>
+<li><p>occ-sensors : Add OCC inband sensor region to exports
+(useful for debugging)</p></li>
</ul>
<p>Two SRESET fixes (see below for feature description):</p>
<ul>
-<li><p class="first">core: direct-controls: Fix clearing of special wakeup</p>
+<li><p>core: direct-controls: Fix clearing of special wakeup</p>
<p>‘special_wakeup_count’ is incremented on successfully asserting
special wakeup. So we will never clear the special wakeup if we
check ‘special_wakeup_count’ to be zero. Fix this issue by checking
the ‘special_wakeup_count’ to 1 in dctl_clear_special_wakeup().</p>
</li>
-<li><p class="first">core/direct-controls: increase special wakeup timeout on POWER9</p>
+<li><p>core/direct-controls: increase special wakeup timeout on POWER9</p>
<p>Some instances have been observed where the special wakeup assert
times out. The current timeout is too short for deeper sleep states.
Hostboot uses 100ms, so match that.</p>
@@ -104,10 +104,10 @@ determine the status and return an appropriate error code.</p>
</div></blockquote>
<p>Since <a class="reference internal" href="skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a>:</p>
<ul>
-<li><p class="first">POWER9 power management during boot</p>
+<li><p>POWER9 power management during boot</p>
<p>Less power should be consumed during boot.</p>
</li>
-<li><p class="first">OPAL_SIGNAL_SYSTEM_RESET for POWER9</p>
+<li><p>OPAL_SIGNAL_SYSTEM_RESET for POWER9</p>
<p>This implements OPAL_SIGNAL_SYSTEM_RESET, using scom registers to
quiesce the target thread and raise a system reset exception on it.
It has been tested on DD2 with stop0 ESL=0 and ESL=1 shallow power
@@ -115,20 +115,20 @@ saving modes.</p>
<p>DD1 is not implemented because it is sufficiently different as to
make support difficult.</p>
</li>
-<li><p class="first">Enable deep idle states for POWER9</p>
+<li><p>Enable deep idle states for POWER9</p>
<ul>
-<li><p class="first">SLW: Add support for p9_stop_api</p>
+<li><p>SLW: Add support for p9_stop_api</p>
<p>p9_stop_api’s are used to set SPR state on a core wakeup form a deeper
low power state. p9_stop_api uses low level platform formware and
self-restore microcode to restore the sprs to requested values.</p>
<p>Code is taken from :
<a class="reference external" href="https://github.com/open-power/hostboot/tree/master/src/import/chips/p9/procedures/utils/stopreg">https://github.com/open-power/hostboot/tree/master/src/import/chips/p9/procedures/utils/stopreg</a></p>
</li>
-<li><p class="first">SLW: Removing timebase related flags for stop4</p>
+<li><p>SLW: Removing timebase related flags for stop4</p>
<p>When a core enters stop4, it does not loose decrementer and time base.
Hence removing flags OPAL_PM_DEC_STOP and OPAL_PM_TIMEBASE_STOP.</p>
</li>
-<li><p class="first">SLW: Allow deep states if homer address is known</p>
+<li><p>SLW: Allow deep states if homer address is known</p>
<p>Use a common variable has_wakeup_engine instead of has_slw to tell if
the:
- SLW image is populated in case of power8
@@ -136,18 +136,18 @@ the:
<p>Currently we expect CME to be loaded if homer address is known ( except
for simulators)</p>
</li>
-<li><p class="first">SLW: Configure self-restore for HRMOR</p>
+<li><p>SLW: Configure self-restore for HRMOR</p>
<p>Make a stop api call using libpore to restore HRMOR register. HRMOR needs
to be cleared so that when thread exits stop, they arrives at linux
system_reset vector (0x100).</p>
</li>
-<li><p class="first">SLW: Add opal_slw_set_reg support for power9</p>
+<li><p>SLW: Add opal_slw_set_reg support for power9</p>
<p>This OPAL call is made from Linux to OPAL to configure values in
various SPRs after wakeup from a deep idle state.</p>
</li>
</ul>
</li>
-<li><p class="first">PHB4: CAPP recovery</p>
+<li><p>PHB4: CAPP recovery</p>
<p>CAPP recovery is initiated when a CAPP Machine Check is detected.
The capp recovery procedure is initiated via a Hypervisor Maintenance
interrupt (HMI).</p>
@@ -158,37 +158,37 @@ being asserted. The system continues running and the CAPP and PSL will
be re-initialized.</p>
<p>This implements CAPP recovery for POWER9 systems</p>
</li>
-<li><p class="first">Add <code class="docutils literal notranslate"><span class="pre">wafer-location</span></code> property for POWER9</p>
+<li><p>Add <code class="docutils literal notranslate"><span class="pre">wafer-location</span></code> property for POWER9</p>
<p>Extract wafer-location from ECID and add property under xscom node.
- bits 64:71 are the chip x location (7:0)
- bits 72:79 are the chip y location (7:0)</p>
<p>Sample output:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
<span class="n">ecid</span> <span class="mi">019</span><span class="n">a00d4</span> <span class="mi">03100718</span> <span class="mi">852</span><span class="n">c0000</span> <span class="mi">00</span><span class="n">fd7911</span>
-<span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop wafer-location</span>
+<span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop wafer-location</span>
<span class="n">wafer</span><span class="o">-</span><span class="n">location</span> <span class="mi">00000085</span> <span class="mi">0000002</span><span class="n">c</span>
</pre></div>
</div>
</li>
-<li><p class="first">Add <code class="docutils literal notranslate"><span class="pre">wafer-id</span></code> property for POWER9</p>
+<li><p>Add <code class="docutils literal notranslate"><span class="pre">wafer-id</span></code> property for POWER9</p>
<p>Wafer id is derived from ECID data.
- bits 4:63 are the wafer id ( ten 6 bit fields each containing a code)</p>
<p>Sample output:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
<span class="n">ecid</span> <span class="mi">019</span><span class="n">a00d4</span> <span class="mi">03100718</span> <span class="mi">852</span><span class="n">c0000</span> <span class="mi">00</span><span class="n">fd7911</span>
-<span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop wafer-id</span>
+<span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop wafer-id</span>
<span class="n">wafer</span><span class="o">-</span><span class="nb">id</span> <span class="s2">&quot;6Q0DG340SO&quot;</span>
</pre></div>
</div>
</li>
-<li><p class="first">Add <code class="docutils literal notranslate"><span class="pre">ecid</span></code> property under <code class="docutils literal notranslate"><span class="pre">xscom</span></code> node for POWER9.
+<li><p>Add <code class="docutils literal notranslate"><span class="pre">ecid</span></code> property under <code class="docutils literal notranslate"><span class="pre">xscom</span></code> node for POWER9.
Sample output:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">root</span><span class="nd">@wsp</span> <span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="p">]</span><span class="c1"># lsprop ecid</span>
<span class="n">ecid</span> <span class="mi">019</span><span class="n">a00d4</span> <span class="mi">03100718</span> <span class="mi">852</span><span class="n">c0000</span> <span class="mi">00</span><span class="n">fd7911</span>
</pre></div>
</div>
</li>
-<li><p class="first">Add ibm,firmware-versions device tree node</p>
+<li><p>Add ibm,firmware-versions device tree node</p>
<p>In P8, hostboot provides mini device tree. It contains <code class="docutils literal notranslate"><span class="pre">/ibm,firmware-versions</span></code>
node which has various firmware component version details.</p>
<p>In P9, OPAL is building device tree. This patch adds support to parse VERSION
@@ -208,20 +208,20 @@ section of PNOR and create <code class="docutils literal notranslate"><span clas
</div>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="id2">
+</section>
+</section>
+<section id="id2">
<h2>POWER9<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.9-rc5.html#skiboot-5-9-rc5"><span class="std std-ref">skiboot-5.9-rc5</span></a>:</p>
<ul>
-<li><p class="first">Suppress XSCOM chiplet-offline errors on P9</p>
+<li><p>Suppress XSCOM chiplet-offline errors on P9</p>
<p>Workaround on P9: PRD does operations it <em>knows</em> will fail with this
error to work around a hardware issue where accesses via the PIB
(FSI or OCC) work as expected, accesses via the ADU (what xscom goes
through) do not. The chip logic will always return all FFs if there
is any error on the scom.</p>
</li>
-<li><p class="first">asm/head: initialize preferred DSCR value</p>
+<li><p>asm/head: initialize preferred DSCR value</p>
<p>POWER7/8 use DSCR=0. POWER9 preferred value has “stride-N” enabled.</p>
</li>
</ul>
@@ -251,7 +251,7 @@ in the host:</p>
</div>
</div></blockquote>
<ul>
-<li><p class="first">hw/imc: pause microcode at boot</p>
+<li><p>hw/imc: pause microcode at boot</p>
<p>IMC nest counters has both in-band (ucode access) and out of
band access to it. Since not all nest counter configurations
are supported by ucode, out of band tools are used to characterize
@@ -267,23 +267,23 @@ and OPAL_IMC_COUNTERS_STOP API calls should be used to start and pause
these IMC engines. <cite>doc/opal-api/opal-imc-counters.rst</cite> details the
OPAL APIs and their usage.</p>
</li>
-<li><p class="first">hdata/i2c: update the list of known i2c devs</p>
+<li><p>hdata/i2c: update the list of known i2c devs</p>
<p>This updates the list of known i2c devices - as of HDAT spec v10.5e - so
that they can be properly identified during the hdat parsing.</p>
</li>
-<li><p class="first">hdata/i2c: log unknown i2c devices</p>
+<li><p>hdata/i2c: log unknown i2c devices</p>
<p>An i2c device is unknown if either the i2c device list is outdated or
the device is marked as unknown (0xFF) in the hdat.</p>
</li>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a>:</p>
<ul>
-<li><p class="first">Disable Transactional Memory on Power9 DD 2.1</p>
+<li><p>Disable Transactional Memory on Power9 DD 2.1</p>
<p>Update pa_features_p9[] to disable TM (Transactional Memory). On DD 2.1
TM is not usable by Linux without other workarounds, so skiboot must
disable it.</p>
</li>
-<li><p class="first">xscom: Do not print error message for ‘chiplet offline’ return values</p>
+<li><p>xscom: Do not print error message for ‘chiplet offline’ return values</p>
<p>xscom_read/write operations returns CHIPLET_OFFLINE when chiplet is offline.
Some multicast xscom_read/write requests from HBRT results in xscom operation
on offline chiplet(s) and printing below warnings in OPAL console:</p>
@@ -294,48 +294,47 @@ on offline chiplet(s) and printing below warnings in OPAL console:</p>
<p>Some SCOM users can deal correctly with this error code (notably opal-prd),
so the error message is (in practice) erroneous.</p>
</li>
-<li><p class="first">IMC: Fix the core_imc_event_mask</p>
+<li><p>IMC: Fix the core_imc_event_mask</p>
<p>CORE_IMC_EVENT_MASK is a scom that contains bits to control event sampling for
different machine state for core imc. The current event-mask setting sample
events only on host kernel (hypervisor) and host userspace.</p>
<p>Patch to enable the sampling of events in other machine states (like guest
kernel and guest userspace).</p>
</li>
-<li><p class="first">IMC: Update the nest_pmus array with occ/gpe microcode uav updates</p>
+<li><p>IMC: Update the nest_pmus array with occ/gpe microcode uav updates</p>
<p>OOC/gpe nest microcode maintains the list of individual nest units
supported. Sync the recent updates to the UAV with nest_pmus array.</p>
<p>For reference occ/gpr microcode link for the UAV:
<a class="reference external" href="https://github.com/open-power/occ/blob/master/src/occ_gpe1/gpe1_24x7.h">https://github.com/open-power/occ/blob/master/src/occ_gpe1/gpe1_24x7.h</a></p>
</li>
-<li><p class="first">Parse IOSLOT information from HDAT</p>
+<li><p>Parse IOSLOT information from HDAT</p>
<p>Add structure definitions that describe the physical PCIe topology of
a system and parse them into the device-tree based PCIe slot
description.</p>
</li>
-<li><p class="first">idle: user context state loss flags fix for stop states</p>
+<li><p>idle: user context state loss flags fix for stop states</p>
<p>The “lite” stop variants with PSSCR[ESL]=PSSCR[EC]=1 do not lose user
context, while the non-lite variants do (ESL: enable state loss).</p>
<p>Some of the POWER9 idle states had these wrong.</p>
</li>
</ul>
-<div class="section" id="capi">
+<section id="capi">
<h3>CAPI<a class="headerlink" href="#capi" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">POWER9 DD2 update</p>
+<li><p>POWER9 DD2 update</p>
<p>The CAPI initialization sequence has been updated in DD2.
This patch adapts to the changes, retaining compatibility with DD1.
The patch includes some changes to DD1 fix-ups as well.</p>
</li>
-<li><p class="first">Load CAPP microcode for POWER9 DD2.0 and DD2.1</p>
-</li>
-<li><p class="first">capi: Mask Psl Credit timeout error for POWER9</p>
+<li><p>Load CAPP microcode for POWER9 DD2.0 and DD2.1</p></li>
+<li><p>capi: Mask Psl Credit timeout error for POWER9</p>
<p>Mask the PSL credit timeout error in CAPP FIR Mask register
bit(46). As per the h/w team this error is now deprecated and shouldn’t
cause any fir-action for P9.</p>
</li>
</ul>
-</div>
-<div class="section" id="nvlink2">
+</section>
+<section id="nvlink2">
<h3>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h3>
<p>A notabale change is that we now generate the device tree description of
NVLINK based on the HDAT we get from hostboot. Since Hostboot will generate
@@ -346,113 +345,107 @@ old VPD and/or Hostboot, we print a <strong>giant scary warning</strong> in orde
<p>Since <a class="reference internal" href="skiboot-5.9-rc2.html#skiboot-5-9-rc2"><span class="std std-ref">skiboot-5.9-rc2</span></a>:
- Revert “npu2: Add vendor cap for IRQ testing”</p>
<blockquote>
-<div>This reverts commit 9817c9e29b6fe00daa3a0e4420e69a97c90eb373 which seems to
+<div><p>This reverts commit 9817c9e29b6fe00daa3a0e4420e69a97c90eb373 which seems to
break setting the PCI dev flag and the link number in the PCIe vendor
specific config space. This leads to the device driver attempting to
-re-init the DL when it shouldn’t which can cause HMI’s.</div></blockquote>
+re-init the DL when it shouldn’t which can cause HMI’s.</p>
+</div></blockquote>
<p>Since <a class="reference internal" href="skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a>:</p>
<ul>
-<li><p class="first">npu2: Read slot label from the HDAT link node</p>
+<li><p>npu2: Read slot label from the HDAT link node</p>
<p>Binding GPU to emulated NPU PCI devices is done using the slot labels
since the NPU devices do not have a patching slot node we need to
copy the label in here.</p>
</li>
-<li><p class="first">npu2: Copy link speed from the npu HDAT node</p>
+<li><p>npu2: Copy link speed from the npu HDAT node</p>
<p>This needs to be in the PCI device node so the speed of the NVLink
can be passed to the GPU driver.</p>
</li>
-<li><p class="first">npu2: hw-procedures: Add settings to PHY_RESET</p>
+<li><p>npu2: hw-procedures: Add settings to PHY_RESET</p>
<p>Set a few new values in the PHY_RESET procedure, as specified by our
updated programming guide documentation.</p>
</li>
-<li><p class="first">Parse NVLink information from HDAT</p>
+<li><p>Parse NVLink information from HDAT</p>
<p>Add the per-chip structures that descibe how the A-Bus/NVLink/OpenCAPI
phy is configured. This generates the <a class="reference external" href="mailto:npu&#37;&#52;&#48;xyz">npu<span>&#64;</span>xyz</a> nodes for each chip on
systems that support it.</p>
</li>
-<li><p class="first">npu2: Add vendor cap for IRQ testing</p>
+<li><p>npu2: Add vendor cap for IRQ testing</p>
<p>Provide a way to test recoverable data link interrupts via a new
vendor capability byte.</p>
</li>
-<li><p class="first">npu2: Enable recoverable data link (no-stall) interrupts</p>
+<li><p>npu2: Enable recoverable data link (no-stall) interrupts</p>
<p>Allow the NPU2 to trigger “recoverable data link” interrupts.</p>
</li>
-<li><p class="first">npu2: Implement basic FLR (Function Level Reset)</p>
-</li>
-<li><p class="first">npu2: hw-procedures: Update PHY DC calibration procedure</p>
-</li>
-<li><p class="first">npu2: hw-procedures: Change rx_pr_phase_step value</p>
-</li>
+<li><p>npu2: Implement basic FLR (Function Level Reset)</p></li>
+<li><p>npu2: hw-procedures: Update PHY DC calibration procedure</p></li>
+<li><p>npu2: hw-procedures: Change rx_pr_phase_step value</p></li>
</ul>
-</div>
-<div class="section" id="xive">
+</section>
+<section id="xive">
<h3>XIVE<a class="headerlink" href="#xive" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">xive: Fix opal_xive_dump_tm() to access W2 properly.
-The HW only supported limited access sizes.</p>
-</li>
-<li><p class="first">xive: Make opal_xive_allocate_irq() properly try all chips</p>
+<li><p>xive: Fix opal_xive_dump_tm() to access W2 properly.
+The HW only supported limited access sizes.</p></li>
+<li><p>xive: Make opal_xive_allocate_irq() properly try all chips</p>
<p>When requested via OPAL_XIVE_ANY_CHIP, we need to try all
chips. We first try the current one (on which the caller
sits) and if that fails, we iterate all chips until the
allocation succeeds.</p>
</li>
-<li><p class="first">xive: Fix initialization &amp; cleanup of HW thread contexts</p>
+<li><p>xive: Fix initialization &amp; cleanup of HW thread contexts</p>
<p>Instead of trying to “pull” everything and clear VT (which didn’t
work and caused some FIRs to be set), instead just clear and then
set the PTER thread enable bit. This has the side effect of
completely resetting the corresponding thread context.</p>
<p>This fixes the spurrious XIVE FIRs reported by PRD and fircheck</p>
</li>
-<li><p class="first">xive: Add debug option for detecting misrouted IPI in emulation</p>
+<li><p>xive: Add debug option for detecting misrouted IPI in emulation</p>
<p>This is high overhead so we don’t enable it by default even
in debug builds, it’s also a bit messy, but it allowed me to
detect and debug a locking issue earlier so it can be useful.</p>
</li>
-<li><p class="first">xive: Increase the interrupt “gap” on debug builds</p>
+<li><p>xive: Increase the interrupt “gap” on debug builds</p>
<p>We normally allocate IPIs from 0x10. Make that 0x1000 on debug
builds to limit the chances of overlapping with Linux interrupt
numbers which makes debugging code that confuses them easier.</p>
<p>Also add a warning in emulation if we get an interrupt in the
queue whose number is below the gap.</p>
</li>
-<li><p class="first">xive: Fix locking around cache scrub &amp; watch</p>
+<li><p>xive: Fix locking around cache scrub &amp; watch</p>
<p>Thankfully the missing locking only affects debug code and
init code that doesn’t run concurrently. Also adds a DEBUG
option that checks the lock is properly held.</p>
</li>
-<li><p class="first">xive: Workaround HW issue with scrub facility</p>
+<li><p>xive: Workaround HW issue with scrub facility</p>
<p>Without this, we sometimes don’t observe from a CPU the
values written to the ENDs or NVTs via the cache watch.</p>
</li>
-<li><p class="first">xive: Add exerciser for cache watch/scrub facility in DEBUG builds</p>
-</li>
-<li><p class="first">xive: Make assertion in xive_eq_for_target() more informative</p>
-</li>
-<li><p class="first">xive: Add debug code to check initial cache updates</p>
-</li>
-<li><p class="first">xive: Ensure pressure relief interrupts are disabled</p>
+<li><p>xive: Add exerciser for cache watch/scrub facility in DEBUG builds</p></li>
+<li><p>xive: Make assertion in xive_eq_for_target() more informative</p></li>
+<li><p>xive: Add debug code to check initial cache updates</p></li>
+<li><p>xive: Ensure pressure relief interrupts are disabled</p>
<p>We don’t use them and we hijack the VP field with their
configuration to store the EQ reference, so make sure the
kernel or guest can’t turn them back on by doing MMIO
writes to ACK#</p>
</li>
-<li><p class="first">xive: Don’t try setting the reserved ACK# field in VPs</p>
+<li><p>xive: Don’t try setting the reserved ACK# field in VPs</p>
<p>That doesn’t work, the HW doesn’t implement it in the cache
watch facility anyway.</p>
</li>
-<li><p class="first">xive: Remove useless memory barriers in VP/EQ inits</p>
+<li><p>xive: Remove useless memory barriers in VP/EQ inits</p>
<p>We no longer update “live” memory structures, we use a temporary
copy on the stack and update the actual memory structure using
the cache watch, so those barriers are pointless.</p>
</li>
</ul>
-</div>
-<div class="section" id="phb4">
+</section>
+<section id="phb4">
<h3>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h3>
<p>Since <a class="reference internal" href="skiboot-5.9-rc4.html#skiboot-5-9-rc4"><span class="std std-ref">skiboot-5.9-rc4</span></a>:</p>
<ul>
-<li><p class="first">phb4: Escalate freeze to fence to avoid checkstop</p>
+<li><p>phb4: Escalate freeze to fence to avoid checkstop</p>
<p>Freeze events such as MMIO loads can cause the PHB to lose it’s
limited powerbus credits. If all credits are used and a further MMIO
will cause a checkstop.</p>
@@ -460,11 +453,11 @@ will cause a checkstop.</p>
fence. The fence will cause a full PHB reset which resets the powerbus
credits and avoids the checkstop.</p>
</li>
-<li><p class="first">phb4: Update some init registers</p>
+<li><p>phb4: Update some init registers</p>
<p>New inits based on next PHB4 workbook. Increases some timeouts to
avoid some spurious error conditions.</p>
</li>
-<li><p class="first">phb4: Enable PHB MMIO in phb4_root_port_init()</p>
+<li><p>phb4: Enable PHB MMIO in phb4_root_port_init()</p>
<p>Linux EEH flow is somewhat broken. It saves the PCIe config space of
the PHB on boot, which it then uses to restore on EEH recovery. It
does this to restore MMIO bars and some other pieces.</p>
@@ -484,12 +477,12 @@ fail.</p>
phb4_root_port_init().</p>
<p>With this we can recovery from a PHB fence event on POWER9.</p>
</li>
-<li><p class="first">phb4: Reduce link degraded message log level to debug</p>
+<li><p>phb4: Reduce link degraded message log level to debug</p>
<p>If we hit this message we’ll retry and fix the problem. If we run out
of retries and can’t fix the problem, we’ll still print a log message
at error level indicating a problem.</p>
</li>
-<li><p class="first">phb4: Fix GEN3 for DD2.00</p>
+<li><p>phb4: Fix GEN3 for DD2.00</p>
<p>In this fix: <code class="docutils literal notranslate"><span class="pre">62ac7631ae</span> <span class="pre">phb4:</span> <span class="pre">Fix</span> <span class="pre">PCIe</span> <span class="pre">GEN4</span> <span class="pre">on</span> <span class="pre">DD2.1</span> <span class="pre">and</span> <span class="pre">above</span></code>
We fixed DD2.1 GEN4 but broke DD2.00 as GEN3.</p>
<p>This fixes DD2.00 back to GEN3. This time for sure!</p>
@@ -498,9 +491,9 @@ We fixed DD2.1 GEN4 but broke DD2.00 as GEN3.</p>
<p>Since <a class="reference internal" href="skiboot-5.9-rc3.html#skiboot-5-9-rc3"><span class="std std-ref">skiboot-5.9-rc3</span></a>:
- phb4: Fix PCIe GEN4 on DD2.1 and above</p>
<blockquote>
-<div><dl class="docutils">
-<dt>In this change:</dt>
-<dd>eef0e197ab PHB4: Default to PCIe GEN3 on POWER9 DD2.00</dd>
+<div><dl class="simple">
+<dt>In this change:</dt><dd><p>eef0e197ab PHB4: Default to PCIe GEN3 on POWER9 DD2.00</p>
+</dd>
</dl>
<p>We clamped DD2.00 parts to GEN3 but unfortunately this change also
applies to DD2.1 and above.</p>
@@ -508,19 +501,19 @@ applies to DD2.1 and above.</p>
</div></blockquote>
<p>Since <a class="reference internal" href="skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a>:</p>
<ul>
-<li><p class="first">phb4: Mask RXE_ARB: DEC Stage Valid Error</p>
+<li><p>phb4: Mask RXE_ARB: DEC Stage Valid Error</p>
<p>Change the inits to mask out the RXE ARB: DEC Stage Valid Error (bit
370. This has been a fatal error but should be informational only.</p>
<p>This update will be in the next version of the phb4 workbook.</p>
</li>
-<li><p class="first">phb4: Add additional adapter to retrain whitelist</p>
+<li><p>phb4: Add additional adapter to retrain whitelist</p>
<p>The single port version of the ConnectX-5 has a different device ID 0x1017.
Updated descriptions to match pciutils database.</p>
</li>
-<li><p class="first">PHB4: Default to PCIe GEN3 on POWER9 DD2.00</p>
+<li><p>PHB4: Default to PCIe GEN3 on POWER9 DD2.00</p>
<p>You can use the NVRAM override for DD2.00 screened parts.</p>
</li>
-<li><p class="first">phb4: Retrain link if degraded</p>
+<li><p>phb4: Retrain link if degraded</p>
<p>On P9 Scale Out (Nimbus) DD2.0 and Scale in (Cumulus) DD1.0 (and
below) the PCIe PHY can lockup causing training issues. This can cause
a degradation in speed or width in ~5% of training cases (depending on
@@ -543,9 +536,9 @@ This option may increase the boot time if used on a badly behaving
card.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="ibm-fsp-platforms">
+</section>
+</section>
+<section id="ibm-fsp-platforms">
<h2>IBM FSP platforms<a class="headerlink" href="#ibm-fsp-platforms" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.9-rc5.html#skiboot-5-9-rc5"><span class="std std-ref">skiboot-5.9-rc5</span></a>:
- FSP/CONSOLE: Disable notification on unresponsive consoles</p>
@@ -559,13 +552,13 @@ for each console. Latest kernel works fine without this patch.</p>
</div></blockquote>
<p>Since <a class="reference internal" href="skiboot-5.9-rc1.html#skiboot-5-9-rc1"><span class="std std-ref">skiboot-5.9-rc1</span></a>:</p>
<ul>
-<li><p class="first">FSP/CONSOLE: Limit number of error logging</p>
+<li><p>FSP/CONSOLE: Limit number of error logging</p>
<p>Commit c8a7535f (FSP/CONSOLE: Workaround for unresponsive ipmi daemon) added
error logging when buffer is full. In some corner cases kernel may call this
function multiple time and we may endup logging error again and again.</p>
<p>This patch fixes it by generating error log only once.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Fix fsp_console_write_buffer_space() call</p>
+<li><p>FSP/CONSOLE: Fix fsp_console_write_buffer_space() call</p>
<p>Kernel calls fsp_console_write_buffer_space() to check console buffer space
availability. If there is enough buffer space to write data, then kernel will
call fsp_console_write() to write actual data.</p>
@@ -581,7 +574,7 @@ point we will start timer with timeout of SER_BUFFER_OUT_TIMEOUT (10 secs).
If situation is not improved within 10 seconds means something went bad. Lets
return OPAL_RESOURCE so that kernel can drop console write and continue.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Close SOL session during R/R</p>
+<li><p>FSP/CONSOLE: Close SOL session during R/R</p>
<p>Presently we are not closing SOL and FW console sessions during R/R. Host will
continue to write to SOL buffer during FSP R/R. If there is heavy console write
operation happening during FSP R/R (like running <cite>top</cite> command inside console),
@@ -606,7 +599,7 @@ we may see RCU stalls (like below) in kernel.</p>
</div>
<p>Hence lets close SOL (and FW console) during FSP R/R.</p>
</li>
-<li><p class="first">FSP/CONSOLE: Do not associate unavailable console</p>
+<li><p>FSP/CONSOLE: Do not associate unavailable console</p>
<p>Presently OPAL sends associate/unassociate MBOX command for all
FSP serial console (like below OPAL message). We have to check
console is available or not before sending this message.</p>
@@ -615,73 +608,73 @@ console is available or not before sending this message.</p>
</pre></div>
</div>
</li>
-<li><p class="first">FSP: Disable PSI link whenever FSP tells OPAL about impending R/R</p>
+<li><p>FSP: Disable PSI link whenever FSP tells OPAL about impending R/R</p>
<p>Commit 42d5d047 fixed scenario where DPO has been initiated, but FSP went
into reset before the CEC power down came in. But this is generic issue
that can happen in normal shutdown path as well.</p>
<p>Hence disable PSI link as soon as we detect FSP impending R/R.</p>
</li>
-<li><p class="first">fsp: return OPAL_BUSY_EVENT on failure sending FSP_CMD_POWERDOWN_NORM
+<li><p>fsp: return OPAL_BUSY_EVENT on failure sending FSP_CMD_POWERDOWN_NORM
Also, return OPAL_BUSY_EVENT on failure sending FSP_CMD_REBOOT / DEEP_REBOOT.</p>
<p>We had a race condition between FSP Reset/Reload and powering down
the system from the host:</p>
<p>Roughly:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="2%" />
-<col width="29%" />
-<col width="69%" />
+<col style="width: 2%" />
+<col style="width: 29%" />
+<col style="width: 69%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">#</th>
-<th class="head">FSP</th>
-<th class="head">Host</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>#</p></th>
+<th class="head"><p>FSP</p></th>
+<th class="head"><p>Host</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>1</td>
-<td>Power on</td>
-<td>&#160;</td>
+<tbody>
+<tr class="row-even"><td><p>1</p></td>
+<td><p>Power on</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>2</td>
-<td>&#160;</td>
-<td>Power on</td>
+<tr class="row-odd"><td><p>2</p></td>
+<td></td>
+<td><p>Power on</p></td>
</tr>
-<tr class="row-even"><td>3</td>
-<td>(inject EPOW)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>3</p></td>
+<td><p>(inject EPOW)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>4</td>
-<td>(trigger FSP R/R)</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p>4</p></td>
+<td><p>(trigger FSP R/R)</p></td>
+<td></td>
</tr>
-<tr class="row-even"><td>5</td>
-<td>&#160;</td>
-<td>Processes EPOW event, starts shutting down</td>
+<tr class="row-even"><td><p>5</p></td>
+<td></td>
+<td><p>Processes EPOW event, starts shutting down</p></td>
</tr>
-<tr class="row-odd"><td>6</td>
-<td>&#160;</td>
-<td>calls OPAL_CEC_POWER_DOWN</td>
+<tr class="row-odd"><td><p>6</p></td>
+<td></td>
+<td><p>calls OPAL_CEC_POWER_DOWN</p></td>
</tr>
-<tr class="row-even"><td>7</td>
-<td>(is still in R/R)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>7</p></td>
+<td><p>(is still in R/R)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>8</td>
-<td>&#160;</td>
-<td>gets OPAL_INTERNAL_ERROR, spins in opal_poll_events</td>
+<tr class="row-odd"><td><p>8</p></td>
+<td></td>
+<td><p>gets OPAL_INTERNAL_ERROR, spins in opal_poll_events</p></td>
</tr>
-<tr class="row-even"><td>9</td>
-<td>(FSP comes back)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>9</p></td>
+<td><p>(FSP comes back)</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>10</td>
-<td>&#160;</td>
-<td>spinning in opal_poll_events</td>
+<tr class="row-odd"><td><p>10</p></td>
+<td></td>
+<td><p>spinning in opal_poll_events</p></td>
</tr>
-<tr class="row-even"><td>11</td>
-<td>(thinks host is running)</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>11</p></td>
+<td><p>(thinks host is running)</p></td>
+<td></td>
</tr>
</tbody>
</table>
@@ -719,7 +712,7 @@ Reset/Reload handling before we power off the system.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a>:</p>
<ul>
-<li><p class="first">FSP/NVRAM: Handle “get vNVRAM statistics” command</p>
+<li><p>FSP/NVRAM: Handle “get vNVRAM statistics” command</p>
<p>FSP sends MBOX command (cmd : 0xEB, subcmd : 0x05, mod : 0x00) to get vNVRAM
statistics. OPAL doesn’t maintain any such statistics. Hence return
FSP_STATUS_INVALID_SUBCMD.</p>
@@ -731,22 +724,21 @@ FSP_STATUS_INVALID_SUBCMD.</p>
</pre></div>
</div>
</li>
-<li><p class="first">fsp: Move common prints to trace</p>
+<li><p>fsp: Move common prints to trace</p>
<p>These two prints just end up filling the skiboot logs on any machine
that’s been booted for more than a few hours.</p>
-<dl class="docutils">
-<dt>They have never been useful, so make them trace level. They were: ::</dt>
-<dd><p class="first last">SURV: Received heartbeat acknowledge from FSP
+<dl class="simple">
+<dt>They have never been useful, so make them trace level. They were: ::</dt><dd><p>SURV: Received heartbeat acknowledge from FSP
SURV: Sending the heartbeat command to FSP</p>
</dd>
</dl>
</li>
</ul>
-</div>
-<div class="section" id="bmc-based-systems">
+</section>
+<section id="bmc-based-systems">
<h2>BMC based systems<a class="headerlink" href="#bmc-based-systems" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/lpc-uart: read from RBR to clear character timeout interrupts</p>
+<li><p>hw/lpc-uart: read from RBR to clear character timeout interrupts</p>
<p>When using the aspeed SUART, we see a condition where the UART sends
continuous character timeout interrupts. This change adds a (heavily
commented) dummy read from the RBR to clear the interrupt condition on
@@ -754,16 +746,15 @@ init.</p>
<p>This was observed on p9dsu systems, but likely applies to other systems
using the SUART.</p>
</li>
-<li><p class="first">astbmc: Add methods for handing Device Tree based slots
-e.g. ones from HDAT on POWER9.</p>
-</li>
+<li><p>astbmc: Add methods for handing Device Tree based slots
+e.g. ones from HDAT on POWER9.</p></li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.9-rc5.html#skiboot-5-9-rc5"><span class="std std-ref">skiboot-5.9-rc5</span></a>:</p>
<ul>
-<li><p class="first">p8-i2c: Further timeout reworks</p>
+<li><p>p8-i2c: Further timeout reworks</p>
<p>This patch reworks the way timeouts are set so that rather than imposing
a hard deadline based on the transaction length it uses a
kick-the-can-down-the-road approach where the timeout will be reset each
@@ -774,7 +765,7 @@ as unusually slow or broken devices.</p>
timeout handler. This is help to improve the robustness of the driver and
prepare for a more substantial rework of the driver as a whole later on.</p>
</li>
-<li><p class="first">npu: Fix broken fast reset</p>
+<li><p>npu: Fix broken fast reset</p>
<p>0679f61244b “fast-reset: by default (if possible)” broke NPU - now
the NV links does not get enabled after reboot.</p>
<p>This disables fast reboot for NPU machines till a better solution is found.</p>
@@ -782,39 +773,39 @@ the NV links does not get enabled after reboot.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.9-rc2.html#skiboot-5-9-rc2"><span class="std std-ref">skiboot-5.9-rc2</span></a>:</p>
<ul>
-<li><p class="first">Improvements to vpd device tree entries</p>
+<li><p>Improvements to vpd device tree entries</p>
<p>Previously we would miss some properties</p>
</li>
</ul>
<p>Since <a class="reference internal" href="skiboot-5.9-rc1.html#skiboot-5-9-rc1"><span class="std std-ref">skiboot-5.9-rc1</span></a>:</p>
<ul>
-<li><p class="first">hw/p8-i2c: Fix deadlock in p9_i2c_bus_owner_change</p>
+<li><p>hw/p8-i2c: Fix deadlock in p9_i2c_bus_owner_change</p>
<p>When debugging a system where Linux was taking soft lockup errors with
two CPUs stuck in OPAL:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="50%" />
-<col width="50%" />
+<col style="width: 50%" />
+<col style="width: 50%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">CPU0</th>
-<th class="head">CPU1</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>CPU0</p></th>
+<th class="head"><p>CPU1</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>lock</td>
-<td>&#160;</td>
+<tbody>
+<tr class="row-even"><td><p>lock</p></td>
+<td></td>
</tr>
-<tr class="row-odd"><td>p8_i2c_recover</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p>p8_i2c_recover</p></td>
+<td></td>
</tr>
-<tr class="row-even"><td>opal_handle_interrupt</td>
-<td>sync_timer
+<tr class="row-even"><td><p>opal_handle_interrupt</p></td>
+<td><p>sync_timer
cancel_timer
p9_i2c_bus_owner_change
occ_p9_interrupt
xive_source_interrupt
-opal_handle_interrupt</td>
+opal_handle_interrupt</p></td>
</tr>
</tbody>
</table>
@@ -823,7 +814,7 @@ p9_i2c_bus_owner_change() has taken master-&gt;lock, but then is stuck waiting
for all timers to complete. We deadlock.</p>
<p>Fix this by using cancel_timer_async().</p>
</li>
-<li><p class="first">opal/cpu: Mark the core as bad while disabling threads of the core.</p>
+<li><p>opal/cpu: Mark the core as bad while disabling threads of the core.</p>
<p>If any of the core fails to sync its TB during chipTOD initialization,
all the threads of that core are disabled. But this does not make
linux kernel to ignore the core/cpus. It crashes while bringing them up
@@ -857,7 +848,7 @@ enter ? for help
</ul>
<p>Since <a class="reference internal" href="skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a>:</p>
<ul>
-<li><p class="first">ipmi: Convert common debug prints to trace</p>
+<li><p>ipmi: Convert common debug prints to trace</p>
<p>OPAL logs messages for every IPMI request from host. Sometime OPAL console
is filled with only these messages. This path is pretty stable now and
we have enough logs to cover bad path. Hence lets convert these debug
@@ -869,11 +860,11 @@ message to trace/info message. Examples are:</p>
</pre></div>
</div>
</li>
-<li><p class="first">libflash/file: Handle short read()s and write()s correctly</p>
+<li><p>libflash/file: Handle short read()s and write()s correctly</p>
<p>Currently we don’t move the buffer along for a short read() or write()
and nor do we request only the remaining amount.</p>
</li>
-<li><p class="first">hw/p8-i2c: Rework timeout handling</p>
+<li><p>hw/p8-i2c: Rework timeout handling</p>
<p>Currently we treat a timeout as a hard failure and will automatically
fail any transations that hit their timeout. This results in
unnecessarily failing I2C requests if interrupts are dropped, etc.
@@ -884,7 +875,7 @@ handling to check the status and continue the transaction if it can.
if it can while logging an error if it detects a timeout due to a
dropped interrupt.</p>
</li>
-<li><p class="first">core/flash: Only expect ELF header for BOOTKERNEL partition flash resource</p>
+<li><p>core/flash: Only expect ELF header for BOOTKERNEL partition flash resource</p>
<p>When loading a flash resource which isn’t signed (secure and trusted
boot) and which doesn’t have a subpartition, we assume it’s the
BOOTKERNEL since previously this was the only such resource. Thus we
@@ -904,7 +895,7 @@ the FFS header. Also set the return code on error so we don’t
erroneously return OPAL_SUCCESS. Add a check that the resource will fit
in the supplied buffer to prevent buffer overrun.</p>
</li>
-<li><p class="first">flash: Support adding the no-erase property to flash</p>
+<li><p>flash: Support adding the no-erase property to flash</p>
<p>The mbox protocol explicitly states that an erase is not required
before a write. This means that issuing an erase from userspace,
through the mtd device, and back returns a successful operation
@@ -917,14 +908,14 @@ devices which do not require erases to be performed.</p>
MTD_NO_ERASE flag from the device tree property.</p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-5.9-rc1.html#skiboot-5-9-rc1"><span class="std std-ref">skiboot-5.9-rc1</span></a>:
- opal-prd: Fix memory leak</p>
<p>Since <a class="reference internal" href="skiboot-5.8.html#skiboot-5-8"><span class="std std-ref">skiboot-5.8</span></a>:</p>
<ul>
-<li><p class="first">external/gard: Clear entire guard partition instead of entry by entry</p>
+<li><p>external/gard: Clear entire guard partition instead of entry by entry</p>
<p>When using the current implementation of the gard tool to ecc clear the
entire GUARD partition it is done one gard record at a time. While this
may be ok when accessing the actual flash this is very slow when done
@@ -936,51 +927,50 @@ entire buffer. Then we can do one big erase and write of the entire
partition. This reduces the time to clear the guard partition to on the
order of 4 seconds.</p>
</li>
-<li><p class="first">opal-prd: Fix opal-prd command line options</p>
+<li><p>opal-prd: Fix opal-prd command line options</p>
<p>HBRT OCC reset interface depends on service processor type.</p>
<ul class="simple">
-<li>FSP: reset_pm_complex()</li>
-<li>BMC: process_occ_reset()</li>
+<li><p>FSP: reset_pm_complex()</p></li>
+<li><p>BMC: process_occ_reset()</p></li>
</ul>
<p>We have both <cite>occ</cite> and <cite>pm-complex</cite> command line interfaces.
This patch adds support to dispaly appropriate message depending
on system type.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="6%" />
-<col width="39%" />
-<col width="55%" />
+<col style="width: 6%" />
+<col style="width: 39%" />
+<col style="width: 55%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">SP</th>
-<th class="head">Command</th>
-<th class="head">Action</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>SP</p></th>
+<th class="head"><p>Command</p></th>
+<th class="head"><p>Action</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>FSP</td>
-<td>opal-prd occ</td>
-<td>display error message</td>
+<tbody>
+<tr class="row-even"><td><p>FSP</p></td>
+<td><p>opal-prd occ</p></td>
+<td><p>display error message</p></td>
</tr>
-<tr class="row-odd"><td>FSP</td>
-<td>opal-prd pm-complex</td>
-<td>Call pm_complex_reset()</td>
+<tr class="row-odd"><td><p>FSP</p></td>
+<td><p>opal-prd pm-complex</p></td>
+<td><p>Call pm_complex_reset()</p></td>
</tr>
-<tr class="row-even"><td>BMC</td>
-<td>opal-prd occ</td>
-<td>Call process_occ_reset()</td>
+<tr class="row-even"><td><p>BMC</p></td>
+<td><p>opal-prd occ</p></td>
+<td><p>Call process_occ_reset()</p></td>
</tr>
-<tr class="row-odd"><td>BMC</td>
-<td>opal-prd pm-complex</td>
-<td>display error message</td>
+<tr class="row-odd"><td><p>BMC</p></td>
+<td><p>opal-prd pm-complex</p></td>
+<td><p>display error message</p></td>
</tr>
</tbody>
</table>
</li>
-<li><p class="first">opal-prd: detect service processor type and
-then make appropriate occ reset call.</p>
-</li>
-<li><p class="first">pflash: Fix erase command for unaligned start address</p>
+<li><p>opal-prd: detect service processor type and
+then make appropriate occ reset call.</p></li>
+<li><p>pflash: Fix erase command for unaligned start address</p>
<p>The erase_range() function handles erasing the flash for a given start
address and length, and can handle an unaligned start address and
length. However in the unaligned start address case we are incorrectly
@@ -990,14 +980,13 @@ address was then we probably want to do that before we overide the
origin start address. So rearrange the code so that this is indeed the
case.</p>
</li>
-<li><p class="first">external/gard: Print an error if run on an FSP system</p>
-</li>
+<li><p>external/gard: Print an error if run on an FSP system</p></li>
</ul>
-</div>
-<div class="section" id="simulators">
+</section>
+<section id="simulators">
<h2>Simulators<a class="headerlink" href="#simulators" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">mambo: Add mambo socket program</p>
+<li><p>mambo: Add mambo socket program</p>
<p>This adds a program that can be run inside a mambo simulator in linux
userspace which enables TCP sockets to be proxied in and out of the
simulator to the host.</p>
@@ -1005,15 +994,15 @@ simulator to the host.</p>
drivers/infrastructure to run.</p>
<p>Run inside the simulator:</p>
<ul class="simple">
-<li>to forward host ssh connections to sim ssh server:
+<li><p>to forward host ssh connections to sim ssh server:
<code class="docutils literal notranslate"><span class="pre">./mambo-socket-proxy</span> <span class="pre">-h</span> <span class="pre">10022</span> <span class="pre">-s</span> <span class="pre">22</span></code>, then connect to port 10022
-on your host with <code class="docutils literal notranslate"><span class="pre">ssh</span> <span class="pre">-p</span> <span class="pre">10022</span> <span class="pre">localhost</span></code></li>
-<li>to allow http proxy access from inside the sim to local http proxy:
-<code class="docutils literal notranslate"><span class="pre">./mambo-socket-proxy</span> <span class="pre">-b</span> <span class="pre">proxy.mynetwork</span> <span class="pre">-h</span> <span class="pre">3128</span> <span class="pre">-s</span> <span class="pre">3128</span></code></li>
+on your host with <code class="docutils literal notranslate"><span class="pre">ssh</span> <span class="pre">-p</span> <span class="pre">10022</span> <span class="pre">localhost</span></code></p></li>
+<li><p>to allow http proxy access from inside the sim to local http proxy:
+<code class="docutils literal notranslate"><span class="pre">./mambo-socket-proxy</span> <span class="pre">-b</span> <span class="pre">proxy.mynetwork</span> <span class="pre">-h</span> <span class="pre">3128</span> <span class="pre">-s</span> <span class="pre">3128</span></code></p></li>
</ul>
<p>Multiple connections are supported.</p>
</li>
-<li><p class="first">idle: disable stop*_lite POWER9 idle states for Mambo platform</p>
+<li><p>idle: disable stop*_lite POWER9 idle states for Mambo platform</p>
<p>Mambo prior to Mambo.7.8.21 had a bug where the stop idle instruction
with PSSCR[ESL]=PSSCR[EC]=0 would resume with MSR set as though it had
taken a system reset interrupt.</p>
@@ -1023,767 +1012,768 @@ that, and causes the idle code to crash. Work around this by disabling
lite stop states for the mambo platform for now.</p>
</li>
</ul>
-</div>
-<div class="section" id="contributors">
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>209 csets from 32 developers</li>
-<li>2 employers found</li>
-<li>A total of 9619 lines added, 1612 removed (delta 8007)</li>
+<li><p>209 csets from 32 developers</p></li>
+<li><p>2 employers found</p></li>
+<li><p>A total of 9619 lines added, 1612 removed (delta 8007)</p></li>
</ul>
<p>Extending the analysis done for some previous releases, we can see our trends
in code review across versions:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="14%" />
-<col width="12%" />
-<col width="16%" />
-<col width="18%" />
-<col width="18%" />
-<col width="22%" />
+<col style="width: 14%" />
+<col style="width: 12%" />
+<col style="width: 16%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">csets</th>
-<th class="head">Ack %</th>
-<th class="head">Reviews %</th>
-<th class="head">Tested %</th>
-<th class="head">Reported %</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>csets</p></th>
+<th class="head"><p>Ack %</p></th>
+<th class="head"><p>Reviews %</p></th>
+<th class="head"><p>Tested %</p></th>
+<th class="head"><p>Reported %</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>5.0</td>
-<td>329</td>
-<td>15 (5%)</td>
-<td>20 (6%)</td>
-<td>1 (0%)</td>
-<td>0 (0%)</td>
-</tr>
-<tr class="row-odd"><td>5.1</td>
-<td>372</td>
-<td>13 (3%)</td>
-<td>38 (10%)</td>
-<td>1 (0%)</td>
-<td>4 (1%)</td>
-</tr>
-<tr class="row-even"><td>5.2-rc1</td>
-<td>334</td>
-<td>20 (6%)</td>
-<td>34 (10%)</td>
-<td>6 (2%)</td>
-<td>11 (3%)</td>
-</tr>
-<tr class="row-odd"><td>5.3-rc1</td>
-<td>302</td>
-<td>36 (12%)</td>
-<td>53 (18%)</td>
-<td>4 (1%)</td>
-<td>5 (2%)</td>
-</tr>
-<tr class="row-even"><td>5.4</td>
-<td>361</td>
-<td>16 (4%)</td>
-<td>28 (8%)</td>
-<td>1 (0%)</td>
-<td>9 (2%)</td>
-</tr>
-<tr class="row-odd"><td>5.5</td>
-<td>408</td>
-<td>11 (3%)</td>
-<td>48 (12%)</td>
-<td>14 (3%)</td>
-<td>10 (2%)</td>
-</tr>
-<tr class="row-even"><td>5.6</td>
-<td>87</td>
-<td>12 (14%)</td>
-<td>6 (7%)</td>
-<td>5 (6%)</td>
-<td>2 (2%)</td>
-</tr>
-<tr class="row-odd"><td>5.7</td>
-<td>232</td>
-<td>30 (13%)</td>
-<td>32 (14%)</td>
-<td>5 (2%)</td>
-<td>2 (1%)</td>
-</tr>
-<tr class="row-even"><td>5.8</td>
-<td>157</td>
-<td>13 (8%)</td>
-<td>36 (23%)</td>
-<td>2 (1%)</td>
-<td>6 (4%)</td>
-</tr>
-<tr class="row-odd"><td>5.9</td>
-<td>209</td>
-<td>15 (7%)</td>
-<td>78 (37%)</td>
-<td>3 (1%)</td>
-<td>10 (5%)</td>
+<tbody>
+<tr class="row-even"><td><p>5.0</p></td>
+<td><p>329</p></td>
+<td><p>15 (5%)</p></td>
+<td><p>20 (6%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>0 (0%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.1</p></td>
+<td><p>372</p></td>
+<td><p>13 (3%)</p></td>
+<td><p>38 (10%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>4 (1%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.2-rc1</p></td>
+<td><p>334</p></td>
+<td><p>20 (6%)</p></td>
+<td><p>34 (10%)</p></td>
+<td><p>6 (2%)</p></td>
+<td><p>11 (3%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.3-rc1</p></td>
+<td><p>302</p></td>
+<td><p>36 (12%)</p></td>
+<td><p>53 (18%)</p></td>
+<td><p>4 (1%)</p></td>
+<td><p>5 (2%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.4</p></td>
+<td><p>361</p></td>
+<td><p>16 (4%)</p></td>
+<td><p>28 (8%)</p></td>
+<td><p>1 (0%)</p></td>
+<td><p>9 (2%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.5</p></td>
+<td><p>408</p></td>
+<td><p>11 (3%)</p></td>
+<td><p>48 (12%)</p></td>
+<td><p>14 (3%)</p></td>
+<td><p>10 (2%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.6</p></td>
+<td><p>87</p></td>
+<td><p>12 (14%)</p></td>
+<td><p>6 (7%)</p></td>
+<td><p>5 (6%)</p></td>
+<td><p>2 (2%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.7</p></td>
+<td><p>232</p></td>
+<td><p>30 (13%)</p></td>
+<td><p>32 (14%)</p></td>
+<td><p>5 (2%)</p></td>
+<td><p>2 (1%)</p></td>
+</tr>
+<tr class="row-even"><td><p>5.8</p></td>
+<td><p>157</p></td>
+<td><p>13 (8%)</p></td>
+<td><p>36 (23%)</p></td>
+<td><p>2 (1%)</p></td>
+<td><p>6 (4%)</p></td>
+</tr>
+<tr class="row-odd"><td><p>5.9</p></td>
+<td><p>209</p></td>
+<td><p>15 (7%)</p></td>
+<td><p>78 (37%)</p></td>
+<td><p>3 (1%)</p></td>
+<td><p>10 (5%)</p></td>
</tr>
</tbody>
</table>
<p>The review count here is largely bogus, there was a series of 25 whitespace
patches that got “Reviewed-by” and if we exclude them, we’re back to 14%,
which is more like what I’d expect.</p>
-<div class="section" id="developers-with-the-most-changesets">
+<section id="developers-with-the-most-changesets">
<h3>Developers with the most changesets<a class="headerlink" href="#developers-with-the-most-changesets" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>28</td>
-<td>(13.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>28</p></td>
+<td><p>(13.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>25</td>
-<td>(12.0%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>25</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>25</td>
-<td>(12.0%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>25</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>24</td>
-<td>(11.5%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>24</p></td>
+<td><p>(11.5%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>20</td>
-<td>(9.6%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>20</p></td>
+<td><p>(9.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>16</td>
-<td>(7.7%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>16</p></td>
+<td><p>(7.7%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>12</td>
-<td>(5.7%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>12</p></td>
+<td><p>(5.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Akshay Adiga</td>
-<td>8</td>
-<td>(3.8%)</td>
+<tr class="row-odd"><td><p>Akshay Adiga</p></td>
+<td><p>8</p></td>
+<td><p>(3.8%)</p></td>
</tr>
-<tr class="row-even"><td>Madhavan Srinivasan</td>
-<td>7</td>
-<td>(3.3%)</td>
+<tr class="row-even"><td><p>Madhavan Srinivasan</p></td>
+<td><p>7</p></td>
+<td><p>(3.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>6</td>
-<td>(2.9%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>6</p></td>
+<td><p>(2.9%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>3</td>
-<td>(1.4%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>3</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Claudio Carvalho</td>
-<td>3</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Claudio Carvalho</p></td>
+<td><p>3</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Suraj Jitindar Singh</td>
-<td>3</td>
-<td>(1.4%)</td>
+<tr class="row-even"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>3</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Sam Bobroff</td>
-<td>3</td>
-<td>(1.4%)</td>
+<tr class="row-odd"><td><p>Sam Bobroff</p></td>
+<td><p>3</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Christophe Lombard</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-even"><td><p>Christophe Lombard</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel Black</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Daniel Black</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Alexey Kardashevskiy</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Anton Blanchard</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Anton Blanchard</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Guilherme G. Piccoli</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Guilherme G. Piccoli</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>John W Walthour</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>John W Walthour</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Anju T Sudhakar</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Anju T Sudhakar</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Balbir Singh</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Balbir Singh</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>William A. Kennington III</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>William A. Kennington III</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Sukadev Bhattiprolu</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Sukadev Bhattiprolu</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-changed-lines">
+</section>
+<section id="developers-with-the-most-changed-lines">
<h3>Developers with the most changed lines<a class="headerlink" href="#developers-with-the-most-changed-lines" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 70%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Akshay Adiga</td>
-<td>2731</td>
-<td>(27.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Akshay Adiga</p></td>
+<td><p>2731</p></td>
+<td><p>(27.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>1512</td>
-<td>(15.5%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>1512</p></td>
+<td><p>(15.5%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>1355</td>
-<td>(13.9%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>1355</p></td>
+<td><p>(13.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>929</td>
-<td>(9.5%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>929</p></td>
+<td><p>(9.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>827</td>
-<td>(8.5%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>827</p></td>
+<td><p>(8.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>719</td>
-<td>(7.4%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>719</p></td>
+<td><p>(7.4%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>522</td>
-<td>(5.3%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>522</p></td>
+<td><p>(5.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Madhavan Srinivasan</td>
-<td>180</td>
-<td>(1.8%)</td>
+<tr class="row-odd"><td><p>Madhavan Srinivasan</p></td>
+<td><p>180</p></td>
+<td><p>(1.8%)</p></td>
</tr>
-<tr class="row-even"><td>Sam Bobroff</td>
-<td>172</td>
-<td>(1.8%)</td>
+<tr class="row-even"><td><p>Sam Bobroff</p></td>
+<td><p>172</p></td>
+<td><p>(1.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Christophe Lombard</td>
-<td>170</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Christophe Lombard</p></td>
+<td><p>170</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh Salgaonkar</td>
-<td>166</td>
-<td>(1.7%)</td>
+<tr class="row-even"><td><p>Mahesh Salgaonkar</p></td>
+<td><p>166</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>125</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>125</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Joel Stanley</td>
-<td>70</td>
-<td>(0.7%)</td>
+<tr class="row-even"><td><p>Joel Stanley</p></td>
+<td><p>70</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>64</td>
-<td>(0.7%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>64</p></td>
+<td><p>(0.7%)</p></td>
</tr>
-<tr class="row-even"><td>Claudio Carvalho</td>
-<td>51</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Claudio Carvalho</p></td>
+<td><p>51</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Suraj Jitindar Singh</td>
-<td>42</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>42</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>28</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>28</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>25</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>25</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Ellerman</td>
-<td>21</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Michael Ellerman</p></td>
+<td><p>21</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>18</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>18</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>17</td>
-<td>(0.2%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>17</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>8</td>
-<td>(0.1%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>8</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-even"><td>Daniel Black</td>
-<td>6</td>
-<td>(0.1%)</td>
+<tr class="row-even"><td><p>Daniel Black</p></td>
+<td><p>6</p></td>
+<td><p>(0.1%)</p></td>
</tr>
-<tr class="row-odd"><td>William A. Kennington III</td>
-<td>4</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>William A. Kennington III</p></td>
+<td><p>4</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Sukadev Bhattiprolu</td>
-<td>4</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Sukadev Bhattiprolu</p></td>
+<td><p>4</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Alexey Kardashevskiy</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>John W Walthour</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>John W Walthour</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Balbir Singh</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Balbir Singh</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Guilherme G. Piccoli</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Guilherme G. Piccoli</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Anton Blanchard</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Anton Blanchard</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Anju T Sudhakar</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Anju T Sudhakar</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-lines-removed">
+</section>
+<section id="developers-with-the-most-lines-removed">
<h3>Developers with the most lines removed<a class="headerlink" href="#developers-with-the-most-lines-removed" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="70%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 70%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Alistair Popple</td>
-<td>28</td>
-<td>(1.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>28</p></td>
+<td><p>(1.7%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-signoffs">
+</section>
+<section id="developers-with-the-most-signoffs">
<h3>Developers with the most signoffs<a class="headerlink" href="#developers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="72%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 72%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>180</td>
-<td>(97.8%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>180</p></td>
+<td><p>(97.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>2</td>
-<td>(1.1%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>2</p></td>
+<td><p>(1.1%)</p></td>
</tr>
-<tr class="row-even"><td>Mukesh Ojha</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Mukesh Ojha</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Total</td>
-<td>184</td>
-<td>(100%)</td>
+<tr class="row-even"><td><p>Total</p></td>
+<td><p>184</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-reviews">
+</section>
+<section id="developers-with-the-most-reviews">
<h3>Developers with the most reviews<a class="headerlink" href="#developers-with-the-most-reviews" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Michael Neuling</td>
-<td>25</td>
-<td>(32.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>Michael Neuling</p></td>
+<td><p>25</p></td>
+<td><p>(32.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>25</td>
-<td>(32.5%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>25</p></td>
+<td><p>(32.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>9</td>
-<td>(11.7%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>9</p></td>
+<td><p>(11.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Oliver O’Halloran</td>
-<td>4</td>
-<td>(5.2%)</td>
+<tr class="row-odd"><td><p>Oliver O’Halloran</p></td>
+<td><p>4</p></td>
+<td><p>(5.2%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>3</td>
-<td>(3.9%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>3</p></td>
+<td><p>(3.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>2</td>
-<td>(2.6%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>2</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-even"><td>Suraj Jitindar Singh</td>
-<td>2</td>
-<td>(2.6%)</td>
+<tr class="row-even"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>2</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>2</td>
-<td>(2.6%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>2</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Jeffery</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Andrew Jeffery</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Alexey Kardashevskiy</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Akshay Adiga</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Akshay Adiga</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Total</td>
-<td>77</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p>Total</p></td>
+<td><p>77</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-test-credits">
+</section>
+<section id="developers-with-the-most-test-credits">
<h3>Developers with the most test credits<a class="headerlink" href="#developers-with-the-most-test-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="73%" />
-<col width="5%" />
-<col width="22%" />
+<col style="width: 73%" />
+<col style="width: 5%" />
+<col style="width: 22%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>3</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>3</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-tested-by-credits">
+</section>
+<section id="developers-who-gave-the-most-tested-by-credits">
<h3>Developers who gave the most tested-by credits<a class="headerlink" href="#developers-who-gave-the-most-tested-by-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>2</td>
-<td>(66.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>2</p></td>
+<td><p>(66.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(33.3%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(33.3%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-report-credits">
+</section>
+<section id="developers-with-the-most-report-credits">
<h3>Developers with the most report credits<a class="headerlink" href="#developers-with-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Pridhiviraj Paidipeddi</td>
-<td>6</td>
-<td>(60.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>6</p></td>
+<td><p>(60.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Shriya</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-odd"><td><p>Shriya</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-even"><td>Robert Lippert</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-even"><td><p>Robert Lippert</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Total</td>
-<td>10</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p>Total</p></td>
+<td><p>10</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-report-credits">
+</section>
+<section id="developers-who-gave-the-most-report-credits">
<h3>Developers who gave the most report credits<a class="headerlink" href="#developers-who-gave-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>3</td>
-<td>(30.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>3</p></td>
+<td><p>(30.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Suraj Jitindar Singh</td>
-<td>3</td>
-<td>(30.0%)</td>
+<tr class="row-odd"><td><p>Suraj Jitindar Singh</p></td>
+<td><p>3</p></td>
+<td><p>(30.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>2</td>
-<td>(20.0%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>2</p></td>
+<td><p>(20.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-even"><td>Madhavan Srinivasan</td>
-<td>1</td>
-<td>(10.0%)</td>
+<tr class="row-even"><td><p>Madhavan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(10.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Total</td>
-<td>10</td>
-<td>(100%)</td>
+<tr class="row-odd"><td><p>Total</p></td>
+<td><p>10</p></td>
+<td><p>(100%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="changesets-and-employers">
+</section>
+<section id="changesets-and-employers">
<h3>Changesets and Employers<a class="headerlink" href="#changesets-and-employers" title="Permalink to this headline">¶</a></h3>
<p>Top changeset contributors by employer:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="73%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 73%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>208</td>
-<td>(99.5%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>208</p></td>
+<td><p>(99.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Google</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Google</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
</tbody>
</table>
<p>Top lines changed by employer:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="10%" />
-<col width="21%" />
+<col style="width: 69%" />
+<col style="width: 10%" />
+<col style="width: 21%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>9776</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>9776</p></td>
+<td><p>(100.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Google</td>
-<td>4</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Google</p></td>
+<td><p>4</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most signoffs (total 184):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="71%" />
-<col width="8%" />
-<col width="21%" />
+<col style="width: 71%" />
+<col style="width: 8%" />
+<col style="width: 21%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>184</td>
-<td>(100.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>184</p></td>
+<td><p>(100.0%)</p></td>
</tr>
</tbody>
</table>
<p>Employers with the most hackers (total 32):</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="73%" />
-<col width="8%" />
-<col width="19%" />
+<col style="width: 73%" />
+<col style="width: 8%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Employer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Employer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>31</td>
-<td>(96.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>31</p></td>
+<td><p>(96.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Google</td>
-<td>1</td>
-<td>(3.1%)</td>
+<tr class="row-odd"><td><p>Google</p></td>
+<td><p>1</p></td>
+<td><p>(3.1%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1840,17 +1830,15 @@ which is more like what I’d expect.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1867,14 +1855,15 @@ which is more like what I’d expect.</p>
<li class="right" >
<a href="skiboot-5.8-rc1.html" title="skiboot-5.8-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-5.9</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0-rc1.html b/doc/release-notes/skiboot-6.0-rc1.html
index 9f23ecb..d4e3af5 100644
--- a/doc/release-notes/skiboot-6.0-rc1.html
+++ b/doc/release-notes/skiboot-6.0-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.html" title="skiboot-6.0"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-rc1">
+ <section id="skiboot-6-0-rc1">
<span id="id1"></span><h1>skiboot-6.0-rc1<a class="headerlink" href="#skiboot-6-0-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.0-rc1 was released on Tuesday May 1st 2018. It is the first
release candidate of skiboot 6.0, which will become the new stable release
@@ -60,10 +60,10 @@ stable releases in the 5.10.x series, nor in the 5.11.x series.</p>
<p>The current plan is to cut the final 6.0 in early May, with skiboot 6.0
being for all POWER8 and POWER9 platforms in op-build v2.0.</p>
<p>Over skiboot-5.11, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Disable stop states from OPAL</p>
+<li><p>Disable stop states from OPAL</p>
<p>On ZZ, stop4,5,11 are enabled for PowerVM, even though doing
so may cause problems with OPAL due to bugs in hcode.</p>
<p>For other platforms, this isn’t so much of an issue as
@@ -79,87 +79,84 @@ from being problematic.</p>
</div>
<p>This nvram override will disable <em>all</em> stop states.</p>
</li>
-<li><p class="first">interrupts: Create an “interrupts” property in the OPAL node</p>
+<li><p>interrupts: Create an “interrupts” property in the OPAL node</p>
<p>Deprecate the old “opal-interrupts”, it’s still there, but the new
property follows the standard and allow us to specify whether an
interrupt is level or edge sensitive.</p>
<p>Similarly create “interrupt-names” whose content is identical to
“opal-interrupts-names”.</p>
</li>
-<li><p class="first">SBE: Add timer support on POWER9</p>
+<li><p>SBE: Add timer support on POWER9</p>
<p>SBE on P9 provides one shot programmable timer facility. We can use this
to implement OPAL timers and hence limit the reliance on the Linux
heartbeat (similar to HW timer facility provided by SLW on P8).</p>
</li>
-<li><p class="first">Add SBE driver support</p>
+<li><p>Add SBE driver support</p>
<p>SBE (Self Boot Engine) on P9 has two different jobs:
- Boot the chip up to the point the core is functional
- Provide various services like timer, scom, stash MPIPL, etc., at runtime</p>
<p>We will use SBE for various purposes like timer, MPIPL, etc.</p>
</li>
-<li><p class="first">opal:hmi: Add missing processor recovery reason string.</p>
+<li><p>opal:hmi: Add missing processor recovery reason string.</p>
<p>With this patch now we see reason string printed for CORE_WOF[43] bit.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">477.352234986</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">U78D3</span><span class="o">.</span><span class="mf">001.</span><span class="n">WZS004A</span><span class="o">-</span><span class="n">P1</span><span class="o">-</span><span class="n">C48</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">8</span> <span class="n">C</span><span class="p">:</span><span class="mi">22</span> <span class="n">T</span><span class="p">:</span><span class="mi">3</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">occurred</span><span class="o">.</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">477.352234986</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">U78D3</span><span class="mf">.001</span><span class="o">.</span><span class="n">WZS004A</span><span class="o">-</span><span class="n">P1</span><span class="o">-</span><span class="n">C48</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">8</span> <span class="n">C</span><span class="p">:</span><span class="mi">22</span> <span class="n">T</span><span class="p">:</span><span class="mi">3</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">occurred</span><span class="o">.</span>
<span class="p">[</span> <span class="mf">477.352240742</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Core</span> <span class="n">WOF</span> <span class="o">=</span> <span class="mh">0x0000000000100000</span> <span class="n">recovered</span> <span class="n">error</span><span class="p">:</span>
<span class="p">[</span> <span class="mf">477.352242181</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">PC</span> <span class="o">-</span> <span class="n">Thread</span> <span class="n">hang</span> <span class="n">recovery</span>
</pre></div>
</div>
</li>
-<li><p class="first">Add DIMM actual speed to device tree</p>
+<li><p>Add DIMM actual speed to device tree</p>
<p>Recent HDAT provides DIMM actuall speed. Lets add this to device tree.</p>
</li>
-<li><p class="first">Fix DIMM size property</p>
+<li><p>Fix DIMM size property</p>
<p>Today we parse vpd blob to get DIMM size information. This is limited
to FSP based system. HDAT provides DIMM size value. Lets use that to
populate device tree. So that we can get size information on BMC based
system as well.</p>
</li>
-<li><p class="first">PCI: Set slot power limit when supported</p>
+<li><p>PCI: Set slot power limit when supported</p>
<p>The PCIe slot capability can be implemented in a root or switch
downstream port to set the maximum power a card is allowed to draw
from the system. This patch adds support for setting the power limit
when the platform has defined one.</p>
</li>
-<li><p class="first">hdata/spira: parse vpd to add part-number and serial-number to xscom&#64; node</p>
+<li><p>hdata/spira: parse vpd to add part-number and serial-number to xscom&#64; node</p>
<p>Expected by FWTS and associates our processor with the part/serial
number, which is obviously a good thing for one’s own sanity.</p>
</li>
</ul>
-<div class="section" id="improved-hmi-handling">
+<section id="improved-hmi-handling">
<h3>Improved HMI Handling<a class="headerlink" href="#improved-hmi-handling" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">opal/hmi: Add documentation for opal_handle_hmi2 call</p>
-</li>
-<li><p class="first">opal/hmi: Generate hmi event for recovered HDEC parity error.</p>
-</li>
-<li><p class="first">opal/hmi: check thread 0 tfmr to validate latched tfmr errors.</p>
+<li><p>opal/hmi: Add documentation for opal_handle_hmi2 call</p></li>
+<li><p>opal/hmi: Generate hmi event for recovered HDEC parity error.</p></li>
+<li><p>opal/hmi: check thread 0 tfmr to validate latched tfmr errors.</p>
<p>Due to P9 errata, HDEC parity and TB residue errors are latched for
non-zero threads 1-3 even if they are cleared. But these are not
latched on thread 0. Hence, use xscom SCOMC/SCOMD to read thread 0 tfmr
value and ignore them on non-zero threads if they are not present on
thread 0.</p>
</li>
-<li><p class="first">opal/hmi: Print additional debug information in rendezvous.</p>
-</li>
-<li><p class="first">opal/hmi: Fix handling of TFMR parity/corrupt error.</p>
+<li><p>opal/hmi: Print additional debug information in rendezvous.</p></li>
+<li><p>opal/hmi: Fix handling of TFMR parity/corrupt error.</p>
<p>While testing TFMR parity/corrupt error it has been observed that HMIs are
delivered twice for this error</p>
<blockquote>
<div><ul class="simple">
-<li>First time HMI is delivered with HMER[4,5]=1 and TFMR[60]=1.</li>
-<li>Second time HMI is delivered with HMER[4,5]=1 and TFMR[60]=0 with valid TB.</li>
+<li><p>First time HMI is delivered with HMER[4,5]=1 and TFMR[60]=1.</p></li>
+<li><p>Second time HMI is delivered with HMER[4,5]=1 and TFMR[60]=0 with valid TB.</p></li>
</ul>
</div></blockquote>
<p>On second HMI we end up throwing “HMI: TB invalid without core error
reported” even though TB is in a valid state.</p>
</li>
-<li><p class="first">opal/hmi: Stop flooding HMI event for TOD errors.</p>
+<li><p>opal/hmi: Stop flooding HMI event for TOD errors.</p>
<p>Fix the issue where every thread on the chip sends HMI event to host for
TOD errors. TOD errors are reported to all the core/threads on the chip.
Any one thread can fix the error and send event. Rest of the threads don’t
need to send HMI event unnecessarily.</p>
</li>
-<li><p class="first">opal/hmi: Fix soft lockups during TOD errors</p>
+<li><p>opal/hmi: Fix soft lockups during TOD errors</p>
<p>There are some TOD errors which do not affect working of TOD and TB. They
stay in valid state. Hence we don’t need rendez vous for TOD errors that
does not affect TB working.</p>
@@ -177,7 +174,7 @@ as a core-global error and hence avoiding rendez-vous path completely.
Instead threads that see TFMR[51]=1 will now take different path that
just do the TOD error recovery.</p>
</li>
-<li><p class="first">opal/hmi: Do not send HMI event if no errors are found.</p>
+<li><p>opal/hmi: Do not send HMI event if no errors are found.</p>
<p>For TOD errors, all the cores in the chip get HMIs. Any one thread from any
core can fix the issue and TFMR will have error conditions cleared. Rest of
the threads need take any action if TOD errors are already cleared. Hence
@@ -186,7 +183,7 @@ recovery path. Initialize recover = -1, so that if no errors found that
thread need not send a HMI event to linux. This helps in stop flooding host
with hmi event by every thread even there are no errors found.</p>
</li>
-<li><p class="first">opal/hmi: Initialize the hmi event with old value of HMER.</p>
+<li><p>opal/hmi: Initialize the hmi event with old value of HMER.</p>
<p>Do this before we check for TFAC errors. Otherwise the event at host console
shows no error reported in HMER register.</p>
<p>Without this patch the console event show HMER with all zeros</p>
@@ -204,40 +201,40 @@ shows no error reported in HMER register.</p>
</pre></div>
</div>
</li>
-<li><p class="first">opal/hmi: Rework HMI handling of TFAC errors</p>
+<li><p>opal/hmi: Rework HMI handling of TFAC errors</p>
<p>This patch reworks the HMI handling for TFAC errors by introducing
4 rendez-vous points improve the thread synchronization while handling
timebase errors that requires all thread to clear dirty data from TB/HDEC
register before clearing the errors.</p>
</li>
-<li><p class="first">opal/hmi: Don’t bother passing HMER to pre-recovery cleanup</p>
+<li><p>opal/hmi: Don’t bother passing HMER to pre-recovery cleanup</p>
<p>The test for TFAC error is now redundant so we remove it and
remove the HMER argument.</p>
</li>
-<li><p class="first">opal/hmi: Move timer related error handling to a separate function</p>
+<li><p>opal/hmi: Move timer related error handling to a separate function</p>
<p>Currently no functional change. This is a first step to completely
rewriting how these things are handled.</p>
</li>
-<li><p class="first">opal/hmi: Add a new opal_handle_hmi2 that returns direct info to Linux</p>
+<li><p>opal/hmi: Add a new opal_handle_hmi2 that returns direct info to Linux</p>
<p>It returns a 64-bit flags mask currently set to provide info
about which timer facilities were lost, and whether an event
was generated.</p>
</li>
-<li><p class="first">opal/hmi: Remove races in clearing HMER</p>
+<li><p>opal/hmi: Remove races in clearing HMER</p>
<p>Writing to HMER acts as an “AND”. The current code writes back the
value we originally read with the bits we handled cleared. This is
racy, if a new bit gets set in HW after the original read, we’ll end
up clearing it without handling it.</p>
<p>Instead, use an all 1’s mask with only the bit handled cleared.</p>
</li>
-<li><p class="first">opal/hmi: Don’t re-read HMER multiple times</p>
+<li><p>opal/hmi: Don’t re-read HMER multiple times</p>
<p>We want to make sure all reporting and actions are based
upon the same snapshot of HMER in case bits get added
by HW while we are in OPAL.</p>
</li>
</ul>
-</div>
-<div class="section" id="libflash-and-ffspart">
+</section>
+<section id="libflash-and-ffspart">
<h3>libflash and ffspart<a class="headerlink" href="#libflash-and-ffspart" title="Permalink to this headline">¶</a></h3>
<p>Many improvements to the <cite>ffspart</cite> utility and <cite>libflash</cite> have come
in this release, making <cite>ffspart</cite> suitable for building bit-identical
@@ -245,7 +242,7 @@ PNOR images as the existing tooling used by <cite>op-build</cite>. The plan is t
switch <cite>op-build</cite> to use this infrastructure in the not too distant
future.</p>
<ul>
-<li><p class="first">libflash/blocklevel: Make read/write be ECC agnostic for callers</p>
+<li><p>libflash/blocklevel: Make read/write be ECC agnostic for callers</p>
<p>The blocklevel abstraction allows for regions of the backing store to be
marked as ECC protected so that blocklevel can decode/encode the ECC
bytes into the buffer automatically without the caller having to be ECC
@@ -269,7 +266,7 @@ knows of the presence of ECC then it will deal with all cases.</p>
<p>This also commit removes code in the gard tool which compensated for
inadequacies no longer present in blocklevel.</p>
</li>
-<li><p class="first">libflash/blocklevel: Return region start from ecc_protected()</p>
+<li><p>libflash/blocklevel: Return region start from ecc_protected()</p>
<p>Currently all ecc_protected() does is say if a region is ECC protected
or not. Knowing a region is ECC protected is one thing but there isn’t
much that can be done afterwards if this is the only known fact. A lot
@@ -278,20 +275,18 @@ more can be done if the caller is told where the ECC region begins.</p>
read/and writes. This allows for more flexibility calling read and write
without knowing exactly how the backing store is organised.</p>
</li>
-<li><p class="first">libflash/ecc: Add helpers to align a position within an ecc buffer</p>
+<li><p>libflash/ecc: Add helpers to align a position within an ecc buffer</p>
<p>As part of ongoing work to make ECC invisible to higher levels up the
stack this function converts a ‘position’ which should be ECC agnostic
to the equivalent position within an ECC region starting at a specified
location.</p>
</li>
-<li><p class="first">libflash/ecc: Add functions to deal with unaligned ECC memcpy</p>
-</li>
-<li><p class="first">external/ffspart: Improve error output</p>
-</li>
-<li><p class="first">libffs: Fix bad checks for partition overlap</p>
+<li><p>libflash/ecc: Add functions to deal with unaligned ECC memcpy</p></li>
+<li><p>external/ffspart: Improve error output</p></li>
+<li><p>libffs: Fix bad checks for partition overlap</p>
<p>Not all TOCs are written at zero</p>
</li>
-<li><p class="first">libflash/libffs: Allow caller to specifiy header partition</p>
+<li><p>libflash/libffs: Allow caller to specifiy header partition</p>
<p>An FFS TOC is comprised of two parts. A small header which has a magic
and very minimmal information about the TOC which will be common to all
partitions, things like number of patritions, block sizes and the like.
@@ -309,7 +304,7 @@ for the ‘part’ partition.</p>
partition. The caller can not and libffs will provide a sensible
default.</p>
</li>
-<li><p class="first">libflash/libffs: Refcount ffs entries</p>
+<li><p>libflash/libffs: Refcount ffs entries</p>
<p>Currently consumers can add an new ffs entry to multiple headers, this
is fine but freeing any of the headers will cause the entry to be freed,
this causes double free problems.</p>
@@ -319,61 +314,57 @@ reference to the entry, which they may well reuse at some other point.</p>
references.</p>
<p>This patch also removes the pointless return value of ffs_hdr_free()</p>
</li>
-<li><p class="first">libflash/libffs: Switch to storing header entries in an array</p>
+<li><p>libflash/libffs: Switch to storing header entries in an array</p>
<p>Since the libffs no longer needs to sort the entries as they get added
it makes little sense to have the complexity of a linked list when an
array will suffice.</p>
</li>
-<li><p class="first">libflash/libffs: Remove backup partition from TOC generation code</p>
+<li><p>libflash/libffs: Remove backup partition from TOC generation code</p>
<p>It turns out this code was messy and not all that reliable. Doing it at
the library level adds complexity to the library and restrictions to the
caller.</p>
<p>A simpler approach can be achived with the just instantiating multiple
ffs_header structures pointing to different parts of the same file.</p>
</li>
-<li><p class="first">libflash/libffs: Remove the ‘sides’ from the FFS TOC generation code</p>
+<li><p>libflash/libffs: Remove the ‘sides’ from the FFS TOC generation code</p>
<p>It turns out this code was messy and not all that reliable. Doing it at
the library level adds complexity to the library and restrictions to the
caller.</p>
<p>A simpler approach can be achived with the just instantiating multiple
ffs_header structures pointing to different parts of the same file.</p>
</li>
-<li><p class="first">libflash/libffs: Always add entries to the end of the TOC</p>
+<li><p>libflash/libffs: Always add entries to the end of the TOC</p>
<p>It turns out that sorted order isn’t the best idea. This removes
flexibility from the caller. If the user wants their partitions in
sorted order, they should insert them in sorted order.</p>
</li>
-<li><p class="first">external/ffspart: Remove side, order and backup options</p>
+<li><p>external/ffspart: Remove side, order and backup options</p>
<p>These options are currently flakey in libflash/libffs so there isn’t
much point to being able to use them in ffspart.</p>
<p>Future reworks planned for libflash/libffs will render these options
redundant anyway.</p>
</li>
-<li><p class="first">libflash/libffs: ffs_close() should use ffs_hdr_free()</p>
-</li>
-<li><p class="first">libflash/libffs: Add setter for a partitions actual size</p>
-</li>
-<li><p class="first">pflash: Use ffs_entry_user_to_string() to standardise flag strings</p>
-</li>
-<li><p class="first">libffs: Standardise ffs partition flags</p>
+<li><p>libflash/libffs: ffs_close() should use ffs_hdr_free()</p></li>
+<li><p>libflash/libffs: Add setter for a partitions actual size</p></li>
+<li><p>pflash: Use ffs_entry_user_to_string() to standardise flag strings</p></li>
+<li><p>libffs: Standardise ffs partition flags</p>
<p>It seems we’ve developed a character respresentation for ffs partition
flags. Currently only pflash really prints them so it hasn’t been a
problem but now ffspart wants to read them in from user input.</p>
<p>It is important that what libffs reads and what pflash prints remain
consistent, we should move the code into libffs to avoid problems.</p>
</li>
-<li><p class="first">external/ffspart: Allow # comments in input file</p>
-</li>
+<li><p>external/ffspart: Allow # comments in input file</p></li>
</ul>
-</div>
-</div>
-<div class="section" id="p9dsu-platform-changes">
+</section>
+</section>
+<section id="p9dsu-platform-changes">
<h2>p9dsu Platform changes<a class="headerlink" href="#p9dsu-platform-changes" title="Permalink to this headline">¶</a></h2>
<p>The p9dsu platform from SuperMicro (also known as ‘Boston’) has received
a number of updates, and the patches once carried by SuperMicro are now
upstream.</p>
<ul>
-<li><p class="first">p9dsu: detect p9dsu variant even when hostboot doesn’t tell us</p>
+<li><p>p9dsu: detect p9dsu variant even when hostboot doesn’t tell us</p>
<p>The SuperMicro BMC can tell us what riser type we have, which dictates
the PCI slot tables. Usually, in an environment that a customer would
experience, Hostboot will do the query with an SMC specific patch
@@ -385,25 +376,21 @@ ourselves and setting the slot table appropriately. We do this
syncronously in platform init so that we don’t start probing
PCI before we setup the slot table.</p>
</li>
-<li><p class="first">p9dsu: add slot power limit.</p>
-</li>
-<li><p class="first">p9dsu: add pci slot table for Boston LC 1U/2U and Boston LA/ESS.</p>
-</li>
-<li><p class="first">p9dsu HACK: fix system-vpd eeprom</p>
-</li>
-<li><p class="first">p9dsu: change esel command from AMI to IBM 0x3a.</p>
-</li>
+<li><p>p9dsu: add slot power limit.</p></li>
+<li><p>p9dsu: add pci slot table for Boston LC 1U/2U and Boston LA/ESS.</p></li>
+<li><p>p9dsu HACK: fix system-vpd eeprom</p></li>
+<li><p>p9dsu: change esel command from AMI to IBM 0x3a.</p></li>
</ul>
-</div>
-<div class="section" id="zz-platform-changes">
+</section>
+<section id="zz-platform-changes">
<h2>ZZ Platform Changes<a class="headerlink" href="#zz-platform-changes" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdata/i2c: Fix up pci hotplug labels</p>
+<li><p>hdata/i2c: Fix up pci hotplug labels</p>
<p>These labels are used on the devices used to do PCIe slot power control
for implementing PCIe hotplug. I’m not sure how they ended up as
“eeprom-pgood” and “eeprom-controller” since that doesn’t make any sense.</p>
</li>
-<li><p class="first">hdata/i2c: Ignore multi-port I2C devices</p>
+<li><p>hdata/i2c: Ignore multi-port I2C devices</p>
<p>Recent FSP firmware builds add support for multi-port I2C devices such
as the GPIO expanders used for the presence detect of OpenCAPI devices
and the PCIe hotplug controllers used to power cycle PCIe slots on ZZ.</p>
@@ -415,14 +402,14 @@ specific handler so that we generate the correct DT bindings. Currently
we don’t and there is no immediate need for this support so just ignore
the multi-port devices for now.</p>
</li>
-<li><p class="first">hdata/i2c: Replace <cite>i2c_</cite> prefix with <cite>dev_</cite></p>
+<li><p>hdata/i2c: Replace <cite>i2c_</cite> prefix with <cite>dev_</cite></p>
<p>The current naming scheme makes it easy to conflate “i2cm_port” and
“i2c_port.” The latter is used to describe multi-port I2C devices such
as GPIO expanders and multi-channel PCIe hotplug controllers. Rename
i2c_port to dev_port to make the two a bit more distinct.</p>
<p>Also rename i2c_addr to dev_addr for consistency.</p>
</li>
-<li><p class="first">hdata/i2c: Ignore CFAM I2C master</p>
+<li><p>hdata/i2c: Ignore CFAM I2C master</p>
<p>Recent FSP firmware builds put in information about the CFAM I2C master
in addition the to host I2C masters accessible via XSCOM. Odds are this
information should not be there since there’s no handshaking between the
@@ -432,29 +419,26 @@ we need to deal with it.</p>
master. Without this it will create a bogus i2cm&#64;&lt;addr&gt; which migh cause
issues.</p>
</li>
-<li><p class="first">ZZ: hw/imc: Add support to load imc catalog lid file</p>
+<li><p>ZZ: hw/imc: Add support to load imc catalog lid file</p>
<p>Add support to load the imc catalog from a lid file packaged
as part of the system firmware. Lid number allocated
is 0x80f00103.lid.</p>
</li>
</ul>
-</div>
-<div class="section" id="bugs-fixed">
+</section>
+<section id="bugs-fixed">
<h2>Bugs Fixed<a class="headerlink" href="#bugs-fixed" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core: Fix iteration condition to skip garded cpu</p>
-</li>
-<li><p class="first">uart: fix uart_opal_flush to take console lock over uart_con_flush
+<li><p>core: Fix iteration condition to skip garded cpu</p></li>
+<li><p>uart: fix uart_opal_flush to take console lock over uart_con_flush
This bug meant that OPAL_CONSOLE_FLUSH didn’t take the appropriate locks.
-Luckily, since this call is only currently used in the crash path.</p>
-</li>
-<li><p class="first">xive: fix missing unlock in error path</p>
-</li>
-<li><p class="first">OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
+Luckily, since this call is only currently used in the crash path.</p></li>
+<li><p>xive: fix missing unlock in error path</p></li>
+<li><p>OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
<p>Otherwise we could exit OPAL holding locks, potentially leading
to all sorts of problems later on.</p>
</li>
-<li><p class="first">hw/slw: Don’t assert on a unknown chip</p>
+<li><p>hw/slw: Don’t assert on a unknown chip</p>
<p>For some reason skiboot populates nodes in /cpus/ for the cores on
chips that are deconfigured. As a result Linux includes the threads
of those cores in it’s set of possible CPUs in the system and attempts
@@ -466,12 +450,12 @@ structure for that chip either. In turn, this results in an assertion
failure when calling opal_slw_set_reg() since it expects the chip
structure to exist. Fix this up and print an error instead.</p>
</li>
-<li><p class="first">opal/hmi: Generate one event per core for processor recovery.</p>
+<li><p>opal/hmi: Generate one event per core for processor recovery.</p>
<p>Processor recovery is per core error. All threads on that core receive
HMI. All threads don’t need to generate HMI event for same error.</p>
<p>Let thread 0 only generate the event.</p>
</li>
-<li><p class="first">sensors: Dont add DTS sensors when OCC inband sensors are available</p>
+<li><p>sensors: Dont add DTS sensors when OCC inband sensors are available</p>
<p>There are two sets of core temperature sensors today. One is DTS scom
based core temperature sensors and the second group is the sensors
provided by OCC. DTS is the highest temperature among the different
@@ -483,18 +467,18 @@ updated by OCC to main memory.</p>
compared to reading OCC sensors which is as good as reading memory.
So dont add DTS sensors when OCC sensors are available.</p>
</li>
-<li><p class="first">core/fast-reboot: Increase timeout for dctl sreset to 1sec</p>
+<li><p>core/fast-reboot: Increase timeout for dctl sreset to 1sec</p>
<p>Direct control xscom can take more time to complete. We seem to
wait too little on Boston failing fast-reboot for no good reason.</p>
<p>Increase timeout to 1 sec as a reasonable value for sreset to be delivered
and core to start executing instructions.</p>
</li>
-<li><p class="first">occ: sensors-groups: Add DT properties to mark HWMON sensor groups</p>
+<li><p>occ: sensors-groups: Add DT properties to mark HWMON sensor groups</p>
<p>Fix the sensor type to match HWMON sensor types. Add compatible flag
to indicate the environmental sensor groups so that operations on
these groups can be handled by HWMON linux interface.</p>
</li>
-<li><p class="first">core: Correctly load initramfs in stb container</p>
+<li><p>core: Correctly load initramfs in stb container</p>
<p>Skiboot does not calculate the actual size and start location of the
initramfs if it is wrapped by an STB container (for example if loading
an initramfs from the ROOTFS partition).</p>
@@ -504,9 +488,8 @@ load_initramfs() is called after load_kernel() move the call to
trustedboot_exit_boot_services() into load_and_boot_kernel() so it is
called after both of these.</p>
</li>
-<li><p class="first">hdat/i2c.c: quieten “v2 found, parsing as v1”</p>
-</li>
-<li><p class="first">hw/imc: Check for pause_microcode_at_boot() return status</p>
+<li><p>hdat/i2c.c: quieten “v2 found, parsing as v1”</p></li>
+<li><p>hw/imc: Check for pause_microcode_at_boot() return status</p>
<p>pause_microcode_at_boot() loops through all the chip’s ucode
control block and pause the ucode if it is in the running state.
But it does not fail if any of the chip’s ucode is not initialised.</p>
@@ -518,20 +501,20 @@ the function return.</p>
</ul>
<p>Slot location code fixes:</p>
<ul>
-<li><p class="first">npu2: Use ibm, loc-code rather than ibm, slot-label</p>
+<li><p>npu2: Use ibm, loc-code rather than ibm, slot-label</p>
<p>The ibm,slot-label property is to name the slot that appears under a
PCIe bridge. In the past we (ab)used the slot tables to attach names
to GPU devices and their corresponding NVLinks which resulted in npu2.c
using slot-label as a location code rather than as a way to name slots.</p>
<p>Fix this up since it’s confusing.</p>
</li>
-<li><p class="first">hdata/slots: Apply slot label to the parent slot</p>
+<li><p>hdata/slots: Apply slot label to the parent slot</p>
<p>Slot names only really make sense when applied to an actual slot rather
than a device. On witherspoon the GPU devices have a name associated with
the device rather than the slot for the GPUs. Add a hack that moves the
slot label to the parent slot rather than on the device itself.</p>
</li>
-<li><p class="first">pci-dt-slot: Big ol’ cleanup</p>
+<li><p>pci-dt-slot: Big ol’ cleanup</p>
<p>The underlying data that we get from HDAT can only really describe a
PCIe system. As such we can simplify the devicetree slot lookup code
by only caring about the important cases, namly, root ports and switch
@@ -542,10 +525,10 @@ This results in the EEH core being unable to report the location of
EEHed devices under that port.</p>
</li>
</ul>
-<div class="section" id="opal-prd">
+<section id="opal-prd">
<h3>opal-prd<a class="headerlink" href="#opal-prd" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">opal-prd: Insert powernv_flash module</p>
+<li><p>opal-prd: Insert powernv_flash module</p>
<p>Explictly load powernv_flash module on BMC based system so that we are sure
that flash device is created before starting opal-prd daemon.</p>
<p>Note that I have replaced pnor_available() check with is_fsp_system(). As we
@@ -553,11 +536,11 @@ want to load module on BMC system only. Also pnor_init has enough logic to
detect flash device. Hence pnor_available() becomes redundant check.</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2-nvlink2">
+</section>
+<section id="npu2-nvlink2">
<h3>NPU2/NVLINK2<a class="headerlink" href="#npu2-nvlink2" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">npu2/hw-procedures: fence bricks on GPU reset</p>
+<li><p>npu2/hw-procedures: fence bricks on GPU reset</p>
<p>The NPU workbook defines a way of fencing a brick and
getting the brick out of fence state. We do have an implementation
of bringing the brick out of fenced/quiesced state. We do
@@ -570,16 +553,16 @@ that prior to and after reset, the operating system components
will flush the cache for the region of memory behind the GPU.</p>
<p>This patch does the following:</p>
<ol class="arabic simple">
-<li>Implements a npu2_dev_fence_brick() function to set/clear
-fence state</li>
-<li>Clear FIR bits prior to clearing the fence status</li>
-<li>Clear’s the fence status</li>
-<li>We take the powerbus out of CQ fence much later now,
+<li><p>Implements a npu2_dev_fence_brick() function to set/clear
+fence state</p></li>
+<li><p>Clear FIR bits prior to clearing the fence status</p></li>
+<li><p>Clear’s the fence status</p></li>
+<li><p>We take the powerbus out of CQ fence much later now,
in credits_check() which is the last hardware procedure
-called after link training.</li>
+called after link training.</p></li>
</ol>
</li>
-<li><p class="first">hw/npu2.c: Remove static configuration of NPU2 register</p>
+<li><p>hw/npu2.c: Remove static configuration of NPU2 register</p>
<p>The NPU_SM_CONFIG0 register currently needs to be configured in Skiboot to
select NVLink mode, however Hostboot should configure other bits in this
register.</p>
@@ -591,7 +574,7 @@ the specific system configuration. Therefore Skiboot should not alter it.</p>
not. Hostboot does not configure this bit so Skiboot should continue to
configure it.</p>
</li>
-<li><p class="first">npu2: Improve log output of GPU-to-link mapping</p>
+<li><p>npu2: Improve log output of GPU-to-link mapping</p>
<p>Debugging issues related to unconnected NVLinks can be a little less
irritating if we use the NPU2DEV{DBG,INF}() macros instead of prlog().</p>
<p>In short, change this:</p>
@@ -613,17 +596,17 @@ irritating if we use the NPU2DEV{DBG,INF}() macros instead of prlog().</p>
</pre></div>
</div>
</li>
-<li><p class="first">npu2: Move NPU2_XTS_BDF_MAP_VALID assignment to context init</p>
+<li><p>npu2: Move NPU2_XTS_BDF_MAP_VALID assignment to context init</p>
<p>A bad GPU or other condition may leave us with a subset of links that
never get initialized. If an ATSD is sent to one of those bricks, it
will never complete, leaving us waiting forever for a response:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">watchdog</span><span class="p">:</span> <span class="n">BUG</span><span class="p">:</span> <span class="n">soft</span> <span class="n">lockup</span> <span class="o">-</span> <span class="n">CPU</span><span class="c1">#23 stuck for 23s! [acos:2050]</span>
<span class="o">...</span>
<span class="n">Modules</span> <span class="n">linked</span> <span class="ow">in</span><span class="p">:</span> <span class="n">nvidia_uvm</span><span class="p">(</span><span class="n">O</span><span class="p">)</span> <span class="n">nvidia</span><span class="p">(</span><span class="n">O</span><span class="p">)</span>
-<span class="n">CPU</span><span class="p">:</span> <span class="mi">23</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">2050</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">acos</span> <span class="n">Tainted</span><span class="p">:</span> <span class="n">G</span> <span class="n">W</span> <span class="n">O</span> <span class="mf">4.14</span><span class="o">.</span><span class="mi">0</span> <span class="c1">#2</span>
+<span class="n">CPU</span><span class="p">:</span> <span class="mi">23</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">2050</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">acos</span> <span class="n">Tainted</span><span class="p">:</span> <span class="n">G</span> <span class="n">W</span> <span class="n">O</span> <span class="mf">4.14.0</span> <span class="c1">#2</span>
<span class="n">task</span><span class="p">:</span> <span class="n">c0000000285cfc00</span> <span class="n">task</span><span class="o">.</span><span class="n">stack</span><span class="p">:</span> <span class="n">c000001fea860000</span>
<span class="n">NIP</span><span class="p">:</span> <span class="n">c0000000000abdf0</span> <span class="n">LR</span><span class="p">:</span> <span class="n">c0000000000acc48</span> <span class="n">CTR</span><span class="p">:</span> <span class="n">c0000000000ace60</span>
-<span class="n">REGS</span><span class="p">:</span> <span class="n">c000001fea863550</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Tainted</span><span class="p">:</span> <span class="n">G</span> <span class="n">W</span> <span class="n">O</span> <span class="p">(</span><span class="mf">4.14</span><span class="o">.</span><span class="mi">0</span><span class="p">)</span>
+<span class="n">REGS</span><span class="p">:</span> <span class="n">c000001fea863550</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Tainted</span><span class="p">:</span> <span class="n">G</span> <span class="n">W</span> <span class="n">O</span> <span class="p">(</span><span class="mf">4.14.0</span><span class="p">)</span>
<span class="n">MSR</span><span class="p">:</span> <span class="mi">9000000000009033</span> <span class="o">&lt;</span><span class="n">SF</span><span class="p">,</span><span class="n">HV</span><span class="p">,</span><span class="n">EE</span><span class="p">,</span><span class="n">ME</span><span class="p">,</span><span class="n">IR</span><span class="p">,</span><span class="n">DR</span><span class="p">,</span><span class="n">RI</span><span class="p">,</span><span class="n">LE</span><span class="o">&gt;</span> <span class="n">CR</span><span class="p">:</span> <span class="mi">28004484</span> <span class="n">XER</span><span class="p">:</span> <span class="mi">20040000</span>
<span class="n">CFAR</span><span class="p">:</span> <span class="n">c0000000000abdf4</span> <span class="n">SOFTE</span><span class="p">:</span> <span class="mi">1</span>
<span class="n">GPR00</span><span class="p">:</span> <span class="n">c0000000000acc48</span> <span class="n">c000001fea8637d0</span> <span class="n">c0000000011f7c00</span> <span class="n">c000001fea863820</span>
@@ -631,7 +614,7 @@ will never complete, leaving us waiting forever for a response:</p>
<span class="n">GPR08</span><span class="p">:</span> <span class="mi">0000000000000001</span> <span class="mi">0000000000000080</span> <span class="n">c000201cc7cb7750</span> <span class="n">ffffffffffffffff</span>
<span class="n">GPR12</span><span class="p">:</span> <span class="mi">0000000000008000</span> <span class="n">c000000003167e80</span>
<span class="n">NIP</span> <span class="p">[</span><span class="n">c0000000000abdf0</span><span class="p">]</span> <span class="n">mmio_invalidate_wait</span><span class="o">+</span><span class="mh">0x90</span><span class="o">/</span><span class="mh">0xc0</span>
-<span class="n">LR</span> <span class="p">[</span><span class="n">c0000000000acc48</span><span class="p">]</span> <span class="n">mmio_invalidate</span><span class="o">.</span><span class="n">isra</span><span class="o">.</span><span class="mi">11</span><span class="o">+</span><span class="mh">0x158</span><span class="o">/</span><span class="mh">0x370</span>
+<span class="n">LR</span> <span class="p">[</span><span class="n">c0000000000acc48</span><span class="p">]</span> <span class="n">mmio_invalidate</span><span class="o">.</span><span class="n">isra</span><span class="mf">.11</span><span class="o">+</span><span class="mh">0x158</span><span class="o">/</span><span class="mh">0x370</span>
</pre></div>
</div>
<p>ATSDs are only sent to bricks which have a valid entry in the XTS_BDF
@@ -639,11 +622,11 @@ table. So to prevent the hang, don’t set NPU2_XTS_BDF_MAP_VALID unless
we make it all the way to creating a context for the BDF.</p>
</li>
</ul>
-</div>
-<div class="section" id="secure-and-trusted-boot">
+</section>
+<section id="secure-and-trusted-boot">
<h3>Secure and Trusted Boot<a class="headerlink" href="#secure-and-trusted-boot" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">hdata/tpmrel: detect tpm not present by looking up the stinfo-&gt;status</p>
+<li><p>hdata/tpmrel: detect tpm not present by looking up the stinfo-&gt;status</p>
<p>Skiboot detects if tpm is present by checking if a secureboot_tpm_info
entry exists. However, if a tpm is not present, hostboot also creates a
secureboot_tpm_info entry. In this case, hostboot creates an empty
@@ -653,36 +636,35 @@ entry, but setting the field tpm_status to TPM_NOT_PRESENT.</p>
issue, reproduced when skiboot is running on a system that has no tpm.</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h3>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4: Restore bus numbers after CRS</p>
+<li><p>phb4: Restore bus numbers after CRS</p>
<p>Currently we restore PCIe bus numbers right after the link is
up. Unfortunately as this point we haven’t done CRS so config space
may not be accessible.</p>
<p>This moves the bus number restore till after CRS has happened.</p>
</li>
-<li><p class="first">romulus: Add a barebones slot table</p>
-</li>
-<li><p class="first">phb4: Quieten and improve “Timeout waiting for electrical link”</p>
+<li><p>romulus: Add a barebones slot table</p></li>
+<li><p>phb4: Quieten and improve “Timeout waiting for electrical link”</p>
<p>This happens normally if a slot doesn’t have a working HW presence
detect and relies instead of inband presence detect.</p>
<p>The message we display is scary and not very useful unless ou
are debugging, so quiten it up and change it to something more
meaningful.</p>
</li>
-<li><p class="first">pcie-slot: Don’t fail powering on an already on switch</p>
+<li><p>pcie-slot: Don’t fail powering on an already on switch</p>
<p>If the power state is already the required value, return
OPAL_SUCCESS rather than OPAL_PARAMETER to avoid spurrious
errors during boot.</p>
</li>
</ul>
-</div>
-<div class="section" id="capi-opencapi">
+</section>
+<section id="capi-opencapi">
<h3>CAPI/OpenCAPI<a class="headerlink" href="#capi-opencapi" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">capi: Keep the current mmio windows in the mbt cache table.</p>
+<li><p>capi: Keep the current mmio windows in the mbt cache table.</p>
<p>When the phb is used as a CAPI interface, the current mmio windows list
is cleaned before adding the capi and the prefetchable memory (M64)
windows, which implies that the non-prefetchable BAR is no more
@@ -690,7 +672,7 @@ configured.
This patch allows to set only the mbt bar to pass capi mmio window and
to keep, as defined, the other mmio values (M32 and M64).</p>
</li>
-<li><p class="first">npu2-opencapi: Fix ‘link internal error’ FIR, take 2</p>
+<li><p>npu2-opencapi: Fix ‘link internal error’ FIR, take 2</p>
<p>When setting up an opencapi link, we set the transport muxes first,
then set the PHY training config register, which includes disabling
nvlink mode for the bricks. That’s the order of the init sequence, as
@@ -699,12 +681,10 @@ found in the NPU workbook.</p>
OLL FIR Register for the 2 links when we configure the transport
muxes. Presumably because nvlink is not disabled yet and we are
configuring the transport muxes for opencapi.</p>
-<dl class="docutils">
-<dt>bit 60:</dt>
-<dd><p class="first last">link0 internal error</p>
+<dl class="simple">
+<dt>bit 60:</dt><dd><p>link0 internal error</p>
</dd>
-<dt>bit 61:</dt>
-<dd><p class="first last">link1 internal error</p>
+<dt>bit 61:</dt><dd><p>link1 internal error</p>
</dd>
</dl>
<p>Overall the current setup ends up being correct and everything works,
@@ -713,7 +693,7 @@ but we raise 2 FIR bits.</p>
the transport muxes. Incidentally, this is what the scripts from the
opencapi enablement team were doing all along.</p>
</li>
-<li><p class="first">npu2-opencapi: Fix ‘link internal error’ FIR, take 1</p>
+<li><p>npu2-opencapi: Fix ‘link internal error’ FIR, take 1</p>
<p>When we setup a link, we always enable ODL0 and ODL1 at the same time
in the PHY training config register, even though we are setting up
only one OTL/ODL, so it raises a “link internal error” FIR bit in the
@@ -722,10 +702,10 @@ as we’ll eventually setup the second link, but there’s no reason to
raise that FIR bit.</p>
<p>The fix is simply to only enable the ODL we are using for the link.</p>
</li>
-<li><p class="first">phb4: Do not set the PBCQ Tunnel BAR register when enabling capi mode.</p>
+<li><p>phb4: Do not set the PBCQ Tunnel BAR register when enabling capi mode.</p>
<p>The cxl driver will set the capi value, like other drivers already do.</p>
</li>
-<li><p class="first">phb4: set TVT1 for tunneled operations in capi mode</p>
+<li><p>phb4: set TVT1 for tunneled operations in capi mode</p>
<p>The ASN indication is used for tunneled operations (as_notify and
atomics). Tunneled operation messages can be sent in PCI mode as
well as CAPI mode.</p>
@@ -737,12 +717,12 @@ indication.</p>
to prevent as_notify messages from being dropped.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="debugging-testing-improvements">
+</section>
+</section>
+<section id="debugging-testing-improvements">
<h2>Debugging/Testing improvements<a class="headerlink" href="#debugging-testing-improvements" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/stack: backtrace unwind basic OPAL call details</p>
+<li><p>core/stack: backtrace unwind basic OPAL call details</p>
<p>Put OPAL callers’ r1 into the stack back chain, and then use that to
unwind back to the OPAL entry frame (as opposed to boot entry, which
has a 0 back chain).</p>
@@ -768,7 +748,7 @@ a debugging opal call. This will allow Linux’s BUG() or xmon to
also print the Linux back trace in case of a NMI or MCE or watchdog
lockup that hits in OPAL.</p>
</li>
-<li><p class="first">asm/head: implement quiescing without stack or clobbering regs</p>
+<li><p>asm/head: implement quiescing without stack or clobbering regs</p>
<p>Quiescing currently is implmeented in C in opal_entry before the
opal call handler is called. This works well enough for simple
cases like fast reset when one CPU wants all others out of the way.</p>
@@ -785,7 +765,7 @@ returned to or re-entered during this period.</p>
interrupted with sreset if the quiesce times out, and it can be
interrupted by MCEs as well. These still have the issues above.</p>
</li>
-<li><p class="first">core/opal: Allow poller re-entry if OPAL was re-entered</p>
+<li><p>core/opal: Allow poller re-entry if OPAL was re-entered</p>
<p>If an NMI interrupts the middle of running pollers and the OS
invokes pollers again (e.g., for console output), the poller
re-entrancy check will prevent it from running and spam the
@@ -795,7 +775,7 @@ OPAL re-entrancy is something different and is detected elsewhere.
Avoid the poller recursion check if OPAL has been re-entered. This
is a best-effort attempt to cope with errors.</p>
</li>
-<li><p class="first">core/opal: Emergency stack for re-entry</p>
+<li><p>core/opal: Emergency stack for re-entry</p>
<p>This detects OPAL being re-entered by the OS, and switches to an
emergency stack if it was. This protects the firmware’s main stack
from re-entrancy and allows the OS to use NMI facilities for crash
@@ -809,10 +789,9 @@ removed by 80eee1946 (“opal: Remove machine check interrupt patching
in OPAL.”). So it is possible the size could be tightened again, but
that would require further analysis.</p>
</li>
-<li><p class="first">hdat_to_dt: hash_prop the same on all platforms
-Fixes this unit test on ppc64le hosts.</p>
-</li>
-<li><p class="first">mambo: Add persistent memory disk support</p>
+<li><p>hdat_to_dt: hash_prop the same on all platforms
+Fixes this unit test on ppc64le hosts.</p></li>
+<li><p>mambo: Add persistent memory disk support</p>
<p>This adds support to for mapping disks images using persistent
memory. Disks can be added by setting this ENV variable:</p>
<blockquote>
@@ -824,7 +803,7 @@ available since mambo commit 0131f0fc08 (from 24/4/2018).</p>
<p>This also needs the of_pmem.c driver in Linux which is only available
since v4.17. It works with powernv_defconfig + CONFIG_OF_PMEM.</p>
</li>
-<li><p class="first">external/mambo: Add di command to decode instructions</p>
+<li><p>external/mambo: Add di command to decode instructions</p>
<p>By default you get 16 instructions but you can specify the number you
want. i.e.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">systemsim</span> <span class="o">%</span> <span class="n">di</span> <span class="mh">0x100</span> <span class="mi">4</span>
@@ -836,7 +815,7 @@ want. i.e.</p>
</div>
<p>Using di since it’s what xmon uses.</p>
</li>
-<li><p class="first">mambo/mambo_utils.tcl: Inject an MCE at a specified address</p>
+<li><p>mambo/mambo_utils.tcl: Inject an MCE at a specified address</p>
<p>Currently we don’t support injecting an MCE on a specific address.
This is useful for testing functionality like memcpy_mcsafe()
(see <a class="reference external" href="https://patchwork.ozlabs.org/cover/893339/">https://patchwork.ozlabs.org/cover/893339/</a>)</p>
@@ -852,13 +831,13 @@ inject_mce_ue_on_addr $addr
</div>
<p>This would cause an mce on any r1 or r1 based access</p>
</li>
-<li><p class="first">external/mambo: improve helper for machine checks</p>
+<li><p>external/mambo: improve helper for machine checks</p>
<p>Improve workarounds for stop injection, because mambo often will
trigger on 0x104/204 when injecting sreset/mces.</p>
<p>This also adds a workaround to skip injecting on reservations to
avoid infinite loops when doing inject_mce_step.</p>
</li>
-<li><p class="first">travis: Enable ppc64le builds</p>
+<li><p>travis: Enable ppc64le builds</p>
<p>At least on the IBM Travis Enterprise instance, we can now do
ppc64le builds!</p>
<p>We can only build a subset of our matrix due to availability of
@@ -866,17 +845,17 @@ ppc64le distros. The Dockerfiles need some tweaking to only
attempt to install (x86_64 only) Mambo binaries, as well as the
build scripts.</p>
</li>
-<li><p class="first">external: Add “lpc” tool</p>
+<li><p>external: Add “lpc” tool</p>
<p>This is a little front-end to the lpc debugfs files to access
the LPC bus from userspace on the host.</p>
</li>
-<li><p class="first">core/test/run-trace: fix on ppc64el</p>
-</li>
+<li><p>core/test/run-trace: fix on ppc64el</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -919,17 +898,15 @@ the LPC bus from userspace on the host.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -946,14 +923,15 @@ the LPC bus from userspace on the host.</p>
<li class="right" >
<a href="skiboot-6.0.html" title="skiboot-6.0"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0-rc2.html b/doc/release-notes/skiboot-6.0-rc2.html
index d5d31de..f33fe02 100644
--- a/doc/release-notes/skiboot-6.0-rc2.html
+++ b/doc/release-notes/skiboot-6.0-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0-rc1.html" title="skiboot-6.0-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-rc2">
+ <section id="skiboot-6-0-rc2">
<span id="id1"></span><h1>skiboot-6.0-rc2<a class="headerlink" href="#skiboot-6-0-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.0-rc2 was released on Wednesday May 9th 2018. It is the second
release candidate of skiboot 6.0, which will become the new stable release
@@ -62,7 +62,7 @@ after this -rc if things look okay), with skiboot 6.0
being for all POWER8 and POWER9 platforms in op-build v2.0.</p>
<p>Over skiboot-6.0-rc1, we have the following changes:</p>
<ul>
-<li><p class="first">Update default stop-state-disable mask to cut only stop11</p>
+<li><p>Update default stop-state-disable mask to cut only stop11</p>
<p>Stability improvements in microcode for stop4/stop5 are
available in upstream hcode images. Stop4 and stop5 can
be safely enabled by default.</p>
@@ -76,28 +76,27 @@ are any issues with stop4/5.</p>
run a hcode image <em>different</em> than the default in op-build (set
<cite>BR2_HCODE_LATEST_VERSION=y</cite> in your config)</p>
</li>
-<li><p class="first">ibm,firmware-versions: add hcode to device tree</p>
+<li><p>ibm,firmware-versions: add hcode to device tree</p>
<p>op-build commit 736a08b996e292a449c4996edb264011dfe56a40
added hcode to the VERSION partition, let’s parse it out
and let the user know.</p>
</li>
-<li><p class="first">ipmi: Add BMC firmware version to device tree</p>
+<li><p>ipmi: Add BMC firmware version to device tree</p>
<p>BMC Get device ID command gives BMC firmware version details. Lets add this
to device tree. User space tools will use this information to display BMC
version details.</p>
</li>
-<li><p class="first">mambo: Enable XER CA32 and OV32 bits on P9</p>
+<li><p>mambo: Enable XER CA32 and OV32 bits on P9</p>
<p>POWER9 adds 32 bit carry and overflow bits to the XER, but we need to
set the relevant CTRL1 bit to enable them.</p>
</li>
-<li><p class="first">Makefile: Fix building natively on ppc64le</p>
+<li><p>Makefile: Fix building natively on ppc64le</p>
<p>When on ppc64le and CROSS is not set by the environment, make assumes
ppc64 and sets a default CROSS. Check for ppc64le as well, so that
‘make’ works out of the box on ppc64le.</p>
</li>
-<li><p class="first">p9dsu: timeout for variant detection, default to 2uess</p>
-</li>
-<li><p class="first">core/direct-controls: improve p9_stop_thread error handling</p>
+<li><p>p9dsu: timeout for variant detection, default to 2uess</p></li>
+<li><p>core/direct-controls: improve p9_stop_thread error handling</p>
<p>p9_stop_thread should fail the operation if it finds the thread was
already quiescd. This implies something else is doing direct controls
on the thread (e.g., pdbg) or there is some exceptional condition we
@@ -113,7 +112,7 @@ to de-assert the core_stop control if it fails to quiesce the thread.
After timing out here, the thread may eventually quiesce and get
stuck, but that’s simpler to debug than undefied behaviour.</p>
</li>
-<li><p class="first">core/direct-controls: fix p9_cont_thread for stopped/inactive threads</p>
+<li><p>core/direct-controls: fix p9_cont_thread for stopped/inactive threads</p>
<p>Firstly, p9_cont_thread should check that the thread actually was
quiesced before it tries to resume it. Anything could happen if we
try this from an arbitrary thread state.</p>
@@ -121,7 +120,7 @@ try this from an arbitrary thread state.</p>
a stop idle state), we must not send a core_start direct control,
clear_maint must be used in these cases.</p>
</li>
-<li><p class="first">occ: Use major version number while checking the pstate table format</p>
+<li><p>occ: Use major version number while checking the pstate table format</p>
<p>The minor version increments of the pstate table are backward
compatible. The minor version is changed when the pstate table
remains same and the existing reserved bytes are used for pointing
@@ -129,7 +128,7 @@ new data. So use only major version number while parsing the pstate
table. This will allow old skiboot to parse the pstate table and
handle minor version updates.</p>
</li>
-<li><p class="first">hmi: Clear unknown debug trigger</p>
+<li><p>hmi: Clear unknown debug trigger</p>
<p>On some systems, seeing hangs like this when Linux starts:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">170.027252763</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">OCC</span><span class="p">:</span> <span class="n">All</span> <span class="n">Chip</span> <span class="n">Rdy</span> <span class="n">after</span> <span class="mi">0</span> <span class="n">ms</span>
<span class="p">[</span> <span class="mf">170.062930145</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">INIT</span><span class="p">:</span> <span class="n">Starting</span> <span class="n">kernel</span> <span class="n">at</span> <span class="mh">0x20011000</span><span class="p">,</span> <span class="n">fdt</span> <span class="n">at</span> <span class="mh">0x30ae0530</span> <span class="mi">366247</span> <span class="nb">bytes</span><span class="p">)</span>
@@ -150,17 +149,17 @@ hmi_debug_trigger function in the kernel is set up.</p>
<p>This clears the HMI in Skiboot and reports to the kernel instead of
bringing down the machine.</p>
</li>
-<li><p class="first">core/hmi: assign flags=0 in case nothing set by handle_hmi_exception</p>
+<li><p>core/hmi: assign flags=0 in case nothing set by handle_hmi_exception</p>
<p>Theoretically we could have returned junk to the OS in this parameter.</p>
</li>
-<li><p class="first">SLW: Fix mambo boot to use stop states</p>
+<li><p>SLW: Fix mambo boot to use stop states</p>
<p>After commit 35c66b8ce5a2 (“SLW: Move MAMBO simulator checks to
slw_init”), mambo boot no longer calls add_cpu_idle_state_properties()
and as such we never enable stop states.</p>
<p>After adding the call back, we get more testing coverage as well
as faster mambo SMT boots.</p>
</li>
-<li><p class="first">phb4: Hardware init updates</p>
+<li><p>phb4: Hardware init updates</p>
<p>CFG Write Request Timeout was incorrectly set to informational and not
fatal for both non-CAPI and CAPI, so set it to fatal. This was a
mistake in the specification. Correcting this fixes a niche bug in
@@ -171,16 +170,14 @@ This fixes an extremely rare and unreproducible bug, though the current
timings don’t make sense since they’re higher than the NCU timeout (16)
which will checkstop the machine anyway.</p>
</li>
-<li><p class="first">SLW: quieten ‘Configuring self-restore’ for DARN,NCU_SPEC_BAR and HRMOR</p>
-</li>
-<li><p class="first">Experimental support for building with Clang</p>
-</li>
-<li><p class="first">Improvements to testing and Travis CI</p>
-</li>
+<li><p>SLW: quieten ‘Configuring self-restore’ for DARN,NCU_SPEC_BAR and HRMOR</p></li>
+<li><p>Experimental support for building with Clang</p></li>
+<li><p>Improvements to testing and Travis CI</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -200,17 +197,15 @@ which will checkstop the machine anyway.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -227,14 +222,15 @@ which will checkstop the machine anyway.</p>
<li class="right" >
<a href="skiboot-6.0-rc1.html" title="skiboot-6.0-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.1.html b/doc/release-notes/skiboot-6.0.1.html
index fd2945a..c2952c9 100644
--- a/doc/release-notes/skiboot-6.0.1.html
+++ b/doc/release-notes/skiboot-6.0.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0-rc2.html" title="skiboot-6.0-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-1">
+ <section id="skiboot-6-0-1">
<span id="id1"></span><h1>skiboot-6.0.1<a class="headerlink" href="#skiboot-6-0-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.1 was released on Wednesday May 16th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.html#skiboot-6-0"><span class="std std-ref">skiboot-6.0</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,10 +53,10 @@
due to the bug fixes and debugging enhancements in it.</p>
<p>Over <a class="reference internal" href="skiboot-6.0.html#skiboot-6-0"><span class="std std-ref">skiboot-6.0</span></a>, we have two bug fixes:</p>
<ul>
-<li><p class="first">OpenBMC: use 0x3a as OEM command for partial add esel.</p>
+<li><p>OpenBMC: use 0x3a as OEM command for partial add esel.</p>
<p>This fixes the bug where skiboot would never send an eSEL to the BMC.</p>
</li>
-<li><p class="first">Add location code to NPU2 HMI logging</p>
+<li><p>Add location code to NPU2 HMI logging</p>
<p>The current HMI error message does not specifiy where the HMI
error occured.</p>
<p>The original error message was</p>
@@ -64,14 +64,15 @@ error occured.</p>
</pre></div>
</div>
<p>The enhanced error message is</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">NPU2</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="o">.</span><span class="mi">0000000</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">FIR</span><span class="c1">#0 FIR 0x0000100000000000 mask 0x009a48180f03ffff</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">NPU2</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">UOPWR</span><span class="mf">.0000000</span><span class="o">-</span><span class="n">Node0</span><span class="o">-</span><span class="n">Proc0</span><span class="p">]</span> <span class="n">P</span><span class="p">:</span><span class="mi">0</span> <span class="n">FIR</span><span class="c1">#0 FIR 0x0000100000000000 mask 0x009a48180f03ffff</span>
</pre></div>
</div>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -91,17 +92,15 @@ error occured.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -118,14 +117,15 @@ error occured.</p>
<li class="right" >
<a href="skiboot-6.0-rc2.html" title="skiboot-6.0-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.10.html b/doc/release-notes/skiboot-6.0.10.html
index 7e0d8a5..1284fdc 100644
--- a/doc/release-notes/skiboot-6.0.10.html
+++ b/doc/release-notes/skiboot-6.0.10.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.10 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.10 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.1.html" title="skiboot-6.0.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.10</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-10">
+ <section id="skiboot-6-0-10">
<span id="id1"></span><h1>skiboot-6.0.10<a class="headerlink" href="#skiboot-6-0-10" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.10 was released on Wednesday October 31st, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.9.html#skiboot-6-0-9"><span class="std std-ref">skiboot-6.0.9</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,12 +53,11 @@
due to the bug fixes it contains.</p>
<p>The bug fixes are:</p>
<ul>
-<li><p class="first">Recognise signed VERSION partition</p>
-</li>
-<li><p class="first">hdata/i2c: Skip unknown device type</p>
+<li><p>Recognise signed VERSION partition</p></li>
+<li><p>hdata/i2c: Skip unknown device type</p>
<p>Do not add unknown I2C devices to device tree.</p>
</li>
-<li><p class="first">hdata/i2c: Make SPD workaround more workaroundy</p>
+<li><p>hdata/i2c: Make SPD workaround more workaroundy</p>
<p>We have a hack in the I2C device parser to fix up entries generated by
hostboot for the DIMM SPD devices. For some reason they get reported as
128Kbit EEPROMs which is bad since those have a different I2C interface
@@ -69,18 +68,18 @@ also has a different I2C interface.</p>
<p>To fix both these problems for any eeprom we find on that bus to have
the compatible string of “spd”.</p>
</li>
-<li><p class="first">hdata/i2c: Add whitelisting for Host I2C devices</p>
+<li><p>hdata/i2c: Add whitelisting for Host I2C devices</p>
<p>Many of the devices that we get information about through HDAT are for
use by firmware rather than the host operating system. This patch adds
a boolean flag to hdat_i2c_info structure that indicates whether devices
with a given purpose should be reserved for use inside of OPAL (or some
other firmware component, such as the OCC).</p>
</li>
-<li><p class="first">Add fast-reboot property to /ibm,opal DT node</p>
+<li><p>Add fast-reboot property to /ibm,opal DT node</p>
<p>this means that if it’s permanently disabled on boot, the test suite can
pick that up and not try a fast reboot test.</p>
</li>
-<li><p class="first">libflash: Add ipmi-hiomap (currently for Witherspoon only)</p>
+<li><p>libflash: Add ipmi-hiomap (currently for Witherspoon only)</p>
<p>ipmi-hiomap implements the PNOR access control protocol formerly known
as “the mbox protocol” but uses IPMI instead of the AST LPC mailbox as a
transport. As there is no-longer any mailbox involved in this alternate
@@ -89,25 +88,23 @@ been renamed to “the hiomap protoocol” (Host I/O Mapping protocol). The
same commands and events are used though this client-side implementation
assumes v2 of the protocol is supported by the BMC.</p>
</li>
-<li><p class="first">AMI BMC: use 0x3a as OEM command</p>
+<li><p>AMI BMC: use 0x3a as OEM command</p>
<p>The 0x3a OEM command is for IBM commands, while 0x32 was for AMI ones.
Sometime in the P8 timeframe, AMI BMCs were changed to listen for our
commands on either 0x32 or 0x3a. Since 0x3a is the direction forward,
we’ll use that, as P9 machines with AMI BMCs probably also want these
to work, and let’s not bet that 0x32 will continue to be okay.</p>
</li>
-<li><p class="first">astbmc: Set romulus BMC type to OpenBMC</p>
-</li>
-<li><p class="first">Fixes to bulid with GCC8</p>
-</li>
-<li><p class="first">phb4/capp: Use link width to allocate STQ engines to CAPP</p>
+<li><p>astbmc: Set romulus BMC type to OpenBMC</p></li>
+<li><p>Fixes to bulid with GCC8</p></li>
+<li><p>phb4/capp: Use link width to allocate STQ engines to CAPP</p>
<p>Update phb4_init_capp_regs() to allocates STQ Engines to CAPP/PEC2
based on link width instead of always assuming it to x8.</p>
<p>Also re-factor the function slightly to evaluate the link-width only
once and cache it so that it can also be used to allocate DMA read
engines.</p>
</li>
-<li><p class="first">phb4/capp: Update the expected Eye-catcher for CAPP ucode lid</p>
+<li><p>phb4/capp: Update the expected Eye-catcher for CAPP ucode lid</p>
<p>Currently on a FSP based P9 system load_capp_code() expects CAPP ucode
lid header to have eye-catcher magic of ‘CAPPPSLL’. However skiboot
currently supports CAPP ucode only lids that have a eye-catcher magic
@@ -120,9 +117,10 @@ error message:</p>
value of ‘CAPPLIDH’ instead of ‘CAPPPSLL’.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -142,17 +140,15 @@ value of ‘CAPPLIDH’ instead of ‘CAPPPSLL’.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -169,14 +165,15 @@ value of ‘CAPPLIDH’ instead of ‘CAPPPSLL’.</p>
<li class="right" >
<a href="skiboot-6.0.1.html" title="skiboot-6.0.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.10</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.11.html b/doc/release-notes/skiboot-6.0.11.html
index 23b2e13..4d49a7e 100644
--- a/doc/release-notes/skiboot-6.0.11.html
+++ b/doc/release-notes/skiboot-6.0.11.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.11 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.11 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.10.html" title="skiboot-6.0.10"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.11</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-11">
+ <section id="skiboot-6-0-11">
<span id="id1"></span><h1>skiboot-6.0.11<a class="headerlink" href="#skiboot-6-0-11" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.11 was released on Friday November 2nd, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.10.html#skiboot-6-0-10"><span class="std std-ref">skiboot-6.0.10</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>The bug fixes are:</p>
<ul>
-<li><p class="first">phb4/capp: Only reset FIR bits that cause capp machine check</p>
+<li><p>phb4/capp: Only reset FIR bits that cause capp machine check</p>
<p>During CAPP recovery do_capp_recovery_scoms() will reset the CAPP Fir
register just after CAPP recovery is completed. This has an
unintentional side effect of preventing PRD from analyzing and
@@ -65,7 +65,7 @@ only reset fir bits that cause CAPP machine check (local xstop). This
is done by reading the CAPP Fir Action0/1 &amp; Mask registers and
generating a mask which is then written on CAPP_FIR_CLEAR register.</p>
</li>
-<li><p class="first">phb4: Check for RX errors after link training</p>
+<li><p>phb4: Check for RX errors after link training</p>
<p>Some PHB4 PHYs can get stuck in a bad state where they are constantly
retraining the link. This happens transparently to skiboot and Linux
but will causes PCIe to be slow. Resetting the PHB4 clears the
@@ -83,26 +83,21 @@ retrain the link. i.e.</p>
</pre></div>
</div>
</li>
-<li><p class="first">core/flash: Log return code when ffs_init() fails</p>
-</li>
-<li><p class="first">libflash/ipmi-hiomap: Use error codes rather than abort()</p>
-</li>
-<li><p class="first">libflash/ipmi-hiomap: Restore window state on window/protocol reset</p>
-</li>
-<li><p class="first">libflash/ipmi-hiomap: Improve event handling</p>
-</li>
-<li><p class="first">p9dsu: Describe platform BMC register configuration</p>
+<li><p>core/flash: Log return code when ffs_init() fails</p></li>
+<li><p>libflash/ipmi-hiomap: Use error codes rather than abort()</p></li>
+<li><p>libflash/ipmi-hiomap: Restore window state on window/protocol reset</p></li>
+<li><p>libflash/ipmi-hiomap: Improve event handling</p></li>
+<li><p>p9dsu: Describe platform BMC register configuration</p>
<p>Provide the p9dsu-specific BMC configuration values required for the
host kernel to drive the VGA display correctly.</p>
</li>
-<li><p class="first">p9dsu: Add HIOMAP-over-IPMI support</p>
-</li>
-<li><p class="first">libflash/ipmi-hiomap: Cleanup allocation on init failure</p>
-</li>
+<li><p>p9dsu: Add HIOMAP-over-IPMI support</p></li>
+<li><p>libflash/ipmi-hiomap: Cleanup allocation on init failure</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -122,17 +117,15 @@ host kernel to drive the VGA display correctly.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -149,14 +142,15 @@ host kernel to drive the VGA display correctly.</p>
<li class="right" >
<a href="skiboot-6.0.10.html" title="skiboot-6.0.10"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.11</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.12.html b/doc/release-notes/skiboot-6.0.12.html
index c603913..dc360e6 100644
--- a/doc/release-notes/skiboot-6.0.12.html
+++ b/doc/release-notes/skiboot-6.0.12.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.12 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.12 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.11.html" title="skiboot-6.0.11"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.12</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-12">
+ <section id="skiboot-6-0-12">
<span id="id1"></span><h1>skiboot-6.0.12<a class="headerlink" href="#skiboot-6-0-12" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.12 was released on Monday November 12th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.11.html#skiboot-6-0-11"><span class="std std-ref">skiboot-6.0.11</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>The bug fixes are:</p>
<ul>
-<li><p class="first">hiomap: quieten warning on failing to move a window</p>
+<li><p>hiomap: quieten warning on failing to move a window</p>
<p>This isn’t <em>necessarily</em> an error that we should complain loudly about.
If, for example, the BMC enforces the Read Only flag on a FFS partition,
opening a write window <em>should</em> fail, and we do indeed test this in
@@ -61,12 +61,12 @@ op-test.</p>
<p>Thus we deal with the error in a well known path: returning an error
code and then it’s eventually a userspace problem.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Respect daemon presence and flash control</p>
-</li>
+<li><p>libflash/ipmi-hiomap: Respect daemon presence and flash control</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -86,17 +86,15 @@ code and then it’s eventually a userspace problem.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -113,14 +111,15 @@ code and then it’s eventually a userspace problem.</p>
<li class="right" >
<a href="skiboot-6.0.11.html" title="skiboot-6.0.11"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.12</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.13.html b/doc/release-notes/skiboot-6.0.13.html
index bfdf39f..277c800 100644
--- a/doc/release-notes/skiboot-6.0.13.html
+++ b/doc/release-notes/skiboot-6.0.13.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.13 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.13 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.12.html" title="skiboot-6.0.12"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.13</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-13">
+ <section id="skiboot-6-0-13">
<span id="id1"></span><h1>skiboot-6.0.13<a class="headerlink" href="#skiboot-6-0-13" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.13 was released on Wednesday November 14th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.12.html#skiboot-6-0-12"><span class="std std-ref">skiboot-6.0.12</span></a> as the current stable release in the 6.0.x series.</p>
@@ -55,16 +55,17 @@ already. This release is made exclusively so OpenBMC can ship an updated pflash
from a tagged release.</p>
<p>The pflash change is:</p>
<ul>
-<li><p class="first">pflash: Add –skip option for reading</p>
+<li><p>pflash: Add –skip option for reading</p>
<p>Add a –skip=N option to pflash to skip N number of bytes when reading.
This would allow users to print the VERSION partition without the STB
header by specifying the –skip=4096 argument, and it’s a more generic
solution rather than making pflash depend on secure/trusted boot code.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -84,17 +85,15 @@ solution rather than making pflash depend on secure/trusted boot code.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -111,14 +110,15 @@ solution rather than making pflash depend on secure/trusted boot code.</p>
<li class="right" >
<a href="skiboot-6.0.12.html" title="skiboot-6.0.12"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.13</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.14.html b/doc/release-notes/skiboot-6.0.14.html
index 5f2bc7a..415180c 100644
--- a/doc/release-notes/skiboot-6.0.14.html
+++ b/doc/release-notes/skiboot-6.0.14.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.14 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.14 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.13.html" title="skiboot-6.0.13"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.14</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-14">
+ <section id="skiboot-6-0-14">
<span id="id1"></span><h1>skiboot-6.0.14<a class="headerlink" href="#skiboot-6-0-14" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.14 was released on Tuesday November 27th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.13.html#skiboot-6-0-13"><span class="std std-ref">skiboot-6.0.13</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">libflash: Don’t merge ECC-protected ranges</p>
+<li><p>libflash: Don’t merge ECC-protected ranges</p>
<p>Libflash currently merges contiguous ECC-protected ranges, but doesn’t
check that the ECC bytes at the end of the first and start of the second
range actually match sanely. More importantly, if blocklevel_read() is
@@ -72,7 +72,7 @@ regions like below:</p>
</pre></div>
</div>
</li>
-<li><p class="first">ipmi: Reduce ipmi_queue_msg_sync() polling loop time to 10ms.</p>
+<li><p>ipmi: Reduce ipmi_queue_msg_sync() polling loop time to 10ms.</p>
<p>On a plain boot with hiomap, this reduces the time spent in OPAL
by ~170ms on p9dsu. This is due to hiomap (currently) using
synchronous IPMI messages.</p>
@@ -81,16 +81,17 @@ operations with hiomap, as we’ll spend typically 10-20ms in OPAL
rather than 100-200ms. It’s not an ideal solution to that, but
it’s a quick and obvious win for jitter.</p>
</li>
-<li><p class="first">opal-prd: Fix opal-prd crash</p>
+<li><p>opal-prd: Fix opal-prd crash</p>
<p>Crash log without this patch:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">opal</span><span class="o">-</span><span class="n">prd</span><span class="p">[</span><span class="mi">2864</span><span class="p">]:</span> <span class="n">unhandled</span> <span class="n">signal</span> <span class="mi">11</span> <span class="n">at</span> <span class="mi">0000000000029320</span> <span class="n">nip</span> <span class="mi">00000</span> <span class="mi">00102012830</span> <span class="n">lr</span> <span class="mi">0000000102016890</span> <span class="n">code</span> <span class="mi">1</span>
</pre></div>
</div>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -110,17 +111,15 @@ it’s a quick and obvious win for jitter.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -137,14 +136,15 @@ it’s a quick and obvious win for jitter.</p>
<li class="right" >
<a href="skiboot-6.0.13.html" title="skiboot-6.0.13"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.14</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.15.html b/doc/release-notes/skiboot-6.0.15.html
index 958bb01..dc393f3 100644
--- a/doc/release-notes/skiboot-6.0.15.html
+++ b/doc/release-notes/skiboot-6.0.15.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.15 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.15 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.14.html" title="skiboot-6.0.14"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.15</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-15">
+ <section id="skiboot-6-0-15">
<span id="id1"></span><h1>skiboot-6.0.15<a class="headerlink" href="#skiboot-6-0-15" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.15 was released on Monday December 17th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.14.html#skiboot-6-0-14"><span class="std std-ref">skiboot-6.0.14</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">i2c: Fix i2c request hang during opal init if timers are not checked</p>
+<li><p>i2c: Fix i2c request hang during opal init if timers are not checked</p>
<p>If an i2c request cannot go through the first time, because the bus is
found in error and need a reset or it’s locked by the OCC for example,
the underlying i2c implementation is using timers to manage the
@@ -64,13 +64,13 @@ with an i2c request which will not move foward and skiboot hangs.</p>
<p>Fix it by explicitly checking the timers if we are waiting for an i2c
request to complete and it seems to be taking a while.</p>
</li>
-<li><p class="first">opal-prd: hservice: Enable hservice-&gt;wakeup() in BMC</p>
+<li><p>opal-prd: hservice: Enable hservice-&gt;wakeup() in BMC</p>
<p>This patch enables HBRT to use HYP special wakeup register in openBMC
which until now was only used in FSP based machines.</p>
<p>This patch also adds a capability check for opal-prd so that HBRT can
decide if the host special wakeup register can be used.</p>
</li>
-<li><p class="first">npu2: Advertise correct TCE page size</p>
+<li><p>npu2: Advertise correct TCE page size</p>
<p>The P9 NPU workbook says that only 4K/64K/16M/256M page size are supported
and in fact npu2_map_pe_dma_window() supports just these but in absence of
the “ibm,supported-tce-sizes” property Linux assumes the default P9 PHB4
@@ -80,9 +80,10 @@ page sizes - 4K/64K/2M/1G - so when Linux tries 2M/1G TCEs, we get lots of
fall back to 4K/64K TCEs.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -102,17 +103,15 @@ fall back to 4K/64K TCEs.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -129,14 +128,15 @@ fall back to 4K/64K TCEs.</p>
<li class="right" >
<a href="skiboot-6.0.14.html" title="skiboot-6.0.14"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.15</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.16.html b/doc/release-notes/skiboot-6.0.16.html
index fc149ae..e4a0807 100644
--- a/doc/release-notes/skiboot-6.0.16.html
+++ b/doc/release-notes/skiboot-6.0.16.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.16 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.16 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.15.html" title="skiboot-6.0.15"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.16</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-16">
+ <section id="skiboot-6-0-16">
<span id="id1"></span><h1>skiboot-6.0.16<a class="headerlink" href="#skiboot-6-0-16" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.16 was released on Tuesday February 5th, 2019. It replaces
<a class="reference internal" href="skiboot-6.0.15.html#skiboot-6-0-15"><span class="std std-ref">skiboot-6.0.15</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,19 +53,19 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">p9dsu: Fix p9dsu default variant</p>
+<li><p>p9dsu: Fix p9dsu default variant</p>
<p>Add the default when no riser_id is returned from the ipmi query.</p>
<p>This addresses: <a class="reference external" href="https://github.com/open-power/boston-openpower/issues/1369">https://github.com/open-power/boston-openpower/issues/1369</a></p>
<p>Allow a little more time for BMC reply and cleanup some label strings.</p>
</li>
-<li><p class="first">p9dsu: Fix p9dsu slot tables</p>
+<li><p>p9dsu: Fix p9dsu slot tables</p>
<p>Set the attributes on the slot tables to account for
builtin or pluggable etypes, this will allow pci
enumeration to calculate subordinate buses.</p>
<p>Update some slot label strings.</p>
<p>Add WIO Slot5 which is standard on the ESS config.</p>
</li>
-<li><p class="first">phb4: Generate checkstop on AIB ECC corr/uncorr for DD2.0 parts</p>
+<li><p>phb4: Generate checkstop on AIB ECC corr/uncorr for DD2.0 parts</p>
<p>On DD2.0 parts, PCIe ECC protection is not warranted in the response
data path. Thus, for these parts, we need to flag any ECC errors
detected from the adjacent AIB RX Data path so the part can be
@@ -73,7 +73,7 @@ replaced.</p>
<p>This patch configures the FIRs so that we escalate these AIB ECC
errors to a checkstop so the parts can be replaced.</p>
</li>
-<li><p class="first">core/lock: Stop drop_my_locks() from always causing abort</p>
+<li><p>core/lock: Stop drop_my_locks() from always causing abort</p>
<p>Fix an erroneous failure in an error path that looked like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>LOCK ERROR: Releasing lock we don&#39;t hold depth @0x30493d20 (state: 0x0000000000000001)
[13836.000173140,0] Aborting!
@@ -86,9 +86,10 @@ CPU 0000 Backtrace:
</div>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -108,17 +109,15 @@ CPU 0000 Backtrace:
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -135,14 +134,15 @@ CPU 0000 Backtrace:
<li class="right" >
<a href="skiboot-6.0.15.html" title="skiboot-6.0.15"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.16</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.17.html b/doc/release-notes/skiboot-6.0.17.html
index a056bf5..154b074 100644
--- a/doc/release-notes/skiboot-6.0.17.html
+++ b/doc/release-notes/skiboot-6.0.17.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.17 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.17 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.16.html" title="skiboot-6.0.16"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.17</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-17">
+ <section id="skiboot-6-0-17">
<span id="id1"></span><h1>skiboot-6.0.17<a class="headerlink" href="#skiboot-6-0-17" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.17 was released on Wednesday February 20th, 2019. It replaces
<a class="reference internal" href="skiboot-6.0.16.html#skiboot-6-0-16"><span class="std std-ref">skiboot-6.0.16</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,22 +53,20 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">core/opal: Print PIR value in exit path, which is useful for debugging.</p>
-</li>
-<li><p class="first">core/ipmi: Improve error message</p>
-</li>
-<li><p class="first">hdata: Fix dtc warnings</p>
+<li><p>core/opal: Print PIR value in exit path, which is useful for debugging.</p></li>
+<li><p>core/ipmi: Improve error message</p></li>
+<li><p>hdata: Fix dtc warnings</p>
<p>Fix dtc warnings related to mcbist node</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@603fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@603fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">603</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">603</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
</pre></div>
</div>
<p>Ideally we should add proper xscom range here… but we are not getting that
information in HDAT today. Lets fix warning until we get proper data in HDAT.</p>
</li>
-<li><p class="first">hdata/test: workaround dtc bugs</p>
+<li><p>hdata/test: workaround dtc bugs</p>
<p>In dtc v1.4.5 to at least v1.4.7 there have been a few bugs introduced
that change the layout of what’s produced in the dts. In order to be
immune from them, we should use the (provided) dtdiff utility, but we
@@ -78,7 +76,7 @@ conversion will.</p>
<p>This fixes a bunch of unit test failures on the version of dtc shipped
with recent Linux distros such as Fedora 29.</p>
</li>
-<li><p class="first">firmware-versions: Add test case for parsing VERSION</p>
+<li><p>firmware-versions: Add test case for parsing VERSION</p>
<p>Also make it possible to use with afl-lop/afl-fuzz just to help make
<em>sure</em> we’re all good.</p>
<p>Additionally, if we hit a entry in VERSION that is larger than our
@@ -87,14 +85,14 @@ stack. This is only a problem if VERSION isn’t trusted, which as of
4b8cc05a94513816d43fb8bd6178896b430af08f it is verified as part of
Secure Boot.</p>
</li>
-<li><p class="first">core/cpu: HID update race</p>
+<li><p>core/cpu: HID update race</p>
<p>If the per-core HID register is updated concurrently by multiple
threads, updates can get lost. This has been observed during fast
reboot where the HILE bit does not get cleared on all cores, which
can cause machine check exception interrupts to crash.</p>
<p>Fix this by only updating HID on thread0.</p>
</li>
-<li><p class="first">cpufeatures: Always advertise POWER8NVL as DD2</p>
+<li><p>cpufeatures: Always advertise POWER8NVL as DD2</p>
<p>Despite the major version of PVR being 1 (0x004c0100) for POWER8NVL,
these chips are functionally equalent to P8/P8E DD2 levels.</p>
<p>This advertises POWER8NVL as DD2. As the result, skiboot adds
@@ -104,9 +102,10 @@ threads; otherwise “KVM: CPU %d seems to be stuck” would appear because
of missing LPCR_PECEDH.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -126,17 +125,15 @@ of missing LPCR_PECEDH.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -153,14 +150,15 @@ of missing LPCR_PECEDH.</p>
<li class="right" >
<a href="skiboot-6.0.16.html" title="skiboot-6.0.16"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.17</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.18.html b/doc/release-notes/skiboot-6.0.18.html
index a1a36cb..7e993a2 100644
--- a/doc/release-notes/skiboot-6.0.18.html
+++ b/doc/release-notes/skiboot-6.0.18.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.18 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.18 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.17.html" title="skiboot-6.0.17"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.18</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-18">
+ <section id="skiboot-6-0-18">
<span id="id1"></span><h1>skiboot-6.0.18<a class="headerlink" href="#skiboot-6-0-18" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.18 was released on Wednesday March 6th, 2019. It replaces
<a class="reference internal" href="skiboot-6.0.17.html#skiboot-6-0-17"><span class="std std-ref">skiboot-6.0.17</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,10 +53,10 @@
due to the bug fixes it contains.</p>
<p>Over <a class="reference internal" href="skiboot-6.0.17.html#skiboot-6-0-17"><span class="std std-ref">skiboot-6.0.17</span></a> we have several bug fixes, including important ones
for powercap, ipmi-hiomap and BMC communication driver.</p>
-<div class="section" id="powercap">
+<section id="powercap">
<h2>powercap<a class="headerlink" href="#powercap" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">powercap: occ: Fix the powercapping range allowed for user</p>
+<li><p>powercap: occ: Fix the powercapping range allowed for user</p>
<p>OCC provides two limits for minimum powercap. One being hard powercap
minimum which is guaranteed by OCC and the other one is a soft
powercap minimum which is lesser than hard-min and may or may not be
@@ -67,25 +67,24 @@ DT property called “powercap-hard-min” to export the hard-min powercap
limit.</p>
</li>
</ul>
-</div>
-<div class="section" id="ipmi-hiomap">
+</section>
+<section id="ipmi-hiomap">
<h2>IPMI-HIOMAP<a class="headerlink" href="#ipmi-hiomap" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">ipmi-hiomap test case enhancements/fixes.</p>
-</li>
-<li><p class="first">libflash/ipmi-hiomap: Enforce message size for empty response</p>
+<li><p>ipmi-hiomap test case enhancements/fixes.</p></li>
+<li><p>libflash/ipmi-hiomap: Enforce message size for empty response</p>
<p>The protocol defines the response to the associated messages as empty
except for the command ID and sequence fields. If the BMC is returning
extra data consider the message malformed.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Remove unused close handling</p>
+<li><p>libflash/ipmi-hiomap: Remove unused close handling</p>
<p>Issuing a HIOMAP_C_CLOSE is not required by the protocol specification,
rather a close can be implicit in a subsequent
CREATE_{READ,WRITE}_WINDOW request. The implicit close provides an
opportunity to reduce LPC traffic and the implementation takes up that
optimisation, so remove the case from the IPMI callback handler.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Overhaul event handling</p>
+<li><p>libflash/ipmi-hiomap: Overhaul event handling</p>
<p>Reworking the event handling was inspired by a bug report by Vasant
where the host would get wedged on multiple flash access attempts in the
face of a persistent error state on the BMC-side. The cause of this bug
@@ -96,18 +95,18 @@ HIOMAP_E_DAEMON_READY is clear in the prior calls.</p>
<p>Regardless, there were other correctness and efficiency problems with
the handling strategy:</p>
<ul class="simple">
-<li>Ack-able event state was not restored in the face of errors in the
-process of re-establishing protocol state</li>
-<li>It forced needless window restoration with respect to the context in
-which ipmi_hiomap_handle_events() was called.</li>
-<li>Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant
-with the overhauled error handling introduced in the previous patch</li>
+<li><p>Ack-able event state was not restored in the face of errors in the
+process of re-establishing protocol state</p></li>
+<li><p>It forced needless window restoration with respect to the context in
+which ipmi_hiomap_handle_events() was called.</p></li>
+<li><p>Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant
+with the overhauled error handling introduced in the previous patch</p></li>
</ul>
<p>Fix all of the above issues and add comments to explain the event
handling flow.</p>
<p>Tests for correctness follow later in the series.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Overhaul error handling</p>
+<li><p>libflash/ipmi-hiomap: Overhaul error handling</p>
<p>The aim is to improve the robustness with respect to absence of the
BMC-side daemon. The current error handling roughly mirrors what was
done for the mailbox implementation, but there’s room for improvement.</p>
@@ -125,31 +124,30 @@ operation no attempt is made to recover it on the spot, instead the
error is returned up the stack and the caller can choose how it wishes
to respond.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Fix leak of msg in callback</p>
-</li>
+<li><p>libflash/ipmi-hiomap: Fix leak of msg in callback</p></li>
</ul>
-</div>
-<div class="section" id="bmc-communication">
+</section>
+<section id="bmc-communication">
<h2>BMC communication<a class="headerlink" href="#bmc-communication" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/ipmi: Add ipmi sync messages to top of the list</p>
+<li><p>core/ipmi: Add ipmi sync messages to top of the list</p>
<p>In ipmi_queue_msg_sync() path OPAL will wait until it gets response from
BMC. If we do not get response ontime we may endup in kernel hardlockups.
Hence lets add sync messages to top of the queue. This will reduces the
chance of hardlockups.</p>
</li>
-<li><p class="first">hw/bt: Introduce separate list for synchronous messages</p>
+<li><p>hw/bt: Introduce separate list for synchronous messages</p>
<p>BT send logic always sends top of bt message list to BMC. Once BMC reads the
message, it clears the interrupt and bt_idle() becomes true.</p>
<p>bt_add_ipmi_msg_head() adds message to top of the list. If bt message list
is not empty then:</p>
<blockquote>
<div><ul class="simple">
-<li>if bt_idle() is true then we will endup sending message to BMC before
+<li><p>if bt_idle() is true then we will endup sending message to BMC before
getting response from BMC for inflight message. Looks like on some
-BMC implementation this results in message timeout.</li>
-<li>else we endup starting message timer without actually sending message
-to BMC.. which is not correct.</li>
+BMC implementation this results in message timeout.</p></li>
+<li><p>else we endup starting message timer without actually sending message
+to BMC.. which is not correct.</p></li>
</ul>
</div></blockquote>
<p>This patch introduces separate list to track synchronous messages.
@@ -158,14 +156,14 @@ will always process this queue before processing normal queue.</p>
<p>Finally this patch introduces new variable (inflight_bt_msg) to track
inflight message. This will point to current inflight message.</p>
</li>
-<li><p class="first">hw/bt: Fix message retry handler</p>
+<li><p>hw/bt: Fix message retry handler</p>
<p>In some corner cases (like BMC reboot), bt_send_and_unlock() starts
message timer, but won’t send message to BMC as driver is not free to
send message. bt_expire_old_msg() function enables H2B interrupt without
actually sending message.</p>
<p>This patch fixes above issue.</p>
</li>
-<li><p class="first">ipmi/power: Fix system reboot issue</p>
+<li><p>ipmi/power: Fix system reboot issue</p>
<p>Kernel makes reboot/shudown OPAL call for reboot/shutdown. Once kernel
gets response from OPAL it runs opal_poll_events() until firmware
handles the request.</p>
@@ -178,7 +176,7 @@ reboot/shutdown the system using BMC interface.</p>
then it will resend the message. At some stage BMC will be ready to accept
message and handles IPMI message.</p>
</li>
-<li><p class="first">hw/bt: Add backend interface to disable ipmi message retry option</p>
+<li><p>hw/bt: Add backend interface to disable ipmi message retry option</p>
<p>During boot OPAL makes IPMI_GET_BT_CAPS call to BMC to get BT interface
capabilities which includes IPMI message max resend count, message
timeout, etc,. Most of the time OPAL gets response from BMC within
@@ -197,11 +195,11 @@ greatly reduces kernel hardlock up issues.</p>
messages to asynhrounous one.</p>
</li>
</ul>
-</div>
-<div class="section" id="phb3">
+</section>
+<section id="phb3">
<h2>PHB3<a class="headerlink" href="#phb3" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/phb3/naples: Disable D-states</p>
+<li><p>hw/phb3/naples: Disable D-states</p>
<p>Putting “Mellanox Technologies MT27700 Family [ConnectX-4] [15b3:1013]”
(more precisely, the second of 2 its PCI functions, no matter in what
order) into the D3 state causes EEH with the “PCT timeout” error.
@@ -211,10 +209,11 @@ seem to have this issue.</p>
installing a config space access filter (copied from PHB4).</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -245,17 +244,15 @@ installing a config space access filter (copied from PHB4).</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -272,14 +269,15 @@ installing a config space access filter (copied from PHB4).</p>
<li class="right" >
<a href="skiboot-6.0.17.html" title="skiboot-6.0.17"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.18</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.19.html b/doc/release-notes/skiboot-6.0.19.html
index 6459ae8..db45a1b 100644
--- a/doc/release-notes/skiboot-6.0.19.html
+++ b/doc/release-notes/skiboot-6.0.19.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.19 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.19 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.18.html" title="skiboot-6.0.18"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.19</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-19">
+ <section id="skiboot-6-0-19">
<span id="id1"></span><h1>skiboot-6.0.19<a class="headerlink" href="#skiboot-6-0-19" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.19 was released on Tuesday March 19th, 2019. It replaces
<a class="reference internal" href="skiboot-6.0.18.html#skiboot-6-0-18"><span class="std std-ref">skiboot-6.0.18</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">p9dsu: Undo slot label name changes</p>
+<li><p>p9dsu: Undo slot label name changes</p>
<p>During some code updates the slot labels were updated to reflect
the phb layout, however expectations were that the slot labels be
aligned with the riser card slots and not the system planar slots.</p>
@@ -71,13 +71,14 @@ at all. It also doesn’t help that <em>consistently</em> there is <em>never</em
any review on slot tables, and we’ve had things be wrong in the past.
Combine this with not upstream Hostboot patches.]</p>
</li>
-<li><p class="first">p9dsu: Fix slot labels for p9dsu2u</p>
+<li><p>p9dsu: Fix slot labels for p9dsu2u</p>
<p>Update the slot labels for the p9dsu2u tables.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -97,17 +98,15 @@ Combine this with not upstream Hostboot patches.]</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -124,14 +123,15 @@ Combine this with not upstream Hostboot patches.]</p>
<li class="right" >
<a href="skiboot-6.0.18.html" title="skiboot-6.0.18"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.19</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.2.html b/doc/release-notes/skiboot-6.0.2.html
index de73945..9fdee54 100644
--- a/doc/release-notes/skiboot-6.0.2.html
+++ b/doc/release-notes/skiboot-6.0.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.19.html" title="skiboot-6.0.19"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.2</a></li>
</ul>
</div>
@@ -45,14 +45,14 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-2">
+ <section id="skiboot-6-0-2">
<span id="id1"></span><h1>skiboot-6.0.2<a class="headerlink" href="#skiboot-6-0-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.2 was released on Friday May 18th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.1.html#skiboot-6-0-1"><span class="std std-ref">skiboot-6.0.1</span></a> as the current stable release in the 6.0.x series.</p>
<p>It is recommended that 6.0.2 be used instead of any previous 6.0.x version.</p>
<p>Over <a class="reference internal" href="skiboot-6.0.1.html#skiboot-6-0-1"><span class="std std-ref">skiboot-6.0.1</span></a>, we one bug fix:</p>
<ul>
-<li><p class="first">cpu: Clear PCR SPR in opal_reinit_cpus()</p>
+<li><p>cpu: Clear PCR SPR in opal_reinit_cpus()</p>
<p>Currently if Linux boots with a non-zero PCR, things can go bad where
some early userspace programs can take illegal instructions. This is
being fixed in Linux, but in the mean time, we should cleanup in
@@ -62,9 +62,10 @@ no boot devices showing up, but only in a situation where you’ve done
a kdump from a kernel running a p8 compat guest</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -84,17 +85,15 @@ a kdump from a kernel running a p8 compat guest</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -111,14 +110,15 @@ a kdump from a kernel running a p8 compat guest</p>
<li class="right" >
<a href="skiboot-6.0.19.html" title="skiboot-6.0.19"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.20.html b/doc/release-notes/skiboot-6.0.20.html
index 6604672..71b987b 100644
--- a/doc/release-notes/skiboot-6.0.20.html
+++ b/doc/release-notes/skiboot-6.0.20.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.20 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.20 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.2.html" title="skiboot-6.0.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.20</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-20">
+ <section id="skiboot-6-0-20">
<span id="id1"></span><h1>skiboot-6.0.20<a class="headerlink" href="#skiboot-6-0-20" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.20 was released on Thursday May 9th, 2019. It replaces
<a class="reference internal" href="skiboot-6.0.19.html#skiboot-6-0-19"><span class="std std-ref">skiboot-6.0.19</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">core/flash: Retry requests as necessary in flash_load_resource()</p>
+<li><p>core/flash: Retry requests as necessary in flash_load_resource()</p>
<p>We would like to successfully boot if we have a dependency on the BMC
for flash even if the BMC is not current ready to service flash
requests. On the assumption that it will become ready, retry for several
@@ -90,7 +90,7 @@ CPU 0040 Backtrace:
no delay for e.g. the host kernel, just for asynchronously loaded
resources during boot.</p>
</li>
-<li><p class="first">pci/iov: Remove skiboot VF tracking</p>
+<li><p>pci/iov: Remove skiboot VF tracking</p>
<p>This feature was added a few years ago in response to a request to make
the MaxPayloadSize (MPS) field of a Virtual Function match the MPS of the
Physical Function that hosts it.</p>
@@ -106,19 +106,19 @@ enabled and then disabled prior to rebooting. This patch fixes the bug by
removing the code entirely. This patch has no impact on SR-IOV support on
the host operating system.</p>
</li>
-<li><p class="first">hw/xscom: Enable sw xstop by default on p9</p>
+<li><p>hw/xscom: Enable sw xstop by default on p9</p>
<p>This was disabled at some point during bringup to make life easier for
the lab folks trying to debug NVLink issues. This hack really should
have never made it out into the wild though, so we now have the
following situation occuring in the field:</p>
<blockquote>
<div><ol class="arabic simple">
-<li>A bad happens</li>
-<li>The host kernel recieves an unrecoverable HMI and calls into OPAL to
-request a platform reboot.</li>
-<li>OPAL rejects the reboot attempt and returns to the kernel with
-OPAL_PARAMETER.</li>
-<li>Kernel panics and attempts to kexec into a kdump kernel.</li>
+<li><p>A bad happens</p></li>
+<li><p>The host kernel recieves an unrecoverable HMI and calls into OPAL to
+request a platform reboot.</p></li>
+<li><p>OPAL rejects the reboot attempt and returns to the kernel with
+OPAL_PARAMETER.</p></li>
+<li><p>Kernel panics and attempts to kexec into a kdump kernel.</p></li>
</ol>
</div></blockquote>
<p>A side effect of the HMI seems to be CPUs becoming stuck which results
@@ -130,7 +130,7 @@ state as a side effect of the HMI.</p>
default. If people still want to turn it off they can using the nvram
override.</p>
</li>
-<li><p class="first">opal/hmi: Initialize the hmi event with old value of TFMR.</p>
+<li><p>opal/hmi: Initialize the hmi event with old value of TFMR.</p>
<p>Do this before we fix TFAC errors. Otherwise the event at host console
shows no thread error reported in TFMR register.</p>
<p>Without this patch the console event show TFMR with no thread error:
@@ -149,7 +149,7 @@ shows no thread error reported in TFMR register.</p>
</pre></div>
</div>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Fix blocks count issue</p>
+<li><p>libflash/ipmi-hiomap: Fix blocks count issue</p>
<p>We convert data size to block count and pass block count to BMC.
If data size is not block aligned then we endup sending block count
less than actual data. BMC will write partial data to flash memory.</p>
@@ -164,7 +164,7 @@ less than actual data. BMC will write partial data to flash memory.</p>
flush data to flash.</p>
<p>Lets fix this issue by adjusting block count before sending it to BMC.</p>
</li>
-<li><p class="first">Fix hang in pnv_platform_error_reboot path due to TOD failure.</p>
+<li><p>Fix hang in pnv_platform_error_reboot path due to TOD failure.</p>
<p>On TOD failure, with TB stuck, when linux heads down to
pnv_platform_error_reboot() path due to unrecoverable hmi event, the panic
cpu gets stuck in OPAL inside ipmi_queue_msg_sync(). At this time, rest
@@ -206,8 +206,8 @@ ipmi_queue_msg_sync() which keeps looping until “sync_msg” does not match
with “msg”. It loops over time_wait_ms() until exit condition is met. In
normal scenario time_wait_ms() calls run pollers so that ipmi backend gets
a chance to check ipmi response and set sync_msg to NULL.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">while</span> <span class="p">(</span><span class="n">sync_msg</span> <span class="o">==</span> <span class="n">msg</span><span class="p">)</span>
- <span class="n">time_wait_ms</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">sync_msg</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">msg</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="n">time_wait_ms</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>But in the event when TB is in failed state time_wait_ms()-&gt;time_wait_poll()
@@ -215,9 +215,8 @@ returns immediately without calling pollers and hence we end up looping
forever. This patch fixes this hang by calling opal_run_pollers() in TB
failed state as well.</p>
</li>
-<li><p class="first">core/ipmi: Print correct netfn value</p>
-</li>
-<li><p class="first">core/lock: don’t set bust_locks on lock error</p>
+<li><p>core/ipmi: Print correct netfn value</p></li>
+<li><p>core/lock: don’t set bust_locks on lock error</p>
<p>bust_locks is a big hammer that guarantees a mess if it’s set while
all other threads are not stopped.</p>
<p>I propose removing this in the lock error paths. In debugging the
@@ -233,9 +232,10 @@ difficult lock crashes are better not to corrupt everything by
busting locks.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -255,17 +255,15 @@ busting locks.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -282,14 +280,15 @@ busting locks.</p>
<li class="right" >
<a href="skiboot-6.0.2.html" title="skiboot-6.0.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.20</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.21.html b/doc/release-notes/skiboot-6.0.21.html
index 9619b72..069b8c1 100644
--- a/doc/release-notes/skiboot-6.0.21.html
+++ b/doc/release-notes/skiboot-6.0.21.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.21 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.21 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.20.html" title="skiboot-6.0.20"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.21</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-21">
+ <section id="skiboot-6-0-21">
<span id="id1"></span><h1>skiboot-6.0.21<a class="headerlink" href="#skiboot-6-0-21" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.21 was released on Tuesday Jan 7th, 2020. It replaces
<a class="reference internal" href="skiboot-6.0.20.html#skiboot-6-0-20"><span class="std std-ref">skiboot-6.0.20</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,11 +53,12 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>npu2/hw-procedures: Remove assertion from check_credits()</li>
+<li><p>npu2/hw-procedures: Remove assertion from check_credits()</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -77,17 +78,15 @@ due to the bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -104,14 +103,15 @@ due to the bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.0.20.html" title="skiboot-6.0.20"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.21</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.22.html b/doc/release-notes/skiboot-6.0.22.html
index c5ea486..46ea25d 100644
--- a/doc/release-notes/skiboot-6.0.22.html
+++ b/doc/release-notes/skiboot-6.0.22.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.22 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.22 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.21.html" title="skiboot-6.0.21"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.22</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-22">
+ <section id="skiboot-6-0-22">
<span id="id1"></span><h1>skiboot-6.0.22<a class="headerlink" href="#skiboot-6-0-22" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.22 was released on Friday March 27th, 2020. It replaces
<a class="reference internal" href="skiboot-6.0.21.html#skiboot-6-0-21"><span class="std std-ref">skiboot-6.0.21</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,14 +53,15 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>errorlog: Increase the severity of abnormal reboot events</li>
-<li>eSEL: Make sure PANIC logs are sent to BMC before calling assert</li>
-<li>core/ipmi: Fix use-after-free</li>
-<li>ipmi: ensure forward progress on ipmi_queue_msg_sync()</li>
+<li><p>errorlog: Increase the severity of abnormal reboot events</p></li>
+<li><p>eSEL: Make sure PANIC logs are sent to BMC before calling assert</p></li>
+<li><p>core/ipmi: Fix use-after-free</p></li>
+<li><p>ipmi: ensure forward progress on ipmi_queue_msg_sync()</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ due to the bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ due to the bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.0.21.html" title="skiboot-6.0.21"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.22</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.23.html b/doc/release-notes/skiboot-6.0.23.html
index 3fe4678..91e4ecb 100644
--- a/doc/release-notes/skiboot-6.0.23.html
+++ b/doc/release-notes/skiboot-6.0.23.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.23 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.23 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.22.html" title="skiboot-6.0.22"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.23</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-23">
+ <section id="skiboot-6-0-23">
<span id="id1"></span><h1>skiboot-6.0.23<a class="headerlink" href="#skiboot-6-0-23" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.23 was released on Tuesday April 7th, 2020. It replaces
<a class="reference internal" href="skiboot-6.0.22.html#skiboot-6-0-22"><span class="std std-ref">skiboot-6.0.22</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,12 +53,13 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>npu2: Clear fence on all bricks</li>
-<li>npu2: Clear fence state for a brick being reset</li>
+<li><p>npu2: Clear fence on all bricks</p></li>
+<li><p>npu2: Clear fence state for a brick being reset</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -78,17 +79,15 @@ due to the bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -105,14 +104,15 @@ due to the bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.0.22.html" title="skiboot-6.0.22"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.23</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.24.html b/doc/release-notes/skiboot-6.0.24.html
index 10b65ce..1764c40 100644
--- a/doc/release-notes/skiboot-6.0.24.html
+++ b/doc/release-notes/skiboot-6.0.24.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.24 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.24 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.23.html" title="skiboot-6.0.23"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.24</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-24">
+ <section id="skiboot-6-0-24">
<span id="id1"></span><h1>skiboot-6.0.24<a class="headerlink" href="#skiboot-6-0-24" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.24 was released on Wednesday September 29th, 2021. It replaces
<a class="reference internal" href="skiboot-6.0.23.html#skiboot-6-0-23"><span class="std std-ref">skiboot-6.0.23</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,14 +53,15 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>phb4: Disable TCE cache line buffer</li>
-<li>SBE: Check timer state before scheduling timer</li>
-<li>SBE: Rate limit timer requests</li>
-<li>SBE: Account cancelled timer request</li>
+<li><p>phb4: Disable TCE cache line buffer</p></li>
+<li><p>SBE: Check timer state before scheduling timer</p></li>
+<li><p>SBE: Rate limit timer requests</p></li>
+<li><p>SBE: Account cancelled timer request</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ due to the bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ due to the bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.0.23.html" title="skiboot-6.0.23"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.24</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.3.html b/doc/release-notes/skiboot-6.0.3.html
index 336fe65..d0af20a 100644
--- a/doc/release-notes/skiboot-6.0.3.html
+++ b/doc/release-notes/skiboot-6.0.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.24.html" title="skiboot-6.0.24"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-3">
+ <section id="skiboot-6-0-3">
<span id="id1"></span><h1>skiboot-6.0.3<a class="headerlink" href="#skiboot-6-0-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.3 was released on Wednesday May 23rd, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.2.html#skiboot-6-0-2"><span class="std std-ref">skiboot-6.0.2</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
<p>Over <a class="reference internal" href="#skiboot-6-0-3"><span class="std std-ref">skiboot-6.0.3</span></a>, we have bug fixes related to i2c booting in
secure mode, and general functionality with a TPM present. These changes are:</p>
<ul>
-<li><p class="first">p8-i2c: Remove force reset</p>
+<li><p>p8-i2c: Remove force reset</p>
<p>Force reset was added as an attempt to work around some issues with TPM
devices locking up their I2C bus. In that particular case the problem
was that the device would hold the SCL line down permanently due to a
@@ -68,22 +68,22 @@ by software. Without this force reset is impossible to implement.</p>
<p>This patch removes the force reset functionality entirely since:</p>
<blockquote>
<div><ol class="loweralpha simple">
-<li>it doesn’t do what it’s supposed to, and</li>
-<li>it’s butt ugly code</li>
+<li><p>it doesn’t do what it’s supposed to, and</p></li>
+<li><p>it’s butt ugly code</p></li>
</ol>
</div></blockquote>
<p>Additionally, turn p8_i2c_reset_engine() into p8_i2c_reset_port().
There’s no need to reset every port on a master in response to an
error that occurred on a specific port.</p>
</li>
-<li><p class="first">libstb/i2c-driver: Bump max timeout</p>
+<li><p>libstb/i2c-driver: Bump max timeout</p>
<p>We have observed some TPMs clock streching the I2C bus for signifigant
amounts of time when processing commands. The same TPMs also have
errata that can result in permernantly locking up a bus in response to
an I2C transaction they don’t understand. Using an excessively long
timeout to prevent this in the field.</p>
</li>
-<li><p class="first">Add TPM timeout workaround</p>
+<li><p>Add TPM timeout workaround</p>
<p>Set the default timeout for any bus containing a TPM to one second. This
is needed to work around a bug in the firmware of certain TPMs that will
clock strech the I2C port the for up to a second. Additionally, when the
@@ -92,9 +92,10 @@ bricking itself. Clearing this error requires a hard power cycle of the
system since the TPM is powered by standby power.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -114,17 +115,15 @@ system since the TPM is powered by standby power.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -141,14 +140,15 @@ system since the TPM is powered by standby power.</p>
<li class="right" >
<a href="skiboot-6.0.24.html" title="skiboot-6.0.24"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.4.html b/doc/release-notes/skiboot-6.0.4.html
index 89eede7..246000b 100644
--- a/doc/release-notes/skiboot-6.0.4.html
+++ b/doc/release-notes/skiboot-6.0.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.3.html" title="skiboot-6.0.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-4">
+ <section id="skiboot-6-0-4">
<span id="id1"></span><h1>skiboot-6.0.4<a class="headerlink" href="#skiboot-6-0-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.4 was released on Monday May 28th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.3.html#skiboot-6-0-3"><span class="std std-ref">skiboot-6.0.3</span></a> as the current stable release in the 6.0.x series.</p>
@@ -54,7 +54,7 @@
(especially in HPC environments), and one is an opal-prd fix.</p>
<p>Changes are:</p>
<ul>
-<li><p class="first">SLW: Remove stop1_lite and stop2_lite</p>
+<li><p>SLW: Remove stop1_lite and stop2_lite</p>
<p>stop1_lite has been removed since it adds no additional benefit
over stop0_lite. stop2_lite has been removed since currently it adds
minimal benefit over stop2. However, the benefit is eclipsed by the time
@@ -67,7 +67,7 @@ we expose to the OS, the idea being to bring them back in a new
DT representation so that only an OS that knows what to do will
do things with them.</p>
</li>
-<li><p class="first">opal-prd: Do not error out on first failure for soft/hard offline.</p>
+<li><p>opal-prd: Do not error out on first failure for soft/hard offline.</p>
<p>The memory errors (CEs and UEs) that are detected as part of background
memory scrubbing are reported by PRD asynchronously to opal-prd along with
affected memory ranges. hservice_memory_error() converts these ranges into
@@ -77,9 +77,9 @@ infrastructure.</p>
all the pages to soft/hard offline-ing if any of the page offline action
fails. e.g hard offline can fail for:</p>
<ul class="simple">
-<li>Pages that are not part of buddy managed pool.</li>
-<li>Pages that are reserved by kernel using memblock_reserved()</li>
-<li>Pages that are in use by kernel.</li>
+<li><p>Pages that are not part of buddy managed pool.</p></li>
+<li><p>Pages that are reserved by kernel using memblock_reserved()</p></li>
+<li><p>Pages that are in use by kernel.</p></li>
</ul>
<p>But for the pages that are in use by user space application, the hard
offline marks the page as hwpoison, sends SIGBUS signal to kill the
@@ -90,9 +90,10 @@ opportunity to hwpoison the subsequent pages which may be free or in use by
application. This patch fixes this issue.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -112,17 +113,15 @@ application. This patch fixes this issue.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -139,14 +138,15 @@ application. This patch fixes this issue.</p>
<li class="right" >
<a href="skiboot-6.0.3.html" title="skiboot-6.0.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.5.html b/doc/release-notes/skiboot-6.0.5.html
index ff69aab..9413ec7 100644
--- a/doc/release-notes/skiboot-6.0.5.html
+++ b/doc/release-notes/skiboot-6.0.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.4.html" title="skiboot-6.0.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.5</a></li>
</ul>
</div>
@@ -45,32 +45,32 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-5">
+ <section id="skiboot-6-0-5">
<span id="id1"></span><h1>skiboot-6.0.5<a class="headerlink" href="#skiboot-6-0-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.5 was released on Wednesday July 11th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.4.html#skiboot-6-0-4"><span class="std std-ref">skiboot-6.0.4</span></a> as the current stable release in the 6.0.x series.</p>
<p>It is recommended that 6.0.5 be used instead of any previous 6.0.x version.</p>
<p>Over <a class="reference internal" href="skiboot-6.0.4.html#skiboot-6-0-4"><span class="std std-ref">skiboot-6.0.4</span></a> we have several bug fixes, including important ones
for NVLINK2 and NX.</p>
-<div class="section" id="pci-phb4">
+<section id="pci-phb4">
<h2>PCI/PHB4<a class="headerlink" href="#pci-phb4" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">phb4: Delay training till after PERST is deasserted</p>
+<li><p>phb4: Delay training till after PERST is deasserted</p>
<p>This helps some cards train on the second PERST (ie fast-reboot). The
reason is not clear why but it helps, so YOLO!</p>
</li>
-<li><p class="first">pci: Fix PCI_DEVICE_ID()</p>
+<li><p>pci: Fix PCI_DEVICE_ID()</p>
<p>The vendor ID is 16 bits not 8. This error leaves the top of the vendor
ID in the bottom bits of the device ID, which resulted in e.g. a failure
to run the PCI quirk for the AST VGA device.</p>
<p>Fixes: 2b841bf0ef1b (present in v5.7-rc1)</p>
</li>
</ul>
-</div>
-<div class="section" id="phb4-capi">
+</section>
+<section id="phb4-capi">
<h2>PHB4/CAPI<a class="headerlink" href="#phb4-capi" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">phb4/capp: Calculate STQ/DMA read engines based on link-width for PEC</p>
+<li><p>phb4/capp: Calculate STQ/DMA read engines based on link-width for PEC</p>
<p>Presently in CAPI mode the number of STQ/DMA-read engines allocated on
PEC2 for CAPP is fixed to 6 and 0-30 respectively irrespective of the
PCI link width. These values are only suitable for x8 cards and
@@ -81,30 +81,30 @@ getting stalled due to insufficient STQs.</p>
in x16 mode and if yes then we allocate 4/0-47 STQ/DMA-read engines
for the CAPP traffic.</p>
</li>
-<li><p class="first">capi: Select the correct IODA table entry for the mbt cache.</p>
+<li><p>capi: Select the correct IODA table entry for the mbt cache.</p>
<p>With the current code, the capi mmio window is not correctly configured
in the IODA table entry. The first entry (generally the non-prefetchable
BAR) is overwrriten.
This patch sets the capi window bar at the right place.</p>
</li>
</ul>
-</div>
-<div class="section" id="sensors">
+</section>
+<section id="sensors">
<h2>Sensors<a class="headerlink" href="#sensors" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">occ: sensors: Fix the size of the phandle array ‘sensors’ in DT</p>
+<li><p>occ: sensors: Fix the size of the phandle array ‘sensors’ in DT</p>
<p>Fixes: 99505c03f493 (present in v5.10-rc4)</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2-nvlink2">
+</section>
+<section id="npu2-nvlink2">
<h2>NPU2/NVLINK2<a class="headerlink" href="#npu2-nvlink2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2/hw-procedures: Fence bricks via NTL instead of MISC</p>
+<li><p>npu2/hw-procedures: Fence bricks via NTL instead of MISC</p>
<p>There are a couple of places we can set/unset fence for a brick:</p>
<ol class="arabic simple">
-<li>MISC register: NPU2_MISC_FENCE_STATE</li>
-<li>NTL register for the brick: NPU2_NTL_MISC_CFG1(ndev)</li>
+<li><p>MISC register: NPU2_MISC_FENCE_STATE</p></li>
+<li><p>NTL register for the brick: NPU2_NTL_MISC_CFG1(ndev)</p></li>
</ol>
<p>Recent testing of ATS in combination with GPU reset has exposed a side
effect of using (1); if fence is set for all six bricks, it triggers a
@@ -115,7 +115,7 @@ Replace the call which sets fence with a write to (2). Remove the
corresponding unset call entirely. It’s unneeded because the procedures
already do a progression from full fence to half to idle using (2).</p>
</li>
-<li><p class="first">opal/hmi: Display correct chip id while printing NPU FIRs.</p>
+<li><p>opal/hmi: Display correct chip id while printing NPU FIRs.</p>
<p>HMIs for NPU xstops are broadcasted to all chips. All cores on all the
chips receive HMI. HMI handler correctly identifies and extracts the
NPU FIR details from affected chip, but while printing FIR data it
@@ -124,26 +124,26 @@ may not be correct. This patch fixes this issue.</p>
<p>Fixes: 7bcbc78c (present in v6.0.1)</p>
</li>
</ul>
-</div>
-<div class="section" id="vpd">
+</section>
+<section id="vpd">
<h2>VPD<a class="headerlink" href="#vpd" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">vpd: Add vendor property to processor node</p>
+<li><p>vpd: Add vendor property to processor node</p>
<p>Processor FRU vpd doesn’t contain vendor detail. We have to parse
module VPD to get vendor detail.</p>
</li>
-<li><p class="first">vpd: Sanitize VPD data</p>
+<li><p>vpd: Sanitize VPD data</p>
<p>On OpenPower system, VPD keyword size tells us the maximum size of the data.
But they fill trailing end with space (0x20) instead of NULL. Also spec
doesn’t stop user to have space (0x20) within actual data.</p>
<p>This patch discards trailing spaces before populating device tree.</p>
</li>
</ul>
-</div>
-<div class="section" id="nx-vas-for-power9">
+</section>
+<section id="nx-vas-for-power9">
<h2>NX/VAS for POWER9<a class="headerlink" href="#nx-vas-for-power9" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">NX: Add NX coprocessor init opal call</p>
+<li><p>NX: Add NX coprocessor init opal call</p>
<p>The read offset (4:11) in Receive FIFO control register is incremented
by FIFO size whenever CRB read by NX. But the index in RxFIFO has to
match with the corresponding entry in FIFO maintained by VAS in kernel.
@@ -156,10 +156,11 @@ readOffset (4:11) and Queued (15:23) in RxFIFO control register.</p>
<p>Fixes: 3b3c5962f432 (present in v5.8-rc1)</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -192,17 +193,15 @@ readOffset (4:11) and Queued (15:23) in RxFIFO control register.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -219,14 +218,15 @@ readOffset (4:11) and Queued (15:23) in RxFIFO control register.</p>
<li class="right" >
<a href="skiboot-6.0.4.html" title="skiboot-6.0.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.6.html b/doc/release-notes/skiboot-6.0.6.html
index 21f4974..6168ff4 100644
--- a/doc/release-notes/skiboot-6.0.6.html
+++ b/doc/release-notes/skiboot-6.0.6.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.6 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.6 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.5.html" title="skiboot-6.0.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.6</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-6">
+ <section id="skiboot-6-0-6">
<span id="id1"></span><h1>skiboot-6.0.6<a class="headerlink" href="#skiboot-6-0-6" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.6 was released on Thursday July 19th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.5.html#skiboot-6-0-5"><span class="std std-ref">skiboot-6.0.5</span></a> as the current stable release in the 6.0.x series.</p>
@@ -55,7 +55,7 @@ being used.</p>
<p>Over <a class="reference internal" href="skiboot-6.0.5.html#skiboot-6-0-5"><span class="std std-ref">skiboot-6.0.5</span></a> we have several important performance related bug
fixes and one stability bug fix:</p>
<ul>
-<li><p class="first">phb4/CAPI: Reallocate PEC2 DMA-Read engines to improve GPU-Direct bandwidth</p>
+<li><p>phb4/CAPI: Reallocate PEC2 DMA-Read engines to improve GPU-Direct bandwidth</p>
<p>We reallocate additional 16/8 DMA-Read engines allocated to stack0/1
on PEC2 respectively. This is needed to improve bandwidth available to
the Mellanox CX5 adapter when trying to read GPU memory (GPU-Direct).</p>
@@ -67,7 +67,7 @@ respectively on PEC2. This is done by populating the
XPEC_PCI_PRDSTKOVR and XPEC_NEST_READ_STACK_OVERRIDE as suggested by
the h/w team.</p>
</li>
-<li><p class="first">phb4: Disable nodal scoped DMA accesses when PB pump mode is enabled</p>
+<li><p>phb4: Disable nodal scoped DMA accesses when PB pump mode is enabled</p>
<p>By default when a PCIe device issues a read request via the PHB it is first
issued with nodal scope. When accessing GPU memory the NPU does not know at the
time of response if the requested memory page is off node or not. Therefore
@@ -81,16 +81,17 @@ treated differently. Therefore we avoid disabling nodal scope on large boxes
which have pump mode disabled to avoid all PHB requests being broadcast to
multiple chips.</p>
</li>
-<li><p class="first">npu2/hw-procedures: Enable parity and credit overflow checks</p>
+<li><p>npu2/hw-procedures: Enable parity and credit overflow checks</p>
<p>Enable these error checking features by setting the appropriate bits in
our one-off initialization of each “NTL Misc Config 2” register.</p>
<p>The exception is NDL RX parity checking, which should be disabled during
the link training procedures.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -110,17 +111,15 @@ the link training procedures.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -137,14 +136,15 @@ the link training procedures.</p>
<li class="right" >
<a href="skiboot-6.0.5.html" title="skiboot-6.0.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.6</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.7.html b/doc/release-notes/skiboot-6.0.7.html
index 30679b3..d47067b 100644
--- a/doc/release-notes/skiboot-6.0.7.html
+++ b/doc/release-notes/skiboot-6.0.7.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.7 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.7 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.6.html" title="skiboot-6.0.6"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.7</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-7">
+ <section id="skiboot-6-0-7">
<span id="id1"></span><h1>skiboot-6.0.7<a class="headerlink" href="#skiboot-6-0-7" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.7 was released on Friday August 3rd, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.6.html#skiboot-6-0-6"><span class="std std-ref">skiboot-6.0.6</span></a> as the current stable release in the 6.0.x series.</p>
@@ -54,15 +54,16 @@ due to it containing a workaround for hardware errata in the XIVE interrupt
controller (present on POWER9 systems).</p>
<p>The bug fix is:</p>
<ul>
-<li><p class="first">xive: Disable block tracker</p>
+<li><p>xive: Disable block tracker</p>
<p>Due to some HW errata, the block tracking facility (performance optimisation
for large systems) should be disabled on Nimbus chips. Disable it unconditionally
for now.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -82,17 +83,15 @@ for now.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -109,14 +108,15 @@ for now.</p>
<li class="right" >
<a href="skiboot-6.0.6.html" title="skiboot-6.0.6"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.7</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.8.html b/doc/release-notes/skiboot-6.0.8.html
index 61bda3c..6d150fb 100644
--- a/doc/release-notes/skiboot-6.0.8.html
+++ b/doc/release-notes/skiboot-6.0.8.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.8 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.8 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.7.html" title="skiboot-6.0.7"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.8</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-8">
+ <section id="skiboot-6-0-8">
<span id="id1"></span><h1>skiboot-6.0.8<a class="headerlink" href="#skiboot-6-0-8" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.8 was released on Thursday August 16th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.7.html#skiboot-6-0-7"><span class="std std-ref">skiboot-6.0.7</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>The bug fixes are:</p>
<ul>
-<li><p class="first">i2c: Ensure ordering between i2c_request_send() and completion</p>
+<li><p>i2c: Ensure ordering between i2c_request_send() and completion</p>
<p>i2c_request_send loops waiting for a flag “uc.done” set by
the completion routine, and then look for a result code
also set by that same completion.</p>
@@ -62,13 +62,13 @@ processor, so we need to order the stores to uc and the reads
from uc so that uc.done is stored last and tested first using
memory barriers.</p>
</li>
-<li><p class="first">i2c: Fix multiple-enqueue of the same request on NACK</p>
+<li><p>i2c: Fix multiple-enqueue of the same request on NACK</p>
<p>i2c_request_send() will retry the request if the error is a NAK,
however it forgets to clear the “ud.done” flag. It will thus
loop again and try to re-enqueue the same request causing internal
request list corruption.</p>
</li>
-<li><p class="first">phb4: Disable 32-bit MSI in capi mode</p>
+<li><p>phb4: Disable 32-bit MSI in capi mode</p>
<p>If a capi device does a DMA write targeting an address lower than 4GB,
it does so through a 32-bit operation, per the PCI spec. In capi mode,
the first TVE entry is configured in bypass mode, so the address is
@@ -80,7 +80,7 @@ interpret the DMA write as a MSI, which very likely results in an EEH
<p>We can fix it by disabling 32-bit MSI when switching the PHB to capi
mode. Capi devices are 64-bit.</p>
</li>
-<li><p class="first">capp: Fix the capp recovery timeout comparison</p>
+<li><p>capp: Fix the capp recovery timeout comparison</p>
<p>The current capp recovery timeout control loop in
do_capp_recovery_scoms() uses a wrong comparison for return value of
tb_compare(). This may cause do_capp_recovery_scoms() to report an
@@ -88,7 +88,7 @@ timeout earlier than the 168ms stipulated time.</p>
<p>The patch fixes this by updating the loop timeout control branch in
do_capp_recovery_scoms() to use the correct enum tb_cmpval.</p>
</li>
-<li><p class="first">phb4/capp: Update DMA read engines set in APC_FSM_READ_MASK based on link-width</p>
+<li><p>phb4/capp: Update DMA read engines set in APC_FSM_READ_MASK based on link-width</p>
<p>Commit 47c09cdfe7a3(“phb4/capp: Calculate STQ/DMA read engines based
on link-width for PEC”) update the CAPP init sequence by calculating
the needed STQ/DMA-read engines based on link width and populating it
@@ -98,12 +98,12 @@ with the value set in CAPP APC FSM Read Machine Mask Register.</p>
width of the stack on PEC2 and populate the same values as previously
populated in PEC CAPP_CNTL register.</p>
</li>
-<li><p class="first">core/cpu: Call memset with proper cpu_thread offset</p>
-</li>
+<li><p>core/cpu: Call memset with proper cpu_thread offset</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -123,17 +123,15 @@ populated in PEC CAPP_CNTL register.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -150,14 +148,15 @@ populated in PEC CAPP_CNTL register.</p>
<li class="right" >
<a href="skiboot-6.0.7.html" title="skiboot-6.0.7"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.8</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.9.html b/doc/release-notes/skiboot-6.0.9.html
index ee1850b..b40f54c 100644
--- a/doc/release-notes/skiboot-6.0.9.html
+++ b/doc/release-notes/skiboot-6.0.9.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0.9 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0.9 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.8.html" title="skiboot-6.0.8"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.9</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0-9">
+ <section id="skiboot-6-0-9">
<span id="id1"></span><h1>skiboot-6.0.9<a class="headerlink" href="#skiboot-6-0-9" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.0.9 was released on Friday October 12th, 2018. It replaces
<a class="reference internal" href="skiboot-6.0.8.html#skiboot-6-0-8"><span class="std std-ref">skiboot-6.0.8</span></a> as the current stable release in the 6.0.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>The bug fixes are:</p>
<ul>
-<li><p class="first">opal/hmi: Ignore debug trigger inject core FIR.</p>
+<li><p>opal/hmi: Ignore debug trigger inject core FIR.</p>
<p>Core FIR[60] is a side effect of the work around for the CI Vector Load
issue in DD2.1. Usually this gets delivered as HMI with HMER[17] where
Linux already ignores it. But it looks like in some cases we may happen
@@ -61,7 +61,7 @@ to see CORE_FIR[60] while we are already in Malfunction Alert HMI
(HMER[0]) due to other reasons e.g. CAPI recovery or NPU xstop. If that
happens then just ignore it instead of crashing kernel as not recoverable.</p>
</li>
-<li><p class="first">opal/hmi: Handle early HMIs on thread0 when secondaries are still in OPAL.</p>
+<li><p>opal/hmi: Handle early HMIs on thread0 when secondaries are still in OPAL.</p>
<p>When primary thread receives a CORE level HMI for timer facility errors
while secondaries are still in OPAL, thread 0 ends up in rendez-vous
waiting for secondaries to get into hmi handling. This is because OPAL
@@ -109,39 +109,38 @@ this very eary stage we already doomed.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/bt.c: quieten all the noisy BT/IPMI messages</p>
-</li>
-<li><p class="first">npu2: Use correct kill type for TCE invalidation</p>
+<li><p>hw/bt.c: quieten all the noisy BT/IPMI messages</p></li>
+<li><p>npu2: Use correct kill type for TCE invalidation</p>
<p>kill_type is enum of OPAL_PCI_TCE_KILL_PAGES, OPAL_PCI_TCE_KILL_PE,
OPAL_PCI_TCE_KILL_ALL and phb4_tce_kill() gets it right but
npu2_tce_kill() uses OPAL_PCI_TCE_KILL which is an OPAL API token.</p>
</li>
-<li><p class="first">hw/npu2-opencapi: Fix setting of supported OpenCAPI templates</p>
+<li><p>hw/npu2-opencapi: Fix setting of supported OpenCAPI templates</p>
<p>In opal_npu_tl_set(), we made a typo that means the OPAL_NPU_TL_SET call
may not clear the enable bits for templates that were previously enabled
but are now disabled.</p>
<p>Fix the typo so we clear NPU2_OTL_CONFIG1_TX_TEMP2_EN as well as
TEMP{1,3}_EN.</p>
</li>
-<li><p class="first">phb4: Workaround PHB errata with CFG write UR/CA errors</p>
+<li><p>phb4: Workaround PHB errata with CFG write UR/CA errors</p>
<p>If the PHB encounters a UR or CA status on a CFG write, it will
incorrectly freeze the wrong PE. Instead of using the PE# specified
in the CONFIG_ADDRESS register, it will use the PE# of whatever
MMIO occurred last.</p>
<p>Work around this disabling freeze on such errors</p>
</li>
-<li><p class="first">phb4: Handle allocation errors in phb4_eeh_dump_regs()</p>
+<li><p>phb4: Handle allocation errors in phb4_eeh_dump_regs()</p>
<p>If the zalloc fails (and it can be a rather large allocation),
we will overwite memory at 0 instead of failing.</p>
</li>
-<li><p class="first">phb4: Don’t try to access non-existent PEST entries</p>
+<li><p>phb4: Don’t try to access non-existent PEST entries</p>
<p>In a POWER9 chip, some PHB4s have 256 PEs, some have 512.</p>
<p>Currently, the diagnostics code retrieves 512 unconditionally,
which is wrong and causes us to incorrectly report bogus values
for the “high” PEs on the small PHBs.</p>
<p>Use the actual number of implemented PEs instead</p>
</li>
-<li><p class="first">phb4: Don’t probe a PHB if its garded</p>
+<li><p>phb4: Don’t probe a PHB if its garded</p>
<p>Presently phb4_probe_stack() causes an exception while trying to probe
a PHB if its garded. This causes skiboot to go into a reboot loop with
following exception log:</p>
@@ -167,9 +166,10 @@ populate the PHB Bar register fails, which indicates that there is
something wrong with the PHB.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -189,17 +189,15 @@ something wrong with the PHB.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -216,14 +214,15 @@ something wrong with the PHB.</p>
<li class="right" >
<a href="skiboot-6.0.8.html" title="skiboot-6.0.8"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0.9</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.0.html b/doc/release-notes/skiboot-6.0.html
index 6f7f7d8..fba9b3b 100644
--- a/doc/release-notes/skiboot-6.0.html
+++ b/doc/release-notes/skiboot-6.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-5.9.9.html" title="skiboot-5.9.9"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-0">
+ <section id="skiboot-6-0">
<span id="id1"></span><h1>skiboot-6.0<a class="headerlink" href="#skiboot-6-0" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.0 was released on Friday May 11th 2018. It is the first
release of skiboot 6.0, which is the new stable release of skiboot
@@ -58,11 +58,11 @@ stable releases). We do <em>not</em> expect any further stable releases in the
5.10.x series, nor in the 5.11.x series.</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over skiboot-5.11, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>Since 6.0-rc1:</p>
<ul>
-<li><p class="first">Update default stop-state-disable mask to cut only stop11</p>
+<li><p>Update default stop-state-disable mask to cut only stop11</p>
<p>Stability improvements in microcode for stop4/stop5 are
available in upstream hcode images. Stop4 and stop5 can
be safely enabled by default.</p>
@@ -76,12 +76,12 @@ are any issues with stop4/5.</p>
run a hcode image <em>different</em> than the default in op-build (set
<cite>BR2_HCODE_LATEST_VERSION=y</cite> in your config)</p>
</li>
-<li><p class="first">ibm,firmware-versions: add hcode to device tree</p>
+<li><p>ibm,firmware-versions: add hcode to device tree</p>
<p>op-build commit 736a08b996e292a449c4996edb264011dfe56a40
added hcode to the VERSION partition, let’s parse it out
and let the user know.</p>
</li>
-<li><p class="first">ipmi: Add BMC firmware version to device tree</p>
+<li><p>ipmi: Add BMC firmware version to device tree</p>
<p>BMC Get device ID command gives BMC firmware version details. Lets add this
to device tree. User space tools will use this information to display BMC
version details.</p>
@@ -89,7 +89,7 @@ version details.</p>
</ul>
<p>Since 5.11:</p>
<ul>
-<li><p class="first">Disable stop states from OPAL</p>
+<li><p>Disable stop states from OPAL</p>
<p>On ZZ, stop4,5,11 are enabled for PowerVM, even though doing
so may cause problems with OPAL due to bugs in hcode.</p>
<p>For other platforms, this isn’t so much of an issue as
@@ -105,87 +105,84 @@ from being problematic.</p>
</div>
<p>This nvram override will disable <em>all</em> stop states.</p>
</li>
-<li><p class="first">interrupts: Create an “interrupts” property in the OPAL node</p>
+<li><p>interrupts: Create an “interrupts” property in the OPAL node</p>
<p>Deprecate the old “opal-interrupts”, it’s still there, but the new
property follows the standard and allow us to specify whether an
interrupt is level or edge sensitive.</p>
<p>Similarly create “interrupt-names” whose content is identical to
“opal-interrupts-names”.</p>
</li>
-<li><p class="first">SBE: Add timer support on POWER9</p>
+<li><p>SBE: Add timer support on POWER9</p>
<p>SBE on P9 provides one shot programmable timer facility. We can use this
to implement OPAL timers and hence limit the reliance on the Linux
heartbeat (similar to HW timer facility provided by SLW on P8).</p>
</li>
-<li><p class="first">Add SBE driver support</p>
+<li><p>Add SBE driver support</p>
<p>SBE (Self Boot Engine) on P9 has two different jobs:
- Boot the chip up to the point the core is functional
- Provide various services like timer, scom, stash MPIPL, etc., at runtime</p>
<p>We will use SBE for various purposes like timer, MPIPL, etc.</p>
</li>
-<li><p class="first">opal:hmi: Add missing processor recovery reason string.</p>
+<li><p>opal:hmi: Add missing processor recovery reason string.</p>
<p>With this patch now we see reason string printed for CORE_WOF[43] bit.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">477.352234986</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">U78D3</span><span class="o">.</span><span class="mf">001.</span><span class="n">WZS004A</span><span class="o">-</span><span class="n">P1</span><span class="o">-</span><span class="n">C48</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">8</span> <span class="n">C</span><span class="p">:</span><span class="mi">22</span> <span class="n">T</span><span class="p">:</span><span class="mi">3</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">occurred</span><span class="o">.</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">477.352234986</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="p">[</span><span class="n">Loc</span><span class="p">:</span> <span class="n">U78D3</span><span class="mf">.001</span><span class="o">.</span><span class="n">WZS004A</span><span class="o">-</span><span class="n">P1</span><span class="o">-</span><span class="n">C48</span><span class="p">]:</span> <span class="n">P</span><span class="p">:</span><span class="mi">8</span> <span class="n">C</span><span class="p">:</span><span class="mi">22</span> <span class="n">T</span><span class="p">:</span><span class="mi">3</span><span class="p">:</span> <span class="n">Processor</span> <span class="n">recovery</span> <span class="n">occurred</span><span class="o">.</span>
<span class="p">[</span> <span class="mf">477.352240742</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">Core</span> <span class="n">WOF</span> <span class="o">=</span> <span class="mh">0x0000000000100000</span> <span class="n">recovered</span> <span class="n">error</span><span class="p">:</span>
<span class="p">[</span> <span class="mf">477.352242181</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">HMI</span><span class="p">:</span> <span class="n">PC</span> <span class="o">-</span> <span class="n">Thread</span> <span class="n">hang</span> <span class="n">recovery</span>
</pre></div>
</div>
</li>
-<li><p class="first">Add DIMM actual speed to device tree</p>
+<li><p>Add DIMM actual speed to device tree</p>
<p>Recent HDAT provides DIMM actuall speed. Lets add this to device tree.</p>
</li>
-<li><p class="first">Fix DIMM size property</p>
+<li><p>Fix DIMM size property</p>
<p>Today we parse vpd blob to get DIMM size information. This is limited
to FSP based system. HDAT provides DIMM size value. Lets use that to
populate device tree. So that we can get size information on BMC based
system as well.</p>
</li>
-<li><p class="first">PCI: Set slot power limit when supported</p>
+<li><p>PCI: Set slot power limit when supported</p>
<p>The PCIe slot capability can be implemented in a root or switch
downstream port to set the maximum power a card is allowed to draw
from the system. This patch adds support for setting the power limit
when the platform has defined one.</p>
</li>
-<li><p class="first">hdata/spira: parse vpd to add part-number and serial-number to xscom&#64; node</p>
+<li><p>hdata/spira: parse vpd to add part-number and serial-number to xscom&#64; node</p>
<p>Expected by FWTS and associates our processor with the part/serial
number, which is obviously a good thing for one’s own sanity.</p>
</li>
</ul>
-<div class="section" id="improved-hmi-handling">
+<section id="improved-hmi-handling">
<h3>Improved HMI Handling<a class="headerlink" href="#improved-hmi-handling" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">opal/hmi: Add documentation for opal_handle_hmi2 call</p>
-</li>
-<li><p class="first">opal/hmi: Generate hmi event for recovered HDEC parity error.</p>
-</li>
-<li><p class="first">opal/hmi: check thread 0 tfmr to validate latched tfmr errors.</p>
+<li><p>opal/hmi: Add documentation for opal_handle_hmi2 call</p></li>
+<li><p>opal/hmi: Generate hmi event for recovered HDEC parity error.</p></li>
+<li><p>opal/hmi: check thread 0 tfmr to validate latched tfmr errors.</p>
<p>Due to P9 errata, HDEC parity and TB residue errors are latched for
non-zero threads 1-3 even if they are cleared. But these are not
latched on thread 0. Hence, use xscom SCOMC/SCOMD to read thread 0 tfmr
value and ignore them on non-zero threads if they are not present on
thread 0.</p>
</li>
-<li><p class="first">opal/hmi: Print additional debug information in rendezvous.</p>
-</li>
-<li><p class="first">opal/hmi: Fix handling of TFMR parity/corrupt error.</p>
+<li><p>opal/hmi: Print additional debug information in rendezvous.</p></li>
+<li><p>opal/hmi: Fix handling of TFMR parity/corrupt error.</p>
<p>While testing TFMR parity/corrupt error it has been observed that HMIs are
delivered twice for this error</p>
<blockquote>
<div><ul class="simple">
-<li>First time HMI is delivered with HMER[4,5]=1 and TFMR[60]=1.</li>
-<li>Second time HMI is delivered with HMER[4,5]=1 and TFMR[60]=0 with valid TB.</li>
+<li><p>First time HMI is delivered with HMER[4,5]=1 and TFMR[60]=1.</p></li>
+<li><p>Second time HMI is delivered with HMER[4,5]=1 and TFMR[60]=0 with valid TB.</p></li>
</ul>
</div></blockquote>
<p>On second HMI we end up throwing “HMI: TB invalid without core error
reported” even though TB is in a valid state.</p>
</li>
-<li><p class="first">opal/hmi: Stop flooding HMI event for TOD errors.</p>
+<li><p>opal/hmi: Stop flooding HMI event for TOD errors.</p>
<p>Fix the issue where every thread on the chip sends HMI event to host for
TOD errors. TOD errors are reported to all the core/threads on the chip.
Any one thread can fix the error and send event. Rest of the threads don’t
need to send HMI event unnecessarily.</p>
</li>
-<li><p class="first">opal/hmi: Fix soft lockups during TOD errors</p>
+<li><p>opal/hmi: Fix soft lockups during TOD errors</p>
<p>There are some TOD errors which do not affect working of TOD and TB. They
stay in valid state. Hence we don’t need rendez vous for TOD errors that
does not affect TB working.</p>
@@ -203,7 +200,7 @@ as a core-global error and hence avoiding rendez-vous path completely.
Instead threads that see TFMR[51]=1 will now take different path that
just do the TOD error recovery.</p>
</li>
-<li><p class="first">opal/hmi: Do not send HMI event if no errors are found.</p>
+<li><p>opal/hmi: Do not send HMI event if no errors are found.</p>
<p>For TOD errors, all the cores in the chip get HMIs. Any one thread from any
core can fix the issue and TFMR will have error conditions cleared. Rest of
the threads need take any action if TOD errors are already cleared. Hence
@@ -212,7 +209,7 @@ recovery path. Initialize recover = -1, so that if no errors found that
thread need not send a HMI event to linux. This helps in stop flooding host
with hmi event by every thread even there are no errors found.</p>
</li>
-<li><p class="first">opal/hmi: Initialize the hmi event with old value of HMER.</p>
+<li><p>opal/hmi: Initialize the hmi event with old value of HMER.</p>
<p>Do this before we check for TFAC errors. Otherwise the event at host console
shows no error reported in HMER register.</p>
<p>Without this patch the console event show HMER with all zeros</p>
@@ -230,40 +227,40 @@ shows no error reported in HMER register.</p>
</pre></div>
</div>
</li>
-<li><p class="first">opal/hmi: Rework HMI handling of TFAC errors</p>
+<li><p>opal/hmi: Rework HMI handling of TFAC errors</p>
<p>This patch reworks the HMI handling for TFAC errors by introducing
4 rendez-vous points improve the thread synchronization while handling
timebase errors that requires all thread to clear dirty data from TB/HDEC
register before clearing the errors.</p>
</li>
-<li><p class="first">opal/hmi: Don’t bother passing HMER to pre-recovery cleanup</p>
+<li><p>opal/hmi: Don’t bother passing HMER to pre-recovery cleanup</p>
<p>The test for TFAC error is now redundant so we remove it and
remove the HMER argument.</p>
</li>
-<li><p class="first">opal/hmi: Move timer related error handling to a separate function</p>
+<li><p>opal/hmi: Move timer related error handling to a separate function</p>
<p>Currently no functional change. This is a first step to completely
rewriting how these things are handled.</p>
</li>
-<li><p class="first">opal/hmi: Add a new opal_handle_hmi2 that returns direct info to Linux</p>
+<li><p>opal/hmi: Add a new opal_handle_hmi2 that returns direct info to Linux</p>
<p>It returns a 64-bit flags mask currently set to provide info
about which timer facilities were lost, and whether an event
was generated.</p>
</li>
-<li><p class="first">opal/hmi: Remove races in clearing HMER</p>
+<li><p>opal/hmi: Remove races in clearing HMER</p>
<p>Writing to HMER acts as an “AND”. The current code writes back the
value we originally read with the bits we handled cleared. This is
racy, if a new bit gets set in HW after the original read, we’ll end
up clearing it without handling it.</p>
<p>Instead, use an all 1’s mask with only the bit handled cleared.</p>
</li>
-<li><p class="first">opal/hmi: Don’t re-read HMER multiple times</p>
+<li><p>opal/hmi: Don’t re-read HMER multiple times</p>
<p>We want to make sure all reporting and actions are based
upon the same snapshot of HMER in case bits get added
by HW while we are in OPAL.</p>
</li>
</ul>
-</div>
-<div class="section" id="libflash-and-ffspart">
+</section>
+<section id="libflash-and-ffspart">
<h3>libflash and ffspart<a class="headerlink" href="#libflash-and-ffspart" title="Permalink to this headline">¶</a></h3>
<p>Many improvements to the <cite>ffspart</cite> utility and <cite>libflash</cite> have come
in this release, making <cite>ffspart</cite> suitable for building bit-identical
@@ -271,7 +268,7 @@ PNOR images as the existing tooling used by <cite>op-build</cite>. The plan is t
switch <cite>op-build</cite> to use this infrastructure in the not too distant
future.</p>
<ul>
-<li><p class="first">libflash/blocklevel: Make read/write be ECC agnostic for callers</p>
+<li><p>libflash/blocklevel: Make read/write be ECC agnostic for callers</p>
<p>The blocklevel abstraction allows for regions of the backing store to be
marked as ECC protected so that blocklevel can decode/encode the ECC
bytes into the buffer automatically without the caller having to be ECC
@@ -295,7 +292,7 @@ knows of the presence of ECC then it will deal with all cases.</p>
<p>This also commit removes code in the gard tool which compensated for
inadequacies no longer present in blocklevel.</p>
</li>
-<li><p class="first">libflash/blocklevel: Return region start from ecc_protected()</p>
+<li><p>libflash/blocklevel: Return region start from ecc_protected()</p>
<p>Currently all ecc_protected() does is say if a region is ECC protected
or not. Knowing a region is ECC protected is one thing but there isn’t
much that can be done afterwards if this is the only known fact. A lot
@@ -304,20 +301,18 @@ more can be done if the caller is told where the ECC region begins.</p>
read/and writes. This allows for more flexibility calling read and write
without knowing exactly how the backing store is organised.</p>
</li>
-<li><p class="first">libflash/ecc: Add helpers to align a position within an ecc buffer</p>
+<li><p>libflash/ecc: Add helpers to align a position within an ecc buffer</p>
<p>As part of ongoing work to make ECC invisible to higher levels up the
stack this function converts a ‘position’ which should be ECC agnostic
to the equivalent position within an ECC region starting at a specified
location.</p>
</li>
-<li><p class="first">libflash/ecc: Add functions to deal with unaligned ECC memcpy</p>
-</li>
-<li><p class="first">external/ffspart: Improve error output</p>
-</li>
-<li><p class="first">libffs: Fix bad checks for partition overlap</p>
+<li><p>libflash/ecc: Add functions to deal with unaligned ECC memcpy</p></li>
+<li><p>external/ffspart: Improve error output</p></li>
+<li><p>libffs: Fix bad checks for partition overlap</p>
<p>Not all TOCs are written at zero</p>
</li>
-<li><p class="first">libflash/libffs: Allow caller to specifiy header partition</p>
+<li><p>libflash/libffs: Allow caller to specifiy header partition</p>
<p>An FFS TOC is comprised of two parts. A small header which has a magic
and very minimmal information about the TOC which will be common to all
partitions, things like number of patritions, block sizes and the like.
@@ -335,7 +330,7 @@ for the ‘part’ partition.</p>
partition. The caller can not and libffs will provide a sensible
default.</p>
</li>
-<li><p class="first">libflash/libffs: Refcount ffs entries</p>
+<li><p>libflash/libffs: Refcount ffs entries</p>
<p>Currently consumers can add an new ffs entry to multiple headers, this
is fine but freeing any of the headers will cause the entry to be freed,
this causes double free problems.</p>
@@ -345,66 +340,62 @@ reference to the entry, which they may well reuse at some other point.</p>
references.</p>
<p>This patch also removes the pointless return value of ffs_hdr_free()</p>
</li>
-<li><p class="first">libflash/libffs: Switch to storing header entries in an array</p>
+<li><p>libflash/libffs: Switch to storing header entries in an array</p>
<p>Since the libffs no longer needs to sort the entries as they get added
it makes little sense to have the complexity of a linked list when an
array will suffice.</p>
</li>
-<li><p class="first">libflash/libffs: Remove backup partition from TOC generation code</p>
+<li><p>libflash/libffs: Remove backup partition from TOC generation code</p>
<p>It turns out this code was messy and not all that reliable. Doing it at
the library level adds complexity to the library and restrictions to the
caller.</p>
<p>A simpler approach can be achived with the just instantiating multiple
ffs_header structures pointing to different parts of the same file.</p>
</li>
-<li><p class="first">libflash/libffs: Remove the ‘sides’ from the FFS TOC generation code</p>
+<li><p>libflash/libffs: Remove the ‘sides’ from the FFS TOC generation code</p>
<p>It turns out this code was messy and not all that reliable. Doing it at
the library level adds complexity to the library and restrictions to the
caller.</p>
<p>A simpler approach can be achived with the just instantiating multiple
ffs_header structures pointing to different parts of the same file.</p>
</li>
-<li><p class="first">libflash/libffs: Always add entries to the end of the TOC</p>
+<li><p>libflash/libffs: Always add entries to the end of the TOC</p>
<p>It turns out that sorted order isn’t the best idea. This removes
flexibility from the caller. If the user wants their partitions in
sorted order, they should insert them in sorted order.</p>
</li>
-<li><p class="first">external/ffspart: Remove side, order and backup options</p>
+<li><p>external/ffspart: Remove side, order and backup options</p>
<p>These options are currently flakey in libflash/libffs so there isn’t
much point to being able to use them in ffspart.</p>
<p>Future reworks planned for libflash/libffs will render these options
redundant anyway.</p>
</li>
-<li><p class="first">libflash/libffs: ffs_close() should use ffs_hdr_free()</p>
-</li>
-<li><p class="first">libflash/libffs: Add setter for a partitions actual size</p>
-</li>
-<li><p class="first">pflash: Use ffs_entry_user_to_string() to standardise flag strings</p>
-</li>
-<li><p class="first">libffs: Standardise ffs partition flags</p>
+<li><p>libflash/libffs: ffs_close() should use ffs_hdr_free()</p></li>
+<li><p>libflash/libffs: Add setter for a partitions actual size</p></li>
+<li><p>pflash: Use ffs_entry_user_to_string() to standardise flag strings</p></li>
+<li><p>libffs: Standardise ffs partition flags</p>
<p>It seems we’ve developed a character respresentation for ffs partition
flags. Currently only pflash really prints them so it hasn’t been a
problem but now ffspart wants to read them in from user input.</p>
<p>It is important that what libffs reads and what pflash prints remain
consistent, we should move the code into libffs to avoid problems.</p>
</li>
-<li><p class="first">external/ffspart: Allow # comments in input file</p>
-</li>
+<li><p>external/ffspart: Allow # comments in input file</p></li>
</ul>
-</div>
-</div>
-<div class="section" id="p9dsu-platform-changes">
+</section>
+</section>
+<section id="p9dsu-platform-changes">
<h2>p9dsu Platform changes<a class="headerlink" href="#p9dsu-platform-changes" title="Permalink to this headline">¶</a></h2>
<p>The p9dsu platform from SuperMicro (also known as ‘Boston’) has received
a number of updates, and the patches once carried by SuperMicro are now
upstream.</p>
<p>Since 6.0-rc1:</p>
<ul class="simple">
-<li>p9dsu: timeout for variant detection, default to 2uess</li>
+<li><p>p9dsu: timeout for variant detection, default to 2uess</p></li>
</ul>
<p>Since 5.11:</p>
<ul>
-<li><p class="first">p9dsu: detect p9dsu variant even when hostboot doesn’t tell us</p>
+<li><p>p9dsu: detect p9dsu variant even when hostboot doesn’t tell us</p>
<p>The SuperMicro BMC can tell us what riser type we have, which dictates
the PCI slot tables. Usually, in an environment that a customer would
experience, Hostboot will do the query with an SMC specific patch
@@ -416,25 +407,21 @@ ourselves and setting the slot table appropriately. We do this
syncronously in platform init so that we don’t start probing
PCI before we setup the slot table.</p>
</li>
-<li><p class="first">p9dsu: add slot power limit.</p>
-</li>
-<li><p class="first">p9dsu: add pci slot table for Boston LC 1U/2U and Boston LA/ESS.</p>
-</li>
-<li><p class="first">p9dsu HACK: fix system-vpd eeprom</p>
-</li>
-<li><p class="first">p9dsu: change esel command from AMI to IBM 0x3a.</p>
-</li>
+<li><p>p9dsu: add slot power limit.</p></li>
+<li><p>p9dsu: add pci slot table for Boston LC 1U/2U and Boston LA/ESS.</p></li>
+<li><p>p9dsu HACK: fix system-vpd eeprom</p></li>
+<li><p>p9dsu: change esel command from AMI to IBM 0x3a.</p></li>
</ul>
-</div>
-<div class="section" id="zz-platform-changes">
+</section>
+<section id="zz-platform-changes">
<h2>ZZ Platform Changes<a class="headerlink" href="#zz-platform-changes" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hdata/i2c: Fix up pci hotplug labels</p>
+<li><p>hdata/i2c: Fix up pci hotplug labels</p>
<p>These labels are used on the devices used to do PCIe slot power control
for implementing PCIe hotplug. I’m not sure how they ended up as
“eeprom-pgood” and “eeprom-controller” since that doesn’t make any sense.</p>
</li>
-<li><p class="first">hdata/i2c: Ignore multi-port I2C devices</p>
+<li><p>hdata/i2c: Ignore multi-port I2C devices</p>
<p>Recent FSP firmware builds add support for multi-port I2C devices such
as the GPIO expanders used for the presence detect of OpenCAPI devices
and the PCIe hotplug controllers used to power cycle PCIe slots on ZZ.</p>
@@ -446,14 +433,14 @@ specific handler so that we generate the correct DT bindings. Currently
we don’t and there is no immediate need for this support so just ignore
the multi-port devices for now.</p>
</li>
-<li><p class="first">hdata/i2c: Replace <cite>i2c_</cite> prefix with <cite>dev_</cite></p>
+<li><p>hdata/i2c: Replace <cite>i2c_</cite> prefix with <cite>dev_</cite></p>
<p>The current naming scheme makes it easy to conflate “i2cm_port” and
“i2c_port.” The latter is used to describe multi-port I2C devices such
as GPIO expanders and multi-channel PCIe hotplug controllers. Rename
i2c_port to dev_port to make the two a bit more distinct.</p>
<p>Also rename i2c_addr to dev_addr for consistency.</p>
</li>
-<li><p class="first">hdata/i2c: Ignore CFAM I2C master</p>
+<li><p>hdata/i2c: Ignore CFAM I2C master</p>
<p>Recent FSP firmware builds put in information about the CFAM I2C master
in addition the to host I2C masters accessible via XSCOM. Odds are this
information should not be there since there’s no handshaking between the
@@ -463,18 +450,18 @@ we need to deal with it.</p>
master. Without this it will create a bogus i2cm&#64;&lt;addr&gt; which migh cause
issues.</p>
</li>
-<li><p class="first">ZZ: hw/imc: Add support to load imc catalog lid file</p>
+<li><p>ZZ: hw/imc: Add support to load imc catalog lid file</p>
<p>Add support to load the imc catalog from a lid file packaged
as part of the system firmware. Lid number allocated
is 0x80f00103.lid.</p>
</li>
</ul>
-</div>
-<div class="section" id="bugs-fixed">
+</section>
+<section id="bugs-fixed">
<h2>Bugs Fixed<a class="headerlink" href="#bugs-fixed" title="Permalink to this headline">¶</a></h2>
<p>Since 6.0-rc2:</p>
<ul>
-<li><p class="first">core/opal: Fix recursion check in opal_run_pollers()</p>
+<li><p>core/opal: Fix recursion check in opal_run_pollers()</p>
<p>An earlier commit introduced a counter variable poller_recursion to
limit to the number number of error messages shown when opal_pollers
are run recursively. However the check for the counter value was
@@ -485,11 +472,11 @@ the conditional branch with some re-factoring so that opal_poller
recursion is not erroneously allowed after poll_recursion is detected
first 16 times.</p>
</li>
-<li><p class="first">phb4: Print WOF registers on fence detect</p>
+<li><p>phb4: Print WOF registers on fence detect</p>
<p>Without the WOF registers it’s hard to figure out what went wrong first,
so print those when we print the FIRs when a fence is detected.</p>
</li>
-<li><p class="first">p9dsu: detect variant in init only if probe fails to found.</p>
+<li><p>p9dsu: detect variant in init only if probe fails to found.</p>
<p>Currently the slot table init happens twice in both probe and init
functions due to the variant detection logic called with in-correct
condition check.</p>
@@ -497,7 +484,7 @@ condition check.</p>
</ul>
<p>Since 6.0-rc1:</p>
<ul>
-<li><p class="first">core/direct-controls: improve p9_stop_thread error handling</p>
+<li><p>core/direct-controls: improve p9_stop_thread error handling</p>
<p>p9_stop_thread should fail the operation if it finds the thread was
already quiescd. This implies something else is doing direct controls
on the thread (e.g., pdbg) or there is some exceptional condition we
@@ -513,7 +500,7 @@ to de-assert the core_stop control if it fails to quiesce the thread.
After timing out here, the thread may eventually quiesce and get
stuck, but that’s simpler to debug than undefied behaviour.</p>
</li>
-<li><p class="first">core/direct-controls: fix p9_cont_thread for stopped/inactive threads</p>
+<li><p>core/direct-controls: fix p9_cont_thread for stopped/inactive threads</p>
<p>Firstly, p9_cont_thread should check that the thread actually was
quiesced before it tries to resume it. Anything could happen if we
try this from an arbitrary thread state.</p>
@@ -521,7 +508,7 @@ try this from an arbitrary thread state.</p>
a stop idle state), we must not send a core_start direct control,
clear_maint must be used in these cases.</p>
</li>
-<li><p class="first">hmi: Clear unknown debug trigger</p>
+<li><p>hmi: Clear unknown debug trigger</p>
<p>On some systems, seeing hangs like this when Linux starts:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">170.027252763</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">OCC</span><span class="p">:</span> <span class="n">All</span> <span class="n">Chip</span> <span class="n">Rdy</span> <span class="n">after</span> <span class="mi">0</span> <span class="n">ms</span>
<span class="p">[</span> <span class="mf">170.062930145</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">INIT</span><span class="p">:</span> <span class="n">Starting</span> <span class="n">kernel</span> <span class="n">at</span> <span class="mh">0x20011000</span><span class="p">,</span> <span class="n">fdt</span> <span class="n">at</span> <span class="mh">0x30ae0530</span> <span class="mi">366247</span> <span class="nb">bytes</span><span class="p">)</span>
@@ -542,17 +529,17 @@ hmi_debug_trigger function in the kernel is set up.</p>
<p>This clears the HMI in Skiboot and reports to the kernel instead of
bringing down the machine.</p>
</li>
-<li><p class="first">core/hmi: assign flags=0 in case nothing set by handle_hmi_exception</p>
+<li><p>core/hmi: assign flags=0 in case nothing set by handle_hmi_exception</p>
<p>Theoretically we could have returned junk to the OS in this parameter.</p>
</li>
-<li><p class="first">SLW: Fix mambo boot to use stop states</p>
+<li><p>SLW: Fix mambo boot to use stop states</p>
<p>After commit 35c66b8ce5a2 (“SLW: Move MAMBO simulator checks to
slw_init”), mambo boot no longer calls add_cpu_idle_state_properties()
and as such we never enable stop states.</p>
<p>After adding the call back, we get more testing coverage as well
as faster mambo SMT boots.</p>
</li>
-<li><p class="first">phb4: Hardware init updates</p>
+<li><p>phb4: Hardware init updates</p>
<p>CFG Write Request Timeout was incorrectly set to informational and not
fatal for both non-CAPI and CAPI, so set it to fatal. This was a
mistake in the specification. Correcting this fixes a niche bug in
@@ -563,24 +550,20 @@ This fixes an extremely rare and unreproducible bug, though the current
timings don’t make sense since they’re higher than the NCU timeout (16)
which will checkstop the machine anyway.</p>
</li>
-<li><p class="first">SLW: quieten ‘Configuring self-restore’ for DARN,NCU_SPEC_BAR and HRMOR</p>
-</li>
+<li><p>SLW: quieten ‘Configuring self-restore’ for DARN,NCU_SPEC_BAR and HRMOR</p></li>
</ul>
<p>Since 5.11:</p>
<ul>
-<li><p class="first">core: Fix iteration condition to skip garded cpu</p>
-</li>
-<li><p class="first">uart: fix uart_opal_flush to take console lock over uart_con_flush
+<li><p>core: Fix iteration condition to skip garded cpu</p></li>
+<li><p>uart: fix uart_opal_flush to take console lock over uart_con_flush
This bug meant that OPAL_CONSOLE_FLUSH didn’t take the appropriate locks.
-Luckily, since this call is only currently used in the crash path.</p>
-</li>
-<li><p class="first">xive: fix missing unlock in error path</p>
-</li>
-<li><p class="first">OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
+Luckily, since this call is only currently used in the crash path.</p></li>
+<li><p>xive: fix missing unlock in error path</p></li>
+<li><p>OPAL_PCI_SET_POWER_STATE: fix locking in error paths</p>
<p>Otherwise we could exit OPAL holding locks, potentially leading
to all sorts of problems later on.</p>
</li>
-<li><p class="first">hw/slw: Don’t assert on a unknown chip</p>
+<li><p>hw/slw: Don’t assert on a unknown chip</p>
<p>For some reason skiboot populates nodes in /cpus/ for the cores on
chips that are deconfigured. As a result Linux includes the threads
of those cores in it’s set of possible CPUs in the system and attempts
@@ -592,12 +575,12 @@ structure for that chip either. In turn, this results in an assertion
failure when calling opal_slw_set_reg() since it expects the chip
structure to exist. Fix this up and print an error instead.</p>
</li>
-<li><p class="first">opal/hmi: Generate one event per core for processor recovery.</p>
+<li><p>opal/hmi: Generate one event per core for processor recovery.</p>
<p>Processor recovery is per core error. All threads on that core receive
HMI. All threads don’t need to generate HMI event for same error.</p>
<p>Let thread 0 only generate the event.</p>
</li>
-<li><p class="first">sensors: Dont add DTS sensors when OCC inband sensors are available</p>
+<li><p>sensors: Dont add DTS sensors when OCC inband sensors are available</p>
<p>There are two sets of core temperature sensors today. One is DTS scom
based core temperature sensors and the second group is the sensors
provided by OCC. DTS is the highest temperature among the different
@@ -609,18 +592,18 @@ updated by OCC to main memory.</p>
compared to reading OCC sensors which is as good as reading memory.
So dont add DTS sensors when OCC sensors are available.</p>
</li>
-<li><p class="first">core/fast-reboot: Increase timeout for dctl sreset to 1sec</p>
+<li><p>core/fast-reboot: Increase timeout for dctl sreset to 1sec</p>
<p>Direct control xscom can take more time to complete. We seem to
wait too little on Boston failing fast-reboot for no good reason.</p>
<p>Increase timeout to 1 sec as a reasonable value for sreset to be delivered
and core to start executing instructions.</p>
</li>
-<li><p class="first">occ: sensors-groups: Add DT properties to mark HWMON sensor groups</p>
+<li><p>occ: sensors-groups: Add DT properties to mark HWMON sensor groups</p>
<p>Fix the sensor type to match HWMON sensor types. Add compatible flag
to indicate the environmental sensor groups so that operations on
these groups can be handled by HWMON linux interface.</p>
</li>
-<li><p class="first">core: Correctly load initramfs in stb container</p>
+<li><p>core: Correctly load initramfs in stb container</p>
<p>Skiboot does not calculate the actual size and start location of the
initramfs if it is wrapped by an STB container (for example if loading
an initramfs from the ROOTFS partition).</p>
@@ -630,9 +613,8 @@ load_initramfs() is called after load_kernel() move the call to
trustedboot_exit_boot_services() into load_and_boot_kernel() so it is
called after both of these.</p>
</li>
-<li><p class="first">hdat/i2c.c: quieten “v2 found, parsing as v1”</p>
-</li>
-<li><p class="first">hw/imc: Check for pause_microcode_at_boot() return status</p>
+<li><p>hdat/i2c.c: quieten “v2 found, parsing as v1”</p></li>
+<li><p>hw/imc: Check for pause_microcode_at_boot() return status</p>
<p>pause_microcode_at_boot() loops through all the chip’s ucode
control block and pause the ucode if it is in the running state.
But it does not fail if any of the chip’s ucode is not initialised.</p>
@@ -644,20 +626,20 @@ the function return.</p>
</ul>
<p>Slot location code fixes:</p>
<ul>
-<li><p class="first">npu2: Use ibm, loc-code rather than ibm, slot-label</p>
+<li><p>npu2: Use ibm, loc-code rather than ibm, slot-label</p>
<p>The ibm,slot-label property is to name the slot that appears under a
PCIe bridge. In the past we (ab)used the slot tables to attach names
to GPU devices and their corresponding NVLinks which resulted in npu2.c
using slot-label as a location code rather than as a way to name slots.</p>
<p>Fix this up since it’s confusing.</p>
</li>
-<li><p class="first">hdata/slots: Apply slot label to the parent slot</p>
+<li><p>hdata/slots: Apply slot label to the parent slot</p>
<p>Slot names only really make sense when applied to an actual slot rather
than a device. On witherspoon the GPU devices have a name associated with
the device rather than the slot for the GPUs. Add a hack that moves the
slot label to the parent slot rather than on the device itself.</p>
</li>
-<li><p class="first">pci-dt-slot: Big ol’ cleanup</p>
+<li><p>pci-dt-slot: Big ol’ cleanup</p>
<p>The underlying data that we get from HDAT can only really describe a
PCIe system. As such we can simplify the devicetree slot lookup code
by only caring about the important cases, namly, root ports and switch
@@ -668,10 +650,10 @@ This results in the EEH core being unable to report the location of
EEHed devices under that port.</p>
</li>
</ul>
-<div class="section" id="opal-prd">
+<section id="opal-prd">
<h3>opal-prd<a class="headerlink" href="#opal-prd" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">opal-prd: Insert powernv_flash module</p>
+<li><p>opal-prd: Insert powernv_flash module</p>
<p>Explictly load powernv_flash module on BMC based system so that we are sure
that flash device is created before starting opal-prd daemon.</p>
<p>Note that I have replaced pnor_available() check with is_fsp_system(). As we
@@ -679,11 +661,11 @@ want to load module on BMC system only. Also pnor_init has enough logic to
detect flash device. Hence pnor_available() becomes redundant check.</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2-nvlink2">
+</section>
+<section id="npu2-nvlink2">
<h3>NPU2/NVLINK2<a class="headerlink" href="#npu2-nvlink2" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">npu2/hw-procedures: fence bricks on GPU reset</p>
+<li><p>npu2/hw-procedures: fence bricks on GPU reset</p>
<p>The NPU workbook defines a way of fencing a brick and
getting the brick out of fence state. We do have an implementation
of bringing the brick out of fenced/quiesced state. We do
@@ -696,16 +678,16 @@ that prior to and after reset, the operating system components
will flush the cache for the region of memory behind the GPU.</p>
<p>This patch does the following:</p>
<ol class="arabic simple">
-<li>Implements a npu2_dev_fence_brick() function to set/clear
-fence state</li>
-<li>Clear FIR bits prior to clearing the fence status</li>
-<li>Clear’s the fence status</li>
-<li>We take the powerbus out of CQ fence much later now,
+<li><p>Implements a npu2_dev_fence_brick() function to set/clear
+fence state</p></li>
+<li><p>Clear FIR bits prior to clearing the fence status</p></li>
+<li><p>Clear’s the fence status</p></li>
+<li><p>We take the powerbus out of CQ fence much later now,
in credits_check() which is the last hardware procedure
-called after link training.</li>
+called after link training.</p></li>
</ol>
</li>
-<li><p class="first">hw/npu2.c: Remove static configuration of NPU2 register</p>
+<li><p>hw/npu2.c: Remove static configuration of NPU2 register</p>
<p>The NPU_SM_CONFIG0 register currently needs to be configured in Skiboot to
select NVLink mode, however Hostboot should configure other bits in this
register.</p>
@@ -717,7 +699,7 @@ the specific system configuration. Therefore Skiboot should not alter it.</p>
not. Hostboot does not configure this bit so Skiboot should continue to
configure it.</p>
</li>
-<li><p class="first">npu2: Improve log output of GPU-to-link mapping</p>
+<li><p>npu2: Improve log output of GPU-to-link mapping</p>
<p>Debugging issues related to unconnected NVLinks can be a little less
irritating if we use the NPU2DEV{DBG,INF}() macros instead of prlog().</p>
<p>In short, change this:</p>
@@ -739,17 +721,17 @@ irritating if we use the NPU2DEV{DBG,INF}() macros instead of prlog().</p>
</pre></div>
</div>
</li>
-<li><p class="first">npu2: Move NPU2_XTS_BDF_MAP_VALID assignment to context init</p>
+<li><p>npu2: Move NPU2_XTS_BDF_MAP_VALID assignment to context init</p>
<p>A bad GPU or other condition may leave us with a subset of links that
never get initialized. If an ATSD is sent to one of those bricks, it
will never complete, leaving us waiting forever for a response:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">watchdog</span><span class="p">:</span> <span class="n">BUG</span><span class="p">:</span> <span class="n">soft</span> <span class="n">lockup</span> <span class="o">-</span> <span class="n">CPU</span><span class="c1">#23 stuck for 23s! [acos:2050]</span>
<span class="o">...</span>
<span class="n">Modules</span> <span class="n">linked</span> <span class="ow">in</span><span class="p">:</span> <span class="n">nvidia_uvm</span><span class="p">(</span><span class="n">O</span><span class="p">)</span> <span class="n">nvidia</span><span class="p">(</span><span class="n">O</span><span class="p">)</span>
-<span class="n">CPU</span><span class="p">:</span> <span class="mi">23</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">2050</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">acos</span> <span class="n">Tainted</span><span class="p">:</span> <span class="n">G</span> <span class="n">W</span> <span class="n">O</span> <span class="mf">4.14</span><span class="o">.</span><span class="mi">0</span> <span class="c1">#2</span>
+<span class="n">CPU</span><span class="p">:</span> <span class="mi">23</span> <span class="n">PID</span><span class="p">:</span> <span class="mi">2050</span> <span class="n">Comm</span><span class="p">:</span> <span class="n">acos</span> <span class="n">Tainted</span><span class="p">:</span> <span class="n">G</span> <span class="n">W</span> <span class="n">O</span> <span class="mf">4.14.0</span> <span class="c1">#2</span>
<span class="n">task</span><span class="p">:</span> <span class="n">c0000000285cfc00</span> <span class="n">task</span><span class="o">.</span><span class="n">stack</span><span class="p">:</span> <span class="n">c000001fea860000</span>
<span class="n">NIP</span><span class="p">:</span> <span class="n">c0000000000abdf0</span> <span class="n">LR</span><span class="p">:</span> <span class="n">c0000000000acc48</span> <span class="n">CTR</span><span class="p">:</span> <span class="n">c0000000000ace60</span>
-<span class="n">REGS</span><span class="p">:</span> <span class="n">c000001fea863550</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Tainted</span><span class="p">:</span> <span class="n">G</span> <span class="n">W</span> <span class="n">O</span> <span class="p">(</span><span class="mf">4.14</span><span class="o">.</span><span class="mi">0</span><span class="p">)</span>
+<span class="n">REGS</span><span class="p">:</span> <span class="n">c000001fea863550</span> <span class="n">TRAP</span><span class="p">:</span> <span class="mi">0901</span> <span class="n">Tainted</span><span class="p">:</span> <span class="n">G</span> <span class="n">W</span> <span class="n">O</span> <span class="p">(</span><span class="mf">4.14.0</span><span class="p">)</span>
<span class="n">MSR</span><span class="p">:</span> <span class="mi">9000000000009033</span> <span class="o">&lt;</span><span class="n">SF</span><span class="p">,</span><span class="n">HV</span><span class="p">,</span><span class="n">EE</span><span class="p">,</span><span class="n">ME</span><span class="p">,</span><span class="n">IR</span><span class="p">,</span><span class="n">DR</span><span class="p">,</span><span class="n">RI</span><span class="p">,</span><span class="n">LE</span><span class="o">&gt;</span> <span class="n">CR</span><span class="p">:</span> <span class="mi">28004484</span> <span class="n">XER</span><span class="p">:</span> <span class="mi">20040000</span>
<span class="n">CFAR</span><span class="p">:</span> <span class="n">c0000000000abdf4</span> <span class="n">SOFTE</span><span class="p">:</span> <span class="mi">1</span>
<span class="n">GPR00</span><span class="p">:</span> <span class="n">c0000000000acc48</span> <span class="n">c000001fea8637d0</span> <span class="n">c0000000011f7c00</span> <span class="n">c000001fea863820</span>
@@ -757,7 +739,7 @@ will never complete, leaving us waiting forever for a response:</p>
<span class="n">GPR08</span><span class="p">:</span> <span class="mi">0000000000000001</span> <span class="mi">0000000000000080</span> <span class="n">c000201cc7cb7750</span> <span class="n">ffffffffffffffff</span>
<span class="n">GPR12</span><span class="p">:</span> <span class="mi">0000000000008000</span> <span class="n">c000000003167e80</span>
<span class="n">NIP</span> <span class="p">[</span><span class="n">c0000000000abdf0</span><span class="p">]</span> <span class="n">mmio_invalidate_wait</span><span class="o">+</span><span class="mh">0x90</span><span class="o">/</span><span class="mh">0xc0</span>
-<span class="n">LR</span> <span class="p">[</span><span class="n">c0000000000acc48</span><span class="p">]</span> <span class="n">mmio_invalidate</span><span class="o">.</span><span class="n">isra</span><span class="o">.</span><span class="mi">11</span><span class="o">+</span><span class="mh">0x158</span><span class="o">/</span><span class="mh">0x370</span>
+<span class="n">LR</span> <span class="p">[</span><span class="n">c0000000000acc48</span><span class="p">]</span> <span class="n">mmio_invalidate</span><span class="o">.</span><span class="n">isra</span><span class="mf">.11</span><span class="o">+</span><span class="mh">0x158</span><span class="o">/</span><span class="mh">0x370</span>
</pre></div>
</div>
<p>ATSDs are only sent to bricks which have a valid entry in the XTS_BDF
@@ -765,11 +747,11 @@ table. So to prevent the hang, don’t set NPU2_XTS_BDF_MAP_VALID unless
we make it all the way to creating a context for the BDF.</p>
</li>
</ul>
-</div>
-<div class="section" id="secure-and-trusted-boot">
+</section>
+<section id="secure-and-trusted-boot">
<h3>Secure and Trusted Boot<a class="headerlink" href="#secure-and-trusted-boot" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">hdata/tpmrel: detect tpm not present by looking up the stinfo-&gt;status</p>
+<li><p>hdata/tpmrel: detect tpm not present by looking up the stinfo-&gt;status</p>
<p>Skiboot detects if tpm is present by checking if a secureboot_tpm_info
entry exists. However, if a tpm is not present, hostboot also creates a
secureboot_tpm_info entry. In this case, hostboot creates an empty
@@ -779,36 +761,35 @@ entry, but setting the field tpm_status to TPM_NOT_PRESENT.</p>
issue, reproduced when skiboot is running on a system that has no tpm.</p>
</li>
</ul>
-</div>
-<div class="section" id="pci">
+</section>
+<section id="pci">
<h3>PCI<a class="headerlink" href="#pci" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4: Restore bus numbers after CRS</p>
+<li><p>phb4: Restore bus numbers after CRS</p>
<p>Currently we restore PCIe bus numbers right after the link is
up. Unfortunately as this point we haven’t done CRS so config space
may not be accessible.</p>
<p>This moves the bus number restore till after CRS has happened.</p>
</li>
-<li><p class="first">romulus: Add a barebones slot table</p>
-</li>
-<li><p class="first">phb4: Quieten and improve “Timeout waiting for electrical link”</p>
+<li><p>romulus: Add a barebones slot table</p></li>
+<li><p>phb4: Quieten and improve “Timeout waiting for electrical link”</p>
<p>This happens normally if a slot doesn’t have a working HW presence
detect and relies instead of inband presence detect.</p>
<p>The message we display is scary and not very useful unless ou
are debugging, so quiten it up and change it to something more
meaningful.</p>
</li>
-<li><p class="first">pcie-slot: Don’t fail powering on an already on switch</p>
+<li><p>pcie-slot: Don’t fail powering on an already on switch</p>
<p>If the power state is already the required value, return
OPAL_SUCCESS rather than OPAL_PARAMETER to avoid spurrious
errors during boot.</p>
</li>
</ul>
-</div>
-<div class="section" id="capi-opencapi">
+</section>
+<section id="capi-opencapi">
<h3>CAPI/OpenCAPI<a class="headerlink" href="#capi-opencapi" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">capi: Keep the current mmio windows in the mbt cache table.</p>
+<li><p>capi: Keep the current mmio windows in the mbt cache table.</p>
<p>When the phb is used as a CAPI interface, the current mmio windows list
is cleaned before adding the capi and the prefetchable memory (M64)
windows, which implies that the non-prefetchable BAR is no more
@@ -816,7 +797,7 @@ configured.
This patch allows to set only the mbt bar to pass capi mmio window and
to keep, as defined, the other mmio values (M32 and M64).</p>
</li>
-<li><p class="first">npu2-opencapi: Fix ‘link internal error’ FIR, take 2</p>
+<li><p>npu2-opencapi: Fix ‘link internal error’ FIR, take 2</p>
<p>When setting up an opencapi link, we set the transport muxes first,
then set the PHY training config register, which includes disabling
nvlink mode for the bricks. That’s the order of the init sequence, as
@@ -825,12 +806,10 @@ found in the NPU workbook.</p>
OLL FIR Register for the 2 links when we configure the transport
muxes. Presumably because nvlink is not disabled yet and we are
configuring the transport muxes for opencapi.</p>
-<dl class="docutils">
-<dt>bit 60:</dt>
-<dd><p class="first last">link0 internal error</p>
+<dl class="simple">
+<dt>bit 60:</dt><dd><p>link0 internal error</p>
</dd>
-<dt>bit 61:</dt>
-<dd><p class="first last">link1 internal error</p>
+<dt>bit 61:</dt><dd><p>link1 internal error</p>
</dd>
</dl>
<p>Overall the current setup ends up being correct and everything works,
@@ -839,7 +818,7 @@ but we raise 2 FIR bits.</p>
the transport muxes. Incidentally, this is what the scripts from the
opencapi enablement team were doing all along.</p>
</li>
-<li><p class="first">npu2-opencapi: Fix ‘link internal error’ FIR, take 1</p>
+<li><p>npu2-opencapi: Fix ‘link internal error’ FIR, take 1</p>
<p>When we setup a link, we always enable ODL0 and ODL1 at the same time
in the PHY training config register, even though we are setting up
only one OTL/ODL, so it raises a “link internal error” FIR bit in the
@@ -848,10 +827,10 @@ as we’ll eventually setup the second link, but there’s no reason to
raise that FIR bit.</p>
<p>The fix is simply to only enable the ODL we are using for the link.</p>
</li>
-<li><p class="first">phb4: Do not set the PBCQ Tunnel BAR register when enabling capi mode.</p>
+<li><p>phb4: Do not set the PBCQ Tunnel BAR register when enabling capi mode.</p>
<p>The cxl driver will set the capi value, like other drivers already do.</p>
</li>
-<li><p class="first">phb4: set TVT1 for tunneled operations in capi mode</p>
+<li><p>phb4: set TVT1 for tunneled operations in capi mode</p>
<p>The ASN indication is used for tunneled operations (as_notify and
atomics). Tunneled operation messages can be sent in PCI mode as
well as CAPI mode.</p>
@@ -863,29 +842,27 @@ indication.</p>
to prevent as_notify messages from being dropped.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="debugging-testing-improvements">
+</section>
+</section>
+<section id="debugging-testing-improvements">
<h2>Debugging/Testing improvements<a class="headerlink" href="#debugging-testing-improvements" title="Permalink to this headline">¶</a></h2>
<p>Since 6.0-rc1:</p>
<ul>
-<li><p class="first">mambo: Enable XER CA32 and OV32 bits on P9</p>
+<li><p>mambo: Enable XER CA32 and OV32 bits on P9</p>
<p>POWER9 adds 32 bit carry and overflow bits to the XER, but we need to
set the relevant CTRL1 bit to enable them.</p>
</li>
-<li><p class="first">Makefile: Fix building natively on ppc64le</p>
+<li><p>Makefile: Fix building natively on ppc64le</p>
<p>When on ppc64le and CROSS is not set by the environment, make assumes
ppc64 and sets a default CROSS. Check for ppc64le as well, so that
‘make’ works out of the box on ppc64le.</p>
</li>
-<li><p class="first">Experimental support for building with Clang</p>
-</li>
-<li><p class="first">Improvements to testing and Travis CI</p>
-</li>
+<li><p>Experimental support for building with Clang</p></li>
+<li><p>Improvements to testing and Travis CI</p></li>
</ul>
<p>Since 5.11:</p>
<ul>
-<li><p class="first">core/stack: backtrace unwind basic OPAL call details</p>
+<li><p>core/stack: backtrace unwind basic OPAL call details</p>
<p>Put OPAL callers’ r1 into the stack back chain, and then use that to
unwind back to the OPAL entry frame (as opposed to boot entry, which
has a 0 back chain).</p>
@@ -911,7 +888,7 @@ a debugging opal call. This will allow Linux’s BUG() or xmon to
also print the Linux back trace in case of a NMI or MCE or watchdog
lockup that hits in OPAL.</p>
</li>
-<li><p class="first">asm/head: implement quiescing without stack or clobbering regs</p>
+<li><p>asm/head: implement quiescing without stack or clobbering regs</p>
<p>Quiescing currently is implmeented in C in opal_entry before the
opal call handler is called. This works well enough for simple
cases like fast reset when one CPU wants all others out of the way.</p>
@@ -928,7 +905,7 @@ returned to or re-entered during this period.</p>
interrupted with sreset if the quiesce times out, and it can be
interrupted by MCEs as well. These still have the issues above.</p>
</li>
-<li><p class="first">core/opal: Allow poller re-entry if OPAL was re-entered</p>
+<li><p>core/opal: Allow poller re-entry if OPAL was re-entered</p>
<p>If an NMI interrupts the middle of running pollers and the OS
invokes pollers again (e.g., for console output), the poller
re-entrancy check will prevent it from running and spam the
@@ -938,7 +915,7 @@ OPAL re-entrancy is something different and is detected elsewhere.
Avoid the poller recursion check if OPAL has been re-entered. This
is a best-effort attempt to cope with errors.</p>
</li>
-<li><p class="first">core/opal: Emergency stack for re-entry</p>
+<li><p>core/opal: Emergency stack for re-entry</p>
<p>This detects OPAL being re-entered by the OS, and switches to an
emergency stack if it was. This protects the firmware’s main stack
from re-entrancy and allows the OS to use NMI facilities for crash
@@ -952,10 +929,9 @@ removed by 80eee1946 (“opal: Remove machine check interrupt patching
in OPAL.”). So it is possible the size could be tightened again, but
that would require further analysis.</p>
</li>
-<li><p class="first">hdat_to_dt: hash_prop the same on all platforms
-Fixes this unit test on ppc64le hosts.</p>
-</li>
-<li><p class="first">mambo: Add persistent memory disk support</p>
+<li><p>hdat_to_dt: hash_prop the same on all platforms
+Fixes this unit test on ppc64le hosts.</p></li>
+<li><p>mambo: Add persistent memory disk support</p>
<p>This adds support to for mapping disks images using persistent
memory. Disks can be added by setting this ENV variable:</p>
<blockquote>
@@ -967,7 +943,7 @@ available since mambo commit 0131f0fc08 (from 24/4/2018).</p>
<p>This also needs the of_pmem.c driver in Linux which is only available
since v4.17. It works with powernv_defconfig + CONFIG_OF_PMEM.</p>
</li>
-<li><p class="first">external/mambo: Add di command to decode instructions</p>
+<li><p>external/mambo: Add di command to decode instructions</p>
<p>By default you get 16 instructions but you can specify the number you
want. i.e.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">systemsim</span> <span class="o">%</span> <span class="n">di</span> <span class="mh">0x100</span> <span class="mi">4</span>
@@ -979,7 +955,7 @@ want. i.e.</p>
</div>
<p>Using di since it’s what xmon uses.</p>
</li>
-<li><p class="first">mambo/mambo_utils.tcl: Inject an MCE at a specified address</p>
+<li><p>mambo/mambo_utils.tcl: Inject an MCE at a specified address</p>
<p>Currently we don’t support injecting an MCE on a specific address.
This is useful for testing functionality like memcpy_mcsafe()
(see <a class="reference external" href="https://patchwork.ozlabs.org/cover/893339/">https://patchwork.ozlabs.org/cover/893339/</a>)</p>
@@ -995,13 +971,13 @@ inject_mce_ue_on_addr $addr
</div>
<p>This would cause an mce on any r1 or r1 based access</p>
</li>
-<li><p class="first">external/mambo: improve helper for machine checks</p>
+<li><p>external/mambo: improve helper for machine checks</p>
<p>Improve workarounds for stop injection, because mambo often will
trigger on 0x104/204 when injecting sreset/mces.</p>
<p>This also adds a workaround to skip injecting on reservations to
avoid infinite loops when doing inject_mce_step.</p>
</li>
-<li><p class="first">travis: Enable ppc64le builds</p>
+<li><p>travis: Enable ppc64le builds</p>
<p>At least on the IBM Travis Enterprise instance, we can now do
ppc64le builds!</p>
<p>We can only build a subset of our matrix due to availability of
@@ -1009,17 +985,17 @@ ppc64le distros. The Dockerfiles need some tweaking to only
attempt to install (x86_64 only) Mambo binaries, as well as the
build scripts.</p>
</li>
-<li><p class="first">external: Add “lpc” tool</p>
+<li><p>external: Add “lpc” tool</p>
<p>This is a little front-end to the lpc debugfs files to access
the LPC bus from userspace on the host.</p>
</li>
-<li><p class="first">core/test/run-trace: fix on ppc64el</p>
-</li>
+<li><p>core/test/run-trace: fix on ppc64el</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1062,17 +1038,15 @@ the LPC bus from userspace on the host.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1089,14 +1063,15 @@ the LPC bus from userspace on the host.</p>
<li class="right" >
<a href="skiboot-5.9.9.html" title="skiboot-5.9.9"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.1-rc1.html b/doc/release-notes/skiboot-6.1-rc1.html
index 3399ffe..c104ca1 100644
--- a/doc/release-notes/skiboot-6.1-rc1.html
+++ b/doc/release-notes/skiboot-6.1-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.1-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.1-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.1.html" title="skiboot-6.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.1-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-1-rc1">
+ <section id="skiboot-6-1-rc1">
<span id="id1"></span><h1>skiboot-6.1-rc1<a class="headerlink" href="#skiboot-6-1-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.1-rc1 was released on Friday June 22nd 2018. It is the first
release candidate of skiboot 6.1, which will become the new stable release
@@ -61,36 +61,35 @@ now get to breathe for a moment to look at what we ended up with.
Since this is a really small incremental release, there will unlikely be
many release candidates.</p>
<p>Over skiboot 6.0, we have the following changes:</p>
-<div class="section" id="general-changes-and-bug-fixes">
+<section id="general-changes-and-bug-fixes">
<h2>General changes and bug fixes<a class="headerlink" href="#general-changes-and-bug-fixes" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">GCC8 build fixes</p>
-</li>
-<li><p class="first">Add prepare_hbrt_update to hbrt interfaces</p>
+<li><p>GCC8 build fixes</p></li>
+<li><p>Add prepare_hbrt_update to hbrt interfaces</p>
<p>Add placeholder support for prepare_hbrt_update call into
hostboot runtime (opal-prd) code. This interface is only
called as part of a concurrent code update on a FSP based
system.</p>
</li>
-<li><p class="first">cpu: Clear PCR SPR in opal_reinit_cpus()</p>
+<li><p>cpu: Clear PCR SPR in opal_reinit_cpus()</p>
<p>Currently if Linux boots with a non-zero PCR, things can go bad where
some early userspace programs can take illegal instructions. This is
being fixed in Linux, but in the mean time, we should cleanup in
skiboot also.</p>
</li>
-<li><p class="first">pci: Fix PCI_DEVICE_ID()</p>
+<li><p>pci: Fix PCI_DEVICE_ID()</p>
<p>The vendor ID is 16 bits not 8. This error leaves the top of the vendor
ID in the bottom bits of the device ID, which resulted in e.g. a failure
to run the PCI quirk for the AST VGA device.</p>
</li>
-<li><p class="first">Quieten console output on boot</p>
+<li><p>Quieten console output on boot</p>
<p>We print out a whole bunch of things on boot, most of which aren’t
interesting, so we should <em>not</em> print them instead.</p>
<p>Printing things like what CPUs we found and what PCI devices we found
<em>are</em> useful, so continue to do that. But we don’t need to splat out
a bunch of things that are always going to be true.</p>
</li>
-<li><p class="first">core/console: fix deadlock when printing with console lock held</p>
+<li><p>core/console: fix deadlock when printing with console lock held</p>
<p>Some debugging options will print while the console lock is held,
which is why the console lock is taken as a recursive lock.
However console_write calls __flush_console, which will drop and
@@ -117,7 +116,7 @@ to a deadlock without this:</p>
</pre></div>
</div>
</li>
-<li><p class="first">opal-prd: Do not error out on first failure for soft/hard offline.</p>
+<li><p>opal-prd: Do not error out on first failure for soft/hard offline.</p>
<p>The memory errors (CEs and UEs) that are detected as part of background
memory scrubbing are reported by PRD asynchronously to opal-prd along with
affected memory ranges. hservice_memory_error() converts these ranges into
@@ -127,9 +126,9 @@ infrastructure.</p>
all the pages to soft/hard offline-ing if any of the page offline action
fails. e.g hard offline can fail for:</p>
<ul class="simple">
-<li>Pages that are not part of buddy managed pool.</li>
-<li>Pages that are reserved by kernel using memblock_reserved()</li>
-<li>Pages that are in use by kernel.</li>
+<li><p>Pages that are not part of buddy managed pool.</p></li>
+<li><p>Pages that are reserved by kernel using memblock_reserved()</p></li>
+<li><p>Pages that are in use by kernel.</p></li>
</ul>
<p>But for the pages that are in use by user space application, the hard
offline marks the page as hwpoison, sends SIGBUS signal to kill the
@@ -139,15 +138,15 @@ use by application or free. By stopping on first error we loose the
opportunity to hwpoison the subsequent pages which may be free or in use by
application. This patch fixes this issue.</p>
</li>
-<li><p class="first">libflash/blocklevel_write: Fix missing error handling</p>
+<li><p>libflash/blocklevel_write: Fix missing error handling</p>
<p>Caught by scan-build, we seem to trap the errors in rc, but
not take any recovery action during blocklevel_write.</p>
</li>
</ul>
-<div class="section" id="i2c">
+<section id="i2c">
<h3>I2C<a class="headerlink" href="#i2c" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">p8-i2c: fix wrong request status when a reset is needed</p>
+<li><p>p8-i2c: fix wrong request status when a reset is needed</p>
<p>If the bus is found in error state when starting a new request, the
engine is reset and we enter recovery. However, once complete, the
reset operation shows a status of complete in the status register. So
@@ -156,7 +155,7 @@ request is complete, even though it hasn’t run yet.</p>
<p>So don’t update any request status while we are in recovery, as
nothing useful for the request is supposed to happen in that state.</p>
</li>
-<li><p class="first">p8-i2c: Remove force reset</p>
+<li><p>p8-i2c: Remove force reset</p>
<p>Force reset was added as an attempt to work around some issues with TPM
devices locking up their I2C bus. In that particular case the problem
was that the device would hold the SCL line down permanently due to a
@@ -170,21 +169,21 @@ D. Diagnostic mode allows the SCL and SDA lines to be driven directly
by software. Without this force reset is impossible to implement.</p>
<p>This patch removes the force reset functionality entirely since:</p>
<ol class="loweralpha simple">
-<li>it doesn’t do what it’s supposed to, and</li>
-<li>it’s butt ugly code</li>
+<li><p>it doesn’t do what it’s supposed to, and</p></li>
+<li><p>it’s butt ugly code</p></li>
</ol>
<p>Additionally, turn p8_i2c_reset_engine() into p8_i2c_reset_port().
There’s no need to reset every port on a master in response to an
error that occurred on a specific port.</p>
</li>
-<li><p class="first">libstb/i2c-driver: Bump max timeout</p>
+<li><p>libstb/i2c-driver: Bump max timeout</p>
<p>We have observed some TPMs clock streching the I2C bus for signifigant
amounts of time when processing commands. The same TPMs also have
errata that can result in permernantly locking up a bus in response to
an I2C transaction they don’t understand. Using an excessively long
timeout to prevent this in the field.</p>
</li>
-<li><p class="first">hdata: Add TPM timeout workaround</p>
+<li><p>hdata: Add TPM timeout workaround</p>
<p>Set the default timeout for any bus containing a TPM to one second. This
is needed to work around a bug in the firmware of certain TPMs that will
clock strech the I2C port the for up to a second. Additionally, when the
@@ -192,35 +191,35 @@ TPM is clock streching it responds to a STOP condition on the bus by
bricking itself. Clearing this error requires a hard power cycle of the
system since the TPM is powered by standby power.</p>
</li>
-<li><p class="first">p8-i2c: Allow a per-port default timeout</p>
+<li><p>p8-i2c: Allow a per-port default timeout</p>
<p>Add support for setting a default timeout for the I2C port to the
device-tree. This is consumed by skiboot.</p>
</li>
</ul>
-</div>
-<div class="section" id="ipmi-watchdog">
+</section>
+<section id="ipmi-watchdog">
<h3>IPMI Watchdog<a class="headerlink" href="#ipmi-watchdog" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">ipmi-watchdog: Support handling re-initialization</p>
+<li><p>ipmi-watchdog: Support handling re-initialization</p>
<p>Watchdog resets can return an error code from the BMC indicating that
the BMC watchdog was not initialized. Currently we abort skiboot due to
a missing error handler. This patch implements handling
re-initialization for the watchdog, automatically saving the last
watchdog set values and re-issuing them if needed.</p>
</li>
-<li><p class="first">ipmi-watchdog: The stop action should disable reset</p>
+<li><p>ipmi-watchdog: The stop action should disable reset</p>
<p>Otherwise it is possible for the reset timer to elapse and trigger the
watchdog to wake back up. This doesn’t affect the behavior of the
system since we are providing a NONE action to the BMC. However we would
like to avoid the action from taking place if possible.</p>
</li>
-<li><p class="first">ipmi-watchdog: Add a flag to determine if we are still ticking</p>
+<li><p>ipmi-watchdog: Add a flag to determine if we are still ticking</p>
<p>This makes it easier for future changes to ensure that the watchdog
stops ticking and doesn’t requeue itself for execution in the
background. This way it is safe for resets to be performed after the
ticks are assumed to be stopped and it won’t start the timer again.</p>
</li>
-<li><p class="first">ipmi-watchdog: (prepare for) not disabling at shutdown</p>
+<li><p>ipmi-watchdog: (prepare for) not disabling at shutdown</p>
<p>The op-build linux kernel has been configured to support the ipmi
watchdog. This driver will always handle the watchdog by either leaving
it enabled if configured, or by disabling it during module load if no
@@ -231,7 +230,7 @@ any point during skiboot execution.</p>
development) mix and match old BOOTKERNEL with new skiboot and we don’t
want to break that too obviously.</p>
</li>
-<li><p class="first">ipmi-watchdog: Don’t reset the watchdog twice</p>
+<li><p>ipmi-watchdog: Don’t reset the watchdog twice</p>
<p>There is no clarification for why this change was needed, but presumably
this is due to a buggy BMC implementation where the Watchdog Set command
was processed concurrently or after the initial Watchdog Reset. This
@@ -239,7 +238,7 @@ inversion would cause the watchdog to stop since the DONT_STOP bit was
not set. Since we are now using the DONT_STOP bit during initialization,
the watchdog should not be stopped even if an inversion occurs.</p>
</li>
-<li><p class="first">ipmi-watchdog: Make it possible to set DONT_STOP</p>
+<li><p>ipmi-watchdog: Make it possible to set DONT_STOP</p>
<p>The IPMI standard supports setting a DONT_STOP bit during an Watchdog
Set operation. Most of the time we don’t want to stop the Watchdog when
updating the settings so we should be using this bit. This patch makes
@@ -248,26 +247,26 @@ stopped. This only changes the behavior of the watchdog during the
initial settings update when initializing skiboot. The watchdog is no
longer disabled and then immediately re-enabled.</p>
</li>
-<li><p class="first">ipmi-watchdog: WD_POWER_CYCLE_ACTION -&gt; WD_RESET_ACTION</p>
+<li><p>ipmi-watchdog: WD_POWER_CYCLE_ACTION -&gt; WD_RESET_ACTION</p>
<p>The IPMI specification denotes that action 0x1 is Host Reset and 0x3 is
Host Power Cycle. Use the correct name for Reset in our watchdog code.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="power8-platforms">
+</section>
+</section>
+<section id="power8-platforms">
<h2>POWER8 platforms<a class="headerlink" href="#power8-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">astbmc: Enable mbox depending on scratch reg</p>
+<li><p>astbmc: Enable mbox depending on scratch reg</p>
<p>P8 boxes can opt in for mbox pnor support if they set the scratch
register bit to indicate it is supported.</p>
</li>
</ul>
-</div>
-<div class="section" id="simulator-platforms">
+</section>
+<section id="simulator-platforms">
<h2>Simulator platforms<a class="headerlink" href="#simulator-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">plat/qemu: add PNOR support</p>
+<li><p>plat/qemu: add PNOR support</p>
<p>To access the PNOR, OPAL/skiboot drives the BMC SPI controller using
the iLPC2AHB device of the BMC SuperIO controller and accesses the
flash contents using the LPC FW address space on which the PNOR is
@@ -279,17 +278,17 @@ ARM). The AHB window giving access to the contents of the BMC SPI
controller flash modules is mapped on the LPC FW address space.</p>
<p>The change should be compatible for machine without PNOR support.</p>
</li>
-<li><p class="first">external/mambo: Add support for readline if it exists</p>
+<li><p>external/mambo: Add support for readline if it exists</p>
<p>Add support for tclreadline package if it is present.
This patch loads the package and uses it when the
simulation stops for any reason.</p>
</li>
</ul>
-</div>
-<div class="section" id="fsp-based-platforms">
+</section>
+<section id="fsp-based-platforms">
<h2>FSP based platforms<a class="headerlink" href="#fsp-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Disable fast reboot on FSP IPL side change</p>
+<li><p>Disable fast reboot on FSP IPL side change</p>
<p>If FSP changes next IPL side, then disable fast reboot.</p>
<p>sample output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">620.196442259</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">FSP</span><span class="p">:</span> <span class="n">Got</span> <span class="n">sysparam</span> <span class="n">update</span><span class="p">,</span> <span class="n">param</span> <span class="n">ID</span> <span class="mh">0xf0000007</span>
@@ -298,7 +297,7 @@ simulation stops for any reason.</p>
</pre></div>
</div>
</li>
-<li><p class="first">fsp/console: Always establish OPAL console API backend</p>
+<li><p>fsp/console: Always establish OPAL console API backend</p>
<p>Currently we only call set_opal_console() to establish the backend
used by the OPAL console API if we find at least one FSP serial
port in HDAT.</p>
@@ -309,30 +308,29 @@ node names.</p>
<p>So always set it if an FSP is present</p>
</li>
</ul>
-</div>
-<div class="section" id="ast-bmc-based-platforms">
+</section>
+<section id="ast-bmc-based-platforms">
<h2>AST BMC based platforms<a class="headerlink" href="#ast-bmc-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">AMI BMC: use 0x3a as OEM command</p>
+<li><p>AMI BMC: use 0x3a as OEM command</p>
<p>The 0x3a OEM command is for IBM commands, while 0x32 was for AMI ones.
Sometime in the P8 timeframe, AMI BMCs were changed to listen for our
commands on either 0x32 or 0x3a. Since 0x3a is the direction forward,
we’ll use that, as P9 machines with AMI BMCs probably also want these
to work, and let’s not bet that 0x32 will continue to be okay.</p>
</li>
-<li><p class="first">astbmc: Set romulus BMC type to OpenBMC</p>
-</li>
-<li><p class="first">platform/astbmc: Do not delete compatible property</p>
+<li><p>astbmc: Set romulus BMC type to OpenBMC</p></li>
+<li><p>platform/astbmc: Do not delete compatible property</p>
<p>P9 onwards OPAL is building device tree for BMC based system using
HDAT. We are populating bmc/compatible node with bmc version. Hence
do not delete this property.</p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/xscom-utils: Add python library for xscom access</p>
+<li><p>external/xscom-utils: Add python library for xscom access</p>
<p>Patch adds a simple python library module for xscom access.
It directly manipulate the ‘/access’ file for scom read
and write from debugfs ‘scom’ directory.</p>
@@ -344,7 +342,7 @@ and write from debugfs ‘scom’ directory.</p>
</pre></div>
</div>
<p>Sample output for above getscom.py:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> ./getscom.py -l
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp"># </span>./getscom.py -l
<span class="go">Chip ID | Rev | Chip type</span>
<span class="go">---------|-------|-----------</span>
<span class="go">00000008 | DD2.0 | P9 (Nimbus) processor</span>
@@ -352,14 +350,14 @@ and write from debugfs ‘scom’ directory.</p>
</pre></div>
</div>
</li>
-<li><p class="first">ffspart: Don’t require user to create blank partitions manually</p>
+<li><p>ffspart: Don’t require user to create blank partitions manually</p>
<p>Add ‘–allow-empty’ which allows the filename for a given partition to
be blank. If set ffspart will set that part of the PNOR file ‘blank’ and
set ECC bits if required.
Without this option behaviour is unchanged and ffspart will return an
error if it can not find the partition file.</p>
</li>
-<li><p class="first">pflash: Use correct prefix when installing</p>
+<li><p>pflash: Use correct prefix when installing</p>
<p>pflash uses lowercase prefix when running make install in it’s
direcetory, but uppercase PREFIX when running it in shared. Use
lowercase everywhere.</p>
@@ -367,17 +365,17 @@ lowercase everywhere.</p>
been carrying for years.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">occ-sensor: Avoid using uninitialised struct cpu_thread</p>
+<li><p>occ-sensor: Avoid using uninitialised struct cpu_thread</p>
<p>When adding the sensors in occ_sensors_init, if the type is not
OCC_SENSOR_LOC_CORE, then the loop to find ‘c’ will not be executed.
Then c-&gt;pir is used for both of the the add_sensor_node calls below.</p>
<p>This provides a default value of 0 instead.</p>
</li>
-<li><p class="first">NX: Add NX coprocessor init opal call</p>
+<li><p>NX: Add NX coprocessor init opal call</p>
<p>The read offset (4:11) in Receive FIFO control register is incremented
by FIFO size whenever CRB read by NX. But the index in RxFIFO has to
match with the corresponding entry in FIFO maintained by VAS in kernel.
@@ -388,7 +386,7 @@ It could cause CRB failure / timeout from NX.</p>
<p>This patch adds nx_coproc_init opal call for kernel to initialize
readOffset (4:11) and Queued (15:23) in RxFIFO control register.</p>
</li>
-<li><p class="first">SLW: Remove stop1_lite and stop2_lite</p>
+<li><p>SLW: Remove stop1_lite and stop2_lite</p>
<p>stop1_lite has been removed since it adds no additional benefit
over stop0_lite. stop2_lite has been removed since currently it adds
minimal benefit over stop2. However, the benefit is eclipsed by the time
@@ -401,7 +399,7 @@ we expose to the OS, the idea being to bring them back in a new
DT representation so that only an OS that knows what to do will
do things with them.</p>
</li>
-<li><p class="first">cpu: Use STOP1 on POWER9 for idle/sleep inside OPAL</p>
+<li><p>cpu: Use STOP1 on POWER9 for idle/sleep inside OPAL</p>
<p>The current code requests STOP3, which means it gets STOP2 in practice.</p>
<p>STOP2 has proven to occasionally be unreliable depending on FW
version and chip revision, it also requires a functional CME,
@@ -409,15 +407,15 @@ so instead, let’s use STOP1. The difference is rather minimum
for something that is only used a few seconds during boot.</p>
</li>
</ul>
-<div class="section" id="npu2-nvlink2-and-opencapi">
+<section id="npu2-nvlink2-and-opencapi">
<h3>NPU2 (NVLink2 and OpenCAPI)<a class="headerlink" href="#npu2-nvlink2-and-opencapi" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">npu2: Reset NVLinks on hot reset</p>
+<li><p>npu2: Reset NVLinks on hot reset</p>
<p>This effectively fences GPU RAM on GPU reset so the host system
does not have to crash every time we stop a KVM guest with a GPU
passed through.</p>
</li>
-<li><p class="first">npu2-opencapi: reduce number of retries to train the link</p>
+<li><p>npu2-opencapi: reduce number of retries to train the link</p>
<p>We’ve been reliably training the opencapi link on the first attempt
for quite a while. Furthermore, if it doesn’t train on the first
attempt, retries haven’t been that useful. So let’s reduce the number
@@ -425,14 +423,14 @@ of attempts we do to train the link.</p>
<p>2 retries = 3 attempts to train.</p>
<p>Each (failed) training sequence costs about 3 seconds.</p>
</li>
-<li><p class="first">opal/hmi: Display correct chip id while printing NPU FIRs.</p>
+<li><p>opal/hmi: Display correct chip id while printing NPU FIRs.</p>
<p>HMIs for NPU xstops are broadcasted to all chips. All cores on all the
chips receive HMI. HMI handler correctly identifies and extracts the
NPU FIR details from affected chip, but while printing FIR data it
prints chip id and location code details of this_cpu()-&gt;chip_id which
may not be correct. This patch fixes this issue.</p>
</li>
-<li><p class="first">npu2-opencapi: Fix link state to report link down</p>
+<li><p>npu2-opencapi: Fix link state to report link down</p>
<p>The PHB callback ‘get_link_state’ is always reporting the link width,
irrespective of the link status and even when the link is down. It is
causing too much work (and failures) when the PHB is probed during pci
@@ -440,7 +438,7 @@ init.
The fix is to look at the link status first and report the link as
down when appropriate.</p>
</li>
-<li><p class="first">npu2-opencapi: Cleanup traces printed during link training</p>
+<li><p>npu2-opencapi: Cleanup traces printed during link training</p>
<p>Now that links may train in parallel, traces shown during training can
be all mixed up. So add a prefix to all the traces to clearly identify
the chip and link the trace refers to:</p>
@@ -451,7 +449,7 @@ the chip and link the trace refers to:</p>
traces which would need work. But that code is being reworked to be
better integrated with opencapi and nvidia, so leave it alone for now.</p>
</li>
-<li><p class="first">npu2-opencapi: Train links on fundamental reset</p>
+<li><p>npu2-opencapi: Train links on fundamental reset</p>
<p>Reorder our link training steps so that they are executed on
fundamental reset instead of during the initial setup. Skiboot always
call a fundamental reset on all the PHBs during pci init.</p>
@@ -462,16 +460,16 @@ adapter reset from linux. We’ll need the reset callbacks of the PHB to
be defined. We have to handle the various delays differently, since a
linux thread shouldn’t stay stuck waiting in opal for too long.</p>
</li>
-<li><p class="first">npu2-opencapi: Rework adapter reset</p>
+<li><p>npu2-opencapi: Rework adapter reset</p>
<p>Rework a bit the code to reset the opencapi adapter:</p>
<ul class="simple">
-<li>make clearer which i2c pin is resetting which device</li>
-<li>break the reset operation in smaller chunks. This is really to
-prepare for a future patch.</li>
+<li><p>make clearer which i2c pin is resetting which device</p></li>
+<li><p>break the reset operation in smaller chunks. This is really to
+prepare for a future patch.</p></li>
</ul>
<p>No functional changes.</p>
</li>
-<li><p class="first">npu2-opencapi: Use presence detection</p>
+<li><p>npu2-opencapi: Use presence detection</p>
<p>Presence detection is not part of the opencapi specification. So each
platform may choose to implement it the way it wants.</p>
<p>All current platforms implement it through an i2c device where we can
@@ -486,11 +484,12 @@ shaping up to be quite different, so we may have to revisit the topic
in a later patch.</p>
</li>
</ul>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -531,17 +530,15 @@ in a later patch.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -558,14 +555,15 @@ in a later patch.</p>
<li class="right" >
<a href="skiboot-6.1.html" title="skiboot-6.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.1-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.1.html b/doc/release-notes/skiboot-6.1.html
index 89efbbe..088a7cd 100644
--- a/doc/release-notes/skiboot-6.1.html
+++ b/doc/release-notes/skiboot-6.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.0.9.html" title="skiboot-6.0.9"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-1">
+ <section id="skiboot-6-1">
<span id="id1"></span><h1>skiboot-6.1<a class="headerlink" href="#skiboot-6-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.1 was released on Wednesday July 11th 2018. It is the first
release of skiboot 6.1, which is the new stable release of skiboot
@@ -59,27 +59,26 @@ cycle we have been rather quiet, with mainly cleanup and bug fix patches
going in.</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over skiboot-6.0, we have the following changes:</p>
-<div class="section" id="general-changes-and-bug-fixes">
+<section id="general-changes-and-bug-fixes">
<h2>General changes and bug fixes<a class="headerlink" href="#general-changes-and-bug-fixes" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-6.1-rc1.html#skiboot-6-1-rc1"><span class="std std-ref">skiboot-6.1-rc1</span></a>:</p>
<ul>
-<li><p class="first">slw: Fix trivial typo in debug message</p>
-</li>
-<li><p class="first">vpd: Add vendor property to processor node</p>
+<li><p>slw: Fix trivial typo in debug message</p></li>
+<li><p>vpd: Add vendor property to processor node</p>
<p>Processor FRU vpd doesn’t contain vendor detail. We have to parse
module VPD to get vendor detail.</p>
</li>
-<li><p class="first">vpd: Sanitize VPD data</p>
+<li><p>vpd: Sanitize VPD data</p>
<p>On OpenPower system, VPD keyword size tells us the maximum size of the data.
But they fill trailing end with space (0x20) instead of NULL. Also spec
doesn’t stop user to have space (0x20) within actual data.</p>
<p>This patch discards trailing spaces before populating device tree.</p>
</li>
-<li><p class="first">core: always flush console before stopping</p>
+<li><p>core: always flush console before stopping</p>
<p>This catches a few cases (e.g., fast reboot failure messages) that
don’t always make it to the console before the machine is rebooted.</p>
</li>
-<li><p class="first">core/cpu: parallelise global CPU register setting jobs</p>
+<li><p>core/cpu: parallelise global CPU register setting jobs</p>
<p>On a 176 thread system, before:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">122.319923233</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">OPAL</span><span class="p">:</span> <span class="n">Switch</span> <span class="n">to</span> <span class="n">big</span><span class="o">-</span><span class="n">endian</span> <span class="n">OS</span>
<span class="p">[</span> <span class="mf">126.317897467</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">OPAL</span><span class="p">:</span> <span class="n">Switch</span> <span class="n">to</span> <span class="n">little</span><span class="o">-</span><span class="n">endian</span> <span class="n">OS</span>
@@ -91,7 +90,7 @@ don’t always make it to the console before the machine is rebooted.</p>
</pre></div>
</div>
</li>
-<li><p class="first">init, occ: Initialise OCC earlier on BMC systems</p>
+<li><p>init, occ: Initialise OCC earlier on BMC systems</p>
<p>We need to use the OCC to obtain presence data for the SXM2 slots on
Witherspoon systems. This is needed to determine device type for NVLink
GPUs and OpenCAPI devices which can be plugged into the same slot. Support
@@ -109,33 +108,32 @@ its current location.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-6.0.html#skiboot-6-0"><span class="std std-ref">skiboot-6.0</span></a>:</p>
<ul>
-<li><p class="first">GCC8 build fixes</p>
-</li>
-<li><p class="first">Add prepare_hbrt_update to hbrt interfaces</p>
+<li><p>GCC8 build fixes</p></li>
+<li><p>Add prepare_hbrt_update to hbrt interfaces</p>
<p>Add placeholder support for prepare_hbrt_update call into
hostboot runtime (opal-prd) code. This interface is only
called as part of a concurrent code update on a FSP based
system.</p>
</li>
-<li><p class="first">cpu: Clear PCR SPR in opal_reinit_cpus()</p>
+<li><p>cpu: Clear PCR SPR in opal_reinit_cpus()</p>
<p>Currently if Linux boots with a non-zero PCR, things can go bad where
some early userspace programs can take illegal instructions. This is
being fixed in Linux, but in the mean time, we should cleanup in
skiboot also.</p>
</li>
-<li><p class="first">pci: Fix PCI_DEVICE_ID()</p>
+<li><p>pci: Fix PCI_DEVICE_ID()</p>
<p>The vendor ID is 16 bits not 8. This error leaves the top of the vendor
ID in the bottom bits of the device ID, which resulted in e.g. a failure
to run the PCI quirk for the AST VGA device.</p>
</li>
-<li><p class="first">Quieten console output on boot</p>
+<li><p>Quieten console output on boot</p>
<p>We print out a whole bunch of things on boot, most of which aren’t
interesting, so we should <em>not</em> print them instead.</p>
<p>Printing things like what CPUs we found and what PCI devices we found
<em>are</em> useful, so continue to do that. But we don’t need to splat out
a bunch of things that are always going to be true.</p>
</li>
-<li><p class="first">core/console: fix deadlock when printing with console lock held</p>
+<li><p>core/console: fix deadlock when printing with console lock held</p>
<p>Some debugging options will print while the console lock is held,
which is why the console lock is taken as a recursive lock.
However console_write calls __flush_console, which will drop and
@@ -162,7 +160,7 @@ to a deadlock without this:</p>
</pre></div>
</div>
</li>
-<li><p class="first">opal-prd: Do not error out on first failure for soft/hard offline.</p>
+<li><p>opal-prd: Do not error out on first failure for soft/hard offline.</p>
<p>The memory errors (CEs and UEs) that are detected as part of background
memory scrubbing are reported by PRD asynchronously to opal-prd along with
affected memory ranges. hservice_memory_error() converts these ranges into
@@ -172,9 +170,9 @@ infrastructure.</p>
all the pages to soft/hard offline-ing if any of the page offline action
fails. e.g hard offline can fail for:</p>
<ul class="simple">
-<li>Pages that are not part of buddy managed pool.</li>
-<li>Pages that are reserved by kernel using memblock_reserved()</li>
-<li>Pages that are in use by kernel.</li>
+<li><p>Pages that are not part of buddy managed pool.</p></li>
+<li><p>Pages that are reserved by kernel using memblock_reserved()</p></li>
+<li><p>Pages that are in use by kernel.</p></li>
</ul>
<p>But for the pages that are in use by user space application, the hard
offline marks the page as hwpoison, sends SIGBUS signal to kill the
@@ -184,15 +182,15 @@ use by application or free. By stopping on first error we loose the
opportunity to hwpoison the subsequent pages which may be free or in use by
application. This patch fixes this issue.</p>
</li>
-<li><p class="first">libflash/blocklevel_write: Fix missing error handling</p>
+<li><p>libflash/blocklevel_write: Fix missing error handling</p>
<p>Caught by scan-build, we seem to trap the errors in rc, but
not take any recovery action during blocklevel_write.</p>
</li>
</ul>
-<div class="section" id="i2c">
+<section id="i2c">
<h3>I2C<a class="headerlink" href="#i2c" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">p8-i2c: fix wrong request status when a reset is needed</p>
+<li><p>p8-i2c: fix wrong request status when a reset is needed</p>
<p>If the bus is found in error state when starting a new request, the
engine is reset and we enter recovery. However, once complete, the
reset operation shows a status of complete in the status register. So
@@ -201,7 +199,7 @@ request is complete, even though it hasn’t run yet.</p>
<p>So don’t update any request status while we are in recovery, as
nothing useful for the request is supposed to happen in that state.</p>
</li>
-<li><p class="first">p8-i2c: Remove force reset</p>
+<li><p>p8-i2c: Remove force reset</p>
<p>Force reset was added as an attempt to work around some issues with TPM
devices locking up their I2C bus. In that particular case the problem
was that the device would hold the SCL line down permanently due to a
@@ -215,21 +213,21 @@ D. Diagnostic mode allows the SCL and SDA lines to be driven directly
by software. Without this force reset is impossible to implement.</p>
<p>This patch removes the force reset functionality entirely since:</p>
<ol class="loweralpha simple">
-<li>it doesn’t do what it’s supposed to, and</li>
-<li>it’s butt ugly code</li>
+<li><p>it doesn’t do what it’s supposed to, and</p></li>
+<li><p>it’s butt ugly code</p></li>
</ol>
<p>Additionally, turn p8_i2c_reset_engine() into p8_i2c_reset_port().
There’s no need to reset every port on a master in response to an
error that occurred on a specific port.</p>
</li>
-<li><p class="first">libstb/i2c-driver: Bump max timeout</p>
+<li><p>libstb/i2c-driver: Bump max timeout</p>
<p>We have observed some TPMs clock streching the I2C bus for signifigant
amounts of time when processing commands. The same TPMs also have
errata that can result in permernantly locking up a bus in response to
an I2C transaction they don’t understand. Using an excessively long
timeout to prevent this in the field.</p>
</li>
-<li><p class="first">hdata: Add TPM timeout workaround</p>
+<li><p>hdata: Add TPM timeout workaround</p>
<p>Set the default timeout for any bus containing a TPM to one second. This
is needed to work around a bug in the firmware of certain TPMs that will
clock strech the I2C port the for up to a second. Additionally, when the
@@ -237,35 +235,35 @@ TPM is clock streching it responds to a STOP condition on the bus by
bricking itself. Clearing this error requires a hard power cycle of the
system since the TPM is powered by standby power.</p>
</li>
-<li><p class="first">p8-i2c: Allow a per-port default timeout</p>
+<li><p>p8-i2c: Allow a per-port default timeout</p>
<p>Add support for setting a default timeout for the I2C port to the
device-tree. This is consumed by skiboot.</p>
</li>
</ul>
-</div>
-<div class="section" id="ipmi-watchdog">
+</section>
+<section id="ipmi-watchdog">
<h3>IPMI Watchdog<a class="headerlink" href="#ipmi-watchdog" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">ipmi-watchdog: Support handling re-initialization</p>
+<li><p>ipmi-watchdog: Support handling re-initialization</p>
<p>Watchdog resets can return an error code from the BMC indicating that
the BMC watchdog was not initialized. Currently we abort skiboot due to
a missing error handler. This patch implements handling
re-initialization for the watchdog, automatically saving the last
watchdog set values and re-issuing them if needed.</p>
</li>
-<li><p class="first">ipmi-watchdog: The stop action should disable reset</p>
+<li><p>ipmi-watchdog: The stop action should disable reset</p>
<p>Otherwise it is possible for the reset timer to elapse and trigger the
watchdog to wake back up. This doesn’t affect the behavior of the
system since we are providing a NONE action to the BMC. However we would
like to avoid the action from taking place if possible.</p>
</li>
-<li><p class="first">ipmi-watchdog: Add a flag to determine if we are still ticking</p>
+<li><p>ipmi-watchdog: Add a flag to determine if we are still ticking</p>
<p>This makes it easier for future changes to ensure that the watchdog
stops ticking and doesn’t requeue itself for execution in the
background. This way it is safe for resets to be performed after the
ticks are assumed to be stopped and it won’t start the timer again.</p>
</li>
-<li><p class="first">ipmi-watchdog: (prepare for) not disabling at shutdown</p>
+<li><p>ipmi-watchdog: (prepare for) not disabling at shutdown</p>
<p>The op-build linux kernel has been configured to support the ipmi
watchdog. This driver will always handle the watchdog by either leaving
it enabled if configured, or by disabling it during module load if no
@@ -276,7 +274,7 @@ any point during skiboot execution.</p>
development) mix and match old BOOTKERNEL with new skiboot and we don’t
want to break that too obviously.</p>
</li>
-<li><p class="first">ipmi-watchdog: Don’t reset the watchdog twice</p>
+<li><p>ipmi-watchdog: Don’t reset the watchdog twice</p>
<p>There is no clarification for why this change was needed, but presumably
this is due to a buggy BMC implementation where the Watchdog Set command
was processed concurrently or after the initial Watchdog Reset. This
@@ -284,7 +282,7 @@ inversion would cause the watchdog to stop since the DONT_STOP bit was
not set. Since we are now using the DONT_STOP bit during initialization,
the watchdog should not be stopped even if an inversion occurs.</p>
</li>
-<li><p class="first">ipmi-watchdog: Make it possible to set DONT_STOP</p>
+<li><p>ipmi-watchdog: Make it possible to set DONT_STOP</p>
<p>The IPMI standard supports setting a DONT_STOP bit during an Watchdog
Set operation. Most of the time we don’t want to stop the Watchdog when
updating the settings so we should be using this bit. This patch makes
@@ -293,27 +291,27 @@ stopped. This only changes the behavior of the watchdog during the
initial settings update when initializing skiboot. The watchdog is no
longer disabled and then immediately re-enabled.</p>
</li>
-<li><p class="first">ipmi-watchdog: WD_POWER_CYCLE_ACTION -&gt; WD_RESET_ACTION</p>
+<li><p>ipmi-watchdog: WD_POWER_CYCLE_ACTION -&gt; WD_RESET_ACTION</p>
<p>The IPMI specification denotes that action 0x1 is Host Reset and 0x3 is
Host Power Cycle. Use the correct name for Reset in our watchdog code.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="power8-platforms">
+</section>
+</section>
+<section id="power8-platforms">
<h2>POWER8 platforms<a class="headerlink" href="#power8-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">astbmc: Enable mbox depending on scratch reg</p>
+<li><p>astbmc: Enable mbox depending on scratch reg</p>
<p>P8 boxes can opt in for mbox pnor support if they set the scratch
register bit to indicate it is supported.</p>
</li>
</ul>
-</div>
-<div class="section" id="simulator-platforms">
+</section>
+<section id="simulator-platforms">
<h2>Simulator platforms<a class="headerlink" href="#simulator-platforms" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-6.1-rc1.html#skiboot-6-1-rc1"><span class="std std-ref">skiboot-6.1-rc1</span></a>:</p>
<ul>
-<li><p class="first">pmem: volatile bindings for the poorly enabled</p>
+<li><p>pmem: volatile bindings for the poorly enabled</p>
<p>PMEM_DISK bindings were added, but they rely on a rather
recent mmap feature. This patch steals from those bindings
to add volatile bindings. I’ve used these bindings with
@@ -324,7 +322,7 @@ should not expect any data to be saved/retrieved.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-6.0.html#skiboot-6-0"><span class="std std-ref">skiboot-6.0</span></a>:</p>
<ul>
-<li><p class="first">plat/qemu: add PNOR support</p>
+<li><p>plat/qemu: add PNOR support</p>
<p>To access the PNOR, OPAL/skiboot drives the BMC SPI controller using
the iLPC2AHB device of the BMC SuperIO controller and accesses the
flash contents using the LPC FW address space on which the PNOR is
@@ -336,17 +334,17 @@ ARM). The AHB window giving access to the contents of the BMC SPI
controller flash modules is mapped on the LPC FW address space.</p>
<p>The change should be compatible for machine without PNOR support.</p>
</li>
-<li><p class="first">external/mambo: Add support for readline if it exists</p>
+<li><p>external/mambo: Add support for readline if it exists</p>
<p>Add support for tclreadline package if it is present.
This patch loads the package and uses it when the
simulation stops for any reason.</p>
</li>
</ul>
-</div>
-<div class="section" id="fsp-based-platforms">
+</section>
+<section id="fsp-based-platforms">
<h2>FSP based platforms<a class="headerlink" href="#fsp-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Disable fast reboot on FSP IPL side change</p>
+<li><p>Disable fast reboot on FSP IPL side change</p>
<p>If FSP changes next IPL side, then disable fast reboot.</p>
<p>sample output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">620.196442259</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">FSP</span><span class="p">:</span> <span class="n">Got</span> <span class="n">sysparam</span> <span class="n">update</span><span class="p">,</span> <span class="n">param</span> <span class="n">ID</span> <span class="mh">0xf0000007</span>
@@ -355,7 +353,7 @@ simulation stops for any reason.</p>
</pre></div>
</div>
</li>
-<li><p class="first">fsp/console: Always establish OPAL console API backend</p>
+<li><p>fsp/console: Always establish OPAL console API backend</p>
<p>Currently we only call set_opal_console() to establish the backend
used by the OPAL console API if we find at least one FSP serial
port in HDAT.</p>
@@ -366,30 +364,29 @@ node names.</p>
<p>So always set it if an FSP is present</p>
</li>
</ul>
-</div>
-<div class="section" id="ast-bmc-based-platforms">
+</section>
+<section id="ast-bmc-based-platforms">
<h2>AST BMC based platforms<a class="headerlink" href="#ast-bmc-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">AMI BMC: use 0x3a as OEM command</p>
+<li><p>AMI BMC: use 0x3a as OEM command</p>
<p>The 0x3a OEM command is for IBM commands, while 0x32 was for AMI ones.
Sometime in the P8 timeframe, AMI BMCs were changed to listen for our
commands on either 0x32 or 0x3a. Since 0x3a is the direction forward,
we’ll use that, as P9 machines with AMI BMCs probably also want these
to work, and let’s not bet that 0x32 will continue to be okay.</p>
</li>
-<li><p class="first">astbmc: Set romulus BMC type to OpenBMC</p>
-</li>
-<li><p class="first">platform/astbmc: Do not delete compatible property</p>
+<li><p>astbmc: Set romulus BMC type to OpenBMC</p></li>
+<li><p>platform/astbmc: Do not delete compatible property</p>
<p>P9 onwards OPAL is building device tree for BMC based system using
HDAT. We are populating bmc/compatible node with bmc version. Hence
do not delete this property.</p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/xscom-utils: Add python library for xscom access</p>
+<li><p>external/xscom-utils: Add python library for xscom access</p>
<p>Patch adds a simple python library module for xscom access.
It directly manipulate the ‘/access’ file for scom read
and write from debugfs ‘scom’ directory.</p>
@@ -401,7 +398,7 @@ and write from debugfs ‘scom’ directory.</p>
</pre></div>
</div>
<p>Sample output for above getscom.py:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> ./getscom.py -l
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp"># </span>./getscom.py -l
<span class="go">Chip ID | Rev | Chip type</span>
<span class="go">---------|-------|-----------</span>
<span class="go">00000008 | DD2.0 | P9 (Nimbus) processor</span>
@@ -409,14 +406,14 @@ and write from debugfs ‘scom’ directory.</p>
</pre></div>
</div>
</li>
-<li><p class="first">ffspart: Don’t require user to create blank partitions manually</p>
+<li><p>ffspart: Don’t require user to create blank partitions manually</p>
<p>Add ‘–allow-empty’ which allows the filename for a given partition to
be blank. If set ffspart will set that part of the PNOR file ‘blank’ and
set ECC bits if required.
Without this option behaviour is unchanged and ffspart will return an
error if it can not find the partition file.</p>
</li>
-<li><p class="first">pflash: Use correct prefix when installing</p>
+<li><p>pflash: Use correct prefix when installing</p>
<p>pflash uses lowercase prefix when running make install in it’s
direcetory, but uppercase PREFIX when running it in shared. Use
lowercase everywhere.</p>
@@ -424,28 +421,28 @@ lowercase everywhere.</p>
been carrying for years.</p>
</li>
</ul>
-</div>
-<div class="section" id="power9">
+</section>
+<section id="power9">
<h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-6.1-rc1.html#skiboot-6-1-rc1"><span class="std std-ref">skiboot-6.1-rc1</span></a>:</p>
<ul>
-<li><p class="first">occ: sensors: Fix the size of the phandle array ‘sensors’ in DT</p>
+<li><p>occ: sensors: Fix the size of the phandle array ‘sensors’ in DT</p>
<p>Fixes: 99505c03f493 (present in v5.10-rc4)</p>
</li>
-<li><p class="first">phb4: Delay training till after PERST is deasserted</p>
+<li><p>phb4: Delay training till after PERST is deasserted</p>
<p>This helps some cards train on the second PERST (ie fast-reboot). The
reason is not clear why but it helps, so YOLO!</p>
</li>
</ul>
<p>Since <a class="reference internal" href="skiboot-6.0.html#skiboot-6-0"><span class="std std-ref">skiboot-6.0</span></a>:</p>
<ul>
-<li><p class="first">occ-sensor: Avoid using uninitialised struct cpu_thread</p>
+<li><p>occ-sensor: Avoid using uninitialised struct cpu_thread</p>
<p>When adding the sensors in occ_sensors_init, if the type is not
OCC_SENSOR_LOC_CORE, then the loop to find ‘c’ will not be executed.
Then c-&gt;pir is used for both of the the add_sensor_node calls below.</p>
<p>This provides a default value of 0 instead.</p>
</li>
-<li><p class="first">NX: Add NX coprocessor init opal call</p>
+<li><p>NX: Add NX coprocessor init opal call</p>
<p>The read offset (4:11) in Receive FIFO control register is incremented
by FIFO size whenever CRB read by NX. But the index in RxFIFO has to
match with the corresponding entry in FIFO maintained by VAS in kernel.
@@ -456,7 +453,7 @@ It could cause CRB failure / timeout from NX.</p>
<p>This patch adds nx_coproc_init opal call for kernel to initialize
readOffset (4:11) and Queued (15:23) in RxFIFO control register.</p>
</li>
-<li><p class="first">SLW: Remove stop1_lite and stop2_lite</p>
+<li><p>SLW: Remove stop1_lite and stop2_lite</p>
<p>stop1_lite has been removed since it adds no additional benefit
over stop0_lite. stop2_lite has been removed since currently it adds
minimal benefit over stop2. However, the benefit is eclipsed by the time
@@ -469,7 +466,7 @@ we expose to the OS, the idea being to bring them back in a new
DT representation so that only an OS that knows what to do will
do things with them.</p>
</li>
-<li><p class="first">cpu: Use STOP1 on POWER9 for idle/sleep inside OPAL</p>
+<li><p>cpu: Use STOP1 on POWER9 for idle/sleep inside OPAL</p>
<p>The current code requests STOP3, which means it gets STOP2 in practice.</p>
<p>STOP2 has proven to occasionally be unreliable depending on FW
version and chip revision, it also requires a functional CME,
@@ -477,21 +474,21 @@ so instead, let’s use STOP1. The difference is rather minimum
for something that is only used a few seconds during boot.</p>
</li>
</ul>
-<div class="section" id="npu2-nvlink2-and-opencapi">
+<section id="npu2-nvlink2-and-opencapi">
<h3>NPU2 (NVLink2 and OpenCAPI)<a class="headerlink" href="#npu2-nvlink2-and-opencapi" title="Permalink to this headline">¶</a></h3>
<p>Since <a class="reference internal" href="skiboot-6.1-rc1.html#skiboot-6-1-rc1"><span class="std std-ref">skiboot-6.1-rc1</span></a>:</p>
<ul>
-<li><p class="first">capi: Select the correct IODA table entry for the mbt cache.</p>
+<li><p>capi: Select the correct IODA table entry for the mbt cache.</p>
<p>With the current code, the capi mmio window is not correctly configured
in the IODA table entry. The first entry (generally the non-prefetchable
BAR) is overwrriten.
This patch sets the capi window bar at the right place.</p>
</li>
-<li><p class="first">npu2/hw-procedures: Fence bricks via NTL instead of MISC</p>
+<li><p>npu2/hw-procedures: Fence bricks via NTL instead of MISC</p>
<p>There are a couple of places we can set/unset fence for a brick:</p>
<ol class="arabic simple">
-<li>MISC register: NPU2_MISC_FENCE_STATE</li>
-<li>NTL register for the brick: NPU2_NTL_MISC_CFG1(ndev)</li>
+<li><p>MISC register: NPU2_MISC_FENCE_STATE</p></li>
+<li><p>NTL register for the brick: NPU2_NTL_MISC_CFG1(ndev)</p></li>
</ol>
<p>Recent testing of ATS in combination with GPU reset has exposed a side
effect of using (1); if fence is set for all six bricks, it triggers a
@@ -502,7 +499,7 @@ Replace the call which sets fence with a write to (2). Remove the
corresponding unset call entirely. It’s unneeded because the procedures
already do a progression from full fence to half to idle using (2).</p>
</li>
-<li><p class="first">phb4/capp: Calculate STQ/DMA read engines based on link-width for PEC</p>
+<li><p>phb4/capp: Calculate STQ/DMA read engines based on link-width for PEC</p>
<p>Presently in CAPI mode the number of STQ/DMA-read engines allocated on
PEC2 for CAPP is fixed to 6 and 0-30 respectively irrespective of the
PCI link width. These values are only suitable for x8 cards and
@@ -514,7 +511,7 @@ in x16 mode and if yes then we allocate 4/0-47 STQ/DMA-read engines
for the CAPP traffic.</p>
<p>Fixes: 37ea3cfdc852 (present in v5.7-rc1)</p>
</li>
-<li><p class="first">npu2: Use same compatible string for NVLink and OpenCAPI link nodes in device tree</p>
+<li><p>npu2: Use same compatible string for NVLink and OpenCAPI link nodes in device tree</p>
<p>Currently, we distinguish between NPU links for NVLink devices and OpenCAPI
devices through the use of two different compatible strings - ibm,npu-link
and ibm,npu-link-opencapi.</p>
@@ -533,7 +530,7 @@ device type dynamically.</p>
consumed directly by Linux, so this shouldn’t break anything (other than
internal BML lab environments).</p>
</li>
-<li><p class="first">occ: Add support for GPU presence detection</p>
+<li><p>occ: Add support for GPU presence detection</p>
<p>On the Witherspoon platform, we need to distinguish between NVLink GPUs and
OpenCAPI accelerators. In order to do this, we first need to find out
whether the SXM2 socket is populated.</p>
@@ -551,7 +548,7 @@ link training to fail.</p>
<p>This will be used in later patches to fix up the NPU2 probe path for
OpenCAPI support on Witherspoon.</p>
</li>
-<li><p class="first">hw/npu2, core/hmi: Use NPU instead of NPU2 as log message prefix</p>
+<li><p>hw/npu2, core/hmi: Use NPU instead of NPU2 as log message prefix</p>
<p>The NPU2{DBG,INF,ERR} macros use “NPU%d” as a prefix to identify messages
relating to a particular NPU.</p>
<p>It’s slightly confusing to have per-NPU messages prefixed with “NPU0” or
@@ -563,12 +560,12 @@ confusion with the original npu.c code since that’s only for P8.</p>
</ul>
<p>Since <a class="reference internal" href="skiboot-6.0.html#skiboot-6-0"><span class="std std-ref">skiboot-6.0</span></a>:</p>
<ul>
-<li><p class="first">npu2: Reset NVLinks on hot reset</p>
+<li><p>npu2: Reset NVLinks on hot reset</p>
<p>This effectively fences GPU RAM on GPU reset so the host system
does not have to crash every time we stop a KVM guest with a GPU
passed through.</p>
</li>
-<li><p class="first">npu2-opencapi: reduce number of retries to train the link</p>
+<li><p>npu2-opencapi: reduce number of retries to train the link</p>
<p>We’ve been reliably training the opencapi link on the first attempt
for quite a while. Furthermore, if it doesn’t train on the first
attempt, retries haven’t been that useful. So let’s reduce the number
@@ -576,14 +573,14 @@ of attempts we do to train the link.</p>
<p>2 retries = 3 attempts to train.</p>
<p>Each (failed) training sequence costs about 3 seconds.</p>
</li>
-<li><p class="first">opal/hmi: Display correct chip id while printing NPU FIRs.</p>
+<li><p>opal/hmi: Display correct chip id while printing NPU FIRs.</p>
<p>HMIs for NPU xstops are broadcasted to all chips. All cores on all the
chips receive HMI. HMI handler correctly identifies and extracts the
NPU FIR details from affected chip, but while printing FIR data it
prints chip id and location code details of this_cpu()-&gt;chip_id which
may not be correct. This patch fixes this issue.</p>
</li>
-<li><p class="first">npu2-opencapi: Fix link state to report link down</p>
+<li><p>npu2-opencapi: Fix link state to report link down</p>
<p>The PHB callback ‘get_link_state’ is always reporting the link width,
irrespective of the link status and even when the link is down. It is
causing too much work (and failures) when the PHB is probed during pci
@@ -591,7 +588,7 @@ init.
The fix is to look at the link status first and report the link as
down when appropriate.</p>
</li>
-<li><p class="first">npu2-opencapi: Cleanup traces printed during link training</p>
+<li><p>npu2-opencapi: Cleanup traces printed during link training</p>
<p>Now that links may train in parallel, traces shown during training can
be all mixed up. So add a prefix to all the traces to clearly identify
the chip and link the trace refers to:</p>
@@ -602,7 +599,7 @@ the chip and link the trace refers to:</p>
traces which would need work. But that code is being reworked to be
better integrated with opencapi and nvidia, so leave it alone for now.</p>
</li>
-<li><p class="first">npu2-opencapi: Train links on fundamental reset</p>
+<li><p>npu2-opencapi: Train links on fundamental reset</p>
<p>Reorder our link training steps so that they are executed on
fundamental reset instead of during the initial setup. Skiboot always
call a fundamental reset on all the PHBs during pci init.</p>
@@ -613,16 +610,16 @@ adapter reset from linux. We’ll need the reset callbacks of the PHB to
be defined. We have to handle the various delays differently, since a
linux thread shouldn’t stay stuck waiting in opal for too long.</p>
</li>
-<li><p class="first">npu2-opencapi: Rework adapter reset</p>
+<li><p>npu2-opencapi: Rework adapter reset</p>
<p>Rework a bit the code to reset the opencapi adapter:</p>
<ul class="simple">
-<li>make clearer which i2c pin is resetting which device</li>
-<li>break the reset operation in smaller chunks. This is really to
-prepare for a future patch.</li>
+<li><p>make clearer which i2c pin is resetting which device</p></li>
+<li><p>break the reset operation in smaller chunks. This is really to
+prepare for a future patch.</p></li>
</ul>
<p>No functional changes.</p>
</li>
-<li><p class="first">npu2-opencapi: Use presence detection</p>
+<li><p>npu2-opencapi: Use presence detection</p>
<p>Presence detection is not part of the opencapi specification. So each
platform may choose to implement it the way it wants.</p>
<p>All current platforms implement it through an i2c device where we can
@@ -637,26 +634,27 @@ shaping up to be quite different, so we may have to revisit the topic
in a later patch.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="testing-and-ci">
+</section>
+</section>
+<section id="testing-and-ci">
<h2>Testing and CI<a class="headerlink" href="#testing-and-ci" title="Permalink to this headline">¶</a></h2>
<p>Since <a class="reference internal" href="skiboot-6.1-rc1.html#skiboot-6-1-rc1"><span class="std std-ref">skiboot-6.1-rc1</span></a>:</p>
<ul>
-<li><p class="first">test/qemu: start building qemu again, and use our built qemu for tests</p>
+<li><p>test/qemu: start building qemu again, and use our built qemu for tests</p>
<p>We need to use QEMU_BIN rather than QEMU as the makefiles define
QEMU already.</p>
</li>
-<li><p class="first">opal-ci: qemu: Use the powernv-3.0 branch</p>
+<li><p>opal-ci: qemu: Use the powernv-3.0 branch</p>
<p>This is based off the current development version of Qemu, and
importantly it contains the patch that allows skiboot and Linux to clear
the PCR that we require to boot.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -698,17 +696,15 @@ the PCR that we require to boot.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -725,14 +721,15 @@ the PCR that we require to boot.</p>
<li class="right" >
<a href="skiboot-6.0.9.html" title="skiboot-6.0.9"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.2-rc1.html b/doc/release-notes/skiboot-6.2-rc1.html
index ca696ea..dfc8820 100644
--- a/doc/release-notes/skiboot-6.2-rc1.html
+++ b/doc/release-notes/skiboot-6.2-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.2-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.2-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.2.html" title="skiboot-6.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-2-rc1">
+ <section id="skiboot-6-2-rc1">
<span id="id1"></span><h1>skiboot-6.2-rc1<a class="headerlink" href="#skiboot-6-2-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.2-rc1 was released on Monday November 19th 2018. It is the first
release candidate of skiboot 6.2, which will become the new stable release
@@ -59,10 +59,10 @@ stable releases).</p>
also contains a lot of cleanup work and minor bug fixes (much like skiboot 6.1
did).</p>
<p>Over skiboot 6.1, we have the following changes:</p>
-<div class="section" id="general">
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">cpu: Quieten OS endian switch messages</p>
+<li><p>cpu: Quieten OS endian switch messages</p>
<p>Users see these when loading an OS from Petitboot:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">119.486794100</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">OPAL</span><span class="p">:</span> <span class="n">Switch</span> <span class="n">to</span> <span class="n">big</span><span class="o">-</span><span class="n">endian</span> <span class="n">OS</span>
<span class="p">[</span> <span class="mf">120.022302604</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">OPAL</span><span class="p">:</span> <span class="n">Switch</span> <span class="n">to</span> <span class="n">little</span><span class="o">-</span><span class="n">endian</span> <span class="n">OS</span>
@@ -72,18 +72,18 @@ did).</p>
on. Switch them to PR_INFO so they still appear in the log, but not on
the serial console.</p>
</li>
-<li><p class="first">Recognise signed VERSION partition</p>
+<li><p>Recognise signed VERSION partition</p>
<p>A few things need to change to support a signed VERSION partition:</p>
<ul class="simple">
-<li>A signed VERSION partition will be 4K + SECURE_BOOT_HEADERS_SIZE (4K).</li>
-<li>The VERSION partition needs to be loaded after secure/trusted boot is
-set up, and therefore after nvram_init().</li>
-<li>Added to the trustedboot resources array.</li>
+<li><p>A signed VERSION partition will be 4K + SECURE_BOOT_HEADERS_SIZE (4K).</p></li>
+<li><p>The VERSION partition needs to be loaded after secure/trusted boot is
+set up, and therefore after nvram_init().</p></li>
+<li><p>Added to the trustedboot resources array.</p></li>
</ul>
<p>This also moves the ipmi_dt_add_bmc_info() call to after
flash_dt_add_fw_version() since it adds info to ibm,firmware-versions.</p>
</li>
-<li><p class="first">Run pollers in time_wait() when not booting</p>
+<li><p>Run pollers in time_wait() when not booting</p>
<p>This only bit us hard with hiomap in one scenario.</p>
<p>Our OPAL API has been OPAL_POLL_EVENTS may be needed to make forward
progress on ongoing operations, and the internal to skiboot API has been
@@ -113,7 +113,7 @@ to be, rather than have this odd case of “time_wait() for a condition
that could also be tripped by an interrupt works fine unless the OS is
up and running but hasn’t set interrupts up yet”.</p>
</li>
-<li><p class="first">ipmi: Reduce ipmi_queue_msg_sync() polling loop time to 10ms</p>
+<li><p>ipmi: Reduce ipmi_queue_msg_sync() polling loop time to 10ms</p>
<p>On a plain boot, this reduces the time spent in OPAL by ~170ms on
p9dsu. This is due to hiomap (currently) using synchronous IPMI
messages.</p>
@@ -122,13 +122,10 @@ operations for hiomap, as we’ll spend typically 10-20ms in OPAL
rather than 100-200ms. It’s not an ideal solution to that, but
it’s a quick and obvious win for jitter.</p>
</li>
-<li><p class="first">core/device: NULL pointer dereference fix</p>
-</li>
-<li><p class="first">core/flash: NULL pointer dereference fixes</p>
-</li>
-<li><p class="first">core/cpu: Call memset with proper cpu_thread offset</p>
-</li>
-<li><p class="first">libflash: Add ipmi-hiomap, and prefer it for PNOR access</p>
+<li><p>core/device: NULL pointer dereference fix</p></li>
+<li><p>core/flash: NULL pointer dereference fixes</p></li>
+<li><p>core/cpu: Call memset with proper cpu_thread offset</p></li>
+<li><p>libflash: Add ipmi-hiomap, and prefer it for PNOR access</p>
<p>ipmi-hiomap implements the PNOR access control protocol formerly known
as “the mbox protocol” but uses IPMI instead of the AST LPC mailbox as a
transport. As there is no-longer any mailbox involved in this alternate
@@ -143,7 +140,7 @@ removal.</p>
but as it is on life-support effective immediately we may as well just
remove it entirely when the time is right.</p>
</li>
-<li><p class="first">opal/hmi: Handle early HMIs on thread0 when secondaries are still in OPAL.</p>
+<li><p>opal/hmi: Handle early HMIs on thread0 when secondaries are still in OPAL.</p>
<p>When primary thread receives a CORE level HMI for timer facility errors
while secondaries are still in OPAL, thread 0 ends up in rendez-vous
waiting for secondaries to get into hmi handling. This is because OPAL
@@ -191,18 +188,18 @@ this very eary stage we already doomed.</p>
</pre></div>
</div>
</li>
-<li><p class="first">core/cpu: Fix memory allocation for job array</p>
+<li><p>core/cpu: Fix memory allocation for job array</p>
<p>fixes: 7a3f307e core/cpu: parallelise global CPU register setting jobs</p>
<p>This bug would result in boot-hang on some configurations due to
cpu_wait_job() endlessly waiting for the last bogus jobs[cpu-&gt;pir] pointer.</p>
</li>
-<li><p class="first">i2c: Fix multiple-enqueue of the same request on NACK</p>
+<li><p>i2c: Fix multiple-enqueue of the same request on NACK</p>
<p>i2c_request_send() will retry the request if the error is a NAK,
however it forgets to clear the “ud.done” flag. It will thus
loop again and try to re-enqueue the same request causing internal
request list corruption.</p>
</li>
-<li><p class="first">i2c: Ensure ordering between i2c_request_send() and completion</p>
+<li><p>i2c: Ensure ordering between i2c_request_send() and completion</p>
<p>i2c_request_send loops waiting for a flag “uc.done” set by
the completion routine, and then look for a result code
also set by that same completion.</p>
@@ -211,17 +208,17 @@ processor, so we need to order the stores to uc and the reads
from uc so that uc.done is stored last and tested first using
memory barriers.</p>
</li>
-<li><p class="first">pci: Clarify power down logic</p>
+<li><p>pci: Clarify power down logic</p>
<p>Currently pci_scan_bus() unconditionally calls pci_slot_set_power_state()
when it’s finished scanning a bus. This is one of those things that
makes you go “WHAT?” when you first see it and frankly the skiboot PCI
code could do with less of that.</p>
</li>
</ul>
-<div class="section" id="fast-reboot">
+<section id="fast-reboot">
<h3>Fast Reboot<a class="headerlink" href="#fast-reboot" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">fast-reboot: parallel memory clearing</p>
+<li><p>fast-reboot: parallel memory clearing</p>
<p>Arbitrarily pick 16GB as the unit of parallelism, and
split up clearing memory into jobs and schedule them
node-local to the memory (or on node 0 if we can’t
@@ -232,7 +229,7 @@ fast-reboot on a 256GB Boston system.</p>
zeroing all of RAM, so we may as well do them at the same time
and cut a few seconds off the total fast reboot time.</p>
</li>
-<li><p class="first">fast-reboot: verify firmware “romem” checksum</p>
+<li><p>fast-reboot: verify firmware “romem” checksum</p>
<p>This takes a checksum of skiboot memory after boot that should be
unchanged during OS operation, and verifies it before allowing a
fast reboot.</p>
@@ -242,39 +239,39 @@ during boot.</p>
<p>This helps to improve the integrity of firmware against host and
runtime firmware memory scribble bugs.</p>
</li>
-<li><p class="first">core/fast-reboot: print the fast reboot disable reason</p>
+<li><p>core/fast-reboot: print the fast reboot disable reason</p>
<p>Once things start to go wrong, disable_fast_reboot can be called a
number of times, so make the first reason sticky, and also print it
to the console at disable time. This helps with making sense of
fast reboot disables.</p>
</li>
-<li><p class="first">Add fast-reboot property to /ibm,opal DT node</p>
+<li><p>Add fast-reboot property to /ibm,opal DT node</p>
<p>this means that if it’s permanently disabled on boot, the test suite can
pick that up and not try a fast reboot test.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="utilities">
+</section>
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pflash: Add –skip option for reading</p>
+<li><p>pflash: Add –skip option for reading</p>
<p>Add a –skip=N option to pflash to skip N number of bytes when reading.
This would allow users to print the VERSION partition without the STB
header by specifying the –skip=4096 argument, and it’s a more generic
solution rather than making pflash depend on secure/trusted boot code.</p>
</li>
-<li><p class="first">xscom-utils: Rework getsram</p>
+<li><p>xscom-utils: Rework getsram</p>
<p>Allow specifying a file on the command line to read OCC SRAM data into.
If no file is specified then we print it to stdout as text. This is a
bit inconsistent, but it retains compatibility with the existing tool.</p>
</li>
-<li><p class="first">xscom-utils/getsram: Make it work on P9</p>
+<li><p>xscom-utils/getsram: Make it work on P9</p>
<p>The XSCOM base address of the OCC control registers changed slightly
between P8 and P9. Fix this up and add a bit of PVR checking so we look
in the right place.</p>
</li>
-<li><p class="first">opal-prd: Fix opal-prd crash</p>
+<li><p>opal-prd: Fix opal-prd crash</p>
<p>Presently callback function from HBRT uses r11 to point to target function
pointer. r12 is garbage. This works fine when we compile with “-no-pie” option
(as we don’t use r12 to calculate TOC).</p>
@@ -287,44 +284,43 @@ entry point. So that we can calculate TOC properly.</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="development-and-debugging">
+</section>
+<section id="development-and-debugging">
<h2>Development and Debugging<a class="headerlink" href="#development-and-debugging" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/lock: Use try_lock_caller() in lock_caller() to capture owner</p>
+<li><p>core/lock: Use try_lock_caller() in lock_caller() to capture owner</p>
<p>Otherwise we can get reports of core/lock.c owning the lock, which is
not helpful when tracking down ownership issues.</p>
</li>
-<li><p class="first">core/flash: Emit a warning if Skiboot version doesn’t match</p>
+<li><p>core/flash: Emit a warning if Skiboot version doesn’t match</p>
<p>This means you’ll get a warning that you’ve modified skiboot separately
to the rest of the PNOR image, which can be useful in determining what
firmware is actually running on a machine.</p>
</li>
-<li><p class="first">gcov: link in ctors* as newer GCC doesn’t group them all</p>
+<li><p>gcov: link in ctors* as newer GCC doesn’t group them all</p>
<p>It seems that newer toolchains get us multiple ctors sections to link in
rather than just one. If we discard them (as we were doing), then we
don’t have a working gcov build (and we get the “doesn’t look sane”
warning on boot).</p>
</li>
-<li><p class="first">core/flash: Log return code when ffs_init() fails</p>
+<li><p>core/flash: Log return code when ffs_init() fails</p>
<p>Knowing the return code is at least better than not knowing the return
code.</p>
</li>
-<li><p class="first">gcov: Fix building with GCC8</p>
-</li>
-<li><p class="first">travis/ci: rework Dockerfiles to produce build artifacts</p>
+<li><p>gcov: Fix building with GCC8</p></li>
+<li><p>travis/ci: rework Dockerfiles to produce build artifacts</p>
<p>ubuntu-latest was also missing clang, as ubuntu-latest is closer to
ubuntu 18.04 than 16.04</p>
</li>
-<li><p class="first">cpu: add cpu_queue_job_on_node()</p>
+<li><p>cpu: add cpu_queue_job_on_node()</p>
<p>Add a job scheduling API which will run the job on the requested
chip_id (or return failure).</p>
</li>
-<li><p class="first">opal-ci: Build old dtc version for fedora 28</p>
+<li><p>opal-ci: Build old dtc version for fedora 28</p>
<p>There are patches that will go into dtc to fix the issues we hit, but
for the moment let’s just build and use a slightly older version.</p>
</li>
-<li><p class="first">mem_region: Merge similar allocations when dumping</p>
+<li><p>mem_region: Merge similar allocations when dumping</p>
<p>Currently we print one line for each allocation done at runtime when
dumping the memory allocations. We do a few thousand allocations at
boot so this can result in a huge amount of text being printed which
@@ -343,7 +339,7 @@ suppressed at the default log level, which probably isn’t something you
want considering we only dump the allocations when we run out of skiboot
heap space.</p>
</li>
-<li><p class="first">core/lock: fix timeout warning causing a deadlock false positive</p>
+<li><p>core/lock: fix timeout warning causing a deadlock false positive</p>
<p>If a lock waiter exceeds the warning timeout, it prints a message
while still registered as requesting the lock. Printing the message
can take locks, so if one is held when the owner of the original
@@ -353,11 +349,11 @@ detection, which brings down the system.</p>
KVM guest, where the timebase was not returned to host timebase
before calling the HMI handler.</p>
</li>
-<li><p class="first">hw/p8-i2c: Print the set error bits</p>
+<li><p>hw/p8-i2c: Print the set error bits</p>
<p>This is purely to save me from having to look it up every time someone
gets an I2C error.</p>
</li>
-<li><p class="first">init: Fix starting stripped kernel</p>
+<li><p>init: Fix starting stripped kernel</p>
<p>Currently if we try to run a raw/stripped binary kernel (ie. without
the elf header) we crash with:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>[ 0.008757768,5] INIT: Waiting for kernel...
@@ -373,12 +369,12 @@ the elf header) we crash with:</p>
<p>This is because we haven’t set kernel_entry correctly in this path.
This fixes it.</p>
</li>
-<li><p class="first">cpu: Better output when waiting for a very long job</p>
+<li><p>cpu: Better output when waiting for a very long job</p>
<p>Instead of printing at the end if the job took more than 1s,
print in the loop every 30s along with a backtrace. This will
give us some output if the job is deadlocked.</p>
</li>
-<li><p class="first">lock: Fix interactions between lock dependency checker and stack checker</p>
+<li><p>lock: Fix interactions between lock dependency checker and stack checker</p>
<p>The lock dependency checker does a few nasty things that can cause
re-entrancy deadlocks in conjunction with the stack checker or
in fact other debug tests.</p>
@@ -395,45 +391,43 @@ avoid deadlocks with the UART driver.</p>
option from DEBUG_LOCKS as well, in case we chose to disable it
by default later on.</p>
</li>
-<li><p class="first">xscom-utils/adu_scoms.py: run 2to3 over it</p>
-</li>
-<li><p class="first">clang: -Wno-error=ignored-attributes</p>
-</li>
+<li><p>xscom-utils/adu_scoms.py: run 2to3 over it</p></li>
+<li><p>clang: -Wno-error=ignored-attributes</p></li>
</ul>
-<div class="section" id="mambo-platform">
+<section id="mambo-platform">
<h3>Mambo Platform<a class="headerlink" href="#mambo-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">mambo: Merge PMEM_DISK and PMEM_VOLATILE code</p>
+<li><p>mambo: Merge PMEM_DISK and PMEM_VOLATILE code</p>
<p>PMEM_VOLATILE and PMEM_DISK can’t be used together and are basically
copies of the same code.</p>
<p>This merges the two and allows them used together. Same API is kept.</p>
</li>
-<li><p class="first">hw/chiptod: test QUIRK_NO_CHIPTOD in opal_resync_timebase</p>
+<li><p>hw/chiptod: test QUIRK_NO_CHIPTOD in opal_resync_timebase</p>
<p>This allows some test coverage of deep stop states in Linux with
Mambo.</p>
</li>
-<li><p class="first">core/mem_region: mambo reserve kernel payload areas</p>
+<li><p>core/mem_region: mambo reserve kernel payload areas</p>
<p>Mambo image payloads get overwritten by the OS and by
fast reboot memory clearing because they have no region
defined. Add them, which allows fast reboot to work.</p>
</li>
</ul>
-</div>
-<div class="section" id="qemu-platform">
+</section>
+<section id="qemu-platform">
<h3>Qemu platform<a class="headerlink" href="#qemu-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">nx: Don’t abort on missing NX when using a QEMU machine</p>
+<li><p>nx: Don’t abort on missing NX when using a QEMU machine</p>
<p>These don’t have an NX node (and probably never will) as they
don’t provide any coprocessor. However, the DARN instruction
works so this abort is unnecessary.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="power8-platforms">
+</section>
+</section>
+<section id="power8-platforms">
<h2>POWER8 Platforms<a class="headerlink" href="#power8-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">SBE-p8: Do all sbe timer update with xscom lock held</p>
+<li><p>SBE-p8: Do all sbe timer update with xscom lock held</p>
<p>Without this, on some P8 platforms, we could (falsely) think the SBE timer
had stalled getting the dreaded “timer stuck” message.</p>
<p>The code was doing the mftb() to set the start of the timeout period while
@@ -443,10 +437,10 @@ else had the xscom lock.</p>
so do it that way.</p>
</li>
</ul>
-<div class="section" id="vesnin-platform">
+<section id="vesnin-platform">
<h3>Vesnin Platform<a class="headerlink" href="#vesnin-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">platforms/astbmc/vesnin: Send list of PCI devices to BMC through IPMI</p>
+<li><p>platforms/astbmc/vesnin: Send list of PCI devices to BMC through IPMI</p>
<p>Implements sending a list of installed PCI devices through IPMI protocol.
Each PCI device description is sent as a standalone IPMI message.
A list of devices can be gathered from separate messages using the
@@ -454,26 +448,24 @@ session identifier. The session Id is an incremental counter that is
updated at the start of synchronization session.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="power9-platforms">
+</section>
+</section>
+<section id="power9-platforms">
<h2>POWER9 Platforms<a class="headerlink" href="#power9-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">STOP API: API conditionally supports 255 SCOM restore entries for each quad.</p>
-</li>
-<li><p class="first">hdata/i2c: Skip unknown device type</p>
+<li><p>STOP API: API conditionally supports 255 SCOM restore entries for each quad.</p></li>
+<li><p>hdata/i2c: Skip unknown device type</p>
<p>Do not add unknown I2C devices to device tree.</p>
</li>
-<li><p class="first">hdata/i2c: Add whitelisting for Host I2C devices</p>
+<li><p>hdata/i2c: Add whitelisting for Host I2C devices</p>
<p>Many of the devices that we get information about through HDAT are for
use by firmware rather than the host operating system. This patch adds
a boolean flag to hdat_i2c_info structure that indicates whether devices
with a given purpose should be reserved for use inside of OPAL (or some
other firmware component, such as the OCC).</p>
</li>
-<li><p class="first">hdata/iohub: Fix Cumulus Hub ID number</p>
-</li>
-<li><p class="first">opal/hmi: Wakeup the cpu before reading core_fir</p>
+<li><p>hdata/iohub: Fix Cumulus Hub ID number</p></li>
+<li><p>opal/hmi: Wakeup the cpu before reading core_fir</p>
<p>When stop state 5 is enabled, reading the core_fir during an HMI can
result in a xscom read error with xscom_read() returning an
OPAL_XSCOM_PARTIAL_GOOD error code and core_fir value of all FFs. At
@@ -485,12 +477,12 @@ reading the core_fir. Hence this patch wraps the call to
read_core_fir() within calls to dctl_set_special_wakeup() and
dctl_clear_special_wakeup().</p>
</li>
-<li><p class="first">xive: Disable block tracker</p>
+<li><p>xive: Disable block tracker</p>
<p>Due to some HW errata, the block tracking facility (performance optimisation
for large systems) should be disabled on Nimbus chips. Disable it unconditionally
for now.</p>
</li>
-<li><p class="first">opal/hmi: Ignore debug trigger inject core FIR.</p>
+<li><p>opal/hmi: Ignore debug trigger inject core FIR.</p>
<p>Core FIR[60] is a side effect of the work around for the CI Vector Load
issue in DD2.1. Usually this gets delivered as HMI with HMER[17] where
Linux already ignores it. But it looks like in some cases we may happen
@@ -498,26 +490,26 @@ to see CORE_FIR[60] while we are already in Malfunction Alert HMI
(HMER[0]) due to other reasons e.g. CAPI recovery or NPU xstop. If that
happens then just ignore it instead of crashing kernel as not recoverable.</p>
</li>
-<li><p class="first">hdata: Make sure reserved node name starts with “ibm, “</p>
+<li><p>hdata: Make sure reserved node name starts with “ibm, “</p>
<p>HDAT does not provide consistent label format for reserved memory label.
Few starts with “ibm,” while few other starts with component name.</p>
</li>
-<li><p class="first">hdata: Fix dtc warnings</p>
+<li><p>hdata: Fix dtc warnings</p>
<p>Fix dtc warnings related to mcbist node.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@603fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@603fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">603</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">603</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
</pre></div>
</div>
<p>Ideally we should add proper xscom range here… but we are not getting that
information in HDAT today. Lets fix warning until we get proper data in HDAT.</p>
</li>
</ul>
-<div class="section" id="phb4">
+<section id="phb4">
<h3>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4: Generate checkstop on AIB ECC corr/uncorr for DD2.0 parts</p>
+<li><p>phb4: Generate checkstop on AIB ECC corr/uncorr for DD2.0 parts</p>
<p>On DD2.0 parts, PCIe ECC protection is not warranted in the response
data path. Thus, for these parts, we need to flag any ECC errors
detected from the adjacent AIB RX Data path so the part can be
@@ -525,7 +517,7 @@ replaced.</p>
<p>This patch configures the FIRs so that we escalate these AIB ECC
errors to a checkstop so the parts can be replaced.</p>
</li>
-<li><p class="first">phb4: Reset pfir and nfir if new errors reported during ETU reset</p>
+<li><p>phb4: Reset pfir and nfir if new errors reported during ETU reset</p>
<p>During fast-reboot new PEC errors can be latched even after ETU-Reset
is asserted. This will result in values of variables nfir_cache and
pfir_cache to be out of sync.</p>
@@ -539,7 +531,7 @@ ETU-reset was asserted, report these new errors and reset the
nfir/pfir registers. This should bring the ETU out of reset
successfully.</p>
</li>
-<li><p class="first">phb4: Disable nodal scoped DMA accesses when PB pump mode is enabled</p>
+<li><p>phb4: Disable nodal scoped DMA accesses when PB pump mode is enabled</p>
<p>By default when a PCIe device issues a read request via the PHB it is first
issued with nodal scope. When accessing GPU memory the NPU does not know at the
time of response if the requested memory page is off node or not. Therefore
@@ -553,7 +545,7 @@ treated differently. Therefore we avoid disabling nodal scope on large boxes
which have pump mode disabled to avoid all PHB requests being broadcast to
multiple chips.</p>
</li>
-<li><p class="first">phb4/capp: Only reset FIR bits that cause capp machine check</p>
+<li><p>phb4/capp: Only reset FIR bits that cause capp machine check</p>
<p>During CAPP recovery do_capp_recovery_scoms() will reset the CAPP Fir
register just after CAPP recovery is completed. This has an
unintentional side effect of preventing PRD from analyzing and
@@ -565,7 +557,7 @@ only reset fir bits that cause CAPP machine check (local xstop). This
is done by reading the CAPP Fir Action0/1 &amp; Mask registers and
generating a mask which is then written on CAPP_FIR_CLEAR register.</p>
</li>
-<li><p class="first">phb4: Check for RX errors after link training</p>
+<li><p>phb4: Check for RX errors after link training</p>
<p>Some PHB4 PHYs can get stuck in a bad state where they are constantly
retraining the link. This happens transparently to skiboot and Linux
but will causes PCIe to be slow. Resetting the PHB4 clears the
@@ -583,20 +575,20 @@ retrain the link. ie</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/phb4: Add a helper to dump the PELT-V</p>
+<li><p>hw/phb4: Add a helper to dump the PELT-V</p>
<p>The “Partitionable Endpoint Lookup Table (Vector)” is used by the PHB
when processing EEH events. The PELT-V defines which PEs should be
additionally frozen in the event of an error being flagged on a
given PE. Knowing the state of the PELT-V is sometimes useful for
debugging PHB issues so this patch adds a helper to dump it.</p>
</li>
-<li><p class="first">hw/phb4: Print the PEs in the EEH dump in hex</p>
+<li><p>hw/phb4: Print the PEs in the EEH dump in hex</p>
<p>Linux always displays the PE number in hexidecimal while skiboot
displays the PEST index (PE number) in decimal. This makes correlating
errors between Skiboot and Linux more annoying than it should be so
this patch makes Skiboot print the PEST number in hex.</p>
</li>
-<li><p class="first">phb4: Reallocate PEC2 DMA-Read engines to improve GPU-Direct bandwidth</p>
+<li><p>phb4: Reallocate PEC2 DMA-Read engines to improve GPU-Direct bandwidth</p>
<p>We reallocate additional 16/8 DMA-Read engines allocated to stack0/1
on PEC2 respectively. This is needed to improve bandwidth available to
the Mellanox CX5 adapter when trying to read GPU memory (GPU-Direct).</p>
@@ -608,7 +600,7 @@ respectively on PEC2. This is done by populating the
XPEC_PCI_PRDSTKOVR and XPEC_NEST_READ_STACK_OVERRIDE as suggested by
the h/w team.</p>
</li>
-<li><p class="first">phb4: Enable PHB MMIO-0/1 Bars only when mmio window exists</p>
+<li><p>phb4: Enable PHB MMIO-0/1 Bars only when mmio window exists</p>
<p>Presently phb4_probe_stack() will always enable PHB MMIO0/1 windows
even if they doesn’t exist in phy_map. Hence we do some minor shuffling
in the phb4_probe_stack() so that MMIO-0/1 Bars are only enabled if
@@ -616,7 +608,7 @@ there corresponding MMIO window exists in the phy_map. In case phy_map
for an mmio window is ‘0’ we set the corresponding BAR register to
‘0’.</p>
</li>
-<li><p class="first">hw/phb4: Use local_alloc for phb4 structures</p>
+<li><p>hw/phb4: Use local_alloc for phb4 structures</p>
<p>Struct phb4 is fairly heavyweight at 283664 bytes. On systems with
6x PHBs per socket this results in using 3.2MB of heap space the PHB
structures alone. This is a fairly large chunk of our 12MB heap and
@@ -626,7 +618,7 @@ FDT blob.</p>
<p>This patch switches to using local_alloc() for the PHB structures
so they don’t consume too large a portion of our 12MB heap space.</p>
</li>
-<li><p class="first">phb4: Fix typo in disable lane eq code</p>
+<li><p>phb4: Fix typo in disable lane eq code</p>
<p>In this commit</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">commit</span> <span class="mi">737</span><span class="n">c0ba3d72b8aab05a765a9fc111a48faac0f75</span>
<span class="n">Author</span><span class="p">:</span> <span class="n">Michael</span> <span class="n">Neuling</span> <span class="o">&lt;</span><span class="n">mikey</span><span class="nd">@neuling</span><span class="o">.</span><span class="n">org</span><span class="o">&gt;</span>
@@ -638,7 +630,7 @@ so they don’t consume too large a portion of our 12MB heap space.</p>
<p>It worked previously as if only phase 2 (PH2) is set it, skips phase 2
and phase 3 (PH3).</p>
</li>
-<li><p class="first">phb4: Don’t probe a PHB if its garded</p>
+<li><p>phb4: Don’t probe a PHB if its garded</p>
<p>Presently phb4_probe_stack() causes an exception while trying to probe
a PHB if its garded. This causes skiboot to go into a reboot loop with
following exception log:</p>
@@ -663,18 +655,18 @@ PHB Version registers that cause the fatal MCE.</p>
populate the PHB Bar register fails, which indicates that there is
something wrong with the PHB.</p>
</li>
-<li><p class="first">phb4: Workaround PHB errata with CFG write UR/CA errors</p>
+<li><p>phb4: Workaround PHB errata with CFG write UR/CA errors</p>
<p>If the PHB encounters a UR or CA status on a CFG write, it will
incorrectly freeze the wrong PE. Instead of using the PE# specified
in the CONFIG_ADDRESS register, it will use the PE# of whatever
MMIO occurred last.</p>
<p>Work around this disabling freeze on such errors</p>
</li>
-<li><p class="first">phb4: Handle allocation errors in phb4_eeh_dump_regs()</p>
+<li><p>phb4: Handle allocation errors in phb4_eeh_dump_regs()</p>
<p>If the zalloc fails (and it can be a rather large allocation),
we will overwite memory at 0 instead of failing.</p>
</li>
-<li><p class="first">phb4: Don’t try to access non-existent PEST entries</p>
+<li><p>phb4: Don’t try to access non-existent PEST entries</p>
<p>In a POWER9 chip, some PHB4s have 256 PEs, some have 512.</p>
<p>Currently, the diagnostics code retrieves 512 unconditionally,
which is wrong and causes us to incorrectly report bogus values
@@ -682,18 +674,18 @@ for the “high” PEs on the small PHBs.</p>
<p>Use the actual number of implemented PEs instead</p>
</li>
</ul>
-</div>
-<div class="section" id="capi2">
+</section>
+<section id="capi2">
<h3>CAPI2<a class="headerlink" href="#capi2" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4/capp: Use link width to allocate STQ engines to CAPP</p>
+<li><p>phb4/capp: Use link width to allocate STQ engines to CAPP</p>
<p>Update phb4_init_capp_regs() to allocates STQ Engines to CAPP/PEC2
based on link width instead of always assuming it to x8.</p>
<p>Also re-factor the function slightly to evaluate the link-width only
once and cache it so that it can also be used to allocate DMA read
engines.</p>
</li>
-<li><p class="first">phb4/capp: Update DMA read engines set in APC_FSM_READ_MASK based on link-width</p>
+<li><p>phb4/capp: Update DMA read engines set in APC_FSM_READ_MASK based on link-width</p>
<p>Commit 47c09cdfe7a3(“phb4/capp: Calculate STQ/DMA read engines based
on link-width for PEC”) update the CAPP init sequence by calculating
the needed STQ/DMA-read engines based on link width and populating it
@@ -703,7 +695,7 @@ with the value set in CAPP APC FSM Read Machine Mask Register.</p>
width of the stack on PEC2 and populate the same values as previously
populated in PEC CAPP_CNTL register.</p>
</li>
-<li><p class="first">capp: Fix the capp recovery timeout comparison</p>
+<li><p>capp: Fix the capp recovery timeout comparison</p>
<p>The current capp recovery timeout control loop in
do_capp_recovery_scoms() uses a wrong comparison for return value of
tb_compare(). This may cause do_capp_recovery_scoms() to report an
@@ -711,7 +703,7 @@ timeout earlier than the 168ms stipulated time.</p>
<p>The patch fixes this by updating the loop timeout control branch in
do_capp_recovery_scoms() to use the correct enum tb_cmpval.</p>
</li>
-<li><p class="first">phb4: Disable 32-bit MSI in capi mode</p>
+<li><p>phb4: Disable 32-bit MSI in capi mode</p>
<p>If a capi device does a DMA write targeting an address lower than 4GB,
it does so through a 32-bit operation, per the PCI spec. In capi mode,
the first TVE entry is configured in bypass mode, so the address is
@@ -724,11 +716,11 @@ interpret the DMA write as a MSI, which very likely results in an EEH
mode. Capi devices are 64-bit.</p>
</li>
</ul>
-</div>
-<div class="section" id="nvlink2">
+</section>
+<section id="nvlink2">
<h3>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">npu2: Add support for relaxed-ordering mode</p>
+<li><p>npu2: Add support for relaxed-ordering mode</p>
<p>Some device drivers support out of order access to GPU memory. This does
not affect the CPU view of memory but it does affect the GPU view of
memory. It should only be enabled if the GPU driver has requested it.</p>
@@ -738,32 +730,30 @@ ordering to be enabled per PCIe root port. So the code here doesn’t
enable relaxed ordering until it has been explicitly requested for every
device on the port.</p>
</li>
-<li><p class="first">Add the other 7 ATSD registers to the device tree.</p>
-</li>
-<li><p class="first">npu2/hw-procedures: Don’t open code NPU2_NTL_MISC_CFG2_BRICK_ENABLE</p>
+<li><p>Add the other 7 ATSD registers to the device tree.</p></li>
+<li><p>npu2/hw-procedures: Don’t open code NPU2_NTL_MISC_CFG2_BRICK_ENABLE</p>
<p>Name this bit properly. There’s a lot more cleanup like this to be done,
but I’m catching this one now as part of some related changes.</p>
</li>
-<li><p class="first">npu2/hw-procedures: Enable parity and credit overflow checks</p>
+<li><p>npu2/hw-procedures: Enable parity and credit overflow checks</p>
<p>Enable these error checking features by setting the appropriate bits in
our one-off initialization of each “NTL Misc Config 2” register.</p>
<p>The exception is NDL RX parity checking, which should be disabled during
the link training procedures.</p>
</li>
-<li><p class="first">npu2: Use correct kill type for TCE invalidation</p>
+<li><p>npu2: Use correct kill type for TCE invalidation</p>
<p>kill_type is enum of OPAL_PCI_TCE_KILL_PAGES, OPAL_PCI_TCE_KILL_PE,
OPAL_PCI_TCE_KILL_ALL and phb4_tce_kill() gets it right but
npu2_tce_kill() uses OPAL_PCI_TCE_KILL which is an OPAL API token.</p>
<p>This fixes an obvious mistype.</p>
</li>
</ul>
-</div>
-<div class="section" id="opencapi">
+</section>
+<section id="opencapi">
<h3>OpenCAPI<a class="headerlink" href="#opencapi" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">Support OpenCAPI on Witherspoon platform</p>
-</li>
-<li><p class="first">npu2-opencapi: Enable presence detection on ZZ</p>
+<li><p>Support OpenCAPI on Witherspoon platform</p></li>
+<li><p>npu2-opencapi: Enable presence detection on ZZ</p>
<p>Presence detection for opencapi adapters was broken for ZZ planars v3
and below. All ZZ systems currently used in the lab have had their
planar upgraded, so we can now remove the override we had to force
@@ -775,7 +765,7 @@ change. In the unlikely case somebody tries opencapi on an old ZZ, the
presence detection through i2c will show that no adapter is present
and skiboot won’t try to access or train the link.</p>
</li>
-<li><p class="first">npu2-opencapi: Don’t send commands to NPU when link is down</p>
+<li><p>npu2-opencapi: Don’t send commands to NPU when link is down</p>
<p>Even if an opencapi link is down, we currently always try to issue a
config read operation when probing for PCI devices, because of the
default scan map used for an opencapi PHB. The config operation fails,
@@ -785,11 +775,11 @@ there’s no reason to do the config operation. To fix it, we keep the
scan map blank by default, and only add a device once the link is
trained.</p>
</li>
-<li><p class="first">opal/hmi: Catch NPU2 HMIs for opencapi</p>
+<li><p>opal/hmi: Catch NPU2 HMIs for opencapi</p>
<p>HMIs for NPU2 are filtered with the ‘compatible’ string of the PHB, so
add opencapi to the mix.</p>
</li>
-<li><p class="first">occ: Wait if OCC GPU presence status not immediately available</p>
+<li><p>occ: Wait if OCC GPU presence status not immediately available</p>
<p>It takes a few seconds for the OCC to set everything up in order to read
GPU presence. At present, we try to kick off OCC initialisation as early as
possible to maximise the time it has to read GPU presence.</p>
@@ -798,7 +788,7 @@ occ_get_gpu_presence() so that on the first time we try to get GPU presence
we keep trying for up to 2 seconds. Experimentally this seems to be
adequate.</p>
</li>
-<li><p class="first">hw/npu2-hw-procedures: Enable RX auto recal on OpenCAPI links</p>
+<li><p>hw/npu2-hw-procedures: Enable RX auto recal on OpenCAPI links</p>
<p>The RX_RC_ENABLE_AUTO_RECAL flag is required on OpenCAPI but not NVLink.</p>
<p>Traditionally, Hostboot sets this value according to the machine type.
However, now that Witherspoon supports both NVLink and OpenCAPI, it can’t
@@ -806,7 +796,7 @@ tell whether or not a link is OpenCAPI.</p>
<p>So instead, set it in skiboot, where it will only be triggered after we’ve
done device detection and found an OpenCAPI device.</p>
</li>
-<li><p class="first">hw/npu2-opencapi: Fix setting of supported OpenCAPI templates</p>
+<li><p>hw/npu2-opencapi: Fix setting of supported OpenCAPI templates</p>
<p>In opal_npu_tl_set(), we made a typo that means the OPAL_NPU_TL_SET call
may not clear the enable bits for templates that were previously enabled
but are now disabled.</p>
@@ -814,13 +804,12 @@ but are now disabled.</p>
TEMP{1,3}_EN.</p>
</li>
</ul>
-</div>
-<div class="section" id="barreleye-g2-and-zaius-platforms">
+</section>
+<section id="barreleye-g2-and-zaius-platforms">
<h3>Barreleye G2 and Zaius platforms<a class="headerlink" href="#barreleye-g2-and-zaius-platforms" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">zaius: Add a slot table</p>
-</li>
-<li><p class="first">zaius: Add slots for the Barreleye G2 HDD rack</p>
+<li><p>zaius: Add a slot table</p></li>
+<li><p>zaius: Add slots for the Barreleye G2 HDD rack</p>
<p>The Barreleye G2 is distinct from the Zaius in that it features a 24
Bay NVMe/SATA HDD rack. To provide meaningful slot names for each NVMe
device we need to define a slot table for the NVMe capable HDD bays.</p>
@@ -840,11 +829,11 @@ we assume that any switch downport we find with the PEX9797 VDID is part
of the 9797 that supports the HDD rack.</p>
</li>
</ul>
-</div>
-<div class="section" id="fsp-based-platforms-firenze-and-zz">
+</section>
+<section id="fsp-based-platforms-firenze-and-zz">
<h3>FSP based platforms (firenze and ZZ)<a class="headerlink" href="#fsp-based-platforms-firenze-and-zz" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4/capp: Update the expected Eye-catcher for CAPP ucode lid</p>
+<li><p>phb4/capp: Update the expected Eye-catcher for CAPP ucode lid</p>
<p>Currently on a FSP based P9 system load_capp_code() expects CAPP ucode
lid header to have eye-catcher magic of ‘CAPPPSLL’. However skiboot
currently supports CAPP ucode only lids that have a eye-catcher magic
@@ -856,7 +845,7 @@ error message:</p>
<p>We fix this issue by updating load_capp_ucode() to use the eye-catcher
value of ‘CAPPLIDH’ instead of ‘CAPPPSLL’.</p>
</li>
-<li><p class="first">FSP: Improve Reset/Reload log message</p>
+<li><p>FSP: Improve Reset/Reload log message</p>
<p>Below message is confusing. Lets make it clear.</p>
<p>FSP sends “R/R complete notification” whenever there is a dump. We use <cite>flag</cite>
to identify whether its its R/R completion -OR- just new dump notification.</p>
@@ -867,11 +856,11 @@ to identify whether its its R/R completion -OR- just new dump notification.</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="witherspoon-platform">
+</section>
+<section id="witherspoon-platform">
<h3>Witherspoon platform<a class="headerlink" href="#witherspoon-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">platforms/astbmc/witherspoon: Implement OpenCAPI support</p>
+<li><p>platforms/astbmc/witherspoon: Implement OpenCAPI support</p>
<p>OpenCAPI on Witherspoon is slightly more involved than on Zaius and ZZ, due
to the OpenCAPI links using the SXM2 connectors that are used for NVLink
GPUs.</p>
@@ -885,11 +874,12 @@ support ganged links and the various implications that has for handling
things like device reset, so for now, we only enable 1 brick per device.</p>
</li>
</ul>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -940,17 +930,15 @@ things like device reset, so for now, we only enable 1 brick per device.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -967,14 +955,15 @@ things like device reset, so for now, we only enable 1 brick per device.</p>
<li class="right" >
<a href="skiboot-6.2.html" title="skiboot-6.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.2-rc2.html b/doc/release-notes/skiboot-6.2-rc2.html
index fceeefe..05e811e 100644
--- a/doc/release-notes/skiboot-6.2-rc2.html
+++ b/doc/release-notes/skiboot-6.2-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.2-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.2-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.2-rc1.html" title="skiboot-6.2-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-2-rc2">
+ <section id="skiboot-6-2-rc2">
<span id="id1"></span><h1>skiboot-6.2-rc2<a class="headerlink" href="#skiboot-6-2-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.2-rc2 was released on Thursday November 29th 2018. It is the second
release candidate of skiboot 6.2, which will become the new stable release
@@ -57,18 +57,16 @@ stable releases).</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over <a class="reference internal" href="skiboot-6.2-rc1.html#skiboot-6-2-rc1"><span class="std std-ref">skiboot-6.2-rc1</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">npu2-opencapi: Log extra information on link training failure</p>
-</li>
-<li><p class="first">npu2-opencapi: Detect if link trained in degraded mode</p>
-</li>
-<li><p class="first">platform/firenze: Fix branch-to-null crash</p>
+<li><p>npu2-opencapi: Log extra information on link training failure</p></li>
+<li><p>npu2-opencapi: Detect if link trained in degraded mode</p></li>
+<li><p>platform/firenze: Fix branch-to-null crash</p>
<p>When the bus alloc and free methods were removed we missed a case in the
Firenze platform slot code that relied on the the bus-specific method to
the bus pointer in the request structure. This results in a
branch-to-null during boot and a crash. This patch fixes it by
initialising it manually here.</p>
</li>
-<li><p class="first">libflash: Don’t merge ECC-protected ranges</p>
+<li><p>libflash: Don’t merge ECC-protected ranges</p>
<p>Libflash currently merges contiguous ECC-protected ranges, but doesn’t
check that the ECC bytes at the end of the first and start of the second
range actually match sanely. More importantly, if blocklevel_read() is
@@ -87,28 +85,24 @@ regions like below:</p>
</pre></div>
</div>
</li>
-<li><p class="first">libflash: Restore blocklevel tests</p>
+<li><p>libflash: Restore blocklevel tests</p>
<p>This fell out in f58be46 “libflash/test: Rewrite Makefile.check to
improve scalability”. Add it back in as test-blocklevel.</p>
</li>
-<li><p class="first">Warn on long OPAL calls</p>
+<li><p>Warn on long OPAL calls</p>
<p>Measure entry/exit time for OPAL calls and warn appropriately if the
calls take too long (&gt;100ms gets us a DEBUG log, &gt; 1000ms gets us a
warning).</p>
</li>
</ul>
-<div class="section" id="ci-testing-and-utilities">
+<section id="ci-testing-and-utilities">
<h2>CI, testing, and utilities<a class="headerlink" href="#ci-testing-and-utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">travis: Coverity fixed their SSL cert</p>
-</li>
-<li><p class="first">opal-ci: Use ubuntu:rolling for Ubuntu latest image</p>
-</li>
-<li><p class="first">ffspart: Add test for eraseblock size</p>
-</li>
-<li><p class="first">ffspart: Add toc test</p>
-</li>
-<li><p class="first">hdata/test: workaround dtc bugs</p>
+<li><p>travis: Coverity fixed their SSL cert</p></li>
+<li><p>opal-ci: Use ubuntu:rolling for Ubuntu latest image</p></li>
+<li><p>ffspart: Add test for eraseblock size</p></li>
+<li><p>ffspart: Add toc test</p></li>
+<li><p>hdata/test: workaround dtc bugs</p>
<p>In dtc v1.4.5 to at least v1.4.7 there have been a few bugs introduced
that change the layout of what’s produced in the dts. In order to be
immune from them, we should use the (provided) dtdiff utility, but we
@@ -119,10 +113,11 @@ conversion will.</p>
with recent Linux distros such as Fedora 29.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -150,17 +145,15 @@ with recent Linux distros such as Fedora 29.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -177,14 +170,15 @@ with recent Linux distros such as Fedora 29.</p>
<li class="right" >
<a href="skiboot-6.2-rc1.html" title="skiboot-6.2-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.2.1.html b/doc/release-notes/skiboot-6.2.1.html
index 03e879b..25649aa 100644
--- a/doc/release-notes/skiboot-6.2.1.html
+++ b/doc/release-notes/skiboot-6.2.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.2.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.2.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.2-rc2.html" title="skiboot-6.2-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-2-1">
+ <section id="skiboot-6-2-1">
<span id="id1"></span><h1>skiboot-6.2.1<a class="headerlink" href="#skiboot-6-2-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.2.1 was released on Wednesday February 20th, 2019. It replaces
<a class="reference internal" href="skiboot-6.2.html#skiboot-6-2"><span class="std std-ref">skiboot-6.2</span></a> as the current stable release in the 6.2.x series.</p>
@@ -53,28 +53,26 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">libflash/ecc: Fix compilation warning with gcc9</p>
+<li><p>libflash/ecc: Fix compilation warning with gcc9</p>
<p>Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/218">https://github.com/open-power/skiboot/issues/218</a></p>
</li>
-<li><p class="first">core/opal: Print PIR value in exit path, useful for debugging</p>
-</li>
-<li><p class="first">core/ipmi: Improve error message</p>
-</li>
-<li><p class="first">firmware-versions: Add test case for parsing VERSION</p>
+<li><p>core/opal: Print PIR value in exit path, useful for debugging</p></li>
+<li><p>core/ipmi: Improve error message</p></li>
+<li><p>firmware-versions: Add test case for parsing VERSION</p>
<p>If we hit a entry in VERSION that is larger than our
buffer size, we skip over it gracefully rather than overwriting the
stack. This is only a problem if VERSION isn’t trusted, which as of
4b8cc05a94513816d43fb8bd6178896b430af08f it is verified as part of
Secure Boot.</p>
</li>
-<li><p class="first">core/cpu: HID update race</p>
+<li><p>core/cpu: HID update race</p>
<p>If the per-core HID register is updated concurrently by multiple
threads, updates can get lost. This has been observed during fast
reboot where the HILE bit does not get cleared on all cores, which
can cause machine check exception interrupts to crash.</p>
<p>Fix this by only updating HID on thread0.</p>
</li>
-<li><p class="first">cpufeatures: Always advertise POWER8NVL as DD2</p>
+<li><p>cpufeatures: Always advertise POWER8NVL as DD2</p>
<p>Despite the major version of PVR being 1 (0x004c0100) for POWER8NVL,
these chips are functionally equalent to P8/P8E DD2 levels.</p>
<p>This advertises POWER8NVL as DD2. As the result, skiboot adds
@@ -83,14 +81,14 @@ the linux kernel can use hypervisor doorbell messages to wake secondary
threads; otherwise “KVM: CPU %d seems to be stuck” would appear because
of missing LPCR_PECEDH.</p>
</li>
-<li><p class="first">p9dsu: Fix p9dsu slot tables</p>
+<li><p>p9dsu: Fix p9dsu slot tables</p>
<p>Set the attributes on the slot tables to account for
builtin or pluggable etypes, this will allow pci
enumeration to calculate subordinate buses.</p>
<p>Update some slot label strings.</p>
<p>Add WIO Slot5 which is standard on the ESS config.</p>
</li>
-<li><p class="first">core/lock: Stop drop_my_locks() from always causing abort</p>
+<li><p>core/lock: Stop drop_my_locks() from always causing abort</p>
<p>The loop in drop_my_locks() looks like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">while</span><span class="p">((</span><span class="n">l</span> <span class="o">=</span> <span class="n">list_pop</span><span class="p">(</span><span class="o">&amp;</span><span class="n">this_cpu</span><span class="p">()</span><span class="o">-&gt;</span><span class="n">locks_held</span><span class="p">,</span> <span class="n">struct</span> <span class="n">lock</span><span class="p">,</span> <span class="nb">list</span><span class="p">))</span> <span class="o">!=</span> <span class="n">NULL</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="n">warn</span><span class="p">)</span>
@@ -113,14 +111,15 @@ CPU 0000 Backtrace:
</div>
<p>To fix this, change list_pop() to list_top().</p>
</li>
-<li><p class="first">p9dsu: Fix p9dsu default variant</p>
+<li><p>p9dsu: Fix p9dsu default variant</p>
<p>Add the default when no riser_id is returned from the ipmi query.</p>
<p>Allow a little more time for BMC reply and cleanup some label strings.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -140,17 +139,15 @@ CPU 0000 Backtrace:
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -167,14 +164,15 @@ CPU 0000 Backtrace:
<li class="right" >
<a href="skiboot-6.2-rc2.html" title="skiboot-6.2-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.2.2.html b/doc/release-notes/skiboot-6.2.2.html
index eeab3a8..e10ca91 100644
--- a/doc/release-notes/skiboot-6.2.2.html
+++ b/doc/release-notes/skiboot-6.2.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.2.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.2.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.2.1.html" title="skiboot-6.2.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-2-2">
+ <section id="skiboot-6-2-2">
<span id="id1"></span><h1>skiboot-6.2.2<a class="headerlink" href="#skiboot-6-2-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.2.2 was released on Wednesday March 6th, 2019. It replaces
<a class="reference internal" href="skiboot-6.2.1.html#skiboot-6-2-1"><span class="std std-ref">skiboot-6.2.1</span></a> as the current stable release in the 6.2.x series.</p>
@@ -53,10 +53,10 @@
due to the bug fixes it contains.</p>
<p>Over <a class="reference internal" href="skiboot-6.2.1.html#skiboot-6-2-1"><span class="std std-ref">skiboot-6.2.1</span></a> we have several bug fixes, including important ones
for powercap, ipmi-hiomap, astbmc and BMC communication driver.</p>
-<div class="section" id="powercap">
+<section id="powercap">
<h2>powercap<a class="headerlink" href="#powercap" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">powercap: occ: Fix the powercapping range allowed for user</p>
+<li><p>powercap: occ: Fix the powercapping range allowed for user</p>
<p>OCC provides two limits for minimum powercap. One being hard powercap
minimum which is guaranteed by OCC and the other one is a soft
powercap minimum which is lesser than hard-min and may or may not be
@@ -67,14 +67,14 @@ DT property called “powercap-hard-min” to export the hard-min powercap
limit.</p>
</li>
</ul>
-</div>
-<div class="section" id="astbmc">
+</section>
+<section id="astbmc">
<h2>ASTBMC<a class="headerlink" href="#astbmc" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">astbmc: Enable IPMI HIOMAP for AMI platforms</p>
+<li><p>astbmc: Enable IPMI HIOMAP for AMI platforms</p>
<p>Required for Habanero, Palmetto and Romulus.</p>
</li>
-<li><p class="first">astbmc: Try IPMI HIOMAP for P8 (again)</p>
+<li><p>astbmc: Try IPMI HIOMAP for P8 (again)</p>
<p>The HIOMAP protocol was developed after the release of P8 in preparation
for P9. As a consequence P9 always uses it, but it has rarely been
enabled for P8. P8DTU has recently added IPMI HIOMAP support to its BMC
@@ -84,7 +84,7 @@ the fallback was to mbox, which will only work for P9.</p>
<p>Tested on Garrison, Palmetto without HIOMAP, Palmetto with HIOMAP, and
Witherspoon.</p>
</li>
-<li><p class="first">ast-io: Rework ast_sio_is_enabled() test sequence</p>
+<li><p>ast-io: Rework ast_sio_is_enabled() test sequence</p>
<p>The postcondition of probing with a lock sequence is easier to make
correct than with unlock. The original implementation left SuperIO
locked after execution which broke an assumption of some callers.</p>
@@ -92,36 +92,34 @@ locked after execution which broke an assumption of some callers.</p>
Witherspoon.</p>
</li>
</ul>
-</div>
-<div class="section" id="p8dtu">
+</section>
+<section id="p8dtu">
<h2>P8DTU<a class="headerlink" href="#p8dtu" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">p8dtu: Enable HIOMAP support</p>
-</li>
-<li><p class="first">p8dtu: Configure BMC graphics</p>
+<li><p>p8dtu: Enable HIOMAP support</p></li>
+<li><p>p8dtu: Configure BMC graphics</p>
<p>We can no-longer read the values from the BMC in the way we have in the
past. Values were provided by Eric Chen of SMC.</p>
</li>
</ul>
-</div>
-<div class="section" id="ipmi-hiomap">
+</section>
+<section id="ipmi-hiomap">
<h2>IPMI-HIOMAP<a class="headerlink" href="#ipmi-hiomap" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">ipmi-hiomap test case enhancements/fixes.</p>
-</li>
-<li><p class="first">libflash/ipmi-hiomap: Enforce message size for empty response</p>
+<li><p>ipmi-hiomap test case enhancements/fixes.</p></li>
+<li><p>libflash/ipmi-hiomap: Enforce message size for empty response</p>
<p>The protocol defines the response to the associated messages as empty
except for the command ID and sequence fields. If the BMC is returning
extra data consider the message malformed.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Remove unused close handling</p>
+<li><p>libflash/ipmi-hiomap: Remove unused close handling</p>
<p>Issuing a HIOMAP_C_CLOSE is not required by the protocol specification,
rather a close can be implicit in a subsequent
CREATE_{READ,WRITE}_WINDOW request. The implicit close provides an
opportunity to reduce LPC traffic and the implementation takes up that
optimisation, so remove the case from the IPMI callback handler.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Overhaul event handling</p>
+<li><p>libflash/ipmi-hiomap: Overhaul event handling</p>
<p>Reworking the event handling was inspired by a bug report by Vasant
where the host would get wedged on multiple flash access attempts in the
face of a persistent error state on the BMC-side. The cause of this bug
@@ -132,18 +130,18 @@ HIOMAP_E_DAEMON_READY is clear in the prior calls.</p>
<p>Regardless, there were other correctness and efficiency problems with
the handling strategy:</p>
<ul class="simple">
-<li>Ack-able event state was not restored in the face of errors in the
-process of re-establishing protocol state</li>
-<li>It forced needless window restoration with respect to the context in
-which ipmi_hiomap_handle_events() was called.</li>
-<li>Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant
-with the overhauled error handling introduced in the previous patch</li>
+<li><p>Ack-able event state was not restored in the face of errors in the
+process of re-establishing protocol state</p></li>
+<li><p>It forced needless window restoration with respect to the context in
+which ipmi_hiomap_handle_events() was called.</p></li>
+<li><p>Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant
+with the overhauled error handling introduced in the previous patch</p></li>
</ul>
<p>Fix all of the above issues and add comments to explain the event
handling flow.</p>
<p>Tests for correctness follow later in the series.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Overhaul error handling</p>
+<li><p>libflash/ipmi-hiomap: Overhaul error handling</p>
<p>The aim is to improve the robustness with respect to absence of the
BMC-side daemon. The current error handling roughly mirrors what was
done for the mailbox implementation, but there’s room for improvement.</p>
@@ -161,31 +159,30 @@ operation no attempt is made to recover it on the spot, instead the
error is returned up the stack and the caller can choose how it wishes
to respond.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Fix leak of msg in callback</p>
-</li>
+<li><p>libflash/ipmi-hiomap: Fix leak of msg in callback</p></li>
</ul>
-</div>
-<div class="section" id="bmc-communication">
+</section>
+<section id="bmc-communication">
<h2>BMC communication<a class="headerlink" href="#bmc-communication" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/ipmi: Add ipmi sync messages to top of the list</p>
+<li><p>core/ipmi: Add ipmi sync messages to top of the list</p>
<p>In ipmi_queue_msg_sync() path OPAL will wait until it gets response from
BMC. If we do not get response ontime we may endup in kernel hardlockups.
Hence lets add sync messages to top of the queue. This will reduces the
chance of hardlockups.</p>
</li>
-<li><p class="first">hw/bt: Introduce separate list for synchronous messages</p>
+<li><p>hw/bt: Introduce separate list for synchronous messages</p>
<p>BT send logic always sends top of bt message list to BMC. Once BMC reads the
message, it clears the interrupt and bt_idle() becomes true.</p>
<p>bt_add_ipmi_msg_head() adds message to top of the list. If bt message list
is not empty then:</p>
<blockquote>
<div><ul class="simple">
-<li>if bt_idle() is true then we will endup sending message to BMC before
+<li><p>if bt_idle() is true then we will endup sending message to BMC before
getting response from BMC for inflight message. Looks like on some
-BMC implementation this results in message timeout.</li>
-<li>else we endup starting message timer without actually sending message
-to BMC.. which is not correct.</li>
+BMC implementation this results in message timeout.</p></li>
+<li><p>else we endup starting message timer without actually sending message
+to BMC.. which is not correct.</p></li>
</ul>
</div></blockquote>
<p>This patch introduces separate list to track synchronous messages.
@@ -194,14 +191,14 @@ will always process this queue before processing normal queue.</p>
<p>Finally this patch introduces new variable (inflight_bt_msg) to track
inflight message. This will point to current inflight message.</p>
</li>
-<li><p class="first">hw/bt: Fix message retry handler</p>
+<li><p>hw/bt: Fix message retry handler</p>
<p>In some corner cases (like BMC reboot), bt_send_and_unlock() starts
message timer, but won’t send message to BMC as driver is not free to
send message. bt_expire_old_msg() function enables H2B interrupt without
actually sending message.</p>
<p>This patch fixes above issue.</p>
</li>
-<li><p class="first">ipmi/power: Fix system reboot issue</p>
+<li><p>ipmi/power: Fix system reboot issue</p>
<p>Kernel makes reboot/shudown OPAL call for reboot/shutdown. Once kernel
gets response from OPAL it runs opal_poll_events() until firmware
handles the request.</p>
@@ -214,7 +211,7 @@ reboot/shutdown the system using BMC interface.</p>
then it will resend the message. At some stage BMC will be ready to accept
message and handles IPMI message.</p>
</li>
-<li><p class="first">hw/bt: Add backend interface to disable ipmi message retry option</p>
+<li><p>hw/bt: Add backend interface to disable ipmi message retry option</p>
<p>During boot OPAL makes IPMI_GET_BT_CAPS call to BMC to get BT interface
capabilities which includes IPMI message max resend count, message
timeout, etc,. Most of the time OPAL gets response from BMC within
@@ -232,17 +229,17 @@ greatly reduces kernel hardlock up issues.</p>
<p>This is short term fix. Long term solution is to convert all synchronous
messages to asynhrounous one.</p>
</li>
-<li><p class="first">qemu: bt device isn’t always hanging off /</p>
+<li><p>qemu: bt device isn’t always hanging off /</p>
<p>Just use the normal for_each_compatible instead.</p>
<p>Otherwise in the qemu model as executed by op-test,
we wouldn’t go down the astbmc_init() path, thus not having flash.</p>
</li>
</ul>
-</div>
-<div class="section" id="phb3">
+</section>
+<section id="phb3">
<h2>PHB3<a class="headerlink" href="#phb3" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/phb3/naples: Disable D-states</p>
+<li><p>hw/phb3/naples: Disable D-states</p>
<p>Putting “Mellanox Technologies MT27700 Family [ConnectX-4] [15b3:1013]”
(more precisely, the second of 2 its PCI functions, no matter in what
order) into the D3 state causes EEH with the “PCT timeout” error.
@@ -252,10 +249,11 @@ seem to have this issue.</p>
installing a config space access filter (copied from PHB4).</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -288,17 +286,15 @@ installing a config space access filter (copied from PHB4).</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -315,14 +311,15 @@ installing a config space access filter (copied from PHB4).</p>
<li class="right" >
<a href="skiboot-6.2.1.html" title="skiboot-6.2.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.2.3.html b/doc/release-notes/skiboot-6.2.3.html
index 60ace19..cc1081b 100644
--- a/doc/release-notes/skiboot-6.2.3.html
+++ b/doc/release-notes/skiboot-6.2.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.2.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.2.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.2.2.html" title="skiboot-6.2.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-2-3">
+ <section id="skiboot-6-2-3">
<span id="id1"></span><h1>skiboot-6.2.3<a class="headerlink" href="#skiboot-6-2-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.2.3 was released on Tuesday March 19th, 2019. It replaces
<a class="reference internal" href="skiboot-6.2.2.html#skiboot-6-2-2"><span class="std std-ref">skiboot-6.2.2</span></a> as the current stable release in the 6.2.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">p9dsu: Undo slot label name changes</p>
+<li><p>p9dsu: Undo slot label name changes</p>
<p>During some code updates the slot labels were updated to reflect
the phb layout, however expectations were that the slot labels be
aligned with the riser card slots and not the system planar slots.</p>
@@ -71,10 +71,10 @@ at all. It also doesn’t help that <em>consistently</em> there is <em>never</em
any review on slot tables, and we’ve had things be wrong in the past.
Combine this with not upstream Hostboot patches.]</p>
</li>
-<li><p class="first">p9dsu: Fix slot labels for p9dsu2u</p>
+<li><p>p9dsu: Fix slot labels for p9dsu2u</p>
<p>Update the slot labels for the p9dsu2u tables.</p>
</li>
-<li><p class="first">fast-reboot: occ: Call occ_pstates_init() on fast-reset on all machines</p>
+<li><p>fast-reboot: occ: Call occ_pstates_init() on fast-reset on all machines</p>
<p>Commit 815417dcda2e (“init, occ: Initialise OCC earlier on BMC systems”)
conditionally invoked occ_pstates_init() only on FSP based systems in
load_and_boot_kernel(). Due to this pstate table is re-parsed on FSP
@@ -82,9 +82,10 @@ system and skipped on BMC system during fast-reboot. So this patch fixes
this by invoking occ_pstates_init() on all boxes during fast-reboot.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -104,17 +105,15 @@ this by invoking occ_pstates_init() on all boxes during fast-reboot.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -131,14 +130,15 @@ this by invoking occ_pstates_init() on all boxes during fast-reboot.</p>
<li class="right" >
<a href="skiboot-6.2.2.html" title="skiboot-6.2.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.2.4.html b/doc/release-notes/skiboot-6.2.4.html
index 82f8d5b..6ba0f5a 100644
--- a/doc/release-notes/skiboot-6.2.4.html
+++ b/doc/release-notes/skiboot-6.2.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.2.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.2.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.2.3.html" title="skiboot-6.2.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-2-4">
+ <section id="skiboot-6-2-4">
<span id="id1"></span><h1>skiboot-6.2.4<a class="headerlink" href="#skiboot-6-2-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.2.4 was released on Thursday May 9th, 2019. It replaces
<a class="reference internal" href="skiboot-6.2.3.html#skiboot-6-2-3"><span class="std std-ref">skiboot-6.2.3</span></a> as the current stable release in the 6.2.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">core/flash: Retry requests as necessary in flash_load_resource()</p>
+<li><p>core/flash: Retry requests as necessary in flash_load_resource()</p>
<p>We would like to successfully boot if we have a dependency on the BMC
for flash even if the BMC is not current ready to service flash
requests. On the assumption that it will become ready, retry for several
@@ -90,7 +90,7 @@ CPU 0040 Backtrace:
no delay for e.g. the host kernel, just for asynchronously loaded
resources during boot.</p>
</li>
-<li><p class="first">pci/iov: Remove skiboot VF tracking</p>
+<li><p>pci/iov: Remove skiboot VF tracking</p>
<p>This feature was added a few years ago in response to a request to make
the MaxPayloadSize (MPS) field of a Virtual Function match the MPS of the
Physical Function that hosts it.</p>
@@ -106,13 +106,13 @@ enabled and then disabled prior to rebooting. This patch fixes the bug by
removing the code entirely. This patch has no impact on SR-IOV support on
the host operating system.</p>
</li>
-<li><p class="first">astbmc: Handle failure to initialise raw flash</p>
+<li><p>astbmc: Handle failure to initialise raw flash</p>
<p>Initialising raw flash lead to a dead assignment to rc. Check the return
code and take the failure path as necessary. Both before and after the
fix we see output along the lines of the following when flash_init()
fails:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">53.283182881</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mf">0800.</span><span class="o">.</span><span class="mi">0</span><span class="n">ff7</span> <span class="n">ops</span> <span class="nd">@0x300d4b98</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
-<span class="p">[</span> <span class="mf">53.283184335</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mi">0</span><span class="n">ff8</span><span class="o">..</span><span class="mi">0</span><span class="n">fff</span> <span class="n">ops</span> <span class="nd">@0x300d4bc8</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">53.283182881</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mf">0800..0</span><span class="n">ff7</span> <span class="n">ops</span> <span class="o">@</span><span class="mh">0x300d4b98</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
+<span class="p">[</span> <span class="mf">53.283184335</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mi">0</span><span class="n">ff8</span><span class="o">.</span><span class="mf">.0</span><span class="n">fff</span> <span class="n">ops</span> <span class="o">@</span><span class="mh">0x300d4bc8</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">53.283185513</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">PHB</span><span class="c1">#0000: Initializing PHB...</span>
<span class="p">[</span> <span class="mf">53.288260827</span><span class="p">,</span><span class="mi">4</span><span class="p">]</span> <span class="n">FLASH</span><span class="p">:</span> <span class="n">Can</span><span class="s1">&#39;t load resource id:0. No system flash found</span>
<span class="p">[</span> <span class="mf">53.288354442</span><span class="p">,</span><span class="mi">4</span><span class="p">]</span> <span class="n">FLASH</span><span class="p">:</span> <span class="n">Can</span><span class="s1">&#39;t load resource id:1. No system flash found</span>
@@ -149,19 +149,19 @@ of executing from unexpected memory locations. As such the issue is
reduced to down to a fix for poor error hygene in the original change
and a resolution for a Coverity warning (famous last words etc).</p>
</li>
-<li><p class="first">hw/xscom: Enable sw xstop by default on p9</p>
+<li><p>hw/xscom: Enable sw xstop by default on p9</p>
<p>This was disabled at some point during bringup to make life easier for
the lab folks trying to debug NVLink issues. This hack really should
have never made it out into the wild though, so we now have the
following situation occuring in the field:</p>
<blockquote>
<div><ol class="arabic simple">
-<li>A bad happens</li>
-<li>The host kernel recieves an unrecoverable HMI and calls into OPAL to
-request a platform reboot.</li>
-<li>OPAL rejects the reboot attempt and returns to the kernel with
-OPAL_PARAMETER.</li>
-<li>Kernel panics and attempts to kexec into a kdump kernel.</li>
+<li><p>A bad happens</p></li>
+<li><p>The host kernel recieves an unrecoverable HMI and calls into OPAL to
+request a platform reboot.</p></li>
+<li><p>OPAL rejects the reboot attempt and returns to the kernel with
+OPAL_PARAMETER.</p></li>
+<li><p>Kernel panics and attempts to kexec into a kdump kernel.</p></li>
</ol>
</div></blockquote>
<p>A side effect of the HMI seems to be CPUs becoming stuck which results
@@ -173,7 +173,7 @@ state as a side effect of the HMI.</p>
default. If people still want to turn it off they can using the nvram
override.</p>
</li>
-<li><p class="first">opal/hmi: Initialize the hmi event with old value of TFMR.</p>
+<li><p>opal/hmi: Initialize the hmi event with old value of TFMR.</p>
<p>Do this before we fix TFAC errors. Otherwise the event at host console
shows no thread error reported in TFMR register.</p>
<p>Without this patch the console event show TFMR with no thread error:
@@ -192,7 +192,7 @@ shows no thread error reported in TFMR register.</p>
</pre></div>
</div>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Fix blocks count issue</p>
+<li><p>libflash/ipmi-hiomap: Fix blocks count issue</p>
<p>We convert data size to block count and pass block count to BMC.
If data size is not block aligned then we endup sending block count
less than actual data. BMC will write partial data to flash memory.</p>
@@ -207,7 +207,7 @@ less than actual data. BMC will write partial data to flash memory.</p>
flush data to flash.</p>
<p>Lets fix this issue by adjusting block count before sending it to BMC.</p>
</li>
-<li><p class="first">Fix hang in pnv_platform_error_reboot path due to TOD failure.</p>
+<li><p>Fix hang in pnv_platform_error_reboot path due to TOD failure.</p>
<p>On TOD failure, with TB stuck, when linux heads down to
pnv_platform_error_reboot() path due to unrecoverable hmi event, the panic
cpu gets stuck in OPAL inside ipmi_queue_msg_sync(). At this time, rest
@@ -249,8 +249,8 @@ ipmi_queue_msg_sync() which keeps looping until “sync_msg” does not match
with “msg”. It loops over time_wait_ms() until exit condition is met. In
normal scenario time_wait_ms() calls run pollers so that ipmi backend gets
a chance to check ipmi response and set sync_msg to NULL.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">while</span> <span class="p">(</span><span class="n">sync_msg</span> <span class="o">==</span> <span class="n">msg</span><span class="p">)</span>
- <span class="n">time_wait_ms</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">sync_msg</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">msg</span><span class="p">)</span><span class="w"></span>
+<span class="w"> </span><span class="n">time_wait_ms</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>But in the event when TB is in failed state time_wait_ms()-&gt;time_wait_poll()
@@ -258,15 +258,15 @@ returns immediately without calling pollers and hence we end up looping
forever. This patch fixes this hang by calling opal_run_pollers() in TB
failed state as well.</p>
</li>
-<li><p class="first">core/ipmi: Print correct netfn value</p>
-</li>
-<li><p class="first">libffs: Fix string truncation gcc warning.</p>
+<li><p>core/ipmi: Print correct netfn value</p></li>
+<li><p>libffs: Fix string truncation gcc warning.</p>
<p>Use memcpy as other libffs functions do.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -286,17 +286,15 @@ failed state as well.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -313,14 +311,15 @@ failed state as well.</p>
<li class="right" >
<a href="skiboot-6.2.3.html" title="skiboot-6.2.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.2.html b/doc/release-notes/skiboot-6.2.html
index 06dcc3b..f1d86c2 100644
--- a/doc/release-notes/skiboot-6.2.html
+++ b/doc/release-notes/skiboot-6.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.1-rc1.html" title="skiboot-6.1-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-2">
+ <section id="skiboot-6-2">
<span id="id1"></span><h1>skiboot-6.2<a class="headerlink" href="#skiboot-6-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.2 was released on Friday December 14th 2018. It is the first
release of skiboot 6.2, which becomes the new stable release
@@ -59,11 +59,11 @@ stable releases).</p>
also contains a lot of cleanup work and minor bug fixes (much like skiboot 6.1
did).</p>
<p>Over skiboot 6.1, we have the following changes:</p>
-<div class="section" id="general">
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<p>Since v6.2-rc2:</p>
<ul>
-<li><p class="first">i2c: Fix i2c request hang during opal init if timers are not checked</p>
+<li><p>i2c: Fix i2c request hang during opal init if timers are not checked</p>
<p>If an i2c request cannot go through the first time, because the bus is
found in error and need a reset or it’s locked by the OCC for example,
the underlying i2c implementation is using timers to manage the
@@ -77,7 +77,7 @@ request to complete and it seems to be taking a while.</p>
</ul>
<p>Since v6.1:</p>
<ul>
-<li><p class="first">cpu: Quieten OS endian switch messages</p>
+<li><p>cpu: Quieten OS endian switch messages</p>
<p>Users see these when loading an OS from Petitboot:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">119.486794100</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">OPAL</span><span class="p">:</span> <span class="n">Switch</span> <span class="n">to</span> <span class="n">big</span><span class="o">-</span><span class="n">endian</span> <span class="n">OS</span>
<span class="p">[</span> <span class="mf">120.022302604</span><span class="p">,</span><span class="mi">5</span><span class="p">]</span> <span class="n">OPAL</span><span class="p">:</span> <span class="n">Switch</span> <span class="n">to</span> <span class="n">little</span><span class="o">-</span><span class="n">endian</span> <span class="n">OS</span>
@@ -87,18 +87,18 @@ request to complete and it seems to be taking a while.</p>
on. Switch them to PR_INFO so they still appear in the log, but not on
the serial console.</p>
</li>
-<li><p class="first">Recognise signed VERSION partition</p>
+<li><p>Recognise signed VERSION partition</p>
<p>A few things need to change to support a signed VERSION partition:</p>
<ul class="simple">
-<li>A signed VERSION partition will be 4K + SECURE_BOOT_HEADERS_SIZE (4K).</li>
-<li>The VERSION partition needs to be loaded after secure/trusted boot is
-set up, and therefore after nvram_init().</li>
-<li>Added to the trustedboot resources array.</li>
+<li><p>A signed VERSION partition will be 4K + SECURE_BOOT_HEADERS_SIZE (4K).</p></li>
+<li><p>The VERSION partition needs to be loaded after secure/trusted boot is
+set up, and therefore after nvram_init().</p></li>
+<li><p>Added to the trustedboot resources array.</p></li>
</ul>
<p>This also moves the ipmi_dt_add_bmc_info() call to after
flash_dt_add_fw_version() since it adds info to ibm,firmware-versions.</p>
</li>
-<li><p class="first">Run pollers in time_wait() when not booting</p>
+<li><p>Run pollers in time_wait() when not booting</p>
<p>This only bit us hard with hiomap in one scenario.</p>
<p>Our OPAL API has been OPAL_POLL_EVENTS may be needed to make forward
progress on ongoing operations, and the internal to skiboot API has been
@@ -128,7 +128,7 @@ to be, rather than have this odd case of “time_wait() for a condition
that could also be tripped by an interrupt works fine unless the OS is
up and running but hasn’t set interrupts up yet”.</p>
</li>
-<li><p class="first">ipmi: Reduce ipmi_queue_msg_sync() polling loop time to 10ms</p>
+<li><p>ipmi: Reduce ipmi_queue_msg_sync() polling loop time to 10ms</p>
<p>On a plain boot, this reduces the time spent in OPAL by ~170ms on
p9dsu. This is due to hiomap (currently) using synchronous IPMI
messages.</p>
@@ -137,13 +137,10 @@ operations for hiomap, as we’ll spend typically 10-20ms in OPAL
rather than 100-200ms. It’s not an ideal solution to that, but
it’s a quick and obvious win for jitter.</p>
</li>
-<li><p class="first">core/device: NULL pointer dereference fix</p>
-</li>
-<li><p class="first">core/flash: NULL pointer dereference fixes</p>
-</li>
-<li><p class="first">core/cpu: Call memset with proper cpu_thread offset</p>
-</li>
-<li><p class="first">libflash: Add ipmi-hiomap, and prefer it for PNOR access</p>
+<li><p>core/device: NULL pointer dereference fix</p></li>
+<li><p>core/flash: NULL pointer dereference fixes</p></li>
+<li><p>core/cpu: Call memset with proper cpu_thread offset</p></li>
+<li><p>libflash: Add ipmi-hiomap, and prefer it for PNOR access</p>
<p>ipmi-hiomap implements the PNOR access control protocol formerly known
as “the mbox protocol” but uses IPMI instead of the AST LPC mailbox as a
transport. As there is no-longer any mailbox involved in this alternate
@@ -158,7 +155,7 @@ removal.</p>
but as it is on life-support effective immediately we may as well just
remove it entirely when the time is right.</p>
</li>
-<li><p class="first">opal/hmi: Handle early HMIs on thread0 when secondaries are still in OPAL.</p>
+<li><p>opal/hmi: Handle early HMIs on thread0 when secondaries are still in OPAL.</p>
<p>When primary thread receives a CORE level HMI for timer facility errors
while secondaries are still in OPAL, thread 0 ends up in rendez-vous
waiting for secondaries to get into hmi handling. This is because OPAL
@@ -206,18 +203,18 @@ this very eary stage we already doomed.</p>
</pre></div>
</div>
</li>
-<li><p class="first">core/cpu: Fix memory allocation for job array</p>
+<li><p>core/cpu: Fix memory allocation for job array</p>
<p>fixes: 7a3f307e core/cpu: parallelise global CPU register setting jobs</p>
<p>This bug would result in boot-hang on some configurations due to
cpu_wait_job() endlessly waiting for the last bogus jobs[cpu-&gt;pir] pointer.</p>
</li>
-<li><p class="first">i2c: Fix multiple-enqueue of the same request on NACK</p>
+<li><p>i2c: Fix multiple-enqueue of the same request on NACK</p>
<p>i2c_request_send() will retry the request if the error is a NAK,
however it forgets to clear the “ud.done” flag. It will thus
loop again and try to re-enqueue the same request causing internal
request list corruption.</p>
</li>
-<li><p class="first">i2c: Ensure ordering between i2c_request_send() and completion</p>
+<li><p>i2c: Ensure ordering between i2c_request_send() and completion</p>
<p>i2c_request_send loops waiting for a flag “uc.done” set by
the completion routine, and then look for a result code
also set by that same completion.</p>
@@ -226,17 +223,17 @@ processor, so we need to order the stores to uc and the reads
from uc so that uc.done is stored last and tested first using
memory barriers.</p>
</li>
-<li><p class="first">pci: Clarify power down logic</p>
+<li><p>pci: Clarify power down logic</p>
<p>Currently pci_scan_bus() unconditionally calls pci_slot_set_power_state()
when it’s finished scanning a bus. This is one of those things that
makes you go “WHAT?” when you first see it and frankly the skiboot PCI
code could do with less of that.</p>
</li>
</ul>
-<div class="section" id="fast-reboot">
+<section id="fast-reboot">
<h3>Fast Reboot<a class="headerlink" href="#fast-reboot" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">fast-reboot: parallel memory clearing</p>
+<li><p>fast-reboot: parallel memory clearing</p>
<p>Arbitrarily pick 16GB as the unit of parallelism, and
split up clearing memory into jobs and schedule them
node-local to the memory (or on node 0 if we can’t
@@ -247,7 +244,7 @@ fast-reboot on a 256GB Boston system.</p>
zeroing all of RAM, so we may as well do them at the same time
and cut a few seconds off the total fast reboot time.</p>
</li>
-<li><p class="first">fast-reboot: verify firmware “romem” checksum</p>
+<li><p>fast-reboot: verify firmware “romem” checksum</p>
<p>This takes a checksum of skiboot memory after boot that should be
unchanged during OS operation, and verifies it before allowing a
fast reboot.</p>
@@ -257,41 +254,41 @@ during boot.</p>
<p>This helps to improve the integrity of firmware against host and
runtime firmware memory scribble bugs.</p>
</li>
-<li><p class="first">core/fast-reboot: print the fast reboot disable reason</p>
+<li><p>core/fast-reboot: print the fast reboot disable reason</p>
<p>Once things start to go wrong, disable_fast_reboot can be called a
number of times, so make the first reason sticky, and also print it
to the console at disable time. This helps with making sense of
fast reboot disables.</p>
</li>
-<li><p class="first">Add fast-reboot property to /ibm,opal DT node</p>
+<li><p>Add fast-reboot property to /ibm,opal DT node</p>
<p>this means that if it’s permanently disabled on boot, the test suite can
pick that up and not try a fast reboot test.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="utilities">
+</section>
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<p>Since v6.2-rc2:</p>
<ul>
-<li><p class="first">opal-prd: hservice: Enable hservice-&gt;wakeup() in BMC</p>
+<li><p>opal-prd: hservice: Enable hservice-&gt;wakeup() in BMC</p>
<p>This patch enables HBRT to use HYP special wakeup register in openBMC
which until now was only used in FSP based machines.</p>
<p>This patch also adds a capability check for opal-prd so that HBRT can
decide if the host special wakeup register can be used.</p>
</li>
-<li><p class="first">ffspart: Support flashing already ECC protected images</p>
+<li><p>ffspart: Support flashing already ECC protected images</p>
<p>We do this by assuming filenames with ‘.ecc’ in them are already ECC
protected.</p>
<p>This solves a practical problem in transitioning op-build to use ffspart
for pnor assembly rather than three perl scripts and a lot of XML.</p>
<p>We also update the ffspart tests to take into account ECC requirements.</p>
</li>
-<li><p class="first">ffspart: Increase MAX_LINE to above PATH_MAX</p>
+<li><p>ffspart: Increase MAX_LINE to above PATH_MAX</p>
<p>Otherwise we saw failures in CI and the ~221 character paths Jankins
likes to have.</p>
</li>
-<li><p class="first">libflash/file: greatly increase perf of file_erase()</p>
+<li><p>libflash/file: greatly increase perf of file_erase()</p>
<p>Do 4096 byte chunks not 8 byte chunks. A ffspart invocation constructing
a 64MB PNOR goes from a couple of seconds to ~0.1seconds with this
patch.</p>
@@ -319,30 +316,30 @@ regions like below:</p>
</div>
</div></blockquote>
<ul>
-<li><p class="first">libflash: Restore blocklevel tests</p>
+<li><p>libflash: Restore blocklevel tests</p>
<p>This fell out in f58be46 “libflash/test: Rewrite Makefile.check to
improve scalability”. Add it back in as test-blocklevel.</p>
</li>
</ul>
<p>Since v6.1:</p>
<ul>
-<li><p class="first">pflash: Add –skip option for reading</p>
+<li><p>pflash: Add –skip option for reading</p>
<p>Add a –skip=N option to pflash to skip N number of bytes when reading.
This would allow users to print the VERSION partition without the STB
header by specifying the –skip=4096 argument, and it’s a more generic
solution rather than making pflash depend on secure/trusted boot code.</p>
</li>
-<li><p class="first">xscom-utils: Rework getsram</p>
+<li><p>xscom-utils: Rework getsram</p>
<p>Allow specifying a file on the command line to read OCC SRAM data into.
If no file is specified then we print it to stdout as text. This is a
bit inconsistent, but it retains compatibility with the existing tool.</p>
</li>
-<li><p class="first">xscom-utils/getsram: Make it work on P9</p>
+<li><p>xscom-utils/getsram: Make it work on P9</p>
<p>The XSCOM base address of the OCC control registers changed slightly
between P8 and P9. Fix this up and add a bit of PVR checking so we look
in the right place.</p>
</li>
-<li><p class="first">opal-prd: Fix opal-prd crash</p>
+<li><p>opal-prd: Fix opal-prd crash</p>
<p>Presently callback function from HBRT uses r11 to point to target function
pointer. r12 is garbage. This works fine when we compile with “-no-pie” option
(as we don’t use r12 to calculate TOC).</p>
@@ -355,51 +352,51 @@ entry point. So that we can calculate TOC properly.</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="development-and-debugging">
+</section>
+<section id="development-and-debugging">
<h2>Development and Debugging<a class="headerlink" href="#development-and-debugging" title="Permalink to this headline">¶</a></h2>
<p>Since v6.1-rc1:
- Warn on long OPAL calls</p>
<blockquote>
-<div>Measure entry/exit time for OPAL calls and warn appropriately if the
+<div><p>Measure entry/exit time for OPAL calls and warn appropriately if the
calls take too long (&gt;100ms gets us a DEBUG log, &gt; 1000ms gets us a
-warning).</div></blockquote>
+warning).</p>
+</div></blockquote>
<p>Since v6.1:</p>
<ul>
-<li><p class="first">core/lock: Use try_lock_caller() in lock_caller() to capture owner</p>
+<li><p>core/lock: Use try_lock_caller() in lock_caller() to capture owner</p>
<p>Otherwise we can get reports of core/lock.c owning the lock, which is
not helpful when tracking down ownership issues.</p>
</li>
-<li><p class="first">core/flash: Emit a warning if Skiboot version doesn’t match</p>
+<li><p>core/flash: Emit a warning if Skiboot version doesn’t match</p>
<p>This means you’ll get a warning that you’ve modified skiboot separately
to the rest of the PNOR image, which can be useful in determining what
firmware is actually running on a machine.</p>
</li>
-<li><p class="first">gcov: link in ctors* as newer GCC doesn’t group them all</p>
+<li><p>gcov: link in ctors* as newer GCC doesn’t group them all</p>
<p>It seems that newer toolchains get us multiple ctors sections to link in
rather than just one. If we discard them (as we were doing), then we
don’t have a working gcov build (and we get the “doesn’t look sane”
warning on boot).</p>
</li>
-<li><p class="first">core/flash: Log return code when ffs_init() fails</p>
+<li><p>core/flash: Log return code when ffs_init() fails</p>
<p>Knowing the return code is at least better than not knowing the return
code.</p>
</li>
-<li><p class="first">gcov: Fix building with GCC8</p>
-</li>
-<li><p class="first">travis/ci: rework Dockerfiles to produce build artifacts</p>
+<li><p>gcov: Fix building with GCC8</p></li>
+<li><p>travis/ci: rework Dockerfiles to produce build artifacts</p>
<p>ubuntu-latest was also missing clang, as ubuntu-latest is closer to
ubuntu 18.04 than 16.04</p>
</li>
-<li><p class="first">cpu: add cpu_queue_job_on_node()</p>
+<li><p>cpu: add cpu_queue_job_on_node()</p>
<p>Add a job scheduling API which will run the job on the requested
chip_id (or return failure).</p>
</li>
-<li><p class="first">opal-ci: Build old dtc version for fedora 28</p>
+<li><p>opal-ci: Build old dtc version for fedora 28</p>
<p>There are patches that will go into dtc to fix the issues we hit, but
for the moment let’s just build and use a slightly older version.</p>
</li>
-<li><p class="first">mem_region: Merge similar allocations when dumping</p>
+<li><p>mem_region: Merge similar allocations when dumping</p>
<p>Currently we print one line for each allocation done at runtime when
dumping the memory allocations. We do a few thousand allocations at
boot so this can result in a huge amount of text being printed which
@@ -418,7 +415,7 @@ suppressed at the default log level, which probably isn’t something you
want considering we only dump the allocations when we run out of skiboot
heap space.</p>
</li>
-<li><p class="first">core/lock: fix timeout warning causing a deadlock false positive</p>
+<li><p>core/lock: fix timeout warning causing a deadlock false positive</p>
<p>If a lock waiter exceeds the warning timeout, it prints a message
while still registered as requesting the lock. Printing the message
can take locks, so if one is held when the owner of the original
@@ -428,11 +425,11 @@ detection, which brings down the system.</p>
KVM guest, where the timebase was not returned to host timebase
before calling the HMI handler.</p>
</li>
-<li><p class="first">hw/p8-i2c: Print the set error bits</p>
+<li><p>hw/p8-i2c: Print the set error bits</p>
<p>This is purely to save me from having to look it up every time someone
gets an I2C error.</p>
</li>
-<li><p class="first">init: Fix starting stripped kernel</p>
+<li><p>init: Fix starting stripped kernel</p>
<p>Currently if we try to run a raw/stripped binary kernel (ie. without
the elf header) we crash with:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>[ 0.008757768,5] INIT: Waiting for kernel...
@@ -448,12 +445,12 @@ the elf header) we crash with:</p>
<p>This is because we haven’t set kernel_entry correctly in this path.
This fixes it.</p>
</li>
-<li><p class="first">cpu: Better output when waiting for a very long job</p>
+<li><p>cpu: Better output when waiting for a very long job</p>
<p>Instead of printing at the end if the job took more than 1s,
print in the loop every 30s along with a backtrace. This will
give us some output if the job is deadlocked.</p>
</li>
-<li><p class="first">lock: Fix interactions between lock dependency checker and stack checker</p>
+<li><p>lock: Fix interactions between lock dependency checker and stack checker</p>
<p>The lock dependency checker does a few nasty things that can cause
re-entrancy deadlocks in conjunction with the stack checker or
in fact other debug tests.</p>
@@ -470,19 +467,16 @@ avoid deadlocks with the UART driver.</p>
option from DEBUG_LOCKS as well, in case we chose to disable it
by default later on.</p>
</li>
-<li><p class="first">xscom-utils/adu_scoms.py: run 2to3 over it</p>
-</li>
-<li><p class="first">clang: -Wno-error=ignored-attributes</p>
-</li>
+<li><p>xscom-utils/adu_scoms.py: run 2to3 over it</p></li>
+<li><p>clang: -Wno-error=ignored-attributes</p></li>
</ul>
-</div>
-<div class="section" id="ci-testing-and-utilities">
+</section>
+<section id="ci-testing-and-utilities">
<h2>CI, testing, and utilities<a class="headerlink" href="#ci-testing-and-utilities" title="Permalink to this headline">¶</a></h2>
<p>Since v6.1-rc2:</p>
<ul>
-<li><p class="first">opal-ci: Drop fedora27, add fedora29</p>
-</li>
-<li><p class="first">ci: Bump Qemu version</p>
+<li><p>opal-ci: Drop fedora27, add fedora29</p></li>
+<li><p>ci: Bump Qemu version</p>
<p>This moves the qemu version to qemu-powernv-for-skiboot-7 which is based
on upstream’s 3.1.0, and supports a Power9 machine.</p>
<p>It also includes a fix for the skiboot XSCOM errors:</p>
@@ -492,7 +486,7 @@ on upstream’s 3.1.0, and supports a Power9 machine.</p>
<p>There is no modelling of the xscom behaviour but the reads/writes
now succeed which is enough for skiboot to not error out.</p>
</li>
-<li><p class="first">test: Update qemu arguments to use bmc simulator</p>
+<li><p>test: Update qemu arguments to use bmc simulator</p>
<p>THe qemu skiboot platform as of 8340a9642bba (“plat/qemu: use the common
OpenPOWER routines to initialize”) uses the common aspeed BMC setup
routines. This means a BT interface is always set up, and if the
@@ -509,15 +503,15 @@ corresponding Qemu model is not present the timeout is 30 seconds.</p>
<p>Avoid this by adding the bmc simulator model to the Qemu powernv
machine.</p>
</li>
-<li><p class="first">ci: Add opal-utils to Debian unstable</p>
+<li><p>ci: Add opal-utils to Debian unstable</p>
<p>This puts a ‘pflash’ in the users PATH, allowing more test coverage of
ffspart.</p>
</li>
-<li><p class="first">ci: Drop P8 mambo from Debian unstable</p>
+<li><p>ci: Drop P8 mambo from Debian unstable</p>
<p>Debian Unstable has removed OpenSSL 1.0.0 from the repository so mambo
no longer runs:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">ibm</span><span class="o">/</span><span class="n">systemsim</span><span class="o">-</span><span class="n">p8</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">systemsim</span><span class="o">-</span><span class="n">pegasus</span><span class="p">:</span> <span class="n">error</span> <span class="k">while</span> <span class="n">loading</span> <span class="n">shared</span>
-<span class="n">libraries</span><span class="p">:</span> <span class="n">libcrypto</span><span class="o">.</span><span class="n">so</span><span class="o">.</span><span class="mf">1.0</span><span class="o">.</span><span class="mi">0</span><span class="p">:</span> <span class="n">cannot</span> <span class="nb">open</span> <span class="n">shared</span> <span class="nb">object</span> <span class="n">file</span><span class="p">:</span> <span class="n">No</span> <span class="n">such</span>
+<span class="n">libraries</span><span class="p">:</span> <span class="n">libcrypto</span><span class="o">.</span><span class="n">so</span><span class="mf">.1.0.0</span><span class="p">:</span> <span class="n">cannot</span> <span class="nb">open</span> <span class="n">shared</span> <span class="nb">object</span> <span class="n">file</span><span class="p">:</span> <span class="n">No</span> <span class="n">such</span>
<span class="n">file</span> <span class="ow">or</span> <span class="n">directory</span>
</pre></div>
</div>
@@ -525,26 +519,25 @@ no longer runs:</p>
skipped.</p>
<p>Tracked in <a class="reference external" href="https://github.com/open-power/op-build/issues/2519">https://github.com/open-power/op-build/issues/2519</a></p>
</li>
-<li><p class="first">ci: Add dtc dependencies for rawhide</p>
+<li><p>ci: Add dtc dependencies for rawhide</p>
<p>Both F28 and Rawhide build their own dtc version. Rawhide was missing
the required build deps.</p>
</li>
-<li><p class="first">ci: Update Debian unstable packages</p>
+<li><p>ci: Update Debian unstable packages</p>
<p>This syncs Debian unstable with Ubuntu 18.04 in order to get the clang
package. It also adds qemu to the Debian install, which makes sense
Debian also has 2.12.</p>
</li>
-<li><p class="first">ci: Use Ubuntu latest config for Debian unstable</p>
+<li><p>ci: Use Ubuntu latest config for Debian unstable</p>
<p>Debian unstable has the same GCOV issue with 8.2 as Ubuntu latest so it
makes sense to share configurations there.</p>
</li>
-<li><p class="first">ci: Disable GCOV builds in ubuntu-latest</p>
+<li><p>ci: Disable GCOV builds in ubuntu-latest</p>
<p>They are known to be broken with GCC 8.2:
<a class="reference external" href="https://github.com/open-power/skiboot/issues/206">https://github.com/open-power/skiboot/issues/206</a></p>
</li>
-<li><p class="first">ci: Update gcov comment in Fedora 28</p>
-</li>
-<li><p class="first">plat/qemu: fix platform initialization when the BT device is not present</p>
+<li><p>ci: Update gcov comment in Fedora 28</p></li>
+<li><p>plat/qemu: fix platform initialization when the BT device is not present</p>
<p>A QEMU PowerNV machine does not necessarily have a BT device. It needs
to be defined on the command line with :</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-</span><span class="n">device</span> <span class="n">ipmi</span><span class="o">-</span><span class="n">bmc</span><span class="o">-</span><span class="n">sim</span><span class="p">,</span><span class="nb">id</span><span class="o">=</span><span class="n">bmc0</span> <span class="o">-</span><span class="n">device</span> <span class="n">isa</span><span class="o">-</span><span class="n">ipmi</span><span class="o">-</span><span class="n">bt</span><span class="p">,</span><span class="n">bmc</span><span class="o">=</span><span class="n">bmc0</span><span class="p">,</span><span class="n">irq</span><span class="o">=</span><span class="mi">10</span>
@@ -556,15 +549,11 @@ that such a device is present and if not, skip the AST initialization.</p>
</ul>
<p>Since v6.1-rc1:</p>
<ul>
-<li><p class="first">travis: Coverity fixed their SSL cert</p>
-</li>
-<li><p class="first">opal-ci: Use ubuntu:rolling for Ubuntu latest image</p>
-</li>
-<li><p class="first">ffspart: Add test for eraseblock size</p>
-</li>
-<li><p class="first">ffspart: Add toc test</p>
-</li>
-<li><p class="first">hdata/test: workaround dtc bugs</p>
+<li><p>travis: Coverity fixed their SSL cert</p></li>
+<li><p>opal-ci: Use ubuntu:rolling for Ubuntu latest image</p></li>
+<li><p>ffspart: Add test for eraseblock size</p></li>
+<li><p>ffspart: Add toc test</p></li>
+<li><p>hdata/test: workaround dtc bugs</p>
<p>In dtc v1.4.5 to at least v1.4.7 there have been a few bugs introduced
that change the layout of what’s produced in the dts. In order to be
immune from them, we should use the (provided) dtdiff utility, but we
@@ -575,48 +564,49 @@ conversion will.</p>
with recent Linux distros such as Fedora 29.</p>
</li>
</ul>
-<div class="section" id="mambo-platform">
+<section id="mambo-platform">
<h3>Mambo Platform<a class="headerlink" href="#mambo-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">mambo: Merge PMEM_DISK and PMEM_VOLATILE code</p>
+<li><p>mambo: Merge PMEM_DISK and PMEM_VOLATILE code</p>
<p>PMEM_VOLATILE and PMEM_DISK can’t be used together and are basically
copies of the same code.</p>
<p>This merges the two and allows them used together. Same API is kept.</p>
</li>
-<li><p class="first">hw/chiptod: test QUIRK_NO_CHIPTOD in opal_resync_timebase</p>
+<li><p>hw/chiptod: test QUIRK_NO_CHIPTOD in opal_resync_timebase</p>
<p>This allows some test coverage of deep stop states in Linux with
Mambo.</p>
</li>
-<li><p class="first">core/mem_region: mambo reserve kernel payload areas</p>
+<li><p>core/mem_region: mambo reserve kernel payload areas</p>
<p>Mambo image payloads get overwritten by the OS and by
fast reboot memory clearing because they have no region
defined. Add them, which allows fast reboot to work.</p>
</li>
</ul>
-</div>
-<div class="section" id="qemu-platform">
+</section>
+<section id="qemu-platform">
<h3>Qemu platform<a class="headerlink" href="#qemu-platform" title="Permalink to this headline">¶</a></h3>
<p>Since v6.2-rc2:
- plat/qemu: use the common OpenPOWER routines to initialize</p>
<blockquote>
-<div>Back in 2016, we did not have a large support of the PowerNV devices
+<div><p>Back in 2016, we did not have a large support of the PowerNV devices
under QEMU and we were using our own custom ones. This has changed and
we can now use all the common init routines of the OpenPOWER
-platforms.</div></blockquote>
+platforms.</p>
+</div></blockquote>
<p>Since v6.1:</p>
<ul>
-<li><p class="first">nx: Don’t abort on missing NX when using a QEMU machine</p>
+<li><p>nx: Don’t abort on missing NX when using a QEMU machine</p>
<p>These don’t have an NX node (and probably never will) as they
don’t provide any coprocessor. However, the DARN instruction
works so this abort is unnecessary.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="power8-platforms">
+</section>
+</section>
+<section id="power8-platforms">
<h2>POWER8 Platforms<a class="headerlink" href="#power8-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">SBE-p8: Do all sbe timer update with xscom lock held</p>
+<li><p>SBE-p8: Do all sbe timer update with xscom lock held</p>
<p>Without this, on some P8 platforms, we could (falsely) think the SBE timer
had stalled getting the dreaded “timer stuck” message.</p>
<p>The code was doing the mftb() to set the start of the timeout period while
@@ -626,10 +616,10 @@ else had the xscom lock.</p>
so do it that way.</p>
</li>
</ul>
-<div class="section" id="vesnin-platform">
+<section id="vesnin-platform">
<h3>Vesnin Platform<a class="headerlink" href="#vesnin-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">platforms/astbmc/vesnin: Send list of PCI devices to BMC through IPMI</p>
+<li><p>platforms/astbmc/vesnin: Send list of PCI devices to BMC through IPMI</p>
<p>Implements sending a list of installed PCI devices through IPMI protocol.
Each PCI device description is sent as a standalone IPMI message.
A list of devices can be gathered from separate messages using the
@@ -637,26 +627,24 @@ session identifier. The session Id is an incremental counter that is
updated at the start of synchronization session.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="power9-platforms">
+</section>
+</section>
+<section id="power9-platforms">
<h2>POWER9 Platforms<a class="headerlink" href="#power9-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">STOP API: API conditionally supports 255 SCOM restore entries for each quad.</p>
-</li>
-<li><p class="first">hdata/i2c: Skip unknown device type</p>
+<li><p>STOP API: API conditionally supports 255 SCOM restore entries for each quad.</p></li>
+<li><p>hdata/i2c: Skip unknown device type</p>
<p>Do not add unknown I2C devices to device tree.</p>
</li>
-<li><p class="first">hdata/i2c: Add whitelisting for Host I2C devices</p>
+<li><p>hdata/i2c: Add whitelisting for Host I2C devices</p>
<p>Many of the devices that we get information about through HDAT are for
use by firmware rather than the host operating system. This patch adds
a boolean flag to hdat_i2c_info structure that indicates whether devices
with a given purpose should be reserved for use inside of OPAL (or some
other firmware component, such as the OCC).</p>
</li>
-<li><p class="first">hdata/iohub: Fix Cumulus Hub ID number</p>
-</li>
-<li><p class="first">opal/hmi: Wakeup the cpu before reading core_fir</p>
+<li><p>hdata/iohub: Fix Cumulus Hub ID number</p></li>
+<li><p>opal/hmi: Wakeup the cpu before reading core_fir</p>
<p>When stop state 5 is enabled, reading the core_fir during an HMI can
result in a xscom read error with xscom_read() returning an
OPAL_XSCOM_PARTIAL_GOOD error code and core_fir value of all FFs. At
@@ -668,12 +656,12 @@ reading the core_fir. Hence this patch wraps the call to
read_core_fir() within calls to dctl_set_special_wakeup() and
dctl_clear_special_wakeup().</p>
</li>
-<li><p class="first">xive: Disable block tracker</p>
+<li><p>xive: Disable block tracker</p>
<p>Due to some HW errata, the block tracking facility (performance optimisation
for large systems) should be disabled on Nimbus chips. Disable it unconditionally
for now.</p>
</li>
-<li><p class="first">opal/hmi: Ignore debug trigger inject core FIR.</p>
+<li><p>opal/hmi: Ignore debug trigger inject core FIR.</p>
<p>Core FIR[60] is a side effect of the work around for the CI Vector Load
issue in DD2.1. Usually this gets delivered as HMI with HMER[17] where
Linux already ignores it. But it looks like in some cases we may happen
@@ -681,26 +669,26 @@ to see CORE_FIR[60] while we are already in Malfunction Alert HMI
(HMER[0]) due to other reasons e.g. CAPI recovery or NPU xstop. If that
happens then just ignore it instead of crashing kernel as not recoverable.</p>
</li>
-<li><p class="first">hdata: Make sure reserved node name starts with “ibm, “</p>
+<li><p>hdata: Make sure reserved node name starts with “ibm, “</p>
<p>HDAT does not provide consistent label format for reserved memory label.
Few starts with “ibm,” while few other starts with component name.</p>
</li>
-<li><p class="first">hdata: Fix dtc warnings</p>
+<li><p>hdata: Fix dtc warnings</p>
<p>Fix dtc warnings related to mcbist node.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@623fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@603fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
-<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="nd">@603fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="nd">@2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">623</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">603</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">1</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
+<span class="ne">Warning</span> <span class="p">(</span><span class="n">reg_format</span><span class="p">):</span> <span class="s2">&quot;reg&quot;</span> <span class="nb">property</span> <span class="ow">in</span> <span class="o">/</span><span class="n">xscom</span><span class="o">@</span><span class="mi">603</span><span class="n">fc00000000</span><span class="o">/</span><span class="n">mcbist</span><span class="o">@</span><span class="mi">2</span> <span class="n">has</span> <span class="n">invalid</span> <span class="n">length</span> <span class="p">(</span><span class="mi">4</span> <span class="nb">bytes</span><span class="p">)</span> <span class="p">(</span><span class="c1">#address-cells == 1, #size-cells == 1)</span>
</pre></div>
</div>
<p>Ideally we should add proper xscom range here… but we are not getting that
information in HDAT today. Lets fix warning until we get proper data in HDAT.</p>
</li>
</ul>
-<div class="section" id="phb4">
+<section id="phb4">
<h3>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4: Generate checkstop on AIB ECC corr/uncorr for DD2.0 parts</p>
+<li><p>phb4: Generate checkstop on AIB ECC corr/uncorr for DD2.0 parts</p>
<p>On DD2.0 parts, PCIe ECC protection is not warranted in the response
data path. Thus, for these parts, we need to flag any ECC errors
detected from the adjacent AIB RX Data path so the part can be
@@ -708,7 +696,7 @@ replaced.</p>
<p>This patch configures the FIRs so that we escalate these AIB ECC
errors to a checkstop so the parts can be replaced.</p>
</li>
-<li><p class="first">phb4: Reset pfir and nfir if new errors reported during ETU reset</p>
+<li><p>phb4: Reset pfir and nfir if new errors reported during ETU reset</p>
<p>During fast-reboot new PEC errors can be latched even after ETU-Reset
is asserted. This will result in values of variables nfir_cache and
pfir_cache to be out of sync.</p>
@@ -722,7 +710,7 @@ ETU-reset was asserted, report these new errors and reset the
nfir/pfir registers. This should bring the ETU out of reset
successfully.</p>
</li>
-<li><p class="first">phb4: Disable nodal scoped DMA accesses when PB pump mode is enabled</p>
+<li><p>phb4: Disable nodal scoped DMA accesses when PB pump mode is enabled</p>
<p>By default when a PCIe device issues a read request via the PHB it is first
issued with nodal scope. When accessing GPU memory the NPU does not know at the
time of response if the requested memory page is off node or not. Therefore
@@ -736,7 +724,7 @@ treated differently. Therefore we avoid disabling nodal scope on large boxes
which have pump mode disabled to avoid all PHB requests being broadcast to
multiple chips.</p>
</li>
-<li><p class="first">phb4/capp: Only reset FIR bits that cause capp machine check</p>
+<li><p>phb4/capp: Only reset FIR bits that cause capp machine check</p>
<p>During CAPP recovery do_capp_recovery_scoms() will reset the CAPP Fir
register just after CAPP recovery is completed. This has an
unintentional side effect of preventing PRD from analyzing and
@@ -748,7 +736,7 @@ only reset fir bits that cause CAPP machine check (local xstop). This
is done by reading the CAPP Fir Action0/1 &amp; Mask registers and
generating a mask which is then written on CAPP_FIR_CLEAR register.</p>
</li>
-<li><p class="first">phb4: Check for RX errors after link training</p>
+<li><p>phb4: Check for RX errors after link training</p>
<p>Some PHB4 PHYs can get stuck in a bad state where they are constantly
retraining the link. This happens transparently to skiboot and Linux
but will causes PCIe to be slow. Resetting the PHB4 clears the
@@ -766,20 +754,20 @@ retrain the link. ie</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/phb4: Add a helper to dump the PELT-V</p>
+<li><p>hw/phb4: Add a helper to dump the PELT-V</p>
<p>The “Partitionable Endpoint Lookup Table (Vector)” is used by the PHB
when processing EEH events. The PELT-V defines which PEs should be
additionally frozen in the event of an error being flagged on a
given PE. Knowing the state of the PELT-V is sometimes useful for
debugging PHB issues so this patch adds a helper to dump it.</p>
</li>
-<li><p class="first">hw/phb4: Print the PEs in the EEH dump in hex</p>
+<li><p>hw/phb4: Print the PEs in the EEH dump in hex</p>
<p>Linux always displays the PE number in hexidecimal while skiboot
displays the PEST index (PE number) in decimal. This makes correlating
errors between Skiboot and Linux more annoying than it should be so
this patch makes Skiboot print the PEST number in hex.</p>
</li>
-<li><p class="first">phb4: Reallocate PEC2 DMA-Read engines to improve GPU-Direct bandwidth</p>
+<li><p>phb4: Reallocate PEC2 DMA-Read engines to improve GPU-Direct bandwidth</p>
<p>We reallocate additional 16/8 DMA-Read engines allocated to stack0/1
on PEC2 respectively. This is needed to improve bandwidth available to
the Mellanox CX5 adapter when trying to read GPU memory (GPU-Direct).</p>
@@ -791,7 +779,7 @@ respectively on PEC2. This is done by populating the
XPEC_PCI_PRDSTKOVR and XPEC_NEST_READ_STACK_OVERRIDE as suggested by
the h/w team.</p>
</li>
-<li><p class="first">phb4: Enable PHB MMIO-0/1 Bars only when mmio window exists</p>
+<li><p>phb4: Enable PHB MMIO-0/1 Bars only when mmio window exists</p>
<p>Presently phb4_probe_stack() will always enable PHB MMIO0/1 windows
even if they doesn’t exist in phy_map. Hence we do some minor shuffling
in the phb4_probe_stack() so that MMIO-0/1 Bars are only enabled if
@@ -799,7 +787,7 @@ there corresponding MMIO window exists in the phy_map. In case phy_map
for an mmio window is ‘0’ we set the corresponding BAR register to
‘0’.</p>
</li>
-<li><p class="first">hw/phb4: Use local_alloc for phb4 structures</p>
+<li><p>hw/phb4: Use local_alloc for phb4 structures</p>
<p>Struct phb4 is fairly heavyweight at 283664 bytes. On systems with
6x PHBs per socket this results in using 3.2MB of heap space the PHB
structures alone. This is a fairly large chunk of our 12MB heap and
@@ -809,7 +797,7 @@ FDT blob.</p>
<p>This patch switches to using local_alloc() for the PHB structures
so they don’t consume too large a portion of our 12MB heap space.</p>
</li>
-<li><p class="first">phb4: Fix typo in disable lane eq code</p>
+<li><p>phb4: Fix typo in disable lane eq code</p>
<p>In this commit</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">commit</span> <span class="mi">737</span><span class="n">c0ba3d72b8aab05a765a9fc111a48faac0f75</span>
<span class="n">Author</span><span class="p">:</span> <span class="n">Michael</span> <span class="n">Neuling</span> <span class="o">&lt;</span><span class="n">mikey</span><span class="nd">@neuling</span><span class="o">.</span><span class="n">org</span><span class="o">&gt;</span>
@@ -821,7 +809,7 @@ so they don’t consume too large a portion of our 12MB heap space.</p>
<p>It worked previously as if only phase 2 (PH2) is set it, skips phase 2
and phase 3 (PH3).</p>
</li>
-<li><p class="first">phb4: Don’t probe a PHB if its garded</p>
+<li><p>phb4: Don’t probe a PHB if its garded</p>
<p>Presently phb4_probe_stack() causes an exception while trying to probe
a PHB if its garded. This causes skiboot to go into a reboot loop with
following exception log:</p>
@@ -846,18 +834,18 @@ PHB Version registers that cause the fatal MCE.</p>
populate the PHB Bar register fails, which indicates that there is
something wrong with the PHB.</p>
</li>
-<li><p class="first">phb4: Workaround PHB errata with CFG write UR/CA errors</p>
+<li><p>phb4: Workaround PHB errata with CFG write UR/CA errors</p>
<p>If the PHB encounters a UR or CA status on a CFG write, it will
incorrectly freeze the wrong PE. Instead of using the PE# specified
in the CONFIG_ADDRESS register, it will use the PE# of whatever
MMIO occurred last.</p>
<p>Work around this disabling freeze on such errors</p>
</li>
-<li><p class="first">phb4: Handle allocation errors in phb4_eeh_dump_regs()</p>
+<li><p>phb4: Handle allocation errors in phb4_eeh_dump_regs()</p>
<p>If the zalloc fails (and it can be a rather large allocation),
we will overwite memory at 0 instead of failing.</p>
</li>
-<li><p class="first">phb4: Don’t try to access non-existent PEST entries</p>
+<li><p>phb4: Don’t try to access non-existent PEST entries</p>
<p>In a POWER9 chip, some PHB4s have 256 PEs, some have 512.</p>
<p>Currently, the diagnostics code retrieves 512 unconditionally,
which is wrong and causes us to incorrectly report bogus values
@@ -865,18 +853,18 @@ for the “high” PEs on the small PHBs.</p>
<p>Use the actual number of implemented PEs instead</p>
</li>
</ul>
-</div>
-<div class="section" id="capi2">
+</section>
+<section id="capi2">
<h3>CAPI2<a class="headerlink" href="#capi2" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">phb4/capp: Use link width to allocate STQ engines to CAPP</p>
+<li><p>phb4/capp: Use link width to allocate STQ engines to CAPP</p>
<p>Update phb4_init_capp_regs() to allocates STQ Engines to CAPP/PEC2
based on link width instead of always assuming it to x8.</p>
<p>Also re-factor the function slightly to evaluate the link-width only
once and cache it so that it can also be used to allocate DMA read
engines.</p>
</li>
-<li><p class="first">phb4/capp: Update DMA read engines set in APC_FSM_READ_MASK based on link-width</p>
+<li><p>phb4/capp: Update DMA read engines set in APC_FSM_READ_MASK based on link-width</p>
<p>Commit 47c09cdfe7a3(“phb4/capp: Calculate STQ/DMA read engines based
on link-width for PEC”) update the CAPP init sequence by calculating
the needed STQ/DMA-read engines based on link width and populating it
@@ -886,7 +874,7 @@ with the value set in CAPP APC FSM Read Machine Mask Register.</p>
width of the stack on PEC2 and populate the same values as previously
populated in PEC CAPP_CNTL register.</p>
</li>
-<li><p class="first">capp: Fix the capp recovery timeout comparison</p>
+<li><p>capp: Fix the capp recovery timeout comparison</p>
<p>The current capp recovery timeout control loop in
do_capp_recovery_scoms() uses a wrong comparison for return value of
tb_compare(). This may cause do_capp_recovery_scoms() to report an
@@ -894,7 +882,7 @@ timeout earlier than the 168ms stipulated time.</p>
<p>The patch fixes this by updating the loop timeout control branch in
do_capp_recovery_scoms() to use the correct enum tb_cmpval.</p>
</li>
-<li><p class="first">phb4: Disable 32-bit MSI in capi mode</p>
+<li><p>phb4: Disable 32-bit MSI in capi mode</p>
<p>If a capi device does a DMA write targeting an address lower than 4GB,
it does so through a 32-bit operation, per the PCI spec. In capi mode,
the first TVE entry is configured in bypass mode, so the address is
@@ -907,8 +895,8 @@ interpret the DMA write as a MSI, which very likely results in an EEH
mode. Capi devices are 64-bit.</p>
</li>
</ul>
-</div>
-<div class="section" id="nvlink2">
+</section>
+<section id="nvlink2">
<h3>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h3>
<p>Since v6.2-rc2:
- Add purging CPU L2 and L3 caches into NPU hreset.</p>
@@ -924,12 +912,12 @@ as part of the reset sequence. L1 is write through, so doesn’t need to be purg
</pre></div>
</div>
<ol class="arabic" start="2">
-<li><p class="first">check this is off in all caches to know purge completed</p>
+<li><p>check this is off in all caches to know purge completed</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">getspy</span> <span class="n">pu</span><span class="o">.</span><span class="n">ex</span> <span class="n">EXP</span><span class="o">.</span><span class="n">L2</span><span class="o">.</span><span class="n">L2MISC</span><span class="o">.</span><span class="n">L2CERRS</span><span class="o">.</span><span class="n">PRD_PURGE_CMD_REG_BUSY</span> <span class="o">-</span><span class="nb">all</span>
</pre></div>
</div>
</li>
-<li><div class="first highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">putspy</span> <span class="n">pu</span><span class="o">.</span><span class="n">ex</span> <span class="n">EXP</span><span class="o">.</span><span class="n">L2</span><span class="o">.</span><span class="n">L2MISC</span><span class="o">.</span><span class="n">L2CERRS</span><span class="o">.</span><span class="n">PRD_PURGE_CMD_TRIGGER</span> <span class="n">OFF</span> <span class="o">-</span><span class="nb">all</span>
+<li><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">putspy</span> <span class="n">pu</span><span class="o">.</span><span class="n">ex</span> <span class="n">EXP</span><span class="o">.</span><span class="n">L2</span><span class="o">.</span><span class="n">L2MISC</span><span class="o">.</span><span class="n">L2CERRS</span><span class="o">.</span><span class="n">PRD_PURGE_CMD_TRIGGER</span> <span class="n">OFF</span> <span class="o">-</span><span class="nb">all</span>
</pre></div>
</div>
</li>
@@ -941,7 +929,7 @@ as part of the reset sequence. L1 is write through, so doesn’t need to be purg
</pre></div>
</div>
<ol class="arabic" start="2">
-<li><p class="first">Ensure that the purge has completed by checking the status bit:</p>
+<li><p>Ensure that the purge has completed by checking the status bit:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">getspy</span> <span class="n">pu</span><span class="o">.</span><span class="n">ex</span> <span class="n">EXP</span><span class="o">.</span><span class="n">L3</span><span class="o">.</span><span class="n">L3_MISC</span><span class="o">.</span><span class="n">L3CERRS</span><span class="o">.</span><span class="n">L3_PRD_PURGE_REQ</span> <span class="o">-</span><span class="nb">all</span>
</pre></div>
</div>
@@ -955,14 +943,14 @@ as part of the reset sequence. L1 is write through, so doesn’t need to be purg
</ol>
</div></blockquote>
<ul>
-<li><p class="first">npu2: Return sensible PCI error when not frozen</p>
+<li><p>npu2: Return sensible PCI error when not frozen</p>
<p>The current kernel calls OPAL_PCI_EEH_FREEZE_STATUS with an uninitialized
&#64;pci_error_type parameter and then analyzes it even if the OPAL call
returned OPAL_SUCCESS. This is results in unexpected EEH events and NPU
freezes.</p>
<p>This initializes &#64;pci_error_type and &#64;severity to known safe values.</p>
</li>
-<li><p class="first">npu2: Advertise correct TCE page size</p>
+<li><p>npu2: Advertise correct TCE page size</p>
<p>The P9 NPU workbook says that only 4K/64K/16M/256M page size are supported
and in fact npu2_map_pe_dma_window() supports just these but in absence of
the “ibm,supported-tce-sizes” property Linux assumes the default P9 PHB4
@@ -974,7 +962,7 @@ fall back to 4K/64K TCEs.</p>
</ul>
<p>Since v6.1:</p>
<ul>
-<li><p class="first">npu2: Add support for relaxed-ordering mode</p>
+<li><p>npu2: Add support for relaxed-ordering mode</p>
<p>Some device drivers support out of order access to GPU memory. This does
not affect the CPU view of memory but it does affect the GPU view of
memory. It should only be enabled if the GPU driver has requested it.</p>
@@ -984,38 +972,36 @@ ordering to be enabled per PCIe root port. So the code here doesn’t
enable relaxed ordering until it has been explicitly requested for every
device on the port.</p>
</li>
-<li><p class="first">Add the other 7 ATSD registers to the device tree.</p>
-</li>
-<li><p class="first">npu2/hw-procedures: Don’t open code NPU2_NTL_MISC_CFG2_BRICK_ENABLE</p>
+<li><p>Add the other 7 ATSD registers to the device tree.</p></li>
+<li><p>npu2/hw-procedures: Don’t open code NPU2_NTL_MISC_CFG2_BRICK_ENABLE</p>
<p>Name this bit properly. There’s a lot more cleanup like this to be done,
but I’m catching this one now as part of some related changes.</p>
</li>
-<li><p class="first">npu2/hw-procedures: Enable parity and credit overflow checks</p>
+<li><p>npu2/hw-procedures: Enable parity and credit overflow checks</p>
<p>Enable these error checking features by setting the appropriate bits in
our one-off initialization of each “NTL Misc Config 2” register.</p>
<p>The exception is NDL RX parity checking, which should be disabled during
the link training procedures.</p>
</li>
-<li><p class="first">npu2: Use correct kill type for TCE invalidation</p>
+<li><p>npu2: Use correct kill type for TCE invalidation</p>
<p>kill_type is enum of OPAL_PCI_TCE_KILL_PAGES, OPAL_PCI_TCE_KILL_PE,
OPAL_PCI_TCE_KILL_ALL and phb4_tce_kill() gets it right but
npu2_tce_kill() uses OPAL_PCI_TCE_KILL which is an OPAL API token.</p>
<p>This fixes an obvious mistype.</p>
</li>
</ul>
-</div>
-<div class="section" id="opencapi">
+</section>
+<section id="opencapi">
<h3>OpenCAPI<a class="headerlink" href="#opencapi" title="Permalink to this headline">¶</a></h3>
<p>Since v6.2-rc1:</p>
<ul class="simple">
-<li>npu2-opencapi: Log extra information on link training failure</li>
-<li>npu2-opencapi: Detect if link trained in degraded mode</li>
+<li><p>npu2-opencapi: Log extra information on link training failure</p></li>
+<li><p>npu2-opencapi: Detect if link trained in degraded mode</p></li>
</ul>
<p>Since v6.1:</p>
<ul>
-<li><p class="first">Support OpenCAPI on Witherspoon platform</p>
-</li>
-<li><p class="first">npu2-opencapi: Enable presence detection on ZZ</p>
+<li><p>Support OpenCAPI on Witherspoon platform</p></li>
+<li><p>npu2-opencapi: Enable presence detection on ZZ</p>
<p>Presence detection for opencapi adapters was broken for ZZ planars v3
and below. All ZZ systems currently used in the lab have had their
planar upgraded, so we can now remove the override we had to force
@@ -1027,7 +1013,7 @@ change. In the unlikely case somebody tries opencapi on an old ZZ, the
presence detection through i2c will show that no adapter is present
and skiboot won’t try to access or train the link.</p>
</li>
-<li><p class="first">npu2-opencapi: Don’t send commands to NPU when link is down</p>
+<li><p>npu2-opencapi: Don’t send commands to NPU when link is down</p>
<p>Even if an opencapi link is down, we currently always try to issue a
config read operation when probing for PCI devices, because of the
default scan map used for an opencapi PHB. The config operation fails,
@@ -1037,11 +1023,11 @@ there’s no reason to do the config operation. To fix it, we keep the
scan map blank by default, and only add a device once the link is
trained.</p>
</li>
-<li><p class="first">opal/hmi: Catch NPU2 HMIs for opencapi</p>
+<li><p>opal/hmi: Catch NPU2 HMIs for opencapi</p>
<p>HMIs for NPU2 are filtered with the ‘compatible’ string of the PHB, so
add opencapi to the mix.</p>
</li>
-<li><p class="first">occ: Wait if OCC GPU presence status not immediately available</p>
+<li><p>occ: Wait if OCC GPU presence status not immediately available</p>
<p>It takes a few seconds for the OCC to set everything up in order to read
GPU presence. At present, we try to kick off OCC initialisation as early as
possible to maximise the time it has to read GPU presence.</p>
@@ -1050,7 +1036,7 @@ occ_get_gpu_presence() so that on the first time we try to get GPU presence
we keep trying for up to 2 seconds. Experimentally this seems to be
adequate.</p>
</li>
-<li><p class="first">hw/npu2-hw-procedures: Enable RX auto recal on OpenCAPI links</p>
+<li><p>hw/npu2-hw-procedures: Enable RX auto recal on OpenCAPI links</p>
<p>The RX_RC_ENABLE_AUTO_RECAL flag is required on OpenCAPI but not NVLink.</p>
<p>Traditionally, Hostboot sets this value according to the machine type.
However, now that Witherspoon supports both NVLink and OpenCAPI, it can’t
@@ -1058,7 +1044,7 @@ tell whether or not a link is OpenCAPI.</p>
<p>So instead, set it in skiboot, where it will only be triggered after we’ve
done device detection and found an OpenCAPI device.</p>
</li>
-<li><p class="first">hw/npu2-opencapi: Fix setting of supported OpenCAPI templates</p>
+<li><p>hw/npu2-opencapi: Fix setting of supported OpenCAPI templates</p>
<p>In opal_npu_tl_set(), we made a typo that means the OPAL_NPU_TL_SET call
may not clear the enable bits for templates that were previously enabled
but are now disabled.</p>
@@ -1066,13 +1052,12 @@ but are now disabled.</p>
TEMP{1,3}_EN.</p>
</li>
</ul>
-</div>
-<div class="section" id="barreleye-g2-and-zaius-platforms">
+</section>
+<section id="barreleye-g2-and-zaius-platforms">
<h3>Barreleye G2 and Zaius platforms<a class="headerlink" href="#barreleye-g2-and-zaius-platforms" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">zaius: Add a slot table</p>
-</li>
-<li><p class="first">zaius: Add slots for the Barreleye G2 HDD rack</p>
+<li><p>zaius: Add a slot table</p></li>
+<li><p>zaius: Add slots for the Barreleye G2 HDD rack</p>
<p>The Barreleye G2 is distinct from the Zaius in that it features a 24
Bay NVMe/SATA HDD rack. To provide meaningful slot names for each NVMe
device we need to define a slot table for the NVMe capable HDD bays.</p>
@@ -1092,20 +1077,21 @@ we assume that any switch downport we find with the PEX9797 VDID is part
of the 9797 that supports the HDD rack.</p>
</li>
</ul>
-</div>
-<div class="section" id="fsp-based-platforms-firenze-and-zz">
+</section>
+<section id="fsp-based-platforms-firenze-and-zz">
<h3>FSP based platforms (firenze and ZZ)<a class="headerlink" href="#fsp-based-platforms-firenze-and-zz" title="Permalink to this headline">¶</a></h3>
<p>Since v6.2-rc1:
- platform/firenze: Fix branch-to-null crash</p>
<blockquote>
-<div>When the bus alloc and free methods were removed we missed a case in the
+<div><p>When the bus alloc and free methods were removed we missed a case in the
Firenze platform slot code that relied on the the bus-specific method to
the bus pointer in the request structure. This results in a
branch-to-null during boot and a crash. This patch fixes it by
-initialising it manually here.</div></blockquote>
+initialising it manually here.</p>
+</div></blockquote>
<p>Since v6.1:</p>
<ul>
-<li><p class="first">phb4/capp: Update the expected Eye-catcher for CAPP ucode lid</p>
+<li><p>phb4/capp: Update the expected Eye-catcher for CAPP ucode lid</p>
<p>Currently on a FSP based P9 system load_capp_code() expects CAPP ucode
lid header to have eye-catcher magic of ‘CAPPPSLL’. However skiboot
currently supports CAPP ucode only lids that have a eye-catcher magic
@@ -1117,7 +1103,7 @@ error message:</p>
<p>We fix this issue by updating load_capp_ucode() to use the eye-catcher
value of ‘CAPPLIDH’ instead of ‘CAPPPSLL’.</p>
</li>
-<li><p class="first">FSP: Improve Reset/Reload log message</p>
+<li><p>FSP: Improve Reset/Reload log message</p>
<p>Below message is confusing. Lets make it clear.</p>
<p>FSP sends “R/R complete notification” whenever there is a dump. We use <cite>flag</cite>
to identify whether its its R/R completion -OR- just new dump notification.</p>
@@ -1128,11 +1114,11 @@ to identify whether its its R/R completion -OR- just new dump notification.</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="witherspoon-platform">
+</section>
+<section id="witherspoon-platform">
<h3>Witherspoon platform<a class="headerlink" href="#witherspoon-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">platforms/astbmc/witherspoon: Implement OpenCAPI support</p>
+<li><p>platforms/astbmc/witherspoon: Implement OpenCAPI support</p>
<p>OpenCAPI on Witherspoon is slightly more involved than on Zaius and ZZ, due
to the OpenCAPI links using the SXM2 connectors that are used for NVLink
GPUs.</p>
@@ -1146,688 +1132,689 @@ support ganged links and the various implications that has for handling
things like device reset, so for now, we only enable 1 brick per device.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="contributors">
+</section>
+</section>
+<section id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>The v6.2 release of skiboot contains 240 changesets from 28 developers, working for 2 employers.
A total of 9146 lines were added, and 2610 removed (delta 6536).</p>
-<div class="section" id="developers-with-the-most-changesets">
+<section id="developers-with-the-most-changesets">
<h3>Developers with the most changesets<a class="headerlink" href="#developers-with-the-most-changesets" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="75%" />
-<col width="6%" />
-<col width="19%" />
+<col style="width: 75%" />
+<col style="width: 6%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>58</td>
-<td>(24.2%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>58</p></td>
+<td><p>(24.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Jeffery</td>
-<td>30</td>
-<td>(12.5%)</td>
+<tr class="row-odd"><td><p>Andrew Jeffery</p></td>
+<td><p>30</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>27</td>
-<td>(11.2%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>27</p></td>
+<td><p>(11.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>17</td>
-<td>(7.1%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>17</p></td>
+<td><p>(7.1%)</p></td>
</tr>
-<tr class="row-even"><td>Vaibhav Jain</td>
-<td>14</td>
-<td>(5.8%)</td>
+<tr class="row-even"><td><p>Vaibhav Jain</p></td>
+<td><p>14</p></td>
+<td><p>(5.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>12</td>
-<td>(5.0%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>12</p></td>
+<td><p>(5.0%)</p></td>
</tr>
-<tr class="row-even"><td>Frederic Barrat</td>
-<td>11</td>
-<td>(4.6%)</td>
+<tr class="row-even"><td><p>Frederic Barrat</p></td>
+<td><p>11</p></td>
+<td><p>(4.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>11</td>
-<td>(4.6%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>11</p></td>
+<td><p>(4.6%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>10</td>
-<td>(4.2%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>10</p></td>
+<td><p>(4.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Vasant Hegde</td>
-<td>9</td>
-<td>(3.8%)</td>
+<tr class="row-odd"><td><p>Vasant Hegde</p></td>
+<td><p>9</p></td>
+<td><p>(3.8%)</p></td>
</tr>
-<tr class="row-even"><td>Reza Arbab</td>
-<td>8</td>
-<td>(3.3%)</td>
+<tr class="row-even"><td><p>Reza Arbab</p></td>
+<td><p>8</p></td>
+<td><p>(3.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>5</td>
-<td>(2.1%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>5</p></td>
+<td><p>(2.1%)</p></td>
</tr>
-<tr class="row-even"><td>Alexey Kardashevskiy</td>
-<td>4</td>
-<td>(1.7%)</td>
+<tr class="row-even"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>4</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>4</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>4</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Prem Shanker Jha</td>
-<td>3</td>
-<td>(1.2%)</td>
+<tr class="row-even"><td><p>Prem Shanker Jha</p></td>
+<td><p>3</p></td>
+<td><p>(1.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>2</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>2</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Rashmica Gupta</td>
-<td>2</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Rashmica Gupta</p></td>
+<td><p>2</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh J Salgaonkar</td>
-<td>2</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Mahesh J Salgaonkar</p></td>
+<td><p>2</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Alistair Popple</td>
-<td>2</td>
-<td>(0.8%)</td>
+<tr class="row-even"><td><p>Alistair Popple</p></td>
+<td><p>2</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Shilpasri G Bhat</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Adriana Kobylak</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Adriana Kobylak</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Madhavan Srinivasan</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Madhavan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Artem Senichev</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Artem Senichev</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Russell Currey</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Russell Currey</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Vaidyanathan Srinivasan</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Cyril Bur</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Cyril Bur</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-even"><td>Jeremy Kerr</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-even"><td><p>Jeremy Kerr</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Ellerman</td>
-<td>1</td>
-<td>(0.4%)</td>
+<tr class="row-odd"><td><p>Michael Ellerman</p></td>
+<td><p>1</p></td>
+<td><p>(0.4%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-changed-lines">
+</section>
+<section id="developers-with-the-most-changed-lines">
<h3>Developers with the most changed lines<a class="headerlink" href="#developers-with-the-most-changed-lines" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Andrew Jeffery</td>
-<td>2861</td>
-<td>(29.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Andrew Jeffery</p></td>
+<td><p>2861</p></td>
+<td><p>(29.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Stewart Smith</td>
-<td>1891</td>
-<td>(19.4%)</td>
+<tr class="row-odd"><td><p>Stewart Smith</p></td>
+<td><p>1891</p></td>
+<td><p>(19.4%)</p></td>
</tr>
-<tr class="row-even"><td>Prem Shanker Jha</td>
-<td>1046</td>
-<td>(10.7%)</td>
+<tr class="row-even"><td><p>Prem Shanker Jha</p></td>
+<td><p>1046</p></td>
+<td><p>(10.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>799</td>
-<td>(8.2%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>799</p></td>
+<td><p>(8.2%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>649</td>
-<td>(6.6%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>649</p></td>
+<td><p>(6.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Reza Arbab</td>
-<td>441</td>
-<td>(4.5%)</td>
+<tr class="row-odd"><td><p>Reza Arbab</p></td>
+<td><p>441</p></td>
+<td><p>(4.5%)</p></td>
</tr>
-<tr class="row-even"><td>Nicholas Piggin</td>
-<td>412</td>
-<td>(4.2%)</td>
+<tr class="row-even"><td><p>Nicholas Piggin</p></td>
+<td><p>412</p></td>
+<td><p>(4.2%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>278</td>
-<td>(2.8%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>278</p></td>
+<td><p>(2.8%)</p></td>
</tr>
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>250</td>
-<td>(2.6%)</td>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>250</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>168</td>
-<td>(1.7%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>168</p></td>
+<td><p>(1.7%)</p></td>
</tr>
-<tr class="row-even"><td>Rashmica Gupta</td>
-<td>161</td>
-<td>(1.6%)</td>
+<tr class="row-even"><td><p>Rashmica Gupta</p></td>
+<td><p>161</p></td>
+<td><p>(1.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>152</td>
-<td>(1.6%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>152</p></td>
+<td><p>(1.6%)</p></td>
</tr>
-<tr class="row-even"><td>Benjamin Herrenschmidt</td>
-<td>138</td>
-<td>(1.4%)</td>
+<tr class="row-even"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>138</p></td>
+<td><p>(1.4%)</p></td>
</tr>
-<tr class="row-odd"><td>Artem Senichev</td>
-<td>101</td>
-<td>(1.0%)</td>
+<tr class="row-odd"><td><p>Artem Senichev</p></td>
+<td><p>101</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-even"><td>Samuel Mendoza-Jonas</td>
-<td>83</td>
-<td>(0.9%)</td>
+<tr class="row-even"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>83</p></td>
+<td><p>(0.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>82</td>
-<td>(0.8%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>82</p></td>
+<td><p>(0.8%)</p></td>
</tr>
-<tr class="row-even"><td>Michael Ellerman</td>
-<td>61</td>
-<td>(0.6%)</td>
+<tr class="row-even"><td><p>Michael Ellerman</p></td>
+<td><p>61</p></td>
+<td><p>(0.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Mahesh J Salgaonkar</td>
-<td>50</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Mahesh J Salgaonkar</p></td>
+<td><p>50</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>44</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>44</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Alexey Kardashevskiy</td>
-<td>32</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>32</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Adriana Kobylak</td>
-<td>29</td>
-<td>(0.3%)</td>
+<tr class="row-even"><td><p>Adriana Kobylak</p></td>
+<td><p>29</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>18</td>
-<td>(0.2%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>18</p></td>
+<td><p>(0.2%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>4</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>4</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Madhavan Srinivasan</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Madhavan Srinivasan</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Cyril Bur</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Cyril Bur</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Jeremy Kerr</td>
-<td>3</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Jeremy Kerr</p></td>
+<td><p>3</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-even"><td>Russell Currey</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Russell Currey</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>2</td>
-<td>(0.0%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>2</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-lines-removed">
+</section>
+<section id="developers-with-the-most-lines-removed">
<h3>Developers with the most lines removed<a class="headerlink" href="#developers-with-the-most-lines-removed" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Cédric Le Goater</td>
-<td>205</td>
-<td>(7.9%)</td>
+<tbody>
+<tr class="row-even"><td><p>Cédric Le Goater</p></td>
+<td><p>205</p></td>
+<td><p>(7.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>8</td>
-<td>(0.3%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>8</p></td>
+<td><p>(0.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>1</td>
-<td>(0.0%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1</p></td>
+<td><p>(0.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-signoffs">
+</section>
+<section id="developers-with-the-most-signoffs">
<h3>Developers with the most signoffs<a class="headerlink" href="#developers-with-the-most-signoffs" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>182</td>
-<td>(95.3%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>182</p></td>
+<td><p>(95.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>3</td>
-<td>(1.6%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>3</p></td>
+<td><p>(1.6%)</p></td>
</tr>
-<tr class="row-even"><td>Akshay Adiga</td>
-<td>2</td>
-<td>(1.0%)</td>
+<tr class="row-even"><td><p>Akshay Adiga</p></td>
+<td><p>2</p></td>
+<td><p>(1.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Christophe Lombard</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Christophe Lombard</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Ryan Grimm</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Ryan Grimm</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh J Salgaonkar</td>
-<td>1</td>
-<td>(0.5%)</td>
+<tr class="row-even"><td><p>Mahesh J Salgaonkar</p></td>
+<td><p>1</p></td>
+<td><p>(0.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Total</td>
-<td>191</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p>Total</p></td>
+<td><p>191</p></td>
+<td></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-reviews">
+</section>
+<section id="developers-with-the-most-reviews">
<h3>Developers with the most reviews<a class="headerlink" href="#developers-with-the-most-reviews" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="74%" />
-<col width="9%" />
-<col width="16%" />
+<col style="width: 74%" />
+<col style="width: 9%" />
+<col style="width: 16%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>15</td>
-<td>(19.7%)</td>
+<tbody>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>15</p></td>
+<td><p>(19.7%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>11</td>
-<td>(14.5%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>11</p></td>
+<td><p>(14.5%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>9</td>
-<td>(11.8%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>9</p></td>
+<td><p>(11.8%)</p></td>
</tr>
-<tr class="row-odd"><td>Alistair Popple</td>
-<td>8</td>
-<td>(10.5%)</td>
+<tr class="row-odd"><td><p>Alistair Popple</p></td>
+<td><p>8</p></td>
+<td><p>(10.5%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>5</td>
-<td>(6.6%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>5</p></td>
+<td><p>(6.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Samuel Mendoza-Jonas</td>
-<td>4</td>
-<td>(5.3%)</td>
+<tr class="row-odd"><td><p>Samuel Mendoza-Jonas</p></td>
+<td><p>4</p></td>
+<td><p>(5.3%)</p></td>
</tr>
-<tr class="row-even"><td>Christophe Lombard</td>
-<td>3</td>
-<td>(3.9%)</td>
+<tr class="row-even"><td><p>Christophe Lombard</p></td>
+<td><p>3</p></td>
+<td><p>(3.9%)</p></td>
</tr>
-<tr class="row-odd"><td>Gregory S. Still</td>
-<td>3</td>
-<td>(3.9%)</td>
+<tr class="row-odd"><td><p>Gregory S. Still</p></td>
+<td><p>3</p></td>
+<td><p>(3.9%)</p></td>
</tr>
-<tr class="row-even"><td>Mahesh J Salgaonkar</td>
-<td>2</td>
-<td>(2.6%)</td>
+<tr class="row-even"><td><p>Mahesh J Salgaonkar</p></td>
+<td><p>2</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-odd"><td>RANGANATHPRASAD G. BRAHMASAMUDRA</td>
-<td>2</td>
-<td>(2.6%)</td>
+<tr class="row-odd"><td><p>RANGANATHPRASAD G. BRAHMASAMUDRA</p></td>
+<td><p>2</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-even"><td>Jennifer A. Stofer</td>
-<td>2</td>
-<td>(2.6%)</td>
+<tr class="row-even"><td><p>Jennifer A. Stofer</p></td>
+<td><p>2</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-odd"><td>AMIT J. TENDOLKAR</td>
-<td>2</td>
-<td>(2.6%)</td>
+<tr class="row-odd"><td><p>AMIT J. TENDOLKAR</p></td>
+<td><p>2</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-even"><td>Christian R. Geddes</td>
-<td>2</td>
-<td>(2.6%)</td>
+<tr class="row-even"><td><p>Christian R. Geddes</p></td>
+<td><p>2</p></td>
+<td><p>(2.6%)</p></td>
</tr>
-<tr class="row-odd"><td>Cédric Le Goater</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Cédric Le Goater</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Shilpasri G Bhat</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Shilpasri G Bhat</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Daniel M. Crowell</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Daniel M. Crowell</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Alexey Kardashevskiy</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Alexey Kardashevskiy</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Joel Stanley</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Joel Stanley</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Vaibhav Jain</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Vaibhav Jain</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Nicholas Piggin</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-odd"><td><p>Nicholas Piggin</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Jeffery</td>
-<td>1</td>
-<td>(1.3%)</td>
+<tr class="row-even"><td><p>Andrew Jeffery</p></td>
+<td><p>1</p></td>
+<td><p>(1.3%)</p></td>
</tr>
-<tr class="row-odd"><td>Total</td>
-<td>76</td>
-<td>&#160;</td>
+<tr class="row-odd"><td><p>Total</p></td>
+<td><p>76</p></td>
+<td></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-test-credits">
+</section>
+<section id="developers-with-the-most-test-credits">
<h3>Developers with the most test credits<a class="headerlink" href="#developers-with-the-most-test-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Jenkins Server</td>
-<td>3</td>
-<td>(12.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Jenkins Server</p></td>
+<td><p>3</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Cronus HW CI</td>
-<td>3</td>
-<td>(12.0%)</td>
+<tr class="row-odd"><td><p>Cronus HW CI</p></td>
+<td><p>3</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-even"><td>Hostboot CI</td>
-<td>3</td>
-<td>(12.0%)</td>
+<tr class="row-even"><td><p>Hostboot CI</p></td>
+<td><p>3</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Jenkins OP Build CI</td>
-<td>3</td>
-<td>(12.0%)</td>
+<tr class="row-odd"><td><p>Jenkins OP Build CI</p></td>
+<td><p>3</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-even"><td>FSP CI Jenkins</td>
-<td>3</td>
-<td>(12.0%)</td>
+<tr class="row-even"><td><p>FSP CI Jenkins</p></td>
+<td><p>3</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Jenkins OP HW</td>
-<td>3</td>
-<td>(12.0%)</td>
+<tr class="row-odd"><td><p>Jenkins OP HW</p></td>
+<td><p>3</p></td>
+<td><p>(12.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>2</td>
-<td>(8.0%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>2</p></td>
+<td><p>(8.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-odd"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-even"><td>Oliver O’Halloran</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-even"><td><p>Oliver O’Halloran</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Andrew Jeffery</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-odd"><td><p>Andrew Jeffery</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-even"><td>HWSV CI</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-even"><td><p>HWSV CI</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Artem Senichev</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-odd"><td><p>Artem Senichev</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-even"><td>Total</td>
-<td>25</td>
-<td>&#160;</td>
+<tr class="row-even"><td><p>Total</p></td>
+<td><p>25</p></td>
+<td></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-tested-by-credits">
+</section>
+<section id="developers-who-gave-the-most-tested-by-credits">
<h3>Developers who gave the most tested-by credits<a class="headerlink" href="#developers-who-gave-the-most-tested-by-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Prem Shanker Jha</td>
-<td>19</td>
-<td>(76.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Prem Shanker Jha</p></td>
+<td><p>19</p></td>
+<td><p>(76.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>2</td>
-<td>(8.0%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>2</p></td>
+<td><p>(8.0%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Jeffery</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-even"><td><p>Andrew Jeffery</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-even"><td>Stewart Smith</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Benjamin Herrenschmidt</td>
-<td>1</td>
-<td>(4.0%)</td>
+<tr class="row-odd"><td><p>Benjamin Herrenschmidt</p></td>
+<td><p>1</p></td>
+<td><p>(4.0%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-with-the-most-report-credits">
+</section>
+<section id="developers-with-the-most-report-credits">
<h3>Developers with the most report credits<a class="headerlink" href="#developers-with-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>2</td>
-<td>(25.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>2</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Frederic Barrat</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-odd"><td><p>Frederic Barrat</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-even"><td>Dawn Sylvia</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-even"><td><p>Dawn Sylvia</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Meng Li</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-odd"><td><p>Meng Li</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-even"><td>Tyler Seredynski</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-even"><td><p>Tyler Seredynski</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Pridhiviraj Paidipeddi</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-odd"><td><p>Pridhiviraj Paidipeddi</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-even"><td>Stephanie Swanson</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-even"><td><p>Stephanie Swanson</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="developers-who-gave-the-most-report-credits">
+</section>
+<section id="developers-who-gave-the-most-report-credits">
<h3>Developers who gave the most report credits<a class="headerlink" href="#developers-who-gave-the-most-report-credits" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Stewart Smith</td>
-<td>2</td>
-<td>(25.0%)</td>
+<tbody>
+<tr class="row-even"><td><p>Stewart Smith</p></td>
+<td><p>2</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaidyanathan Srinivasan</td>
-<td>2</td>
-<td>(25.0%)</td>
+<tr class="row-odd"><td><p>Vaidyanathan Srinivasan</p></td>
+<td><p>2</p></td>
+<td><p>(25.0%)</p></td>
</tr>
-<tr class="row-even"><td>Vasant Hegde</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-even"><td><p>Vasant Hegde</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Vaibhav Jain</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-odd"><td><p>Vaibhav Jain</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-even"><td>Andrew Donnellan</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-even"><td><p>Andrew Donnellan</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
-<tr class="row-odd"><td>Michael Neuling</td>
-<td>1</td>
-<td>(12.5%)</td>
+<tr class="row-odd"><td><p>Michael Neuling</p></td>
+<td><p>1</p></td>
+<td><p>(12.5%)</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="employers-with-the-most-hackers">
+</section>
+<section id="employers-with-the-most-hackers">
<h3>Employers with the most hackers<a class="headerlink" href="#employers-with-the-most-hackers" title="Permalink to this headline">¶</a></h3>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="69%" />
-<col width="11%" />
-<col width="19%" />
+<col style="width: 69%" />
+<col style="width: 11%" />
+<col style="width: 19%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Developer</th>
-<th class="head">#</th>
-<th class="head">%</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Developer</p></th>
+<th class="head"><p>#</p></th>
+<th class="head"><p>%</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>IBM</td>
-<td>27</td>
-<td>(96.4%)</td>
+<tbody>
+<tr class="row-even"><td><p>IBM</p></td>
+<td><p>27</p></td>
+<td><p>(96.4%)</p></td>
</tr>
-<tr class="row-odd"><td>YADRO</td>
-<td>1</td>
-<td>(3.6%)</td>
+<tr class="row-odd"><td><p>YADRO</p></td>
+<td><p>1</p></td>
+<td><p>(3.6%)</p></td>
</tr>
</tbody>
</table>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1892,17 +1879,15 @@ A total of 9146 lines were added, and 2610 removed (delta 6536).</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1919,14 +1904,15 @@ A total of 9146 lines were added, and 2610 removed (delta 6536).</p>
<li class="right" >
<a href="skiboot-6.1-rc1.html" title="skiboot-6.1-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3-rc1.html b/doc/release-notes/skiboot-6.3-rc1.html
index 0674714..6e22d94 100644
--- a/doc/release-notes/skiboot-6.3-rc1.html
+++ b/doc/release-notes/skiboot-6.3-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3.html" title="skiboot-6.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3-rc1">
+ <section id="skiboot-6-3-rc1">
<span id="id1"></span><h1>skiboot-6.3-rc1<a class="headerlink" href="#skiboot-6-3-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.3-rc1 was released on Friday March 29th 2019. It is the first
release candidate of skiboot 6.3, which will become the new stable release
@@ -60,14 +60,14 @@ stable releases).</p>
also contains a lot of cleanup work and minor bug fixes (much like skiboot 6.2
did).</p>
<p>Over skiboot 6.2, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<span id="skiboot-6-3-rc1-new-features"></span><h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/imc: Enable opal calls to init/start/stop IMC Trace mode</p>
+<li><p>hw/imc: Enable opal calls to init/start/stop IMC Trace mode</p>
<p>New OPAL APIs for In-Memory Collection Counter infrastructure(IMC),
including a new device type called OPAL_IMC_COUNTERS_TRACE.</p>
</li>
-<li><p class="first">xive: Add calls to save/restore the queues and VPs HW state</p>
+<li><p>xive: Add calls to save/restore the queues and VPs HW state</p>
<p>To be able to support migration of guests using the XIVE native
exploitation mode, (where the queue is effectively owned by the
guest), KVM needs to be able to save and restore the HW-modified
@@ -77,7 +77,7 @@ of the VP from the NVT structure : the VP interrupt pending bits.</p>
<p>However, there is no need to set back the NVT structure on P9. P10
should be the same.</p>
</li>
-<li><p class="first">witherspoon: Add nvlink2 interconnect information</p>
+<li><p>witherspoon: Add nvlink2 interconnect information</p>
<p>GPUs on Redbud and Sequoia platforms are interconnected in groups of
2 or 3 GPUs. The problem with that is if the user decides to pass a single
GPU from a group to the userspace, we need to ensure that links between
@@ -88,22 +88,21 @@ disable links to peer GPUs, we need a topology map.</p>
of peer GPUs and NVLink2 bridges. The index in the property is a GPU link
number.</p>
</li>
-<li><p class="first">platforms/romulus: Also support talos</p>
+<li><p>platforms/romulus: Also support talos</p>
<p>The two are similar enough and I’d like to have a slot table for our
Talos.</p>
</li>
-<li><p class="first">OpenCAPI support! (see <a class="reference internal" href="#skiboot-6-3-rc1-opencapi"><span class="std std-ref">OpenCAPI</span></a> section)</p>
-</li>
-<li><p class="first">opal/hmi: set a flag to inform OS that TOD/TB has failed.</p>
+<li><p>OpenCAPI support! (see <a class="reference internal" href="#skiboot-6-3-rc1-opencapi"><span class="std std-ref">OpenCAPI</span></a> section)</p></li>
+<li><p>opal/hmi: set a flag to inform OS that TOD/TB has failed.</p>
<p>Set a flag to indicate OS about TOD/TB failure as part of new
opal_handle_hmi2 handler. This flag then can be used by OS to make sure
functions depending on TB value (e.g. udelay()) are aware of TB not
ticking.</p>
</li>
-<li><p class="first">astbmc: Enable IPMI HIOMAP for AMI platforms</p>
+<li><p>astbmc: Enable IPMI HIOMAP for AMI platforms</p>
<p>Required for Habanero, Palmetto and Romulus.</p>
</li>
-<li><p class="first">power-mgmt : occ : Add ‘freq-domain-mask’ DT property</p>
+<li><p>power-mgmt : occ : Add ‘freq-domain-mask’ DT property</p>
<p>Add a new device-tree property freq-domain-indicator to define group of
CPUs which would share same frequency. This property has been added under
power-mgmt node. It is a bitmask.</p>
@@ -123,7 +122,7 @@ recent frequency value requested by the CPUs in the quad.</p>
the Quad to the maximum of the latest frequency requested by each of
the component cores.</p>
</li>
-<li><p class="first">powercap: occ: Fix the powercapping range allowed for user</p>
+<li><p>powercap: occ: Fix the powercapping range allowed for user</p>
<p>OCC provides two limits for minimum powercap. One being hard powercap
minimum which is guaranteed by OCC and the other one is a soft
powercap minimum which is lesser than hard-min and may or may not be
@@ -133,7 +132,7 @@ minimum as the “powercap-min” DT property. And it also adds a new
DT property called “powercap-hard-min” to export the hard-min powercap
limit.</p>
</li>
-<li><p class="first">Add NVDIMM support</p>
+<li><p>Add NVDIMM support</p>
<p>NVDIMMs are memory modules that use a battery backup system to allow the
contents RAM to be saved to non-volatile storage if system power goes
away unexpectedly. This allows them to be used a high-performance
@@ -143,7 +142,7 @@ via the HDAT. We need to parse out the NVDIMM memory ranges and create
memory regions with the “pmem-region” compatible label to make them
available to the host.</p>
</li>
-<li><p class="first">core/exceptions: implement support for MCE interrupts in powersave</p>
+<li><p>core/exceptions: implement support for MCE interrupts in powersave</p>
<p>The ISA specifies that MCE interrupts in power saving modes will enter
at 0x200 with powersave bits in SRR1 set. This is not currently
supported properly, the MCE will just happen like a normal interrupt,
@@ -152,23 +151,23 @@ etc).</p>
<p>So check the power save bits similarly to the sreset vector, and
handle this properly.</p>
</li>
-<li><p class="first">core/exceptions: allow recoverable sreset exceptions</p>
+<li><p>core/exceptions: allow recoverable sreset exceptions</p>
<p>This requires implementing the MSR[RI] bit. Then just allow all
non-fatal sreset exceptions to recover.</p>
</li>
-<li><p class="first">core/exceptions: implement an exception handler for non-powersave sresets</p>
+<li><p>core/exceptions: implement an exception handler for non-powersave sresets</p>
<p>Detect non-powersave sresets and send them to the normal exception
handler which prints registers and stack.</p>
</li>
-<li><p class="first">Add PVR_TYPE_P9P</p>
+<li><p>Add PVR_TYPE_P9P</p>
<p>Enable a new PVR to get us running on another p9 variant.</p>
</li>
</ul>
-</div>
-<div class="section" id="deprecated-removed-features">
+</section>
+<section id="deprecated-removed-features">
<h2>Deprecated/Removed Features<a class="headerlink" href="#deprecated-removed-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">opal: Deprecate reading the PHB status</p>
+<li><p>opal: Deprecate reading the PHB status</p>
<p>The OPAL_PCI_EEH_FREEZE_STATUS call takes a bunch of parameters, one of
them is &#64;phb_status. It is defined as __be64* and always NULL in
the current Linux upstream but if anyone ever decides to read that status,
@@ -179,26 +178,24 @@ corruption; p7ioc-phb has the same issue.</p>
the error message from PHB4 to the affected OPAL handlers.</p>
<p>As far as we can tell, nobody has ever used this and thus it’s safe to remove.</p>
</li>
-<li><p class="first">Remove POWER9N DD1 support</p>
+<li><p>Remove POWER9N DD1 support</p>
<p>This is not a shipping product and is no longer supported by Linux
or other firmware components.</p>
</li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/i2c: Various bits of refactoring</p>
-</li>
-<li><p class="first">refactor backtrace generation infrastructure</p>
-</li>
-<li><p class="first">astbmc: Handle failure to initialise raw flash</p>
+<li><p>core/i2c: Various bits of refactoring</p></li>
+<li><p>refactor backtrace generation infrastructure</p></li>
+<li><p>astbmc: Handle failure to initialise raw flash</p>
<p>Initialising raw flash lead to a dead assignment to rc. Check the return
code and take the failure path as necessary. Both before and after the
fix we see output along the lines of the following when flash_init()
fails:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">53.283182881</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mf">0800.</span><span class="o">.</span><span class="mi">0</span><span class="n">ff7</span> <span class="n">ops</span> <span class="nd">@0x300d4b98</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
-<span class="p">[</span> <span class="mf">53.283184335</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mi">0</span><span class="n">ff8</span><span class="o">..</span><span class="mi">0</span><span class="n">fff</span> <span class="n">ops</span> <span class="nd">@0x300d4bc8</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">53.283182881</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mf">0800..0</span><span class="n">ff7</span> <span class="n">ops</span> <span class="o">@</span><span class="mh">0x300d4b98</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
+<span class="p">[</span> <span class="mf">53.283184335</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mi">0</span><span class="n">ff8</span><span class="o">.</span><span class="mf">.0</span><span class="n">fff</span> <span class="n">ops</span> <span class="o">@</span><span class="mh">0x300d4bc8</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">53.283185513</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">PHB</span><span class="c1">#0000: Initializing PHB...</span>
<span class="p">[</span> <span class="mf">53.288260827</span><span class="p">,</span><span class="mi">4</span><span class="p">]</span> <span class="n">FLASH</span><span class="p">:</span> <span class="n">Can</span><span class="s1">&#39;t load resource id:0. No system flash found</span>
<span class="p">[</span> <span class="mf">53.288354442</span><span class="p">,</span><span class="mi">4</span><span class="p">]</span> <span class="n">FLASH</span><span class="p">:</span> <span class="n">Can</span><span class="s1">&#39;t load resource id:1. No system flash found</span>
@@ -235,7 +232,7 @@ of executing from unexpected memory locations. As such the issue is
reduced to down to a fix for poor error hygene in the original change
and a resolution for a Coverity warning (famous last words etc).</p>
</li>
-<li><p class="first">core/flash: Retry requests as necessary in flash_load_resource()</p>
+<li><p>core/flash: Retry requests as necessary in flash_load_resource()</p>
<p>We would like to successfully boot if we have a dependency on the BMC
for flash even if the BMC is not current ready to service flash
requests. On the assumption that it will become ready, retry for several
@@ -272,14 +269,14 @@ CPU 0040 Backtrace:
no delay for e.g. the host kernel, just for asynchronously loaded
resources during boot.</p>
</li>
-<li><p class="first">fast-reboot: occ: Call occ_pstates_init() on fast-reset on all machines</p>
+<li><p>fast-reboot: occ: Call occ_pstates_init() on fast-reset on all machines</p>
<p>Commit 815417dcda2e (“init, occ: Initialise OCC earlier on BMC systems”)
conditionally invoked occ_pstates_init() only on FSP based systems in
load_and_boot_kernel(). Due to this pstate table is re-parsed on FSP
system and skipped on BMC system during fast-reboot. So this patch fixes
this by invoking occ_pstates_init() on all boxes during fast-reboot.</p>
</li>
-<li><p class="first">opal/hmi: Don’t retry TOD recovery if it is already in failed state.</p>
+<li><p>opal/hmi: Don’t retry TOD recovery if it is already in failed state.</p>
<p>On TOD failure, all cores/thread receives HMI and very first thread that
gets interrupt fixes the TOD where as others just resets the respective
HMER error bit and return. But when TOD is unrecoverable, all the threads
@@ -288,7 +285,7 @@ opal. Set a global flag when TOD is unrecoverable so that rest of the
threads go back to linux immediately avoiding lock ups in system
reboot/panic path.</p>
</li>
-<li><p class="first">hw/bt: Do not disable ipmi message retry during OPAL boot</p>
+<li><p>hw/bt: Do not disable ipmi message retry during OPAL boot</p>
<p>Currently OPAL doesn’t know whether BMC is functioning or not. If BMC is
down (like BMC reboot), then we keep on retry sending message to BMC. So
in some corner cases we may hit hard lockup issue in kernel.</p>
@@ -297,7 +294,7 @@ for now commit 01f977c3 added option to disable message retry in synchronous.
But this fix is not required during boot. Hence lets disable IPMI message
retry during OPAL boot.</p>
</li>
-<li><p class="first">hdata/memory: Fix warning message</p>
+<li><p>hdata/memory: Fix warning message</p>
<p>Even though we added memory to device tree, we are getting below warning.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">57.136949696</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">Unable</span> <span class="n">to</span> <span class="n">use</span> <span class="n">memory</span> <span class="nb">range</span> <span class="mi">0</span> <span class="kn">from</span> <span class="nn">MSAREA</span> <span class="mi">0</span>
<span class="p">[</span> <span class="mf">57.137049753</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">Unable</span> <span class="n">to</span> <span class="n">use</span> <span class="n">memory</span> <span class="nb">range</span> <span class="mi">0</span> <span class="kn">from</span> <span class="nn">MSAREA</span> <span class="mi">1</span>
@@ -306,7 +303,7 @@ retry during OPAL boot.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/bt: Add backend interface to disable ipmi message retry option</p>
+<li><p>hw/bt: Add backend interface to disable ipmi message retry option</p>
<p>During boot OPAL makes IPMI_GET_BT_CAPS call to BMC to get BT interface
capabilities which includes IPMI message max resend count, message
timeout, etc,. Most of the time OPAL gets response from BMC within
@@ -324,7 +321,7 @@ greatly reduces kernel hardlock up issues.</p>
<p>This is short term fix. Long term solution is to convert all synchronous
messages to asynhrounous one.</p>
</li>
-<li><p class="first">ipmi/power: Fix system reboot issue</p>
+<li><p>ipmi/power: Fix system reboot issue</p>
<p>Kernel makes reboot/shudown OPAL call for reboot/shutdown. Once kernel
gets response from OPAL it runs opal_poll_events() until firmware
handles the request.</p>
@@ -337,7 +334,7 @@ reboot/shutdown the system using BMC interface.</p>
then it will resend the message. At some stage BMC will be ready to accept
message and handles IPMI message.</p>
</li>
-<li><p class="first">firmware-versions: Add test case for parsing VERSION</p>
+<li><p>firmware-versions: Add test case for parsing VERSION</p>
<p>Also make it possible to use with afl-lop/afl-fuzz just to help make
<em>sure</em> we’re all good.</p>
<p>Additionally, if we hit a entry in VERSION that is larger than our
@@ -346,42 +343,41 @@ stack. This is only a problem if VERSION isn’t trusted, which as of
4b8cc05a94513816d43fb8bd6178896b430af08f it is verified as part of
Secure Boot.</p>
</li>
-<li><p class="first">core/fast-reboot: improve NMI handling during fast reset</p>
+<li><p>core/fast-reboot: improve NMI handling during fast reset</p>
<p>Improve sreset and MCE handling in fast reboot. Switch the HILE bit
off before copying OPAL’s exception vectors, so NMIs can be handled
properly. Also disable MSR[ME] while the vectors are being overwritten</p>
</li>
-<li><p class="first">core/cpu: HID update race</p>
+<li><p>core/cpu: HID update race</p>
<p>If the per-core HID register is updated concurrently by multiple
threads, updates can get lost. This has been observed during fast
reboot where the HILE bit does not get cleared on all cores, which
can cause machine check exception interrupts to crash.</p>
<p>Fix this by only updating HID on thread0.</p>
</li>
-<li><p class="first">SLW: Print verbose info on errors only</p>
+<li><p>SLW: Print verbose info on errors only</p>
<p>Change print level from debug to warning for reporting
bad EC_PPM_SPECIAL_WKUP_* scom values. To reduce cluttering
in the log print only on error.</p>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-based-platforms">
+</section>
+<section id="ibm-fsp-based-platforms">
<h2>IBM FSP based platforms<a class="headerlink" href="#ibm-fsp-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">platforms/firenze: Rework I2C controller fixups</p>
-</li>
-<li><p class="first">platforms/zz: Re-enable LXVPD slot information parsing</p>
+<li><p>platforms/firenze: Rework I2C controller fixups</p></li>
+<li><p>platforms/zz: Re-enable LXVPD slot information parsing</p>
<p>From memory this was disabled in the distant past since we were waiting
for an updates to the LXPVD format. It looks like that never happened
so re-enable it for the ZZ platform so that we can get PCI slot location
codes on ZZ.</p>
</li>
</ul>
-</div>
-<div class="section" id="hiomap">
+</section>
+<section id="hiomap">
<h2>HIOMAP<a class="headerlink" href="#hiomap" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">astbmc: Try IPMI HIOMAP for P8</p>
+<li><p>astbmc: Try IPMI HIOMAP for P8</p>
<p>The HIOMAP protocol was developed after the release of P8 in preparation
for P9. As a consequence P9 always uses it, but it has rarely been
enabled for P8. P8DTU has recently added IPMI HIOMAP support to its BMC
@@ -389,19 +385,19 @@ firmware, so enable its use in skiboot with P8 machines. Doing so
requires some rework to ensure fallback works correctly as in the past
the fallback was to mbox, which will only work for P9.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Enforce message size for empty response</p>
+<li><p>libflash/ipmi-hiomap: Enforce message size for empty response</p>
<p>The protocol defines the response to the associated messages as empty
except for the command ID and sequence fields. If the BMC is returning
extra data consider the message malformed.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Remove unused close handling</p>
+<li><p>libflash/ipmi-hiomap: Remove unused close handling</p>
<p>Issuing a HIOMAP_C_CLOSE is not required by the protocol specification,
rather a close can be implicit in a subsequent
CREATE_{READ,WRITE}_WINDOW request. The implicit close provides an
opportunity to reduce LPC traffic and the implementation takes up that
optimisation, so remove the case from the IPMI callback handler.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Overhaul event handling</p>
+<li><p>libflash/ipmi-hiomap: Overhaul event handling</p>
<p>Reworking the event handling was inspired by a bug report by Vasant
where the host would get wedged on multiple flash access attempts in the
face of a persistent error state on the BMC-side. The cause of this bug
@@ -412,17 +408,17 @@ HIOMAP_E_DAEMON_READY is clear in the prior calls.</p>
<p>Regardless, there were other correctness and efficiency problems with
the handling strategy:</p>
<ul class="simple">
-<li>Ack-able event state was not restored in the face of errors in the
-process of re-establishing protocol state</li>
-<li>It forced needless window restoration with respect to the context in
-which ipmi_hiomap_handle_events() was called.</li>
-<li>Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant
-with the overhauled error handling introduced in the previous patch</li>
+<li><p>Ack-able event state was not restored in the face of errors in the
+process of re-establishing protocol state</p></li>
+<li><p>It forced needless window restoration with respect to the context in
+which ipmi_hiomap_handle_events() was called.</p></li>
+<li><p>Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant
+with the overhauled error handling introduced in the previous patch</p></li>
</ul>
<p>Fix all of the above issues and add comments to explain the event
handling flow.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Overhaul error handling</p>
+<li><p>libflash/ipmi-hiomap: Overhaul error handling</p>
<p>The aim is to improve the robustness with respect to absence of the
BMC-side daemon. The current error handling roughly mirrors what was
done for the mailbox implementation, but there’s room for improvement.</p>
@@ -440,14 +436,13 @@ operation no attempt is made to recover it on the spot, instead the
error is returned up the stack and the caller can choose how it wishes
to respond.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Fix leak of msg in callback</p>
-</li>
+<li><p>libflash/ipmi-hiomap: Fix leak of msg in callback</p></li>
</ul>
-</div>
-<div class="section" id="power8">
+</section>
+<section id="power8">
<h2>POWER8<a class="headerlink" href="#power8" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/phb3/naples: Disable D-states</p>
+<li><p>hw/phb3/naples: Disable D-states</p>
<p>Putting “Mellanox Technologies MT27700 Family [ConnectX-4] [15b3:1013]”
(more precisely, the second of 2 its PCI functions, no matter in what
order) into the D3 state causes EEH with the “PCT timeout” error.
@@ -456,7 +451,7 @@ seem to have this issue.</p>
<p>This disables D-states changing for devices on root buses on Naples by
installing a config space access filter (copied from PHB4).</p>
</li>
-<li><p class="first">cpufeatures: Always advertise POWER8NVL as DD2</p>
+<li><p>cpufeatures: Always advertise POWER8NVL as DD2</p>
<p>Despite the major version of PVR being 1 (0x004c0100) for POWER8NVL,
these chips are functionally equalent to P8/P8E DD2 levels.</p>
<p>This advertises POWER8NVL as DD2. As the result, skiboot adds
@@ -466,24 +461,23 @@ threads; otherwise “KVM: CPU %d seems to be stuck” would appear because
of missing LPCR_PECEDH.</p>
</li>
</ul>
-<div class="section" id="p8dtu-platform">
+<section id="p8dtu-platform">
<h3>p8dtu Platform<a class="headerlink" href="#p8dtu-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">p8dtu: Configure BMC graphics</p>
+<li><p>p8dtu: Configure BMC graphics</p>
<p>We can no-longer read the values from the BMC in the way we have in the
past. Values were provided by Eric Chen of SMC.</p>
</li>
-<li><p class="first">p8dtu: Enable HIOMAP support</p>
-</li>
+<li><p>p8dtu: Enable HIOMAP support</p></li>
</ul>
-</div>
-<div class="section" id="vesnin-platform">
+</section>
+<section id="vesnin-platform">
<h3>Vesnin Platform<a class="headerlink" href="#vesnin-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">platforms/vesnin: Disable PCIe port bifurcation</p>
+<li><p>platforms/vesnin: Disable PCIe port bifurcation</p>
<p>PCIe ports connected to CPU1 and CPU3 now work as x16 instead of x8x8.</p>
</li>
-<li><p class="first">Fix hang in pnv_platform_error_reboot path due to TOD failure.</p>
+<li><p>Fix hang in pnv_platform_error_reboot path due to TOD failure.</p>
<p>On TOD failure, with TB stuck, when linux heads down to
pnv_platform_error_reboot() path due to unrecoverable hmi event, the panic
cpu gets stuck in OPAL inside ipmi_queue_msg_sync(). At this time, rest
@@ -535,24 +529,24 @@ forever. This patch fixes this hang by calling opal_run_pollers() in TB
failed state as well.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="power9">
+</section>
+</section>
+<section id="power9">
<span id="skiboot-6-3-rc1-power9"></span><h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Retry link training at PCIe GEN1 if presence detected but training repeatedly failed</p>
+<li><p>Retry link training at PCIe GEN1 if presence detected but training repeatedly failed</p>
<p>Certain older PCIe 1.0 devices will not train unless the training process starts at GEN1 speeds.
As a last resort when a device will not train, fall back to GEN1 speed for the last training attempt.</p>
<p>This is verified to fix devices based on the Conexant CX23888 on the Talos II platform.</p>
</li>
-<li><p class="first">hw/phb4: Drop FRESET_DEASSERT_DELAY state</p>
+<li><p>hw/phb4: Drop FRESET_DEASSERT_DELAY state</p>
<p>The delay between the ASSERT_DELAY and DEASSERT_DELAY states is set to
one timebase tick. This state seems to have been a hold over from PHB3
where it was used to add a 1s delay between de-asserting PERST and
polling the link for the CAPI FPGA. There’s no requirement for that here
since the link polling on PHB4 is a bit smarter so we should be fine.</p>
</li>
-<li><p class="first">hw/phb4: Factor out PERST control</p>
+<li><p>hw/phb4: Factor out PERST control</p>
<p>Some time ago Mikey added some code work around a bug we found where a
certain RAID card wouldn’t come back again after a fast-reboot. The
workaround is setting the Link Disable bit before asserting PERST and
@@ -561,13 +555,13 @@ clear it after de-asserting PERST.</p>
This patch moves the PERST control into its own function to reduce
duplication and to the workaround is applied in all circumstances.</p>
</li>
-<li><p class="first">hw/phb4: Remove FRESET presence check</p>
+<li><p>hw/phb4: Remove FRESET presence check</p>
<p>When we do an freset the first step is to check if a card is present in
the slot. However, this only occurs when we enter phb4_freset() with the
slot state set to SLOT_NORMAL. This occurs in:</p>
<ol class="loweralpha simple">
-<li>The creset path, and</li>
-<li>When the OS manually requests an FRESET via an OPAL call.</li>
+<li><p>The creset path, and</p></li>
+<li><p>When the OS manually requests an FRESET via an OPAL call.</p></li>
</ol>
<p>(a) is problematic because in the boot path the generic code will put the
slot into FRESET_START manually before calling into phb4_freset(). This
@@ -582,7 +576,7 @@ the slot’s PERST signal being left asserted. This isn’t currently an issue,
but if we want to support hotplug of devices into the root port it will
be.</p>
</li>
-<li><p class="first">hw/phb4: Skip FRESET PERST when coming from CRESET</p>
+<li><p>hw/phb4: Skip FRESET PERST when coming from CRESET</p>
<p>PERST is asserted at the beginning of the CRESET process to prevent
the downstream device from interacting with the host while the PHB logic
is being reset and re-initialised. There is at least a 100ms wait during
@@ -593,21 +587,21 @@ to the 250ms PERST wait period that we typically use and sets the
skip_perst flag so that we don’t wait this time again in the FRESET
handler.</p>
</li>
-<li><p class="first">hw/phb4: Look for the hub-id from in the PBCQ node</p>
+<li><p>hw/phb4: Look for the hub-id from in the PBCQ node</p>
<p>The hub-id is stored in the PBCQ node rather than the stack node so we
never add it to the PHB node. This breaks the lxvpd slot lookup code
since the hub-id is encoded in the VPD record that we need to find the
slot information.</p>
</li>
-<li><p class="first">hdata/iohub: Look for IOVPD on P9</p>
+<li><p>hdata/iohub: Look for IOVPD on P9</p>
<p>P8 and P9 use the same IO VPD setup, so we need to load the IOHUB VPD on
P9 systems too.</p>
</li>
</ul>
-<div class="section" id="capi2">
+<section id="capi2">
<h3>CAPI2<a class="headerlink" href="#capi2" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">capp/phb4: Prevent HMI from getting triggered when disabling CAPP</p>
+<li><p>capp/phb4: Prevent HMI from getting triggered when disabling CAPP</p>
<p>While disabling CAPP an HMI gets triggered as soon as ETU is put in
reset mode. This is caused as before we can disabled CAPP, it detects
PHB link going down and triggers an HMI requesting Opal to perform
@@ -620,7 +614,7 @@ phb4_creset(). Also now since bringing down the PHB link now wont
trigger an HMI and CAPP recovery, hence we manually set the
PHB4_CAPP_RECOVERY flag on the phb to force recovery during creset.</p>
</li>
-<li><p class="first">phb4/capp: Implement sequence to disable CAPP and enable fast-reset</p>
+<li><p>phb4/capp: Implement sequence to disable CAPP and enable fast-reset</p>
<p>We implement h/w sequence to disable CAPP in disable_capi_mode() and
with it also enable fast-reset for CAPI mode in phb4_set_capi_mode().</p>
<p>Sequence to disable CAPP is executed in three phases. The first two
@@ -632,7 +626,7 @@ phb4_init_ioda3() is because by the time Opal PCI reset state machine
reaches this function the PHB is already un-fenced and its
configuration registers accessible via mmio.</p>
</li>
-<li><p class="first">capp/phb4: Force CAPP to PCIe mode during kernel shutdown</p>
+<li><p>capp/phb4: Force CAPP to PCIe mode during kernel shutdown</p>
<p>This patch introduces a new opal syncer for PHB4 named
phb4_host_sync_reset(). We register this opal syncer when CAPP is
activated successfully in phb4_set_capi_mode() so that it will be
@@ -644,62 +638,62 @@ still transitioning to new state; it calls slot-&gt;ops.run_sm() to
ensure that Opal slot reset state machine makes forward progress.</p>
</li>
</ul>
-</div>
-<div class="section" id="witherspoon-platform">
+</section>
+<section id="witherspoon-platform">
<h3>Witherspoon Platform<a class="headerlink" href="#witherspoon-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">platforms/witherspoon: Make PCIe shared slot error message more informative</p>
+<li><p>platforms/witherspoon: Make PCIe shared slot error message more informative</p>
<p>If we’re missing chips for some reason, we print a warning when configuring
the PCIe shared slot.</p>
<p>The warning doesn’t really make it clear what “shared slot” is, and if it’s
printed, it’ll come right after a bunch of messages about NPU setup, so
let’s clarify the message to explicitly mention PCI.</p>
</li>
-<li><p class="first">witherspoon: Add nvlink2 interconnect information</p>
+<li><p>witherspoon: Add nvlink2 interconnect information</p>
<p>See <a class="reference internal" href="#skiboot-6-3-rc1-new-features"><span class="std std-ref">New Features</span></a> for details.</p>
</li>
</ul>
-</div>
-<div class="section" id="zaius-platform">
+</section>
+<section id="zaius-platform">
<h3>Zaius Platform<a class="headerlink" href="#zaius-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">zaius: Add BMC description</p>
+<li><p>zaius: Add BMC description</p>
<p>Frederic reported that Zaius was failing with a NULL dereference when
trying to initialise IPMI HIOMAP. It turns out that the BMC wasn’t
described at all, so add a description.</p>
</li>
</ul>
-</div>
-<div class="section" id="p9dsu-platform">
+</section>
+<section id="p9dsu-platform">
<h3>p9dsu platform<a class="headerlink" href="#p9dsu-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">p9dsu: Fix p9dsu default variant</p>
+<li><p>p9dsu: Fix p9dsu default variant</p>
<p>Add the default when no riser_id is returned from the ipmi query.</p>
<p>Allow a little more time for BMC reply and cleanup some label strings.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="pcie">
+</section>
+</section>
+<section id="pcie">
<h2>PCIe<a class="headerlink" href="#pcie" title="Permalink to this headline">¶</a></h2>
<p>See <a class="reference internal" href="#skiboot-6-3-rc1-power9"><span class="std std-ref">POWER9</span></a> for POWER9 specific PCIe changes.</p>
<ul>
-<li><p class="first">core/pcie-slot: Don’t bail early in the power on case</p>
+<li><p>core/pcie-slot: Don’t bail early in the power on case</p>
<p>Exiting early in the power off case makes sense since we can’t disable
slot power (or assert PERST) for suprise hotplug slots. However, we
should not exit early in the power-on case since it’s possible slot
power may have been disabled (or just not enabled at boot time).</p>
</li>
-<li><p class="first">firenze-pci: Always init slot info from LXVPD</p>
+<li><p>firenze-pci: Always init slot info from LXVPD</p>
<p>We can slot information from the LXVPD without having power control
information about that slot. This patch changes the init path so that
we always override the add_properties() call rather than only when we
have power control information about the slot.</p>
</li>
-<li><p class="first">fsp/lxvpd: Print more LXVPD slot information</p>
+<li><p>fsp/lxvpd: Print more LXVPD slot information</p>
<p>Useful to know since it changes the behaviour of the slot core.</p>
</li>
-<li><p class="first">core/pcie-slot: Set power state from the PWRCTL flag</p>
+<li><p>core/pcie-slot: Set power state from the PWRCTL flag</p>
<p>For some reason we look at the power control indicator and use that to
determine if the slot is “off” rather than the power control flag that
is used to power down the slot.</p>
@@ -707,7 +701,7 @@ is used to power down the slot.</p>
assumed to be powered on if there’s no slot capability, or if there’s
no power control available.</p>
</li>
-<li><p class="first">core/pci: Increase the max slot string size</p>
+<li><p>core/pci: Increase the max slot string size</p>
<p>The maximum string length for the slot label / device location code in
the PCI summary is currently 32 characters. This results in some IBM
location codes being truncated due to their length, e.g.</p>
@@ -723,11 +717,11 @@ patch increases the maximum length of the label string to 80 characters
since that’s the maximum length for a location code.</p>
</li>
</ul>
-</div>
-<div class="section" id="opencapi">
+</section>
+<section id="opencapi">
<span id="skiboot-6-3-rc1-opencapi"></span><h2>OpenCAPI<a class="headerlink" href="#opencapi" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2/hw-procedures: Fix parallel zcal for opencapi</p>
+<li><p>npu2/hw-procedures: Fix parallel zcal for opencapi</p>
<p>For opencapi, we currently do impedance calibration when initializing
the PHY for the device, which could run in parallel if we have
multiple opencapi devices. But if 2 devices are on the same
@@ -736,17 +730,17 @@ bad results and is useless anyway since it only needs to be done once
per obus.</p>
<p>This patch splits the opencapi PHY reset in 2 parts:</p>
<ul class="simple">
-<li>a ‘init’ part called serially at boot. That’s when zcal is done. If
+<li><p>a ‘init’ part called serially at boot. That’s when zcal is done. If
we have 2 devices on the same socket, the zcal won’t be redone,
since we’re called serially and we’ll see it has already be done for
-the obus</li>
-<li>a ‘reset’ part called during fundamental reset as a prereq for link
-training. It does the PHY setup for a set of lanes and the dccal.</li>
+the obus</p></li>
+<li><p>a ‘reset’ part called during fundamental reset as a prereq for link
+training. It does the PHY setup for a set of lanes and the dccal.</p></li>
</ul>
<p>The PHY team confirmed there’s no dependency between zcal and the
other reset steps and it can be moved earlier.</p>
</li>
-<li><p class="first">npu2-hw-procedures: Fix zcal in mixed opencapi and nvlink mode</p>
+<li><p>npu2-hw-procedures: Fix zcal in mixed opencapi and nvlink mode</p>
<p>The zcal procedure needs to be run once per obus. We keep track of
which obus is already calibrated in an array indexed by the obus
number. However, the obus number is inferred from the brick index,
@@ -754,7 +748,7 @@ which works well for nvlink but not for opencapi.</p>
<p>Create an obus_index() function, which, from a device, returns the
correct obus index, irrespective of the device type.</p>
</li>
-<li><p class="first">npu2-opencapi: Fix adapter reset when using 2 adapters</p>
+<li><p>npu2-opencapi: Fix adapter reset when using 2 adapters</p>
<p>If two opencapi adapters are on the same obus, we may try to train the
two links in parallel at boot time, when all the PCI links are being
trained. Both links use the same i2c controller to handle the reset
@@ -764,14 +758,14 @@ current state of the i2c controller (and use locking).</p>
<p>This went mostly unnoticed as you need to have 2 opencapi cards on the
same socket and links tended to train anyway because of the retries.</p>
</li>
-<li><p class="first">npu2-opencapi: Extend delay after releasing reset on adapter</p>
+<li><p>npu2-opencapi: Extend delay after releasing reset on adapter</p>
<p>Give more time to the FPGA to process the reset signal. The previous
delay, 5ms, is too short for newer adapters with bigger FPGAs. Extend
it to 250ms.
Ultimately, that delay will likely end up being added to the opencapi
specification, but we are not there yet.</p>
</li>
-<li><p class="first">npu2-opencapi: ODL should be in reset when enabled</p>
+<li><p>npu2-opencapi: ODL should be in reset when enabled</p>
<p>We haven’t hit any problem so far, but from the ODL designer, the ODL
should be in reset when it is enabled.</p>
<p>The ODL remains in reset until we start a fundamental reset to
@@ -781,7 +775,7 @@ link. Asserting is therefore useless at boot, since the ODL is already
in reset, but we keep it as it’s only a scom write and it’s needed
when we reset/retrain from the OS.</p>
</li>
-<li><p class="first">npu2-opencapi: Keep ODL and adapter in reset at the same time</p>
+<li><p>npu2-opencapi: Keep ODL and adapter in reset at the same time</p>
<p>Split the function to assert and deassert the reset signal on the ODL,
so that we can keep the ODL in reset while we reset the adapter,
therefore having a window where both sides are in reset.</p>
@@ -790,7 +784,7 @@ need to split the ODL reset function for the following patch and it
will become useful/required later when we introduce resetting an
opencapi link from the OS.</p>
</li>
-<li><p class="first">npu2-opencapi: Setup perf counters to detect CRC errors</p>
+<li><p>npu2-opencapi: Setup perf counters to detect CRC errors</p>
<p>It’s possible to set up performance counters for the PLL to detect
various conditions for the links in nvlink or opencapi mode. Since
those counters are currently unused, let’s configure them when an obus
@@ -803,11 +797,11 @@ be read multiple times through cronus, pdbg or linux. The counters are
configured to be reset after each read.</p>
</li>
</ul>
-</div>
-<div class="section" id="nvlink2">
+</section>
+<section id="nvlink2">
<h2>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2: Allow ATSD for LPAR other than 0</p>
+<li><p>npu2: Allow ATSD for LPAR other than 0</p>
<p>Each XTS MMIO ATSD# register is accompanied by another register -
XTS MMIO ATSD0 LPARID# - which controls LPID filtering for ATSD
transactions.</p>
@@ -818,7 +812,7 @@ the LPAR. The link number is used for an ATSD index.</p>
<p>ATSD6&amp;7 stay mapped to the host (LPAR=0) all the time which seems to be
acceptable price for the simplicity.</p>
</li>
-<li><p class="first">npu2: Add XTS_BDF_MAP wildcard refcount</p>
+<li><p>npu2: Add XTS_BDF_MAP wildcard refcount</p>
<p>Currently PID wildcard is programmed into the NPU once and never cleared
up. This works for the bare metal as MSR does not change while the host
OS is running.</p>
@@ -830,11 +824,11 @@ is a short lparid (4 bits long) which is allocated in opal_npu_map_lpar()
and should be smaller than NPU2_XTS_BDF_MAP_SIZE (defined as 16).</p>
</li>
</ul>
-</div>
-<div class="section" id="debugging-and-simulation">
+</section>
+<section id="debugging-and-simulation">
<h2>Debugging and simulation<a class="headerlink" href="#debugging-and-simulation" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/mambo: Error out if kernel is too large</p>
+<li><p>external/mambo: Error out if kernel is too large</p>
<p>If you’re trying to boot a gigantic kernel in mambo (which you can
reproduce by building a kernel with CONFIG_MODULES=n) you’ll get
misleading errors like:</p>
@@ -853,14 +847,14 @@ Making PAYLOAD_ADDR further back is one way to do this but if there’s a
less gross way to generally work around this very niche problem, I can
suggest that instead.</p>
</li>
-<li><p class="first">external/mambo: Populate kernel-base-address in the DT</p>
+<li><p>external/mambo: Populate kernel-base-address in the DT</p>
<p>skiboot.tcl defines PAYLOAD_ADDR as 0x20000000, which is the default in
skiboot. This is also the default in skiboot unless kernel-base-address
is set in the device tree.</p>
<p>If you change PAYLOAD_ADDR to something else for mambo, skiboot won’t
see it because it doesn’t set that DT property, so fix it so that it does.</p>
</li>
-<li><p class="first">external/mambo: allow CPU targeting for most debug utils</p>
+<li><p>external/mambo: allow CPU targeting for most debug utils</p>
<p>Debug util functions target CPU 0:0:0 by default Some can be
overidden explicitly per invocation, and others can’t at all.
Even for those that can be overidden, it is a pain to type
@@ -869,20 +863,20 @@ them out when you’re debugging a particular thread.</p>
target to be changed. Wire that up that default to all other utils.
Provide a new ‘S’ step command which only steps the target CPU.</p>
</li>
-<li><p class="first">qemu: bt device isn’t always hanging off /</p>
+<li><p>qemu: bt device isn’t always hanging off /</p>
<p>Just use the normal for_each_compatible instead.</p>
<p>Otherwise in the qemu model as executed by op-test,
we wouldn’t go down the astbmc_init() path, thus not having flash.</p>
</li>
-<li><p class="first">devicetree: Add p9-simics.dts</p>
+<li><p>devicetree: Add p9-simics.dts</p>
<p>Add a p9-based devicetree that’s suitable for use with Simics.</p>
</li>
-<li><p class="first">devicetree: Move power9-phb4.dts</p>
+<li><p>devicetree: Move power9-phb4.dts</p>
<p>Clean up the formatting of power9-phb4.dts and move it to
external/devicetree/p9.dts. This sets us up to include it as the basis
for other trees.</p>
</li>
-<li><p class="first">devicetree: Add nx node to power9-phb4.dts</p>
+<li><p>devicetree: Add nx node to power9-phb4.dts</p>
<p>A (non-qemu) p9 without an nx node will assert in p9_darn_init():</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>dt_for_each_compatible(dt_root, nx, &quot;ibm,power9-nx&quot;)
break;
@@ -895,31 +889,31 @@ if (!nx) {
</div>
<p>Since NX is this essential, add it to the device tree.</p>
</li>
-<li><p class="first">devicetree: Fix typo in power9-phb4.dts</p>
+<li><p>devicetree: Fix typo in power9-phb4.dts</p>
<p>Change “impi” to “ipmi”.</p>
</li>
-<li><p class="first">devicetree: Fix syntax error in power9-phb4.dts</p>
+<li><p>devicetree: Fix syntax error in power9-phb4.dts</p>
<p>Remove the extra space causing this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Error</span><span class="p">:</span> <span class="n">power9</span><span class="o">-</span><span class="n">phb4</span><span class="o">.</span><span class="n">dts</span><span class="p">:</span><span class="mf">156.15</span><span class="o">-</span><span class="mi">16</span> <span class="n">syntax</span> <span class="n">error</span>
<span class="n">FATAL</span> <span class="n">ERROR</span><span class="p">:</span> <span class="n">Unable</span> <span class="n">to</span> <span class="n">parse</span> <span class="nb">input</span> <span class="n">tree</span>
</pre></div>
</div>
</li>
-<li><p class="first">core/init: enable machine check on secondaries</p>
+<li><p>core/init: enable machine check on secondaries</p>
<p>Secondary CPUs currently run with MSR[ME]=0 during boot, whih means
if they take a machine check, the system will checkstop.</p>
<p>Enable ME where possible and allow them to print registers.</p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pflash: Don’t try update RO ToC</p>
+<li><p>pflash: Don’t try update RO ToC</p>
<p>In the future it’s likely the ToC will be marked as read-only. Don’t
error out by assuming its writable.</p>
</li>
-<li><p class="first">pflash: Support encoding/decoding ECC’d partitions</p>
+<li><p>pflash: Support encoding/decoding ECC’d partitions</p>
<p>With the new –ecc option, pflash can add/remove ECC when
reading/writing flash partitions protected by ECC.</p>
<p>This is <em>not</em> flawless with current PNORs out in the wild though, as
@@ -932,10 +926,11 @@ when ECC starts failing and assume everything is okay rather than error
out” to support reading the “valid” data from existing PNOR images.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -984,17 +979,15 @@ out” to support reading the “valid” data from existing PNOR images.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1011,14 +1004,15 @@ out” to support reading the “valid” data from existing PNOR images.</p>
<li class="right" >
<a href="skiboot-6.3.html" title="skiboot-6.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3-rc2.html b/doc/release-notes/skiboot-6.3-rc2.html
index e626514..1e4d63e 100644
--- a/doc/release-notes/skiboot-6.3-rc2.html
+++ b/doc/release-notes/skiboot-6.3-rc2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3-rc2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3-rc2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3-rc1.html" title="skiboot-6.3-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3-rc2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3-rc2">
+ <section id="skiboot-6-3-rc2">
<span id="id1"></span><h1>skiboot-6.3-rc2<a class="headerlink" href="#skiboot-6-3-rc2" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.3-rc2 was released on Thursday April 11th 2019. It is the second
release candidate of skiboot 6.3, which will become the new stable release
@@ -58,7 +58,7 @@ stable releases).</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over <a class="reference internal" href="skiboot-6.3-rc1.html#skiboot-6-3-rc1"><span class="std std-ref">skiboot-6.3-rc1</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">libflash/ipmi-hiomap: Fix blocks count issue</p>
+<li><p>libflash/ipmi-hiomap: Fix blocks count issue</p>
<p>We convert data size to block count and pass block count to BMC.
If data size is not block aligned then we endup sending block count
less than actual data. BMC will write partial data to flash memory.</p>
@@ -72,13 +72,13 @@ less than actual data. BMC will write partial data to flash memory.</p>
<p>In this case HIOMAP sent data with block count=0 and hence BMC didn’t
flush data to flash.</p>
</li>
-<li><p class="first">opal/hmi: Never trust a cow!</p>
+<li><p>opal/hmi: Never trust a cow!</p>
<p>With opencapi, it’s fairly common to trigger HMIs during AFU
development on the FPGA, by not replying in time to an NPU command,
for example. So shift the blame reported by that cow to avoid crowding
my mailbox.</p>
</li>
-<li><p class="first">hw/npu2: Dump (more) npu2 registers on link error and HMIs</p>
+<li><p>hw/npu2: Dump (more) npu2 registers on link error and HMIs</p>
<p>We were already logging some NPU registers during an HMI. This patch
cleans up a bit how it is done and separates what is global from what
is specific to nvlink or opencapi.</p>
@@ -89,7 +89,7 @@ registers of the brick which hit the error.</p>
allow for proper debugging. For each register, we print the name as
found in the NPU workbook, the scom address and the register value.</p>
</li>
-<li><p class="first">hw/npu2: Report errors to the OS if an OpenCAPI brick is fenced</p>
+<li><p>hw/npu2: Report errors to the OS if an OpenCAPI brick is fenced</p>
<p>Now that the NPU may report interrupts due to the link going down
unexpectedly, report those errors to the OS when queried by the
‘next_error’ PHB callback.</p>
@@ -97,7 +97,7 @@ unexpectedly, report those errors to the OS when queried by the
unexpectedly. So we report the PHB as dead, so that the OS can log the
proper message, notify the drivers and take the devices down.</p>
</li>
-<li><p class="first">hw/npu2: Fix OpenCAPI PE assignment</p>
+<li><p>hw/npu2: Fix OpenCAPI PE assignment</p>
<p>When we support mixing NVLink and OpenCAPI devices on the same NPU, we’re
going to have to share the same range of 16 PE numbers between NVLink and
OpenCAPI PHBs.</p>
@@ -109,13 +109,13 @@ half that is used for OpenCAPI, with a fixed PE number assigned per brick.</p>
<p>As the PE assignment for OpenCAPI devices is fixed, set the PE once
during device init and then ignore calls to the set_pe() operation.</p>
</li>
-<li><p class="first">opal-api: Reserve 2 OPAL API calls for future OpenCAPI LPC use</p>
+<li><p>opal-api: Reserve 2 OPAL API calls for future OpenCAPI LPC use</p>
<p>OpenCAPI Lowest Point of Coherency (LPC) memory is going to require
some extra OPAL calls to set up NPU BARs. These calls will most likely be
called OPAL_NPU_LPC_ALLOC and OPAL_NPU_LPC_RELEASE, we’re not quite ready
to upstream that code yet though.</p>
</li>
-<li><p class="first">cpufeatures: Add tm-suspend-hypervisor-assist and tm-suspend-xer-so-bug node</p>
+<li><p>cpufeatures: Add tm-suspend-hypervisor-assist and tm-suspend-xer-so-bug node</p>
<p>tm-suspend-hypervisor-assist for P9 &gt;=DD2.2
And a tm-suspend-xer-so-bug node for P9 DD2.2 only.</p>
<p>I also treat P9P as P9 DD2.3 and add a unit test for the cpufeatures
@@ -123,9 +123,10 @@ infrastructure.</p>
<p>Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/233">https://github.com/open-power/skiboot/issues/233</a></p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -145,17 +146,15 @@ infrastructure.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -172,14 +171,15 @@ infrastructure.</p>
<li class="right" >
<a href="skiboot-6.3-rc1.html" title="skiboot-6.3-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3-rc2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3-rc3.html b/doc/release-notes/skiboot-6.3-rc3.html
index 1ab9c8c..226b00f 100644
--- a/doc/release-notes/skiboot-6.3-rc3.html
+++ b/doc/release-notes/skiboot-6.3-rc3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3-rc3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3-rc3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3-rc2.html" title="skiboot-6.3-rc2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3-rc3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3-rc3">
+ <section id="skiboot-6-3-rc3">
<span id="id1"></span><h1>skiboot-6.3-rc3<a class="headerlink" href="#skiboot-6-3-rc3" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.3-rc3 was released on Thursday May 2nd 2019. It is the third
release candidate of skiboot 6.3, which will become the new stable release
@@ -59,7 +59,7 @@ stable releases).</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over <a class="reference internal" href="skiboot-6.3-rc2.html#skiboot-6-3-rc2"><span class="std std-ref">skiboot-6.3-rc2</span></a>, we have the following changes:</p>
<ul>
-<li><p class="first">Expose PNOR Flash partitions to host MTD driver via devicetree</p>
+<li><p>Expose PNOR Flash partitions to host MTD driver via devicetree</p>
<p>This makes it possible for the host to directly address each
partition without requiring each application to directly parse
the FFS headers. This has been in use for some time already to
@@ -67,7 +67,7 @@ allow BOOTKERNFW partition updates from the host.</p>
<p>All partitions except BOOTKERNFW are marked readonly.</p>
<p>The BOOTKERNFW partition is currently exclusively used by the TalosII platform</p>
</li>
-<li><p class="first">Write boot progress to LPC port 80h</p>
+<li><p>Write boot progress to LPC port 80h</p>
<p>This is an adaptation of what we currently do for op_display() on FSP
machines, inventing an encoding for what we can write into the single
byte at LPC port 80h.</p>
@@ -79,19 +79,19 @@ all about compromise.</p>
display that display these codes. So far, this has only been driven by
hostboot (see hostboot commit 90ec2e65314c).</p>
</li>
-<li><p class="first">Write boot progress to LPC ports 81 and 82</p>
+<li><p>Write boot progress to LPC ports 81 and 82</p>
<p>There’s a thought to write more extensive boot progress codes to LPC
ports 81 and 82 to supplement/replace any reliance on port 80.</p>
<p>We want to still emit port 80 for platforms like Zaius and Barreleye
that have the physical display. Ports 81 and 82 can be monitored by a
BMC though.</p>
</li>
-<li><p class="first">Copy and convert Romulus descriptors to Talos</p>
+<li><p>Copy and convert Romulus descriptors to Talos</p>
<p>Talos II has some hardware differences from Romulus, therefore
we cannot guarantee Talos II == Romulus in skiboot. Copy and
slightly modify the Romulus files for Talos II.</p>
</li>
-<li><p class="first">npu2: Disable Probe-to-Invalid-Return-Modified-or-Owned snarfing by default</p>
+<li><p>npu2: Disable Probe-to-Invalid-Return-Modified-or-Owned snarfing by default</p>
<p>V100 GPUs are known to violate NVLink2 protocol in some cases (one is when
memory was accessed by the CPU and they by GPU using so called block
linear mapping) and issue double probes to NPU which can cope with this
@@ -113,9 +113,8 @@ a bare metal). To enable snarfing, the user needs to run:</p>
</div>
<p>and reboot the host system.</p>
</li>
-<li><p class="first">hw/npu2: Show name of opencapi error interrupts</p>
-</li>
-<li><p class="first">core/pci: Use PHB io-base-location by default for PHB slots</p>
+<li><p>hw/npu2: Show name of opencapi error interrupts</p></li>
+<li><p>core/pci: Use PHB io-base-location by default for PHB slots</p>
<p>On witherspoon only the GPU slots and the three pluggable PCI slots
(SLOT0, 1, 2) have platform defined slot names. For builtin devices such
as the SATA controller or the PLX switch that fans out to the GPU slots
@@ -124,13 +123,13 @@ we have no location codes which some people consider an issue.</p>
the root port device default to the ibm,io-base-location-code which is
typically the location code for the system itself.</p>
<p>e.g.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pciex</span><span class="nd">@600c3c0100000</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pciex</span><span class="o">@</span><span class="mi">600</span><span class="n">c3c0100000</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
<span class="s2">&quot;UOPWR.0000000-Node0-Proc0&quot;</span>
-<span class="n">pciex</span><span class="nd">@600c3c0100000</span><span class="o">/</span><span class="n">pci</span><span class="nd">@0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
+<span class="n">pciex</span><span class="o">@</span><span class="mi">600</span><span class="n">c3c0100000</span><span class="o">/</span><span class="n">pci</span><span class="o">@</span><span class="mi">0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
<span class="s2">&quot;UOPWR.0000000-Node0-Proc0&quot;</span>
-<span class="n">pciex</span><span class="nd">@600c3c0100000</span><span class="o">/</span><span class="n">pci</span><span class="nd">@0</span><span class="o">/</span><span class="n">usb</span><span class="o">-</span><span class="n">xhci</span><span class="nd">@0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
+<span class="n">pciex</span><span class="o">@</span><span class="mi">600</span><span class="n">c3c0100000</span><span class="o">/</span><span class="n">pci</span><span class="o">@</span><span class="mi">0</span><span class="o">/</span><span class="n">usb</span><span class="o">-</span><span class="n">xhci</span><span class="o">@</span><span class="mi">0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
<span class="s2">&quot;UOPWR.0000000-Node0&quot;</span>
</pre></div>
</div>
@@ -138,7 +137,7 @@ typically the location code for the system itself.</p>
processor they are attached to, while the usb-xhci device under the
root port has a location code of the system itself.</p>
</li>
-<li><p class="first">hw/phb4: Read ibm,loc-code from PBCQ node</p>
+<li><p>hw/phb4: Read ibm,loc-code from PBCQ node</p>
<p>On P9 the PBCQs are subdivided by stacks which implement the PCI Express
logic. When phb4 was forked from phb3 most of the properties that were
in the pbcq node moved into the stack node, but ibm,loc-code was not one
@@ -146,9 +145,8 @@ of them. This patch fixes the phb4 init sequence to read the base
location code from the PBCQ node (parent of the stack node) rather than
the stack node itself.</p>
</li>
-<li><p class="first">hw/xscom: add missing P9P chip name</p>
-</li>
-<li><p class="first">asm/head: balance branches to avoid link stack predictor mispredicts</p>
+<li><p>hw/xscom: add missing P9P chip name</p></li>
+<li><p>asm/head: balance branches to avoid link stack predictor mispredicts</p>
<p>The Linux wrapper for OPAL call and return is arranged like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">__opal_call</span><span class="p">:</span>
<span class="n">mflr</span> <span class="n">r0</span>
@@ -167,19 +165,16 @@ the stack node itself.</p>
with a blr. This unbalances the link stack predictor and will cause
mispredicts back up the return stack.</p>
</li>
-<li><p class="first">external/mambo: also invoke readline for the non-autorun case</p>
-</li>
-<li><p class="first">asm/head.S: set POWER9 radix HID bit at entry</p>
+<li><p>external/mambo: also invoke readline for the non-autorun case</p></li>
+<li><p>asm/head.S: set POWER9 radix HID bit at entry</p>
<p>When running in virtual memory mode, the radix MMU hid bit should not
be changed, so set this in the initial boot SPR setup.</p>
<p>As a side effect, fast reboot also has HID0:RADIX bit set by the
shared spr init, so no need for an explicit call.</p>
</li>
-<li><p class="first">opal-prd: Fix memory leak in is-fsp-system check</p>
-</li>
-<li><p class="first">opal-prd: Check malloc return value</p>
-</li>
-<li><p class="first">hw/phb4: Squash the IO bridge window</p>
+<li><p>opal-prd: Fix memory leak in is-fsp-system check</p></li>
+<li><p>opal-prd: Check malloc return value</p></li>
+<li><p>hw/phb4: Squash the IO bridge window</p>
<p>The PCI-PCI bridge spec says that bridges that implement an IO window
should hardcode the IO base and limit registers to zero.
Unfortunately, these registers only define the upper bits of the IO
@@ -200,27 +195,27 @@ interprets as a disabled window.</p>
</pre></div>
</div>
</li>
-<li><p class="first">build: link with –orphan-handling=warn</p>
+<li><p>build: link with –orphan-handling=warn</p>
<p>The linker can warn when the linker script does not explicitly place
all sections. These orphan sections are placed according to
heuristics, which may not always be desirable. Enable this warning.</p>
</li>
-<li><p class="first">build: -fno-asynchronous-unwind-tables</p>
+<li><p>build: -fno-asynchronous-unwind-tables</p>
<p>skiboot does not use unwind tables, this option saves about 100kB,
mostly from .text.</p>
</li>
-<li><p class="first">hw/xscom: Enable sw xstop by default on p9</p>
+<li><p>hw/xscom: Enable sw xstop by default on p9</p>
<p>This was disabled at some point during bringup to make life easier for
the lab folks trying to debug NVLink issues. This hack really should
have never made it out into the wild though, so we now have the
following situation occuring in the field:</p>
<ol class="arabic simple">
-<li>A bad happens</li>
-<li>The host kernel recieves an unrecoverable HMI and calls into OPAL to
-request a platform reboot.</li>
-<li>OPAL rejects the reboot attempt and returns to the kernel with
-OPAL_PARAMETER.</li>
-<li>Kernel panics and attempts to kexec into a kdump kernel.</li>
+<li><p>A bad happens</p></li>
+<li><p>The host kernel recieves an unrecoverable HMI and calls into OPAL to
+request a platform reboot.</p></li>
+<li><p>OPAL rejects the reboot attempt and returns to the kernel with
+OPAL_PARAMETER.</p></li>
+<li><p>Kernel panics and attempts to kexec into a kdump kernel.</p></li>
</ol>
<p>A side effect of the HMI seems to be CPUs becoming stuck which results
in the initialisation of the kdump kernel taking a extremely long time
@@ -231,7 +226,7 @@ state as a side effect of the HMI.</p>
default. If people still want to turn it off they can using the nvram
override.</p>
</li>
-<li><p class="first">opal/hmi: Initialize the hmi event with old value of TFMR.</p>
+<li><p>opal/hmi: Initialize the hmi event with old value of TFMR.</p>
<p>Do this before we fix TFAC errors. Otherwise the event at host console
shows no thread error reported in TFMR register.</p>
<p>Without this patch the console event show TFMR with no thread error:
@@ -251,9 +246,10 @@ shows no thread error reported in TFMR register.</p>
</div>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -273,17 +269,15 @@ shows no thread error reported in TFMR register.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -300,14 +294,15 @@ shows no thread error reported in TFMR register.</p>
<li class="right" >
<a href="skiboot-6.3-rc2.html" title="skiboot-6.3-rc2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3-rc3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3.1.html b/doc/release-notes/skiboot-6.3.1.html
index 5093a71..0f83da4 100644
--- a/doc/release-notes/skiboot-6.3.1.html
+++ b/doc/release-notes/skiboot-6.3.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3-rc3.html" title="skiboot-6.3-rc3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3-1">
+ <section id="skiboot-6-3-1">
<span id="id1"></span><h1>skiboot-6.3.1<a class="headerlink" href="#skiboot-6-3-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.3.1 was released on Friday May 10th, 2019. It replaces
<a class="reference internal" href="skiboot-6.3.html#skiboot-6-3"><span class="std std-ref">skiboot-6.3</span></a> as the current stable release in the 6.3.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">platforms/astbmc: Check for SBE validation step</p>
+<li><p>platforms/astbmc: Check for SBE validation step</p>
<p>On some POWER8 astbmc systems an update to the SBE requires pausing at
runtime to ensure integrity of the SBE. If this is required the BMC will
set a chassis boot option IPMI flag using the OEM parameter 0x62. If
@@ -64,7 +64,7 @@ it in a bad state and unable to be used for timer operations. To
workaround this the flag is checked as soon as possible (ie. when IPMI
and the console are set up), and once complete the system is rebooted.</p>
</li>
-<li><p class="first">ipmi: ensure forward progress on ipmi_queue_msg_sync()</p>
+<li><p>ipmi: ensure forward progress on ipmi_queue_msg_sync()</p>
<p>BT responses are handled using a timer doing the polling. To hope to
get an answer to an IPMI synchronous message, the timer needs to run.</p>
<p>We can’t just check all timers though as there may be a timer that
@@ -76,7 +76,7 @@ backend needs, then we should be fine.</p>
<p>This issue shows up very quickly under QEMU when loading the first
flash resource with the IPMI HIOMAP backend.</p>
</li>
-<li><p class="first">pci/iov: Remove skiboot VF tracking</p>
+<li><p>pci/iov: Remove skiboot VF tracking</p>
<p>This feature was added a few years ago in response to a request to make
the MaxPayloadSize (MPS) field of a Virtual Function match the MPS of the
Physical Function that hosts it.</p>
@@ -93,9 +93,10 @@ removing the code entirely. This patch has no impact on SR-IOV support on
the host operating system.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -115,17 +116,15 @@ the host operating system.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -142,14 +141,15 @@ the host operating system.</p>
<li class="right" >
<a href="skiboot-6.3-rc3.html" title="skiboot-6.3-rc3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3.2.html b/doc/release-notes/skiboot-6.3.2.html
index 04f7bf5..50098bd 100644
--- a/doc/release-notes/skiboot-6.3.2.html
+++ b/doc/release-notes/skiboot-6.3.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3.1.html" title="skiboot-6.3.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3-2">
+ <section id="skiboot-6-3-2">
<span id="id1"></span><h1>skiboot-6.3.2<a class="headerlink" href="#skiboot-6-3-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.3.2 was released on Monday July 1st, 2019. It replaces
<a class="reference internal" href="skiboot-6.3.1.html#skiboot-6-3-1"><span class="std std-ref">skiboot-6.3.1</span></a> as the current stable release in the 6.3.x series.</p>
@@ -53,11 +53,11 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">npu2: Purge cache when resetting a GPU</p>
+<li><p>npu2: Purge cache when resetting a GPU</p>
<p>After putting all a GPU’s links in reset, do a cache purge in case we
have CPU cache lines belonging to the now-unaccessible GPU memory.</p>
</li>
-<li><p class="first">npu2: Reset NVLinks when resetting a GPU</p>
+<li><p>npu2: Reset NVLinks when resetting a GPU</p>
<p>Resetting a V100 GPU brings its NVLinks down and if an NPU tries using
those, an HMI occurs. We were lucky not to observe this as the bare metal
does not normally reset a GPU and when passed through, GPUs are usually
@@ -68,7 +68,7 @@ brings HMIs.</p>
so when the host system issues secondary bus reset to the slot, it resets
associated NVLinks.</p>
</li>
-<li><p class="first">hw/phb4: Assert Link Disable bit after ETU init</p>
+<li><p>hw/phb4: Assert Link Disable bit after ETU init</p>
<p>The cursed RAID card in ozrom1 has a bug where it ignores PERST being
asserted. The PCIe Base spec is a little vague about what happens
while PERST is asserted, but it does clearly specify that when
@@ -157,7 +157,7 @@ seems to avoid the Completion Timeout. With the patch applied we get:</p>
</pre></div>
</div>
</li>
-<li><p class="first">npu2: Reset PID wildcard and refcounter when mapped to LPID</p>
+<li><p>npu2: Reset PID wildcard and refcounter when mapped to LPID</p>
<p>Since 105d80f85b “npu2: Use unfiltered mode in XTS tables” we do not
register every PID in the XTS table so the table has one entry per LPID.
Then we added a reference counter to keep track of the entry use when
@@ -171,7 +171,7 @@ XTS entries and does not update the XTS table which breaks ATS.</p>
<p>This adds the reference counter and the XTS entry reset when a GPU is
assigned to LPID and we cannot rely on the kernel to clean that up.</p>
</li>
-<li><p class="first">hw/phb4: Use read/write_reg in assert_perst</p>
+<li><p>hw/phb4: Use read/write_reg in assert_perst</p>
<p>While the PHB is fenced we can’t use the MMIO interface to access PHB
registers. While processing a complete reset we inject a PHB fence to
isolate the PHB from the rest of the system because the PHB won’t
@@ -187,7 +187,7 @@ when the system was fast-reset.</p>
<p>This patch fixes the problem by replacing the raw {in|out}_be64()
accessors with the phb4_{read|write}_reg() functions.</p>
</li>
-<li><p class="first">opal-prd: Fix prd message size issue</p>
+<li><p>opal-prd: Fix prd message size issue</p>
<p>If prd messages size is insufficient then read_prd_msg() call fails with
below error. And caller is not reallocating sufficient buffer. Also its
hard to guess the size.</p>
@@ -200,11 +200,11 @@ hard to guess the size.</p>
<p>Lets use opal-msg-size device tree property to allocate memory
for prd message.</p>
</li>
-<li><p class="first">npu2: Fix clearing the FIR bits</p>
+<li><p>npu2: Fix clearing the FIR bits</p>
<p>FIR registers are SCOM-only so they cannot be accesses with the indirect
write, and yet we use SCOM-based addresses for these; fix this.</p>
</li>
-<li><p class="first">opal-gard: Account for ECC size when clearing partition</p>
+<li><p>opal-gard: Account for ECC size when clearing partition</p>
<p>When ‘opal-gard clear all’ is run, it works by erasing the GUARD then
using blockevel_smart_write() to write nothing to the partition. This
second write call is needed because we rely on libflash to set the ECC
@@ -219,7 +219,7 @@ partially overwritten when the command is used. This patch fixes the
problem by reducing the length we would normally write by the number
of ECC bytes required.</p>
</li>
-<li><p class="first">nvram: Flag dangerous NVRAM options</p>
+<li><p>nvram: Flag dangerous NVRAM options</p>
<p>Most nvram options used by skiboot are just for debug or testing for
regressions. They should never be used long term.</p>
<p>We’ve hit a number of issues in testing and the field where nvram
@@ -228,16 +228,17 @@ after, resulting in crashes or real bugs being masked.</p>
<p>This patch marks most nvram options used by skiboot as dangerous and
prints a chicken to remind users of the problem.</p>
</li>
-<li><p class="first">devicetree: Don’t set path to dtc in makefile</p>
+<li><p>devicetree: Don’t set path to dtc in makefile</p>
<p>By setting the path we fail to build under buildroot which has it’s own
set of host tools in PATH, but not at /usr/bin.</p>
<p>Keep the variable so it can be set if need be but default to whatever
‘dtc’ is in the users path.</p>
</li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -257,17 +258,15 @@ set of host tools in PATH, but not at /usr/bin.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -284,14 +283,15 @@ set of host tools in PATH, but not at /usr/bin.</p>
<li class="right" >
<a href="skiboot-6.3.1.html" title="skiboot-6.3.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3.3.html b/doc/release-notes/skiboot-6.3.3.html
index 11d1305..09b5cc0 100644
--- a/doc/release-notes/skiboot-6.3.3.html
+++ b/doc/release-notes/skiboot-6.3.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3.2.html" title="skiboot-6.3.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3-3">
+ <section id="skiboot-6-3-3">
<span id="id1"></span><h1>skiboot-6.3.3<a class="headerlink" href="#skiboot-6-3-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.3.3 was released on Wednesday Aug 6th, 2019. It replaces
<a class="reference internal" href="skiboot-6.3.2.html#skiboot-6-3-2"><span class="std std-ref">skiboot-6.3.2</span></a> as the current stable release in the 6.3.x series.</p>
@@ -53,7 +53,7 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">struct p9_sbe_msg doesn’t need to be packed</p>
+<li><p>struct p9_sbe_msg doesn’t need to be packed</p>
<p>Only the reg member is sent anywhere (via xscom_write), so the structure
does not need to be packed.</p>
</li>
@@ -67,8 +67,8 @@ ointer value [-Werror=address-of-packed-member]
</pre></div>
</div>
<ul class="simple">
-<li>hdata/vpd: fix printing (char*)0x00
-GCC9 now catches this bug:</li>
+<li><p>hdata/vpd: fix printing (char*)0x00
+GCC9 now catches this bug:</p></li>
</ul>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>In file included from hdata/vpd.c:17:
In function ‘vpd_vini_parse’,
@@ -87,7 +87,7 @@ cc1: all warnings being treated as errors
</pre></div>
</div>
<ul class="simple">
-<li>errorlog: Prevent alignment error building with gcc9.</li>
+<li><p>errorlog: Prevent alignment error building with gcc9.</p></li>
</ul>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>Fixes this build error:
[ 52s] hw/fsp/fsp-elog-write.c: In function &#39;opal_elog_read&#39;:
@@ -98,7 +98,7 @@ in an unaligned pointer value [-Werror=address-of-packed-member]
</pre></div>
</div>
<ul>
-<li><p class="first">Support BMC IPMI heartbeat command</p>
+<li><p>Support BMC IPMI heartbeat command</p>
<p>A few years ago, the OpenBMC code added support for a “heartbeat”
command to send to the host. This command is used after the BMC is reset
to check if the host is running. Support was never added to the host
@@ -112,12 +112,12 @@ the command though since no action is needed). Here’s the tested output
of this patch in the host console (with debug enabled):
IPMI: BMC issued heartbeat command: 00</p>
</li>
-<li><p class="first">Add: add mihawk platform file</p>
-</li>
+<li><p>Add: add mihawk platform file</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -137,17 +137,15 @@ IPMI: BMC issued heartbeat command: 00</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -164,14 +162,15 @@ IPMI: BMC issued heartbeat command: 00</p>
<li class="right" >
<a href="skiboot-6.3.2.html" title="skiboot-6.3.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3.4.html b/doc/release-notes/skiboot-6.3.4.html
index ac365d1..eb999c0 100644
--- a/doc/release-notes/skiboot-6.3.4.html
+++ b/doc/release-notes/skiboot-6.3.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3.3.html" title="skiboot-6.3.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3-4">
+ <section id="skiboot-6-3-4">
<span id="id1"></span><h1>skiboot-6.3.4<a class="headerlink" href="#skiboot-6-3-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.3.4 was released on Thursday Oct 3rd, 2019. It replaces
<a class="reference internal" href="skiboot-6.3.3.html#skiboot-6-3-3"><span class="std std-ref">skiboot-6.3.3</span></a> as the current stable release in the 6.3.x series.</p>
@@ -53,25 +53,22 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul>
-<li><p class="first">hw/phb4: Prevent register accesses when in reset</p>
-</li>
-<li><p class="first">core/platform: Actually disable fast-reboot on P8</p>
-</li>
-<li><p class="first">xive: fix return value of opal_xive_allocate_irq()</p>
-</li>
-<li><p class="first">hw/phb4: Use standard MIN/MAX macro definitions</p>
+<li><p>hw/phb4: Prevent register accesses when in reset</p></li>
+<li><p>core/platform: Actually disable fast-reboot on P8</p></li>
+<li><p>xive: fix return value of opal_xive_allocate_irq()</p></li>
+<li><p>hw/phb4: Use standard MIN/MAX macro definitions</p>
<p>The max() macro definition incorrectly returns the minimum value. The
max() macro is used to ensure that PERST has been asserted for 250ms and
that we wait 100ms seconds for the ETU logic in the CRESET_START PHB4
PCI slot state. However, by returning the minimum value there is no
guarantee that either of these requirements are met.</p>
</li>
-<li><p class="first">doc/requirements.txt: pin docutils at 0.14</p>
-</li>
+<li><p>doc/requirements.txt: pin docutils at 0.14</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -91,17 +88,15 @@ guarantee that either of these requirements are met.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -118,14 +113,15 @@ guarantee that either of these requirements are met.</p>
<li class="right" >
<a href="skiboot-6.3.3.html" title="skiboot-6.3.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3.5.html b/doc/release-notes/skiboot-6.3.5.html
index 1ae6659..09c6692 100644
--- a/doc/release-notes/skiboot-6.3.5.html
+++ b/doc/release-notes/skiboot-6.3.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3.4.html" title="skiboot-6.3.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.5</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3-5">
+ <section id="skiboot-6-3-5">
<span id="id1"></span><h1>skiboot-6.3.5<a class="headerlink" href="#skiboot-6-3-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.3.5 was released on Thursday June 4th, 2020. It replaces
<a class="reference internal" href="skiboot-6.3.4.html#skiboot-6-3-4"><span class="std std-ref">skiboot-6.3.4</span></a> as the current stable release in the 6.3.x series.</p>
@@ -53,12 +53,13 @@
due to the bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>uart: Drop console write data if BMC becomes unresponsive</li>
-<li>core/ipmi: Fix use-after-free</li>
+<li><p>uart: Drop console write data if BMC becomes unresponsive</p></li>
+<li><p>core/ipmi: Fix use-after-free</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -78,17 +79,15 @@ due to the bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -105,14 +104,15 @@ due to the bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.3.4.html" title="skiboot-6.3.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.3.html b/doc/release-notes/skiboot-6.3.html
index 68b7af8..59827dd 100644
--- a/doc/release-notes/skiboot-6.3.html
+++ b/doc/release-notes/skiboot-6.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.2.4.html" title="skiboot-6.2.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-3">
+ <section id="skiboot-6-3">
<span id="id1"></span><h1>skiboot-6.3<a class="headerlink" href="#skiboot-6-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.3 was released on Friday May 3rd 2019. It is the first
release of skiboot 6.3, which becomes the new stable release
@@ -56,14 +56,14 @@ and <a class="reference internal" href="skiboot-6.2.3.html#skiboot-6-2-3"><span
stable releases).</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over skiboot 6.2, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<span id="skiboot-6-3-new-features"></span><h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/imc: Enable opal calls to init/start/stop IMC Trace mode</p>
+<li><p>hw/imc: Enable opal calls to init/start/stop IMC Trace mode</p>
<p>New OPAL APIs for In-Memory Collection Counter infrastructure(IMC),
including a new device type called OPAL_IMC_COUNTERS_TRACE.</p>
</li>
-<li><p class="first">xive: Add calls to save/restore the queues and VPs HW state</p>
+<li><p>xive: Add calls to save/restore the queues and VPs HW state</p>
<p>To be able to support migration of guests using the XIVE native
exploitation mode, (where the queue is effectively owned by the
guest), KVM needs to be able to save and restore the HW-modified
@@ -73,7 +73,7 @@ of the VP from the NVT structure : the VP interrupt pending bits.</p>
<p>However, there is no need to set back the NVT structure on P9. P10
should be the same.</p>
</li>
-<li><p class="first">witherspoon: Add nvlink2 interconnect information</p>
+<li><p>witherspoon: Add nvlink2 interconnect information</p>
<p>GPUs on Redbud and Sequoia platforms are interconnected in groups of
2 or 3 GPUs. The problem with that is if the user decides to pass a single
GPU from a group to the userspace, we need to ensure that links between
@@ -84,22 +84,21 @@ disable links to peer GPUs, we need a topology map.</p>
of peer GPUs and NVLink2 bridges. The index in the property is a GPU link
number.</p>
</li>
-<li><p class="first">platforms/romulus: Also support talos</p>
+<li><p>platforms/romulus: Also support talos</p>
<p>The two are similar enough and I’d like to have a slot table for our
Talos.</p>
</li>
-<li><p class="first">OpenCAPI support! (see <a class="reference internal" href="#skiboot-6-3-opencapi"><span class="std std-ref">OpenCAPI</span></a> section)</p>
-</li>
-<li><p class="first">opal/hmi: set a flag to inform OS that TOD/TB has failed.</p>
+<li><p>OpenCAPI support! (see <a class="reference internal" href="#skiboot-6-3-opencapi"><span class="std std-ref">OpenCAPI</span></a> section)</p></li>
+<li><p>opal/hmi: set a flag to inform OS that TOD/TB has failed.</p>
<p>Set a flag to indicate OS about TOD/TB failure as part of new
opal_handle_hmi2 handler. This flag then can be used by OS to make sure
functions depending on TB value (e.g. udelay()) are aware of TB not
ticking.</p>
</li>
-<li><p class="first">astbmc: Enable IPMI HIOMAP for AMI platforms</p>
+<li><p>astbmc: Enable IPMI HIOMAP for AMI platforms</p>
<p>Required for Habanero, Palmetto and Romulus.</p>
</li>
-<li><p class="first">power-mgmt : occ : Add ‘freq-domain-mask’ DT property</p>
+<li><p>power-mgmt : occ : Add ‘freq-domain-mask’ DT property</p>
<p>Add a new device-tree property freq-domain-indicator to define group of
CPUs which would share same frequency. This property has been added under
power-mgmt node. It is a bitmask.</p>
@@ -119,7 +118,7 @@ recent frequency value requested by the CPUs in the quad.</p>
the Quad to the maximum of the latest frequency requested by each of
the component cores.</p>
</li>
-<li><p class="first">powercap: occ: Fix the powercapping range allowed for user</p>
+<li><p>powercap: occ: Fix the powercapping range allowed for user</p>
<p>OCC provides two limits for minimum powercap. One being hard powercap
minimum which is guaranteed by OCC and the other one is a soft
powercap minimum which is lesser than hard-min and may or may not be
@@ -129,7 +128,7 @@ minimum as the “powercap-min” DT property. And it also adds a new
DT property called “powercap-hard-min” to export the hard-min powercap
limit.</p>
</li>
-<li><p class="first">Add NVDIMM support</p>
+<li><p>Add NVDIMM support</p>
<p>NVDIMMs are memory modules that use a battery backup system to allow the
contents RAM to be saved to non-volatile storage if system power goes
away unexpectedly. This allows them to be used a high-performance
@@ -139,7 +138,7 @@ via the HDAT. We need to parse out the NVDIMM memory ranges and create
memory regions with the “pmem-region” compatible label to make them
available to the host.</p>
</li>
-<li><p class="first">core/exceptions: implement support for MCE interrupts in powersave</p>
+<li><p>core/exceptions: implement support for MCE interrupts in powersave</p>
<p>The ISA specifies that MCE interrupts in power saving modes will enter
at 0x200 with powersave bits in SRR1 set. This is not currently
supported properly, the MCE will just happen like a normal interrupt,
@@ -148,21 +147,21 @@ etc).</p>
<p>So check the power save bits similarly to the sreset vector, and
handle this properly.</p>
</li>
-<li><p class="first">core/exceptions: allow recoverable sreset exceptions</p>
+<li><p>core/exceptions: allow recoverable sreset exceptions</p>
<p>This requires implementing the MSR[RI] bit. Then just allow all
non-fatal sreset exceptions to recover.</p>
</li>
-<li><p class="first">core/exceptions: implement an exception handler for non-powersave sresets</p>
+<li><p>core/exceptions: implement an exception handler for non-powersave sresets</p>
<p>Detect non-powersave sresets and send them to the normal exception
handler which prints registers and stack.</p>
</li>
-<li><p class="first">Add PVR_TYPE_P9P</p>
+<li><p>Add PVR_TYPE_P9P</p>
<p>Enable a new PVR to get us running on another p9 variant.</p>
</li>
</ul>
<p>Since v6.3-rc2:</p>
<ul>
-<li><p class="first">Expose PNOR Flash partitions to host MTD driver via devicetree</p>
+<li><p>Expose PNOR Flash partitions to host MTD driver via devicetree</p>
<p>This makes it possible for the host to directly address each
partition without requiring each application to directly parse
the FFS headers. This has been in use for some time already to
@@ -170,7 +169,7 @@ allow BOOTKERNFW partition updates from the host.</p>
<p>All partitions except BOOTKERNFW are marked readonly.</p>
<p>The BOOTKERNFW partition is currently exclusively used by the TalosII platform</p>
</li>
-<li><p class="first">Write boot progress to LPC port 80h</p>
+<li><p>Write boot progress to LPC port 80h</p>
<p>This is an adaptation of what we currently do for op_display() on FSP
machines, inventing an encoding for what we can write into the single
byte at LPC port 80h.</p>
@@ -182,14 +181,14 @@ all about compromise.</p>
display that display these codes. So far, this has only been driven by
hostboot (see hostboot commit 90ec2e65314c).</p>
</li>
-<li><p class="first">Write boot progress to LPC ports 81 and 82</p>
+<li><p>Write boot progress to LPC ports 81 and 82</p>
<p>There’s a thought to write more extensive boot progress codes to LPC
ports 81 and 82 to supplement/replace any reliance on port 80.</p>
<p>We want to still emit port 80 for platforms like Zaius and Barreleye
that have the physical display. Ports 81 and 82 can be monitored by a
BMC though.</p>
</li>
-<li><p class="first">Add Talos II platform</p>
+<li><p>Add Talos II platform</p>
<p>Talos II has some hardware differences from Romulus, therefore
we cannot guarantee Talos II == Romulus in skiboot. Copy and
slightly modify the Romulus files for Talos II.</p>
@@ -197,7 +196,7 @@ slightly modify the Romulus files for Talos II.</p>
</ul>
<p>Since v6.3-rc1:</p>
<ul>
-<li><p class="first">cpufeatures: Add tm-suspend-hypervisor-assist and tm-suspend-xer-so-bug node</p>
+<li><p>cpufeatures: Add tm-suspend-hypervisor-assist and tm-suspend-xer-so-bug node</p>
<p>tm-suspend-hypervisor-assist for P9 &gt;=DD2.2
And a tm-suspend-xer-so-bug node for P9 DD2.2 only.</p>
<p>I also treat P9P as P9 DD2.3 and add a unit test for the cpufeatures
@@ -205,11 +204,11 @@ infrastructure.</p>
<p>Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/233">https://github.com/open-power/skiboot/issues/233</a></p>
</li>
</ul>
-</div>
-<div class="section" id="deprecated-removed-features">
+</section>
+<section id="deprecated-removed-features">
<h2>Deprecated/Removed Features<a class="headerlink" href="#deprecated-removed-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">opal: Deprecate reading the PHB status</p>
+<li><p>opal: Deprecate reading the PHB status</p>
<p>The OPAL_PCI_EEH_FREEZE_STATUS call takes a bunch of parameters, one of
them is &#64;phb_status. It is defined as __be64* and always NULL in
the current Linux upstream but if anyone ever decides to read that status,
@@ -220,14 +219,14 @@ corruption; p7ioc-phb has the same issue.</p>
the error message from PHB4 to the affected OPAL handlers.</p>
<p>As far as we can tell, nobody has ever used this and thus it’s safe to remove.</p>
</li>
-<li><p class="first">Remove POWER9N DD1 support</p>
+<li><p>Remove POWER9N DD1 support</p>
<p>This is not a shipping product and is no longer supported by Linux
or other firmware components.</p>
</li>
</ul>
<p>Since v6.3-rc3:</p>
<ul>
-<li><p class="first">Disable fast-reset for POWER8</p>
+<li><p>Disable fast-reset for POWER8</p>
<p>There is a bug with fast-reset when CPU cores are busy, which can be
reproduced by running <cite>stress</cite> and then trying <cite>reboot -ff</cite> (this is
what the op-test test cases FastRebootHostStress and
@@ -242,21 +241,19 @@ pdbg patches: <a class="reference external" href="https://patchwork.ozlabs.org/p
<p>Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/185">https://github.com/open-power/skiboot/issues/185</a></p>
</li>
</ul>
-</div>
-<div class="section" id="general">
+</section>
+<section id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">core/i2c: Various bits of refactoring</p>
-</li>
-<li><p class="first">refactor backtrace generation infrastructure</p>
-</li>
-<li><p class="first">astbmc: Handle failure to initialise raw flash</p>
+<li><p>core/i2c: Various bits of refactoring</p></li>
+<li><p>refactor backtrace generation infrastructure</p></li>
+<li><p>astbmc: Handle failure to initialise raw flash</p>
<p>Initialising raw flash lead to a dead assignment to rc. Check the return
code and take the failure path as necessary. Both before and after the
fix we see output along the lines of the following when flash_init()
fails:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">53.283182881</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mf">0800.</span><span class="o">.</span><span class="mi">0</span><span class="n">ff7</span> <span class="n">ops</span> <span class="nd">@0x300d4b98</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
-<span class="p">[</span> <span class="mf">53.283184335</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mi">0</span><span class="n">ff8</span><span class="o">..</span><span class="mi">0</span><span class="n">fff</span> <span class="n">ops</span> <span class="nd">@0x300d4bc8</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">53.283182881</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mf">0800..0</span><span class="n">ff7</span> <span class="n">ops</span> <span class="o">@</span><span class="mh">0x300d4b98</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
+<span class="p">[</span> <span class="mf">53.283184335</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">IRQ</span><span class="p">:</span> <span class="n">Registering</span> <span class="mi">0</span><span class="n">ff8</span><span class="o">.</span><span class="mf">.0</span><span class="n">fff</span> <span class="n">ops</span> <span class="o">@</span><span class="mh">0x300d4bc8</span> <span class="p">(</span><span class="n">data</span> <span class="mh">0x3052b9d8</span><span class="p">)</span>
<span class="p">[</span> <span class="mf">53.283185513</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span> <span class="n">PHB</span><span class="c1">#0000: Initializing PHB...</span>
<span class="p">[</span> <span class="mf">53.288260827</span><span class="p">,</span><span class="mi">4</span><span class="p">]</span> <span class="n">FLASH</span><span class="p">:</span> <span class="n">Can</span><span class="s1">&#39;t load resource id:0. No system flash found</span>
<span class="p">[</span> <span class="mf">53.288354442</span><span class="p">,</span><span class="mi">4</span><span class="p">]</span> <span class="n">FLASH</span><span class="p">:</span> <span class="n">Can</span><span class="s1">&#39;t load resource id:1. No system flash found</span>
@@ -293,7 +290,7 @@ of executing from unexpected memory locations. As such the issue is
reduced to down to a fix for poor error hygene in the original change
and a resolution for a Coverity warning (famous last words etc).</p>
</li>
-<li><p class="first">core/flash: Retry requests as necessary in flash_load_resource()</p>
+<li><p>core/flash: Retry requests as necessary in flash_load_resource()</p>
<p>We would like to successfully boot if we have a dependency on the BMC
for flash even if the BMC is not current ready to service flash
requests. On the assumption that it will become ready, retry for several
@@ -330,14 +327,14 @@ CPU 0040 Backtrace:
no delay for e.g. the host kernel, just for asynchronously loaded
resources during boot.</p>
</li>
-<li><p class="first">fast-reboot: occ: Call occ_pstates_init() on fast-reset on all machines</p>
+<li><p>fast-reboot: occ: Call occ_pstates_init() on fast-reset on all machines</p>
<p>Commit 815417dcda2e (“init, occ: Initialise OCC earlier on BMC systems”)
conditionally invoked occ_pstates_init() only on FSP based systems in
load_and_boot_kernel(). Due to this pstate table is re-parsed on FSP
system and skipped on BMC system during fast-reboot. So this patch fixes
this by invoking occ_pstates_init() on all boxes during fast-reboot.</p>
</li>
-<li><p class="first">opal/hmi: Don’t retry TOD recovery if it is already in failed state.</p>
+<li><p>opal/hmi: Don’t retry TOD recovery if it is already in failed state.</p>
<p>On TOD failure, all cores/thread receives HMI and very first thread that
gets interrupt fixes the TOD where as others just resets the respective
HMER error bit and return. But when TOD is unrecoverable, all the threads
@@ -346,7 +343,7 @@ opal. Set a global flag when TOD is unrecoverable so that rest of the
threads go back to linux immediately avoiding lock ups in system
reboot/panic path.</p>
</li>
-<li><p class="first">hw/bt: Do not disable ipmi message retry during OPAL boot</p>
+<li><p>hw/bt: Do not disable ipmi message retry during OPAL boot</p>
<p>Currently OPAL doesn’t know whether BMC is functioning or not. If BMC is
down (like BMC reboot), then we keep on retry sending message to BMC. So
in some corner cases we may hit hard lockup issue in kernel.</p>
@@ -355,7 +352,7 @@ for now commit 01f977c3 added option to disable message retry in synchronous.
But this fix is not required during boot. Hence lets disable IPMI message
retry during OPAL boot.</p>
</li>
-<li><p class="first">hdata/memory: Fix warning message</p>
+<li><p>hdata/memory: Fix warning message</p>
<p>Even though we added memory to device tree, we are getting below warning.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span> <span class="mf">57.136949696</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">Unable</span> <span class="n">to</span> <span class="n">use</span> <span class="n">memory</span> <span class="nb">range</span> <span class="mi">0</span> <span class="kn">from</span> <span class="nn">MSAREA</span> <span class="mi">0</span>
<span class="p">[</span> <span class="mf">57.137049753</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="n">Unable</span> <span class="n">to</span> <span class="n">use</span> <span class="n">memory</span> <span class="nb">range</span> <span class="mi">0</span> <span class="kn">from</span> <span class="nn">MSAREA</span> <span class="mi">1</span>
@@ -364,7 +361,7 @@ retry during OPAL boot.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/bt: Add backend interface to disable ipmi message retry option</p>
+<li><p>hw/bt: Add backend interface to disable ipmi message retry option</p>
<p>During boot OPAL makes IPMI_GET_BT_CAPS call to BMC to get BT interface
capabilities which includes IPMI message max resend count, message
timeout, etc,. Most of the time OPAL gets response from BMC within
@@ -382,7 +379,7 @@ greatly reduces kernel hardlock up issues.</p>
<p>This is short term fix. Long term solution is to convert all synchronous
messages to asynhrounous one.</p>
</li>
-<li><p class="first">ipmi/power: Fix system reboot issue</p>
+<li><p>ipmi/power: Fix system reboot issue</p>
<p>Kernel makes reboot/shudown OPAL call for reboot/shutdown. Once kernel
gets response from OPAL it runs opal_poll_events() until firmware
handles the request.</p>
@@ -395,7 +392,7 @@ reboot/shutdown the system using BMC interface.</p>
then it will resend the message. At some stage BMC will be ready to accept
message and handles IPMI message.</p>
</li>
-<li><p class="first">firmware-versions: Add test case for parsing VERSION</p>
+<li><p>firmware-versions: Add test case for parsing VERSION</p>
<p>Also make it possible to use with afl-lop/afl-fuzz just to help make
<em>sure</em> we’re all good.</p>
<p>Additionally, if we hit a entry in VERSION that is larger than our
@@ -404,19 +401,19 @@ stack. This is only a problem if VERSION isn’t trusted, which as of
4b8cc05a94513816d43fb8bd6178896b430af08f it is verified as part of
Secure Boot.</p>
</li>
-<li><p class="first">core/fast-reboot: improve NMI handling during fast reset</p>
+<li><p>core/fast-reboot: improve NMI handling during fast reset</p>
<p>Improve sreset and MCE handling in fast reboot. Switch the HILE bit
off before copying OPAL’s exception vectors, so NMIs can be handled
properly. Also disable MSR[ME] while the vectors are being overwritten</p>
</li>
-<li><p class="first">core/cpu: HID update race</p>
+<li><p>core/cpu: HID update race</p>
<p>If the per-core HID register is updated concurrently by multiple
threads, updates can get lost. This has been observed during fast
reboot where the HILE bit does not get cleared on all cores, which
can cause machine check exception interrupts to crash.</p>
<p>Fix this by only updating HID on thread0.</p>
</li>
-<li><p class="first">SLW: Print verbose info on errors only</p>
+<li><p>SLW: Print verbose info on errors only</p>
<p>Change print level from debug to warning for reporting
bad EC_PPM_SPECIAL_WKUP_* scom values. To reduce cluttering
in the log print only on error.</p>
@@ -424,9 +421,8 @@ in the log print only on error.</p>
</ul>
<p>Since v6.3-rc2:</p>
<ul>
-<li><p class="first">hw/xscom: add missing P9P chip name</p>
-</li>
-<li><p class="first">asm/head: balance branches to avoid link stack predictor mispredicts</p>
+<li><p>hw/xscom: add missing P9P chip name</p></li>
+<li><p>asm/head: balance branches to avoid link stack predictor mispredicts</p>
<p>The Linux wrapper for OPAL call and return is arranged like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">__opal_call</span><span class="p">:</span>
<span class="n">mflr</span> <span class="n">r0</span>
@@ -445,24 +441,23 @@ in the log print only on error.</p>
with a blr. This unbalances the link stack predictor and will cause
mispredicts back up the return stack.</p>
</li>
-<li><p class="first">external/mambo: also invoke readline for the non-autorun case</p>
-</li>
-<li><p class="first">asm/head.S: set POWER9 radix HID bit at entry</p>
+<li><p>external/mambo: also invoke readline for the non-autorun case</p></li>
+<li><p>asm/head.S: set POWER9 radix HID bit at entry</p>
<p>When running in virtual memory mode, the radix MMU hid bit should not
be changed, so set this in the initial boot SPR setup.</p>
<p>As a side effect, fast reboot also has HID0:RADIX bit set by the
shared spr init, so no need for an explicit call.</p>
</li>
-<li><p class="first">build: link with –orphan-handling=warn</p>
+<li><p>build: link with –orphan-handling=warn</p>
<p>The linker can warn when the linker script does not explicitly place
all sections. These orphan sections are placed according to
heuristics, which may not always be desirable. Enable this warning.</p>
</li>
-<li><p class="first">build: -fno-asynchronous-unwind-tables</p>
+<li><p>build: -fno-asynchronous-unwind-tables</p>
<p>skiboot does not use unwind tables, this option saves about 100kB,
mostly from .text.</p>
</li>
-<li><p class="first">opal/hmi: Initialize the hmi event with old value of TFMR.</p>
+<li><p>opal/hmi: Initialize the hmi event with old value of TFMR.</p>
<p>Do this before we fix TFAC errors. Otherwise the event at host console
shows no thread error reported in TFMR register.</p>
<p>Without this patch the console event show TFMR with no thread error:
@@ -482,24 +477,23 @@ shows no thread error reported in TFMR register.</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="ibm-fsp-based-platforms">
+</section>
+<section id="ibm-fsp-based-platforms">
<h2>IBM FSP based platforms<a class="headerlink" href="#ibm-fsp-based-platforms" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">platforms/firenze: Rework I2C controller fixups</p>
-</li>
-<li><p class="first">platforms/zz: Re-enable LXVPD slot information parsing</p>
+<li><p>platforms/firenze: Rework I2C controller fixups</p></li>
+<li><p>platforms/zz: Re-enable LXVPD slot information parsing</p>
<p>From memory this was disabled in the distant past since we were waiting
for an updates to the LXPVD format. It looks like that never happened
so re-enable it for the ZZ platform so that we can get PCI slot location
codes on ZZ.</p>
</li>
</ul>
-</div>
-<div class="section" id="hiomap">
+</section>
+<section id="hiomap">
<h2>HIOMAP<a class="headerlink" href="#hiomap" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">astbmc: Try IPMI HIOMAP for P8</p>
+<li><p>astbmc: Try IPMI HIOMAP for P8</p>
<p>The HIOMAP protocol was developed after the release of P8 in preparation
for P9. As a consequence P9 always uses it, but it has rarely been
enabled for P8. P8DTU has recently added IPMI HIOMAP support to its BMC
@@ -507,19 +501,19 @@ firmware, so enable its use in skiboot with P8 machines. Doing so
requires some rework to ensure fallback works correctly as in the past
the fallback was to mbox, which will only work for P9.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Enforce message size for empty response</p>
+<li><p>libflash/ipmi-hiomap: Enforce message size for empty response</p>
<p>The protocol defines the response to the associated messages as empty
except for the command ID and sequence fields. If the BMC is returning
extra data consider the message malformed.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Remove unused close handling</p>
+<li><p>libflash/ipmi-hiomap: Remove unused close handling</p>
<p>Issuing a HIOMAP_C_CLOSE is not required by the protocol specification,
rather a close can be implicit in a subsequent
CREATE_{READ,WRITE}_WINDOW request. The implicit close provides an
opportunity to reduce LPC traffic and the implementation takes up that
optimisation, so remove the case from the IPMI callback handler.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Overhaul event handling</p>
+<li><p>libflash/ipmi-hiomap: Overhaul event handling</p>
<p>Reworking the event handling was inspired by a bug report by Vasant
where the host would get wedged on multiple flash access attempts in the
face of a persistent error state on the BMC-side. The cause of this bug
@@ -530,17 +524,17 @@ HIOMAP_E_DAEMON_READY is clear in the prior calls.</p>
<p>Regardless, there were other correctness and efficiency problems with
the handling strategy:</p>
<ul class="simple">
-<li>Ack-able event state was not restored in the face of errors in the
-process of re-establishing protocol state</li>
-<li>It forced needless window restoration with respect to the context in
-which ipmi_hiomap_handle_events() was called.</li>
-<li>Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant
-with the overhauled error handling introduced in the previous patch</li>
+<li><p>Ack-able event state was not restored in the face of errors in the
+process of re-establishing protocol state</p></li>
+<li><p>It forced needless window restoration with respect to the context in
+which ipmi_hiomap_handle_events() was called.</p></li>
+<li><p>Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant
+with the overhauled error handling introduced in the previous patch</p></li>
</ul>
<p>Fix all of the above issues and add comments to explain the event
handling flow.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Overhaul error handling</p>
+<li><p>libflash/ipmi-hiomap: Overhaul error handling</p>
<p>The aim is to improve the robustness with respect to absence of the
BMC-side daemon. The current error handling roughly mirrors what was
done for the mailbox implementation, but there’s room for improvement.</p>
@@ -558,12 +552,11 @@ operation no attempt is made to recover it on the spot, instead the
error is returned up the stack and the caller can choose how it wishes
to respond.</p>
</li>
-<li><p class="first">libflash/ipmi-hiomap: Fix leak of msg in callback</p>
-</li>
+<li><p>libflash/ipmi-hiomap: Fix leak of msg in callback</p></li>
</ul>
<p>Since v6.3-rc1:</p>
<ul>
-<li><p class="first">libflash/ipmi-hiomap: Fix blocks count issue</p>
+<li><p>libflash/ipmi-hiomap: Fix blocks count issue</p>
<p>We convert data size to block count and pass block count to BMC.
If data size is not block aligned then we endup sending block count
less than actual data. BMC will write partial data to flash memory.</p>
@@ -578,11 +571,11 @@ less than actual data. BMC will write partial data to flash memory.</p>
flush data to flash.</p>
</li>
</ul>
-</div>
-<div class="section" id="power8">
+</section>
+<section id="power8">
<h2>POWER8<a class="headerlink" href="#power8" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/phb3/naples: Disable D-states</p>
+<li><p>hw/phb3/naples: Disable D-states</p>
<p>Putting “Mellanox Technologies MT27700 Family [ConnectX-4] [15b3:1013]”
(more precisely, the second of 2 its PCI functions, no matter in what
order) into the D3 state causes EEH with the “PCT timeout” error.
@@ -591,7 +584,7 @@ seem to have this issue.</p>
<p>This disables D-states changing for devices on root buses on Naples by
installing a config space access filter (copied from PHB4).</p>
</li>
-<li><p class="first">cpufeatures: Always advertise POWER8NVL as DD2</p>
+<li><p>cpufeatures: Always advertise POWER8NVL as DD2</p>
<p>Despite the major version of PVR being 1 (0x004c0100) for POWER8NVL,
these chips are functionally equalent to P8/P8E DD2 levels.</p>
<p>This advertises POWER8NVL as DD2. As the result, skiboot adds
@@ -601,24 +594,23 @@ threads; otherwise “KVM: CPU %d seems to be stuck” would appear because
of missing LPCR_PECEDH.</p>
</li>
</ul>
-<div class="section" id="p8dtu-platform">
+<section id="p8dtu-platform">
<h3>p8dtu Platform<a class="headerlink" href="#p8dtu-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">p8dtu: Configure BMC graphics</p>
+<li><p>p8dtu: Configure BMC graphics</p>
<p>We can no-longer read the values from the BMC in the way we have in the
past. Values were provided by Eric Chen of SMC.</p>
</li>
-<li><p class="first">p8dtu: Enable HIOMAP support</p>
-</li>
+<li><p>p8dtu: Enable HIOMAP support</p></li>
</ul>
-</div>
-<div class="section" id="vesnin-platform">
+</section>
+<section id="vesnin-platform">
<h3>Vesnin Platform<a class="headerlink" href="#vesnin-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">platforms/vesnin: Disable PCIe port bifurcation</p>
+<li><p>platforms/vesnin: Disable PCIe port bifurcation</p>
<p>PCIe ports connected to CPU1 and CPU3 now work as x16 instead of x8x8.</p>
</li>
-<li><p class="first">Fix hang in pnv_platform_error_reboot path due to TOD failure.</p>
+<li><p>Fix hang in pnv_platform_error_reboot path due to TOD failure.</p>
<p>On TOD failure, with TB stuck, when linux heads down to
pnv_platform_error_reboot() path due to unrecoverable hmi event, the panic
cpu gets stuck in OPAL inside ipmi_queue_msg_sync(). At this time, rest
@@ -670,24 +662,24 @@ forever. This patch fixes this hang by calling opal_run_pollers() in TB
failed state as well.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="power9">
+</section>
+</section>
+<section id="power9">
<span id="skiboot-6-3-power9"></span><h2>POWER9<a class="headerlink" href="#power9" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Retry link training at PCIe GEN1 if presence detected but training repeatedly failed</p>
+<li><p>Retry link training at PCIe GEN1 if presence detected but training repeatedly failed</p>
<p>Certain older PCIe 1.0 devices will not train unless the training process starts at GEN1 speeds.
As a last resort when a device will not train, fall back to GEN1 speed for the last training attempt.</p>
<p>This is verified to fix devices based on the Conexant CX23888 on the Talos II platform.</p>
</li>
-<li><p class="first">hw/phb4: Drop FRESET_DEASSERT_DELAY state</p>
+<li><p>hw/phb4: Drop FRESET_DEASSERT_DELAY state</p>
<p>The delay between the ASSERT_DELAY and DEASSERT_DELAY states is set to
one timebase tick. This state seems to have been a hold over from PHB3
where it was used to add a 1s delay between de-asserting PERST and
polling the link for the CAPI FPGA. There’s no requirement for that here
since the link polling on PHB4 is a bit smarter so we should be fine.</p>
</li>
-<li><p class="first">hw/phb4: Factor out PERST control</p>
+<li><p>hw/phb4: Factor out PERST control</p>
<p>Some time ago Mikey added some code work around a bug we found where a
certain RAID card wouldn’t come back again after a fast-reboot. The
workaround is setting the Link Disable bit before asserting PERST and
@@ -696,13 +688,13 @@ clear it after de-asserting PERST.</p>
This patch moves the PERST control into its own function to reduce
duplication and to the workaround is applied in all circumstances.</p>
</li>
-<li><p class="first">hw/phb4: Remove FRESET presence check</p>
+<li><p>hw/phb4: Remove FRESET presence check</p>
<p>When we do an freset the first step is to check if a card is present in
the slot. However, this only occurs when we enter phb4_freset() with the
slot state set to SLOT_NORMAL. This occurs in:</p>
<ol class="loweralpha simple">
-<li>The creset path, and</li>
-<li>When the OS manually requests an FRESET via an OPAL call.</li>
+<li><p>The creset path, and</p></li>
+<li><p>When the OS manually requests an FRESET via an OPAL call.</p></li>
</ol>
<p>(a) is problematic because in the boot path the generic code will put the
slot into FRESET_START manually before calling into phb4_freset(). This
@@ -717,7 +709,7 @@ the slot’s PERST signal being left asserted. This isn’t currently an issue,
but if we want to support hotplug of devices into the root port it will
be.</p>
</li>
-<li><p class="first">hw/phb4: Skip FRESET PERST when coming from CRESET</p>
+<li><p>hw/phb4: Skip FRESET PERST when coming from CRESET</p>
<p>PERST is asserted at the beginning of the CRESET process to prevent
the downstream device from interacting with the host while the PHB logic
is being reset and re-initialised. There is at least a 100ms wait during
@@ -728,20 +720,20 @@ to the 250ms PERST wait period that we typically use and sets the
skip_perst flag so that we don’t wait this time again in the FRESET
handler.</p>
</li>
-<li><p class="first">hw/phb4: Look for the hub-id from in the PBCQ node</p>
+<li><p>hw/phb4: Look for the hub-id from in the PBCQ node</p>
<p>The hub-id is stored in the PBCQ node rather than the stack node so we
never add it to the PHB node. This breaks the lxvpd slot lookup code
since the hub-id is encoded in the VPD record that we need to find the
slot information.</p>
</li>
-<li><p class="first">hdata/iohub: Look for IOVPD on P9</p>
+<li><p>hdata/iohub: Look for IOVPD on P9</p>
<p>P8 and P9 use the same IO VPD setup, so we need to load the IOHUB VPD on
P9 systems too.</p>
</li>
</ul>
<p>Since v6.3-rc2:</p>
<ul>
-<li><p class="first">hw/phb4: Squash the IO bridge window</p>
+<li><p>hw/phb4: Squash the IO bridge window</p>
<p>The PCI-PCI bridge spec says that bridges that implement an IO window
should hardcode the IO base and limit registers to zero.
Unfortunately, these registers only define the upper bits of the IO
@@ -762,18 +754,18 @@ interprets as a disabled window.</p>
</pre></div>
</div>
</li>
-<li><p class="first">hw/xscom: Enable sw xstop by default on p9</p>
+<li><p>hw/xscom: Enable sw xstop by default on p9</p>
<p>This was disabled at some point during bringup to make life easier for
the lab folks trying to debug NVLink issues. This hack really should
have never made it out into the wild though, so we now have the
following situation occuring in the field:</p>
<ol class="arabic simple">
-<li>A bad happens</li>
-<li>The host kernel recieves an unrecoverable HMI and calls into OPAL to
-request a platform reboot.</li>
-<li>OPAL rejects the reboot attempt and returns to the kernel with
-OPAL_PARAMETER.</li>
-<li>Kernel panics and attempts to kexec into a kdump kernel.</li>
+<li><p>A bad happens</p></li>
+<li><p>The host kernel recieves an unrecoverable HMI and calls into OPAL to
+request a platform reboot.</p></li>
+<li><p>OPAL rejects the reboot attempt and returns to the kernel with
+OPAL_PARAMETER.</p></li>
+<li><p>Kernel panics and attempts to kexec into a kdump kernel.</p></li>
</ol>
<p>A side effect of the HMI seems to be CPUs becoming stuck which results
in the initialisation of the kdump kernel taking a extremely long time
@@ -785,10 +777,10 @@ default. If people still want to turn it off they can using the nvram
override.</p>
</li>
</ul>
-<div class="section" id="capi2">
+<section id="capi2">
<h3>CAPI2<a class="headerlink" href="#capi2" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">capp/phb4: Prevent HMI from getting triggered when disabling CAPP</p>
+<li><p>capp/phb4: Prevent HMI from getting triggered when disabling CAPP</p>
<p>While disabling CAPP an HMI gets triggered as soon as ETU is put in
reset mode. This is caused as before we can disabled CAPP, it detects
PHB link going down and triggers an HMI requesting Opal to perform
@@ -801,7 +793,7 @@ phb4_creset(). Also now since bringing down the PHB link now wont
trigger an HMI and CAPP recovery, hence we manually set the
PHB4_CAPP_RECOVERY flag on the phb to force recovery during creset.</p>
</li>
-<li><p class="first">phb4/capp: Implement sequence to disable CAPP and enable fast-reset</p>
+<li><p>phb4/capp: Implement sequence to disable CAPP and enable fast-reset</p>
<p>We implement h/w sequence to disable CAPP in disable_capi_mode() and
with it also enable fast-reset for CAPI mode in phb4_set_capi_mode().</p>
<p>Sequence to disable CAPP is executed in three phases. The first two
@@ -813,7 +805,7 @@ phb4_init_ioda3() is because by the time Opal PCI reset state machine
reaches this function the PHB is already un-fenced and its
configuration registers accessible via mmio.</p>
</li>
-<li><p class="first">capp/phb4: Force CAPP to PCIe mode during kernel shutdown</p>
+<li><p>capp/phb4: Force CAPP to PCIe mode during kernel shutdown</p>
<p>This patch introduces a new opal syncer for PHB4 named
phb4_host_sync_reset(). We register this opal syncer when CAPP is
activated successfully in phb4_set_capi_mode() so that it will be
@@ -825,62 +817,62 @@ still transitioning to new state; it calls slot-&gt;ops.run_sm() to
ensure that Opal slot reset state machine makes forward progress.</p>
</li>
</ul>
-</div>
-<div class="section" id="witherspoon-platform">
+</section>
+<section id="witherspoon-platform">
<h3>Witherspoon Platform<a class="headerlink" href="#witherspoon-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">platforms/witherspoon: Make PCIe shared slot error message more informative</p>
+<li><p>platforms/witherspoon: Make PCIe shared slot error message more informative</p>
<p>If we’re missing chips for some reason, we print a warning when configuring
the PCIe shared slot.</p>
<p>The warning doesn’t really make it clear what “shared slot” is, and if it’s
printed, it’ll come right after a bunch of messages about NPU setup, so
let’s clarify the message to explicitly mention PCI.</p>
</li>
-<li><p class="first">witherspoon: Add nvlink2 interconnect information</p>
+<li><p>witherspoon: Add nvlink2 interconnect information</p>
<p>See <a class="reference internal" href="#skiboot-6-3-new-features"><span class="std std-ref">New Features</span></a> for details.</p>
</li>
</ul>
-</div>
-<div class="section" id="zaius-platform">
+</section>
+<section id="zaius-platform">
<h3>Zaius Platform<a class="headerlink" href="#zaius-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">zaius: Add BMC description</p>
+<li><p>zaius: Add BMC description</p>
<p>Frederic reported that Zaius was failing with a NULL dereference when
trying to initialise IPMI HIOMAP. It turns out that the BMC wasn’t
described at all, so add a description.</p>
</li>
</ul>
-</div>
-<div class="section" id="p9dsu-platform">
+</section>
+<section id="p9dsu-platform">
<h3>p9dsu platform<a class="headerlink" href="#p9dsu-platform" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p class="first">p9dsu: Fix p9dsu default variant</p>
+<li><p>p9dsu: Fix p9dsu default variant</p>
<p>Add the default when no riser_id is returned from the ipmi query.</p>
<p>Allow a little more time for BMC reply and cleanup some label strings.</p>
</li>
</ul>
-</div>
-</div>
-<div class="section" id="pcie">
+</section>
+</section>
+<section id="pcie">
<h2>PCIe<a class="headerlink" href="#pcie" title="Permalink to this headline">¶</a></h2>
<p>See <a class="reference internal" href="#skiboot-6-3-power9"><span class="std std-ref">POWER9</span></a> for POWER9 specific PCIe changes.</p>
<ul>
-<li><p class="first">core/pcie-slot: Don’t bail early in the power on case</p>
+<li><p>core/pcie-slot: Don’t bail early in the power on case</p>
<p>Exiting early in the power off case makes sense since we can’t disable
slot power (or assert PERST) for suprise hotplug slots. However, we
should not exit early in the power-on case since it’s possible slot
power may have been disabled (or just not enabled at boot time).</p>
</li>
-<li><p class="first">firenze-pci: Always init slot info from LXVPD</p>
+<li><p>firenze-pci: Always init slot info from LXVPD</p>
<p>We can slot information from the LXVPD without having power control
information about that slot. This patch changes the init path so that
we always override the add_properties() call rather than only when we
have power control information about the slot.</p>
</li>
-<li><p class="first">fsp/lxvpd: Print more LXVPD slot information</p>
+<li><p>fsp/lxvpd: Print more LXVPD slot information</p>
<p>Useful to know since it changes the behaviour of the slot core.</p>
</li>
-<li><p class="first">core/pcie-slot: Set power state from the PWRCTL flag</p>
+<li><p>core/pcie-slot: Set power state from the PWRCTL flag</p>
<p>For some reason we look at the power control indicator and use that to
determine if the slot is “off” rather than the power control flag that
is used to power down the slot.</p>
@@ -888,7 +880,7 @@ is used to power down the slot.</p>
assumed to be powered on if there’s no slot capability, or if there’s
no power control available.</p>
</li>
-<li><p class="first">core/pci: Increase the max slot string size</p>
+<li><p>core/pci: Increase the max slot string size</p>
<p>The maximum string length for the slot label / device location code in
the PCI summary is currently 32 characters. This results in some IBM
location codes being truncated due to their length, e.g.</p>
@@ -906,7 +898,7 @@ since that’s the maximum length for a location code.</p>
</ul>
<p>Since v6.3-rc3:</p>
<ul>
-<li><p class="first">pci: Try harder to add meaningful ibm,loc-code</p>
+<li><p>pci: Try harder to add meaningful ibm,loc-code</p>
<p>We keep the existing logic of looking to the parent for the slot-label or
slot-location-code, but we add logic to (if all that fails) we look
directly for the slot-location-code (as this should give us the correct
@@ -935,13 +927,13 @@ we have no location codes which some people consider an issue.</p>
the root port device default to the ibm,io-base-location-code which is
typically the location code for the system itself.</p>
<p>e.g.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pciex</span><span class="nd">@600c3c0100000</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pciex</span><span class="o">@</span><span class="mi">600</span><span class="n">c3c0100000</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
<span class="s2">&quot;UOPWR.0000000-Node0-Proc0&quot;</span>
-<span class="n">pciex</span><span class="nd">@600c3c0100000</span><span class="o">/</span><span class="n">pci</span><span class="nd">@0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
+<span class="n">pciex</span><span class="o">@</span><span class="mi">600</span><span class="n">c3c0100000</span><span class="o">/</span><span class="n">pci</span><span class="o">@</span><span class="mi">0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
<span class="s2">&quot;UOPWR.0000000-Node0-Proc0&quot;</span>
-<span class="n">pciex</span><span class="nd">@600c3c0100000</span><span class="o">/</span><span class="n">pci</span><span class="nd">@0</span><span class="o">/</span><span class="n">usb</span><span class="o">-</span><span class="n">xhci</span><span class="nd">@0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
+<span class="n">pciex</span><span class="o">@</span><span class="mi">600</span><span class="n">c3c0100000</span><span class="o">/</span><span class="n">pci</span><span class="o">@</span><span class="mi">0</span><span class="o">/</span><span class="n">usb</span><span class="o">-</span><span class="n">xhci</span><span class="o">@</span><span class="mi">0</span><span class="o">/</span><span class="n">ibm</span><span class="p">,</span><span class="n">loc</span><span class="o">-</span><span class="n">code</span>
<span class="s2">&quot;UOPWR.0000000-Node0&quot;</span>
</pre></div>
</div>
@@ -950,7 +942,7 @@ processor they are attached to, while the usb-xhci device under the
root port has a location code of the system itself.</p>
</div></blockquote>
<ul>
-<li><p class="first">hw/phb4: Read ibm,loc-code from PBCQ node</p>
+<li><p>hw/phb4: Read ibm,loc-code from PBCQ node</p>
<p>On P9 the PBCQs are subdivided by stacks which implement the PCI Express
logic. When phb4 was forked from phb3 most of the properties that were
in the pbcq node moved into the stack node, but ibm,loc-code was not one
@@ -959,11 +951,11 @@ location code from the PBCQ node (parent of the stack node) rather than
the stack node itself.</p>
</li>
</ul>
-</div>
-<div class="section" id="opencapi">
+</section>
+<section id="opencapi">
<span id="skiboot-6-3-opencapi"></span><h2>OpenCAPI<a class="headerlink" href="#opencapi" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2/hw-procedures: Fix parallel zcal for opencapi</p>
+<li><p>npu2/hw-procedures: Fix parallel zcal for opencapi</p>
<p>For opencapi, we currently do impedance calibration when initializing
the PHY for the device, which could run in parallel if we have
multiple opencapi devices. But if 2 devices are on the same
@@ -972,17 +964,17 @@ bad results and is useless anyway since it only needs to be done once
per obus.</p>
<p>This patch splits the opencapi PHY reset in 2 parts:</p>
<ul class="simple">
-<li>a ‘init’ part called serially at boot. That’s when zcal is done. If
+<li><p>a ‘init’ part called serially at boot. That’s when zcal is done. If
we have 2 devices on the same socket, the zcal won’t be redone,
since we’re called serially and we’ll see it has already be done for
-the obus</li>
-<li>a ‘reset’ part called during fundamental reset as a prereq for link
-training. It does the PHY setup for a set of lanes and the dccal.</li>
+the obus</p></li>
+<li><p>a ‘reset’ part called during fundamental reset as a prereq for link
+training. It does the PHY setup for a set of lanes and the dccal.</p></li>
</ul>
<p>The PHY team confirmed there’s no dependency between zcal and the
other reset steps and it can be moved earlier.</p>
</li>
-<li><p class="first">npu2-hw-procedures: Fix zcal in mixed opencapi and nvlink mode</p>
+<li><p>npu2-hw-procedures: Fix zcal in mixed opencapi and nvlink mode</p>
<p>The zcal procedure needs to be run once per obus. We keep track of
which obus is already calibrated in an array indexed by the obus
number. However, the obus number is inferred from the brick index,
@@ -990,7 +982,7 @@ which works well for nvlink but not for opencapi.</p>
<p>Create an obus_index() function, which, from a device, returns the
correct obus index, irrespective of the device type.</p>
</li>
-<li><p class="first">npu2-opencapi: Fix adapter reset when using 2 adapters</p>
+<li><p>npu2-opencapi: Fix adapter reset when using 2 adapters</p>
<p>If two opencapi adapters are on the same obus, we may try to train the
two links in parallel at boot time, when all the PCI links are being
trained. Both links use the same i2c controller to handle the reset
@@ -1000,14 +992,14 @@ current state of the i2c controller (and use locking).</p>
<p>This went mostly unnoticed as you need to have 2 opencapi cards on the
same socket and links tended to train anyway because of the retries.</p>
</li>
-<li><p class="first">npu2-opencapi: Extend delay after releasing reset on adapter</p>
+<li><p>npu2-opencapi: Extend delay after releasing reset on adapter</p>
<p>Give more time to the FPGA to process the reset signal. The previous
delay, 5ms, is too short for newer adapters with bigger FPGAs. Extend
it to 250ms.
Ultimately, that delay will likely end up being added to the opencapi
specification, but we are not there yet.</p>
</li>
-<li><p class="first">npu2-opencapi: ODL should be in reset when enabled</p>
+<li><p>npu2-opencapi: ODL should be in reset when enabled</p>
<p>We haven’t hit any problem so far, but from the ODL designer, the ODL
should be in reset when it is enabled.</p>
<p>The ODL remains in reset until we start a fundamental reset to
@@ -1017,7 +1009,7 @@ link. Asserting is therefore useless at boot, since the ODL is already
in reset, but we keep it as it’s only a scom write and it’s needed
when we reset/retrain from the OS.</p>
</li>
-<li><p class="first">npu2-opencapi: Keep ODL and adapter in reset at the same time</p>
+<li><p>npu2-opencapi: Keep ODL and adapter in reset at the same time</p>
<p>Split the function to assert and deassert the reset signal on the ODL,
so that we can keep the ODL in reset while we reset the adapter,
therefore having a window where both sides are in reset.</p>
@@ -1026,7 +1018,7 @@ need to split the ODL reset function for the following patch and it
will become useful/required later when we introduce resetting an
opencapi link from the OS.</p>
</li>
-<li><p class="first">npu2-opencapi: Setup perf counters to detect CRC errors</p>
+<li><p>npu2-opencapi: Setup perf counters to detect CRC errors</p>
<p>It’s possible to set up performance counters for the PLL to detect
various conditions for the links in nvlink or opencapi mode. Since
those counters are currently unused, let’s configure them when an obus
@@ -1041,13 +1033,13 @@ configured to be reset after each read.</p>
</ul>
<p>Since v6.3-rc1:</p>
<ul>
-<li><p class="first">opal/hmi: Never trust a cow!</p>
+<li><p>opal/hmi: Never trust a cow!</p>
<p>With opencapi, it’s fairly common to trigger HMIs during AFU
development on the FPGA, by not replying in time to an NPU command,
for example. So shift the blame reported by that cow to avoid crowding
my mailbox.</p>
</li>
-<li><p class="first">hw/npu2: Dump (more) npu2 registers on link error and HMIs</p>
+<li><p>hw/npu2: Dump (more) npu2 registers on link error and HMIs</p>
<p>We were already logging some NPU registers during an HMI. This patch
cleans up a bit how it is done and separates what is global from what
is specific to nvlink or opencapi.</p>
@@ -1058,7 +1050,7 @@ registers of the brick which hit the error.</p>
allow for proper debugging. For each register, we print the name as
found in the NPU workbook, the scom address and the register value.</p>
</li>
-<li><p class="first">hw/npu2: Report errors to the OS if an OpenCAPI brick is fenced</p>
+<li><p>hw/npu2: Report errors to the OS if an OpenCAPI brick is fenced</p>
<p>Now that the NPU may report interrupts due to the link going down
unexpectedly, report those errors to the OS when queried by the
‘next_error’ PHB callback.</p>
@@ -1066,7 +1058,7 @@ unexpectedly, report those errors to the OS when queried by the
unexpectedly. So we report the PHB as dead, so that the OS can log the
proper message, notify the drivers and take the devices down.</p>
</li>
-<li><p class="first">hw/npu2: Fix OpenCAPI PE assignment</p>
+<li><p>hw/npu2: Fix OpenCAPI PE assignment</p>
<p>When we support mixing NVLink and OpenCAPI devices on the same NPU, we’re
going to have to share the same range of 16 PE numbers between NVLink and
OpenCAPI PHBs.</p>
@@ -1078,18 +1070,18 @@ half that is used for OpenCAPI, with a fixed PE number assigned per brick.</p>
<p>As the PE assignment for OpenCAPI devices is fixed, set the PE once
during device init and then ignore calls to the set_pe() operation.</p>
</li>
-<li><p class="first">opal-api: Reserve 2 OPAL API calls for future OpenCAPI LPC use</p>
+<li><p>opal-api: Reserve 2 OPAL API calls for future OpenCAPI LPC use</p>
<p>OpenCAPI Lowest Point of Coherency (LPC) memory is going to require
some extra OPAL calls to set up NPU BARs. These calls will most likely be
called OPAL_NPU_LPC_ALLOC and OPAL_NPU_LPC_RELEASE, we’re not quite ready
to upstream that code yet though.</p>
</li>
</ul>
-</div>
-<div class="section" id="nvlink2">
+</section>
+<section id="nvlink2">
<h2>NVLINK2<a class="headerlink" href="#nvlink2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2: Allow ATSD for LPAR other than 0</p>
+<li><p>npu2: Allow ATSD for LPAR other than 0</p>
<p>Each XTS MMIO ATSD# register is accompanied by another register -
XTS MMIO ATSD0 LPARID# - which controls LPID filtering for ATSD
transactions.</p>
@@ -1100,7 +1092,7 @@ the LPAR. The link number is used for an ATSD index.</p>
<p>ATSD6&amp;7 stay mapped to the host (LPAR=0) all the time which seems to be
acceptable price for the simplicity.</p>
</li>
-<li><p class="first">npu2: Add XTS_BDF_MAP wildcard refcount</p>
+<li><p>npu2: Add XTS_BDF_MAP wildcard refcount</p>
<p>Currently PID wildcard is programmed into the NPU once and never cleared
up. This works for the bare metal as MSR does not change while the host
OS is running.</p>
@@ -1137,13 +1129,13 @@ a bare metal). To enable snarfing, the user needs to run:</p>
<p>and reboot the host system.</p>
</div></blockquote>
<ul class="simple">
-<li>hw/npu2: Show name of opencapi error interrupts</li>
+<li><p>hw/npu2: Show name of opencapi error interrupts</p></li>
</ul>
-</div>
-<div class="section" id="debugging-and-simulation">
+</section>
+<section id="debugging-and-simulation">
<h2>Debugging and simulation<a class="headerlink" href="#debugging-and-simulation" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/mambo: Error out if kernel is too large</p>
+<li><p>external/mambo: Error out if kernel is too large</p>
<p>If you’re trying to boot a gigantic kernel in mambo (which you can
reproduce by building a kernel with CONFIG_MODULES=n) you’ll get
misleading errors like:</p>
@@ -1162,14 +1154,14 @@ Making PAYLOAD_ADDR further back is one way to do this but if there’s a
less gross way to generally work around this very niche problem, I can
suggest that instead.</p>
</li>
-<li><p class="first">external/mambo: Populate kernel-base-address in the DT</p>
+<li><p>external/mambo: Populate kernel-base-address in the DT</p>
<p>skiboot.tcl defines PAYLOAD_ADDR as 0x20000000, which is the default in
skiboot. This is also the default in skiboot unless kernel-base-address
is set in the device tree.</p>
<p>If you change PAYLOAD_ADDR to something else for mambo, skiboot won’t
see it because it doesn’t set that DT property, so fix it so that it does.</p>
</li>
-<li><p class="first">external/mambo: allow CPU targeting for most debug utils</p>
+<li><p>external/mambo: allow CPU targeting for most debug utils</p>
<p>Debug util functions target CPU 0:0:0 by default Some can be
overidden explicitly per invocation, and others can’t at all.
Even for those that can be overidden, it is a pain to type
@@ -1178,20 +1170,20 @@ them out when you’re debugging a particular thread.</p>
target to be changed. Wire that up that default to all other utils.
Provide a new ‘S’ step command which only steps the target CPU.</p>
</li>
-<li><p class="first">qemu: bt device isn’t always hanging off /</p>
+<li><p>qemu: bt device isn’t always hanging off /</p>
<p>Just use the normal for_each_compatible instead.</p>
<p>Otherwise in the qemu model as executed by op-test,
we wouldn’t go down the astbmc_init() path, thus not having flash.</p>
</li>
-<li><p class="first">devicetree: Add p9-simics.dts</p>
+<li><p>devicetree: Add p9-simics.dts</p>
<p>Add a p9-based devicetree that’s suitable for use with Simics.</p>
</li>
-<li><p class="first">devicetree: Move power9-phb4.dts</p>
+<li><p>devicetree: Move power9-phb4.dts</p>
<p>Clean up the formatting of power9-phb4.dts and move it to
external/devicetree/p9.dts. This sets us up to include it as the basis
for other trees.</p>
</li>
-<li><p class="first">devicetree: Add nx node to power9-phb4.dts</p>
+<li><p>devicetree: Add nx node to power9-phb4.dts</p>
<p>A (non-qemu) p9 without an nx node will assert in p9_darn_init():</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>dt_for_each_compatible(dt_root, nx, &quot;ibm,power9-nx&quot;)
break;
@@ -1204,31 +1196,31 @@ if (!nx) {
</div>
<p>Since NX is this essential, add it to the device tree.</p>
</li>
-<li><p class="first">devicetree: Fix typo in power9-phb4.dts</p>
+<li><p>devicetree: Fix typo in power9-phb4.dts</p>
<p>Change “impi” to “ipmi”.</p>
</li>
-<li><p class="first">devicetree: Fix syntax error in power9-phb4.dts</p>
+<li><p>devicetree: Fix syntax error in power9-phb4.dts</p>
<p>Remove the extra space causing this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Error</span><span class="p">:</span> <span class="n">power9</span><span class="o">-</span><span class="n">phb4</span><span class="o">.</span><span class="n">dts</span><span class="p">:</span><span class="mf">156.15</span><span class="o">-</span><span class="mi">16</span> <span class="n">syntax</span> <span class="n">error</span>
<span class="n">FATAL</span> <span class="n">ERROR</span><span class="p">:</span> <span class="n">Unable</span> <span class="n">to</span> <span class="n">parse</span> <span class="nb">input</span> <span class="n">tree</span>
</pre></div>
</div>
</li>
-<li><p class="first">core/init: enable machine check on secondaries</p>
+<li><p>core/init: enable machine check on secondaries</p>
<p>Secondary CPUs currently run with MSR[ME]=0 during boot, whih means
if they take a machine check, the system will checkstop.</p>
<p>Enable ME where possible and allow them to print registers.</p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pflash: Don’t try update RO ToC</p>
+<li><p>pflash: Don’t try update RO ToC</p>
<p>In the future it’s likely the ToC will be marked as read-only. Don’t
error out by assuming its writable.</p>
</li>
-<li><p class="first">pflash: Support encoding/decoding ECC’d partitions</p>
+<li><p>pflash: Support encoding/decoding ECC’d partitions</p>
<p>With the new –ecc option, pflash can add/remove ECC when
reading/writing flash partitions protected by ECC.</p>
<p>This is <em>not</em> flawless with current PNORs out in the wild though, as
@@ -1243,13 +1235,14 @@ out” to support reading the “valid” data from existing PNOR images.</p>
</ul>
<p>Since v6.3-rc2:</p>
<ul class="simple">
-<li>opal-prd: Fix memory leak in is-fsp-system check</li>
-<li>opal-prd: Check malloc return value</li>
+<li><p>opal-prd: Fix memory leak in is-fsp-system check</p></li>
+<li><p>opal-prd: Check malloc return value</p></li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -1298,17 +1291,15 @@ out” to support reading the “valid” data from existing PNOR images.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -1325,14 +1316,15 @@ out” to support reading the “valid” data from existing PNOR images.</p>
<li class="right" >
<a href="skiboot-6.2.4.html" title="skiboot-6.2.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.4-rc1.html b/doc/release-notes/skiboot-6.4-rc1.html
index 90ae191..f50313a 100644
--- a/doc/release-notes/skiboot-6.4-rc1.html
+++ b/doc/release-notes/skiboot-6.4-rc1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.4-rc1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.4-rc1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.4.html" title="skiboot-6.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.4-rc1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-4-rc1">
+ <section id="skiboot-6-4-rc1">
<span id="id1"></span><h1>skiboot-6.4-rc1<a class="headerlink" href="#skiboot-6-4-rc1" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.4-rc1 was released on Monday July 8th 2019. It is the first
release candidate of skiboot 6.4, which will become the new stable release
@@ -57,17 +57,17 @@ and <a class="reference internal" href="skiboot-6.3.2.html#skiboot-6-3-2"><span
stable releases).</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over skiboot 6.3, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<span id="skiboot-6-4-rc1-new-features"></span><h2>New features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">platforms/nicole: Add new platform</p>
+<li><p>platforms/nicole: Add new platform</p>
<p>The platform is a new platform from YADRO, it’s a storage controller for
TATLIN server. It’s Based on IBM Romulus reference design (POWER9).</p>
</li>
-<li><p class="first">platform/zz: Add new platform type</p>
+<li><p>platform/zz: Add new platform type</p>
<p>We have new platform type under ZZ. Lets add them. With this fix</p>
</li>
-<li><p class="first">nvram: Flag dangerous NVRAM options</p>
+<li><p>nvram: Flag dangerous NVRAM options</p>
<p>Most nvram options used by skiboot are just for debug or testing for
regressions. They should never be used long term.</p>
<p>We’ve hit a number of issues in testing and the field where nvram
@@ -76,7 +76,7 @@ after, resulting in crashes or real bugs being masked.</p>
<p>This patch marks most nvram options used by skiboot as dangerous and
prints a chicken to remind users of the problem.</p>
</li>
-<li><p class="first">hw/phb3: Add verbose EEH output</p>
+<li><p>hw/phb3: Add verbose EEH output</p>
<p>Add support for the pci-eeh-verbose NVRAM flag on PHB3. We’ve had this
on PHB4 since forever and it has proven very useful when debugging EEH
issues. When testing changes to the Linux kernel’s EEH implementation
@@ -86,21 +86,21 @@ XMON.</p>
<p>Note that unlike PHB4 we do not enable verbose mode by default. The
nvram option must be used to explicitly enable it.</p>
</li>
-<li><p class="first">Experimental support for building without FSP code</p>
+<li><p>Experimental support for building without FSP code</p>
<p>Now, with CONFIG_FSP=0/1 we have:</p>
<ul class="simple">
-<li>1.6M/1.4M skiboot.lid</li>
-<li>323K/375K skiboot.lid.xz</li>
+<li><p>1.6M/1.4M skiboot.lid</p></li>
+<li><p>323K/375K skiboot.lid.xz</p></li>
</ul>
</li>
-<li><p class="first">doc: travis-ci deploy docs!</p>
+<li><p>doc: travis-ci deploy docs!</p>
<p>Documentation is now automatically deployed if you configure Travis CI
appropriately (we have done this for the open-power branch of skiboot)</p>
</li>
-<li><p class="first">Big OPAL API Documentation improvement</p>
+<li><p>Big OPAL API Documentation improvement</p>
<p>A lot more OPAL API calls are now (at least somewhat) documented.</p>
</li>
-<li><p class="first">opal/hmi: Report NPU2 checkstop reason</p>
+<li><p>opal/hmi: Report NPU2 checkstop reason</p>
<p>The NPU2 is currently not passing any information to linux to explain
the cause of an HMI. NPU2 has three Fault Isolation Registers and over
30 of those FIR bits are configured to raise an HMI by default. We
@@ -108,29 +108,29 @@ won’t be able to fit all possible state in the 32-bit xstop_reason
field of the HMI event, but we can still try to encode up to 4 HMI
reasons.</p>
</li>
-<li><p class="first">opal-msg: Enhance opal-get-msg API</p>
+<li><p>opal-msg: Enhance opal-get-msg API</p>
<p>Linux uses <a class="reference internal" href="../opal-api/opal-get-msg-85.html#opal-get-msg"><span class="std std-ref">OPAL_GET_MSG</span></a> API to get OPAL messages. This interface
supports upto 8 params (64 bytes). We have a requirement to send bigger data to
Linux. This patch enhances OPAL to send bigger data to Linux.</p>
<ul class="simple">
-<li>Linux will use “opal-msg-size” device tree property to allocate memory for
-OPAL messages (previous patch increased “opal-msg-size” to 64K).</li>
-<li>Replaced <cite>reserved</cite> field in “struct opal_msg” with <cite>size</cite>. So that Linux
-side opal_get_msg user can detect actual data size.</li>
-<li>If buffer size &lt; actual message size, then opal_get_msg will copy partial
-data and return OPAL_PARTIAL to Linux.</li>
-<li>Add new variable “extended” to “opal_msg_entry” structure to keep track
+<li><p>Linux will use “opal-msg-size” device tree property to allocate memory for
+OPAL messages (previous patch increased “opal-msg-size” to 64K).</p></li>
+<li><p>Replaced <cite>reserved</cite> field in “struct opal_msg” with <cite>size</cite>. So that Linux
+side opal_get_msg user can detect actual data size.</p></li>
+<li><p>If buffer size &lt; actual message size, then opal_get_msg will copy partial
+data and return OPAL_PARTIAL to Linux.</p></li>
+<li><p>Add new variable “extended” to “opal_msg_entry” structure to keep track
of messages that has more than 64byte data. We will allocate separate
memory for these messages and once kernel consumes message we will
-release that memory.</li>
+release that memory.</p></li>
</ul>
</li>
-<li><p class="first">core/opal: Increase opal-msg-size size</p>
+<li><p>core/opal: Increase opal-msg-size size</p>
<p>Kernel will use <cite>opal-msg-size</cite> property to allocate memory for opal_msg.
We want to send bigger data from OPAL to kernel. Hence increase
opal-msg-size to 64K.</p>
</li>
-<li><p class="first">hw/npu2-opencapi: Add initial support for allocating OpenCAPI LPC memory</p>
+<li><p>hw/npu2-opencapi: Add initial support for allocating OpenCAPI LPC memory</p>
<p>Lowest Point of Coherency (LPC) memory allows the host to access memory on
an OpenCAPI device.</p>
<p>Define 2 OPAL calls, <a class="reference internal" href="../opal-api/opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-mem-alloc"><span class="std std-ref">OPAL_NPU_MEM_ALLOC</span></a> and <a class="reference internal" href="../opal-api/opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-mem-release"><span class="std std-ref">OPAL_NPU_MEM_RELEASE</span></a>, for
@@ -141,7 +141,7 @@ are restricted to a single range of 4TB, on a single OpenCAPI device per
chip. In future, we’ll use some chip ID extension magic to give us more
space, and some sort of allocator to assign ranges to more than one device.</p>
</li>
-<li><p class="first">core/fast-reboot: Add im-feeling-lucky option</p>
+<li><p>core/fast-reboot: Add im-feeling-lucky option</p>
<p>Fast reboot gets disabled for a number of reasons e.g. the availability
of nvlink. However this doesn’t actually affect the ability to perform fast
reboot if no nvlink device is actually present.</p>
@@ -149,7 +149,7 @@ reboot if no nvlink device is actually present.</p>
“im-feeling-lucky” then perform the fast-reboot irrespective of if it’s
previously been disabled.</p>
</li>
-<li><p class="first">platforms/astbmc: Check for SBE validation step</p>
+<li><p>platforms/astbmc: Check for SBE validation step</p>
<p>On some POWER8 astbmc systems an update to the SBE requires pausing at
runtime to ensure integrity of the SBE. If this is required the BMC will
set a chassis boot option IPMI flag using the OEM parameter 0x62. If
@@ -160,24 +160,24 @@ it in a bad state and unable to be used for timer operations. To
workaround this the flag is checked as soon as possible (ie. when IPMI
and the console are set up), and once complete the system is rebooted.</p>
</li>
-<li><p class="first">Add P9 DIO interrupt support</p>
+<li><p>Add P9 DIO interrupt support</p>
<p>On P9 there are GPIO port 0, 1, 2 for GPIO interrupt, and DIO interrupt
is used to handle the interrupts.</p>
<p>Add support to the DIO interrupts:</p>
<ol class="arabic simple">
-<li>Add dio_interrupt_register(chip, port, callback) to register the
-interrupt</li>
-<li>Add dio_interrupt_deregister(chip, port, callback) to deregister;</li>
-<li>When interrupt on the port occurs, callback is invoked, and the
-interrupt status is cleared.</li>
+<li><p>Add dio_interrupt_register(chip, port, callback) to register the
+interrupt</p></li>
+<li><p>Add dio_interrupt_deregister(chip, port, callback) to deregister;</p></li>
+<li><p>When interrupt on the port occurs, callback is invoked, and the
+interrupt status is cleared.</p></li>
</ol>
</li>
</ul>
-</div>
-<div class="section" id="removed-features">
+</section>
+<section id="removed-features">
<h2>Removed features<a class="headerlink" href="#removed-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">pci/iov: Remove skiboot VF tracking</p>
+<li><p>pci/iov: Remove skiboot VF tracking</p>
<p>This feature was added a few years ago in response to a request to make
the MaxPayloadSize (MPS) field of a Virtual Function match the MPS of the
Physical Function that hosts it.</p>
@@ -193,7 +193,7 @@ enabled and then disabled prior to rebooting. This patch fixes the bug by
removing the code entirely. This patch has no impact on SR-IOV support on
the host operating system.</p>
</li>
-<li><p class="first">Remove POWER7 and POWER7+ support</p>
+<li><p>Remove POWER7 and POWER7+ support</p>
<p>It’s been a good long while since either OPAL POWER7 user touched a
machine, and even longer since they’d have been okay using an old
version rather than tracking master.</p>
@@ -201,28 +201,28 @@ version rather than tracking master.</p>
long time, so it’s pretty safe to assume that it’s very much bitrotted.</p>
<p>It also saves a whole 14kb of xz compressed payload space.</p>
</li>
-<li><p class="first">Remove remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a></p>
+<li><p>Remove remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a></p>
<p>Never present in a public OPAL release, and only kernels prior to 3.11
would ever attempt to call it.</p>
</li>
-<li><p class="first">Remove unused <a class="reference internal" href="../opal-api/index.html#opal-get-xive-source"><span class="std std-ref">OPAL_GET_XIVE_SOURCE</span></a></p>
+<li><p>Remove unused <a class="reference internal" href="../opal-api/index.html#opal-get-xive-source"><span class="std std-ref">OPAL_GET_XIVE_SOURCE</span></a></p>
<p>While this call was technically implemented by skiboot, no code has ever called
it, and it was only ever implemented for the p7ioc-phb back-end (i.e. POWER7).
Since this call was unused in Linux, and that POWER7 with OPAL was only ever
available internally, so it should be safe to remove the call.</p>
</li>
-<li><p class="first">Remove unused <a class="reference internal" href="../opal-api/index.html#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a> and <a class="reference internal" href="../opal-api/index.html#opal-pci-set-xive-reissue"><span class="std std-ref">OPAL_PCI_SET_XIVE_REISSUE</span></a></p>
+<li><p>Remove unused <a class="reference internal" href="../opal-api/index.html#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a> and <a class="reference internal" href="../opal-api/index.html#opal-pci-set-xive-reissue"><span class="std std-ref">OPAL_PCI_SET_XIVE_REISSUE</span></a></p>
<p>These seem to be remnants of one of the OPAL incarnations prior to
OPALv3. These calls have never been implemented in skiboot, and never
used by an upstream kernel (nor a PowerKVM kernel).</p>
<p>It’s rather safe to just document them as never existing.</p>
</li>
-<li><p class="first">Remove never implemented <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-table-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TABLE_MEMORY</span></a> and document why</p>
+<li><p>Remove never implemented <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-table-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TABLE_MEMORY</span></a> and document why</p>
<p>Not ever used by upstream linux or PowerKVM tree. Never implemented in
skiboot (not even in ancient internal only tree).</p>
<p>So, it’s incredibly safe to remove.</p>
</li>
-<li><p class="first">Remove unused <a class="reference internal" href="../opal-api/opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a></p>
+<li><p>Remove unused <a class="reference internal" href="../opal-api/opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a></p>
<p>This call was introduced all the way back at the end of 2012, before
OPAL was public. The #define for the OPAL call was introduced to the
Linux kernel in June 2013, and the call was never used in any kernel
@@ -230,34 +230,34 @@ tree ever (as far as we can find).</p>
<p>Thus, it’s quite safe to remove this completely unused and completely
untested OPAL call.</p>
</li>
-<li><p class="first">Document the long removed <a class="reference internal" href="../opal-api/index.html#opal-register-opal-exception-handler"><span class="std std-ref">OPAL_REGISTER_OPAL_EXCEPTION_HANDLER</span></a> call</p>
+<li><p>Document the long removed <a class="reference internal" href="../opal-api/index.html#opal-register-opal-exception-handler"><span class="std std-ref">OPAL_REGISTER_OPAL_EXCEPTION_HANDLER</span></a> call</p>
<p>I’m pretty sure this was removed in one of our first ever service packs.</p>
<p>Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/98">https://github.com/open-power/skiboot/issues/98</a></p>
</li>
-<li><p class="first">Remove last remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a> and <a class="reference internal" href="../opal-api/index.html#opal-pci-set-hub-tce-memory"><span class="std std-ref">OPAL_PCI_SET_HUB_TCE_MEMORY</span></a></p>
+<li><p>Remove last remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a> and <a class="reference internal" href="../opal-api/index.html#opal-pci-set-hub-tce-memory"><span class="std std-ref">OPAL_PCI_SET_HUB_TCE_MEMORY</span></a></p>
<p>Since we have not supported p5ioc systems since skiboot 5.2, it’s pretty
safe to just wholesale remove these OPAL calls now.</p>
</li>
-<li><p class="first">Remove remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a></p>
+<li><p>Remove remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a></p>
<p>There’s no reason we need remnants hanging around that aren’t used, so
remove them and save a handful of bytes at runtime.</p>
<p>Simultaneously, document the OPAL call removal.</p>
</li>
</ul>
-</div>
-<div class="section" id="secure-and-trusted-boot">
+</section>
+<section id="secure-and-trusted-boot">
<h2>Secure and Trusted Boot<a class="headerlink" href="#secure-and-trusted-boot" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">trustedboot: Change PCR and event_type for the skiboot events</p>
+<li><p>trustedboot: Change PCR and event_type for the skiboot events</p>
<p>The existing skiboot events are being logged as EV_ACTION, however, the
TCG PC Client spec says that EV_ACTION events should have one of the
pre-defined strings in the event field recorded in the event log. For
instance:</p>
<ul class="simple">
-<li>“Calling Ready to Boot”,</li>
-<li>“Entering ROM Based Setup”,</li>
-<li>“User Password Entered”, and</li>
-<li>“Start Option ROM Scan.</li>
+<li><p>“Calling Ready to Boot”,</p></li>
+<li><p>“Entering ROM Based Setup”,</p></li>
+<li><p>“User Password Entered”, and</p></li>
+<li><p>“Start Option ROM Scan.</p></li>
</ul>
<p>None of the EV_ACTION pre-defined strings are applicable to the existing
skiboot events. Based on recent discussions with other POWER teams, this
@@ -276,9 +276,9 @@ to PCR[4,5,6] and logged as EV_COMPACT_HASH.</p>
EV_COMPACT_HASH seems to be the most adequate one due to its
flexibility. According to the TCG PC Client spec:</p>
<ul class="simple">
-<li>May be used for any PCR except 0, 1, 2 and 3.</li>
-<li>The event field may be informative or may be hashed to generate the
-digest field, depending on the component recording the event.</li>
+<li><p>May be used for any PCR except 0, 1, 2 and 3.</p></li>
+<li><p>The event field may be informative or may be hashed to generate the
+digest field, depending on the component recording the event.</p></li>
</ul>
<p>Additionally, the PCR[4,5] seem to be the most adequate PCRs. They would
be used for skiboot and some skiroot events. According to the TCG PC
@@ -287,29 +287,29 @@ transition between the pre-OS and OS-present state of the platform.
PCR[4], along with PCR[5], identifies the initial OS loader.</p>
<p>In summary, for skiboot events:</p>
<ul class="simple">
-<li>Events that represents data should be extended to PCR 4.</li>
-<li>Events that represents config should be extended to PCR 5.</li>
-<li>For the lack of an event type that fits the specific purpose,
-both data and config events should be logged as EV_COMPACT_HASH.</li>
+<li><p>Events that represents data should be extended to PCR 4.</p></li>
+<li><p>Events that represents config should be extended to PCR 5.</p></li>
+<li><p>For the lack of an event type that fits the specific purpose,
+both data and config events should be logged as EV_COMPACT_HASH.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="sensors">
+</section>
+<section id="sensors">
<h2>Sensors<a class="headerlink" href="#sensors" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">occ-sensors: Check if OCC is reset while reading inband sensors</p>
+<li><p>occ-sensors: Check if OCC is reset while reading inband sensors</p>
<p>OCC may not be able to mark the sensor buffer as invalid while going
down RESET. If OCC never comes back we will continue to read the stale
sensor data. So verify if OCC is reset while reading the sensor values
and propagate the appropriate error.</p>
</li>
</ul>
-</div>
-<div class="section" id="ipmi">
+</section>
+<section id="ipmi">
<h2>IPMI<a class="headerlink" href="#ipmi" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">ipmi: ensure forward progress on ipmi_queue_msg_sync()</p>
+<li><p>ipmi: ensure forward progress on ipmi_queue_msg_sync()</p>
<p>BT responses are handled using a timer doing the polling. To hope to
get an answer to an IPMI synchronous message, the timer needs to run.</p>
<p>We can’t just check all timers though as there may be a timer that
@@ -322,11 +322,11 @@ backend needs, then we should be fine.</p>
flash resource with the IPMI HIOMAP backend.</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2">
+</section>
+<section id="npu2">
<h2>NPU2<a class="headerlink" href="#npu2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">npu2: Increase timeout for L2/L3 cache purging</p>
+<li><p>npu2: Increase timeout for L2/L3 cache purging</p>
<p>On NVLink2 bridge reset, we purge all L2/L3 caches in the system.
This is an asynchronous operation, we have a 2ms timeout here. There are
reports that this is not enough and “PURGE L3 on core xxx timed out”
@@ -335,11 +335,11 @@ messages appear (for the reference: on the test setup this takes
<p>This defines the timeout as a macro and changes this from 2ms to 20ms.</p>
<p>This adds a tracepoint to tell how long it took to purge all the caches.</p>
</li>
-<li><p class="first">npu2: Purge cache when resetting a GPU</p>
+<li><p>npu2: Purge cache when resetting a GPU</p>
<p>After putting all a GPU’s links in reset, do a cache purge in case we
have CPU cache lines belonging to the now-unaccessible GPU memory.</p>
</li>
-<li><p class="first">npu2-opencapi: Mask 2 XSL errors</p>
+<li><p>npu2-opencapi: Mask 2 XSL errors</p>
<p>Commit f8dfd699f584 (“hw/npu2: Setup an error interrupt on some
opencapi FIRs”) converted some FIR bits default action from system
checkstop to raising an error interrupt. For 2 XSL error events that
@@ -352,7 +352,7 @@ those 2 XSL errors. The error will also be picked up by the OTL logic,
which is per link. So we’ll still get an error interrupt, but only on
the relevant link, and the other opencapi adapter can stay functional.</p>
</li>
-<li><p class="first">npu2: Clear fence state for a brick being reset</p>
+<li><p>npu2: Clear fence state for a brick being reset</p>
<p>Resetting a GPU before resetting an NVLink leads to occasional HMIs
which fence some bricks and prevent the “reset_ntl” procedure from
succeeding at the “reset_ntl_release” step - the host system requires
@@ -360,11 +360,11 @@ reboot; there may be other cases like this as well.</p>
<p>This adds clearing of the fence bit in NPU.MISC.FENCE_STATE for
the NVLink which we are about to reset.</p>
</li>
-<li><p class="first">npu2: Fix clearing the FIR bits</p>
+<li><p>npu2: Fix clearing the FIR bits</p>
<p>FIR registers are SCOM-only so they cannot be accesses with the indirect
write, and yet we use SCOM-based addresses for these; fix this.</p>
</li>
-<li><p class="first">npu2: Reset NVLinks when resetting a GPU</p>
+<li><p>npu2: Reset NVLinks when resetting a GPU</p>
<p>Resetting a V100 GPU brings its NVLinks down and if an NPU tries using
those, an HMI occurs. We were lucky not to observe this as the bare metal
does not normally reset a GPU and when passed through, GPUs are usually
@@ -375,7 +375,7 @@ brings HMIs.</p>
so when the host system issues secondary bus reset to the slot, it resets
associated NVLinks.</p>
</li>
-<li><p class="first">npu2: Reset PID wildcard and refcounter when mapped to LPID</p>
+<li><p>npu2: Reset PID wildcard and refcounter when mapped to LPID</p>
<p>Since 105d80f85b “npu2: Use unfiltered mode in XTS tables” we do not
register every PID in the XTS table so the table has one entry per LPID.
Then we added a reference counter to keep track of the entry use when
@@ -390,11 +390,11 @@ XTS entries and does not update the XTS table which breaks ATS.</p>
assigned to LPID and we cannot rely on the kernel to clean that up.</p>
</li>
</ul>
-</div>
-<div class="section" id="phb4">
+</section>
+<section id="phb4">
<h2>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">hw/phb4: Make phb4_training_trace() more general</p>
+<li><p>hw/phb4: Make phb4_training_trace() more general</p>
<p>phb4_training_trace() is used to monitor the Link Training Status
State Machine (LTSSM) of the PHB’s data link layer. Currently it is only
used to observe the LTSSM while bringing up the link, but sometimes it’s
@@ -403,7 +403,7 @@ secondary bus reset). This patch renames it to phb4_link_trace() and
allows the target LTSSM state and a flexible timeout to help in these
situations.</p>
</li>
-<li><p class="first">hw/phb4: Make pci-tracing print at PR_NOTICE</p>
+<li><p>hw/phb4: Make pci-tracing print at PR_NOTICE</p>
<p>When pci-tracing is enabled we print each trace status message and the
final trace status at PR_ERROR. The final status messages are similar to
those printed when we fail to train in the non-pci-tracing path and this
@@ -412,7 +412,7 @@ has resulted in spurious op-test failures.</p>
they’re not accidently interpreted as actual error messages. PR_NOTICE
messages are still printed to the console during boot.</p>
</li>
-<li><p class="first">hw/phb4: Use read/write_reg in assert_perst</p>
+<li><p>hw/phb4: Use read/write_reg in assert_perst</p>
<p>While the PHB is fenced we can’t use the MMIO interface to access PHB
registers. While processing a complete reset we inject a PHB fence to
isolate the PHB from the rest of the system because the PHB won’t
@@ -428,7 +428,7 @@ when the system was fast-reset.</p>
<p>This patch fixes the problem by replacing the raw {in|out}_be64()
accessors with the phb4_{read|write}_reg() functions.</p>
</li>
-<li><p class="first">hw/phb4: Assert Link Disable bit after ETU init</p>
+<li><p>hw/phb4: Assert Link Disable bit after ETU init</p>
<p>The cursed RAID card in ozrom1 has a bug where it ignores PERST being
asserted. The PCIe Base spec is a little vague about what happens
while PERST is asserted, but it does clearly specify that when
@@ -518,27 +518,26 @@ seems to avoid the Completion Timeout. With the patch applied we get:</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="simulators">
+</section>
+<section id="simulators">
<h2>Simulators<a class="headerlink" href="#simulators" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">external/mambo: Bump default POWER9 to Nimbus DD2.3</p>
-</li>
-<li><p class="first">external/mambo: fix tcl startup code for mambo bogus net (repost)</p>
+<li><p>external/mambo: Bump default POWER9 to Nimbus DD2.3</p></li>
+<li><p>external/mambo: fix tcl startup code for mambo bogus net (repost)</p>
<p>This fixes a couple issues with external/mambo/skiboot.tcl so I can use the
mambo bogus net.</p>
<ul class="simple">
-<li>newer distros (ubuntu 18.04) allow tap device to have a user specified
-name instead of just tapN so we need to pass in a name not a number.</li>
-<li>need some kind of default for net_mac, and need the mconfig for it
-to be set from an env var.</li>
+<li><p>newer distros (ubuntu 18.04) allow tap device to have a user specified
+name instead of just tapN so we need to pass in a name not a number.</p></li>
+<li><p>need some kind of default for net_mac, and need the mconfig for it
+to be set from an env var.</p></li>
</ul>
</li>
-<li><p class="first">skiboot.tcl: Add option to wait for GDB server connection</p>
+<li><p>skiboot.tcl: Add option to wait for GDB server connection</p>
<p>Add an environment variable which makes Mambo wait for a connection
from gdb prior to starting simulation.</p>
</li>
-<li><p class="first">mambo: Integrate addr2line into backtrace command</p>
+<li><p>mambo: Integrate addr2line into backtrace command</p>
<p>Gives nice output like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">systemsim</span> <span class="o">%</span> <span class="n">bt</span>
<span class="n">pc</span><span class="p">:</span> <span class="mh">0xC0000000002BF3D4</span> <span class="n">_savegpr0_28</span><span class="o">+</span><span class="mh">0x0</span>
@@ -557,7 +556,7 @@ from gdb prior to starting simulation.</p>
</pre></div>
</div>
</li>
-<li><p class="first">mambo: Add addr2func for symbol resolution</p>
+<li><p>mambo: Add addr2func for symbol resolution</p>
<p>If you supply a VMLINUX_MAP/SKIBOOT_MAP/USER_MAP addr2func can guess
at your symbol name. i.e.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">systemsim</span> <span class="o">%</span> <span class="n">p</span> <span class="n">pc</span>
@@ -567,36 +566,36 @@ at your symbol name. i.e.</p>
</pre></div>
</div>
</li>
-<li><p class="first">lpc-port80h: Don’t write port 80h when running under Simics</p>
+<li><p>lpc-port80h: Don’t write port 80h when running under Simics</p>
<p>Simics doesn’t model LPC port 80h. Writing to it terminates the
simulation due to an invalid LPC memory access. This patch adds a
check to ensure port 80h isn’t accessed if we are running under
Simics.</p>
</li>
-<li><p class="first">device-tree: speed up fdt building on slow simulators</p>
+<li><p>device-tree: speed up fdt building on slow simulators</p>
<p>Trade size for speed and avoid de-duplicating strings in the fdt.
This costs about 2kB in fdt size, and saves about 8 million instructions
(almost half of all instructions) booting skiboot in mambo.</p>
</li>
-<li><p class="first">fast-reboot:: skip read-only memory checksum for slow simulators</p>
+<li><p>fast-reboot:: skip read-only memory checksum for slow simulators</p>
<p>Skip the fast reboot checksum, which costs about 4 million cycles
booting skiboot in mambo.</p>
</li>
-<li><p class="first">nx: remove check on the “qemu, powernv” property</p>
+<li><p>nx: remove check on the “qemu, powernv” property</p>
<p>commit 95f7b3b9698b (“nx: Don’t abort on missing NX when using a QEMU
machine”) introduced a check on the property “qemu,powernv” to skip NX
initialization when running under a QEMU machine.</p>
<p>The QEMU platforms now expose a QUIRK_NO_RNG in the chip. Testing the
“qemu,powernv” property is not necessary anymore.</p>
</li>
-<li><p class="first">plat/qemu: add a POWER8 and POWER9 platform</p>
+<li><p>plat/qemu: add a POWER8 and POWER9 platform</p>
<p>These new QEMU platforms have characteristics closer to real OpenPOWER
systems that we use today and define a different BMC depending on the
CPU type. New platform properties are introduced for each,
“qemu,powernv8”, “qemu,powernv9” and these should be compatible with
existing QEMUs which only expose the “qemu,powernv” property</p>
</li>
-<li><p class="first">libc/string: speed up common string functions</p>
+<li><p>libc/string: speed up common string functions</p>
<p>Use compiler builtins for the string functions, and compile the
libc/string/ directory with -O2.</p>
<p>This reduces instructions booting skiboot in mambo by 2.9 million in
@@ -605,27 +604,27 @@ increase.</p>
<p>This can result in the compiler warning more cases of string function
problems.</p>
</li>
-<li><p class="first">external/mambo: Add an option to exit Mambo when the system is shutdown</p>
+<li><p>external/mambo: Add an option to exit Mambo when the system is shutdown</p>
<p>Automatically exiting can be convenient for scripting. Will also exit
due to a HW crash (eg. unhandled exception).</p>
</li>
</ul>
-</div>
-<div class="section" id="vesnin-platform">
+</section>
+<section id="vesnin-platform">
<h2>VESNIN platform<a class="headerlink" href="#vesnin-platform" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">platforms/vesnin: PCI inventory via IPMI OEM</p>
+<li><p>platforms/vesnin: PCI inventory via IPMI OEM</p>
<p>Replace raw protocol with OEM message supported by OpenBMC’s IPMI
plugins.</p>
<p>BMC-side implementation (IPMI plug-in):
<a class="reference external" href="https://github.com/YADRO-KNS/phosphor-pci-inventory">https://github.com/YADRO-KNS/phosphor-pci-inventory</a></p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">opal-gard: Account for ECC size when clearing partition</p>
+<li><p>opal-gard: Account for ECC size when clearing partition</p>
<p>When ‘opal-gard clear all’ is run, it works by erasing the GUARD then
using blockevel_smart_write() to write nothing to the partition. This
second write call is needed because we rely on libflash to set the ECC
@@ -641,25 +640,24 @@ problem by reducing the length we would normally write by the number
of ECC bytes required.</p>
</li>
</ul>
-</div>
-<div class="section" id="build-and-debugging">
+</section>
+<section id="build-and-debugging">
<h2>Build and debugging<a class="headerlink" href="#build-and-debugging" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Disable -Waddress-of-packed-member for GCC9</p>
+<li><p>Disable -Waddress-of-packed-member for GCC9</p>
<p>We throw a bunch of errors in errorlog code otherwise, which we should
fix, but we don’t <em>have</em> to yet.</p>
</li>
-<li><p class="first">Fix a lot of sparse warnings</p>
-</li>
-<li><p class="first">With new GCC comes larger GCOV binaries</p>
+<li><p>Fix a lot of sparse warnings</p></li>
+<li><p>With new GCC comes larger GCOV binaries</p>
<p>So we need to change our heap size to make more room for data/bss
without having to change where the console is or have more fun moving
things about.</p>
</li>
-<li><p class="first">Intentionally discard fini_array sections</p>
+<li><p>Intentionally discard fini_array sections</p>
<p>Produced in a SKIBOOT_GCOV=1 build, and never called by skiboot.</p>
</li>
-<li><p class="first">external/trace: Add follow option to dump_trace</p>
+<li><p>external/trace: Add follow option to dump_trace</p>
<p>When monitoring traces, an option like the tail command’s ‘-f’ (follow)
is very useful. This option continues to append to the output as more
data arrives. Add an ‘-f’ option to allow dump_trace to operate
@@ -669,7 +667,7 @@ accompanies ‘-f’. This controls how often new input will be polled. Add
a ‘-s’ option that will make dump_trace sleep for N milliseconds before
checking for new input.</p>
</li>
-<li><p class="first">external/trace: Add support for dumping multiple buffers</p>
+<li><p>external/trace: Add support for dumping multiple buffers</p>
<p>dump_trace only can dump one trace buffer at a time. It would be handy
to be able to dump multiple buffers and to see the entries from these
buffers displayed in correct timestamp order. Each trace buffer is
@@ -679,7 +677,7 @@ heap does not have a ‘heap_replace’ operation. We need to ‘heap_pop’
then ‘heap_push’ to replace the root which means rebalancing twice
instead of once.</p>
</li>
-<li><p class="first">external/trace: mmap trace buffers in dump_trace</p>
+<li><p>external/trace: mmap trace buffers in dump_trace</p>
<p>The current lseek/read approach used in dump_trace does not correctly
handle certain aspects of the buffers. It does not use the start and end
position that is part of the buffer so it will not begin from the
@@ -693,12 +691,12 @@ that are already unit tested. However this requires a kernel where the
trace buffer sysfs nodes are able to be mmaped (see
<a class="reference external" href="https://patchwork.ozlabs.org/patch/1056786/">https://patchwork.ozlabs.org/patch/1056786/</a>)</p>
</li>
-<li><p class="first">core/trace: Export trace buffers to sysfs</p>
+<li><p>core/trace: Export trace buffers to sysfs</p>
<p>Every property in the device-tree under /ibm,opal/firmware/exports has a
sysfs node created in /firmware/opal/exports. Add properties with the
physical address and size for each trace buffer so they are exported.</p>
</li>
-<li><p class="first">core/trace: Add pir number to debug_descriptor</p>
+<li><p>core/trace: Add pir number to debug_descriptor</p>
<p>The names given to the trace buffers when exported to sysfs should show
what cpu they are associated with to make it easier to understand there
output. The debug_descriptor currently stores the address and length of
@@ -707,7 +705,7 @@ tree. Extend debug_descriptor to include a cpu associated with each
trace. This will be used for creating properties in the device-tree
under /ibm,opal/firmware/exports/.</p>
</li>
-<li><p class="first">core/trace: Change trace buffer size</p>
+<li><p>core/trace: Change trace buffer size</p>
<p>We want to be able to mmap the trace buffers to be used by the
dump_trace tool. As mmaping is done in terms of pages it makes sense
that the size of the trace buffers should be page aligned. This is
@@ -716,7 +714,7 @@ beginning of the trace and the room left for an extra trace entry at the
end of the buffer. Change the size of the buffer itself so that the
entire trace buffer size will be page aligned.</p>
</li>
-<li><p class="first">core/trace: Change buffer alignment from 4K to 64K</p>
+<li><p>core/trace: Change buffer alignment from 4K to 64K</p>
<p>We want to be able to mmap the trace buffers to be used by the
dump_trace tool. This means that the trace bufferes must be page
aligned. Currently they are aligned to 4K. Most power systems have a
@@ -730,19 +728,19 @@ through sysfs. To get around this change the address that is exposed to
sysfs to be the trace_info struct. This means the lock in trace_info is
now visible too.</p>
</li>
-<li><p class="first">external/trace: Use correct width integer byte swapping</p>
+<li><p>external/trace: Use correct width integer byte swapping</p>
<p>The trace_repeat struct uses be16 for storing the number of repeats.
Currently be32_to_cpu conversion is used to display this member. This
produces an incorrect value. Use be16_to_cpu instead.</p>
</li>
-<li><p class="first">core/trace: Put boot_tracebuf in correct location.</p>
+<li><p>core/trace: Put boot_tracebuf in correct location.</p>
<p>A position for the boot_tracebuf is allocated in skiboot.lds.S.
However, without a __section attribute the boot trace buffer is not
placed in the correct location, meaning that it also will not be
correctly aligned. Add the __section attribute to ensure it will be
placed in its allocated position.</p>
</li>
-<li><p class="first">core/lock: Add debug options to store backtrace of where lock was taken</p>
+<li><p>core/lock: Add debug options to store backtrace of where lock was taken</p>
<p>Contrary to popular belief, skiboot developers are imperfect and
occasionally write locking bugs. When we exit skiboot, we check if we’re
still holding any locks, and if so, we print an error with a list of the
@@ -758,7 +756,7 @@ DEBUG=1.</p>
because the locks used by the memory allocator take up too much room in the
fake skiboot heap.)</p>
</li>
-<li><p class="first">libfdt: upgrade to upstream dtc.git 243176c</p>
+<li><p>libfdt: upgrade to upstream dtc.git 243176c</p>
<p>Upgrade libfdt/ to github.com/dgibson/dtc.git 243176c (“Fix bogus
error on rebuild”)</p>
<p>This copies dtc/libfdt/ to skiboot/libfdt/, with the only change in
@@ -768,8 +766,8 @@ or mostly eliminated by cutting out fdt version checks and unused
code, but tracking upstream is a bigger benefit at the moment.</p>
<p>This loses commits:</p>
<ul class="simple">
-<li>14ed2b842f61 (“libfdt: add basic sanity check to fdt_open_into”)</li>
-<li>bc7bb3d12bc1 (“sparse: fix declaration of fdt_strerror”)</li>
+<li><p>14ed2b842f61 (“libfdt: add basic sanity check to fdt_open_into”)</p></li>
+<li><p>bc7bb3d12bc1 (“sparse: fix declaration of fdt_strerror”)</p></li>
</ul>
<p>As well as some prehistoric similar kinds of things, which is the
punishment for us not being good downstream citizens and sending
@@ -777,10 +775,11 @@ things upstream! Syncing to upstream will make that effort simpler
in future.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -818,17 +817,15 @@ in future.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -845,14 +842,15 @@ in future.</p>
<li class="right" >
<a href="skiboot-6.4.html" title="skiboot-6.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.4-rc1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.4.html b/doc/release-notes/skiboot-6.4.html
index 58c9528..b4b35c8 100644
--- a/doc/release-notes/skiboot-6.4.html
+++ b/doc/release-notes/skiboot-6.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.3.5.html" title="skiboot-6.3.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-4">
+ <section id="skiboot-6-4">
<span id="id1"></span><h1>skiboot-6.4<a class="headerlink" href="#skiboot-6-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.4 was released on Tuesday July 16th 2019. It is the first
release of skiboot 6.4, which becomes the new stable release
@@ -55,11 +55,11 @@ of skiboot following the 6.3 release, first released May 3rd 2019.</p>
and <a class="reference internal" href="skiboot-6.3.2.html#skiboot-6-3-2"><span class="std std-ref">skiboot-6.3.2</span></a> (the currently maintained stable releases).</p>
<p>For how the skiboot stable releases work, see <a class="reference internal" href="../process/stable-skiboot-rules.html#stable-rules"><span class="std std-ref">Skiboot stable tree rules and releases</span></a> for details.</p>
<p>Over skiboot 6.3, we have the following changes:</p>
-<div class="section" id="new-features">
+<section id="new-features">
<span id="skiboot-6-4-new-features"></span><h2>New features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.4-rc1:</p>
<ul>
-<li><p class="first">npu2-opencapi: Add opencapi support on ZZ</p>
+<li><p>npu2-opencapi: Add opencapi support on ZZ</p>
<p>This patch adds opencapi support on ZZ. It hard-codes the required
device tree entries for the NPU and links. The alternative was to use
HDAT, but it somehow proved too painful to do.</p>
@@ -70,14 +70,14 @@ detection will skip link training.</p>
</ul>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">platforms/nicole: Add new platform</p>
+<li><p>platforms/nicole: Add new platform</p>
<p>The platform is a new platform from YADRO, it’s a storage controller for
TATLIN server. It’s Based on IBM Romulus reference design (POWER9).</p>
</li>
-<li><p class="first">platform/zz: Add new platform type</p>
+<li><p>platform/zz: Add new platform type</p>
<p>We have new platform type under ZZ. Lets add them. With this fix</p>
</li>
-<li><p class="first">nvram: Flag dangerous NVRAM options</p>
+<li><p>nvram: Flag dangerous NVRAM options</p>
<p>Most nvram options used by skiboot are just for debug or testing for
regressions. They should never be used long term.</p>
<p>We’ve hit a number of issues in testing and the field where nvram
@@ -86,7 +86,7 @@ after, resulting in crashes or real bugs being masked.</p>
<p>This patch marks most nvram options used by skiboot as dangerous and
prints a chicken to remind users of the problem.</p>
</li>
-<li><p class="first">hw/phb3: Add verbose EEH output</p>
+<li><p>hw/phb3: Add verbose EEH output</p>
<p>Add support for the pci-eeh-verbose NVRAM flag on PHB3. We’ve had this
on PHB4 since forever and it has proven very useful when debugging EEH
issues. When testing changes to the Linux kernel’s EEH implementation
@@ -96,21 +96,21 @@ XMON.</p>
<p>Note that unlike PHB4 we do not enable verbose mode by default. The
nvram option must be used to explicitly enable it.</p>
</li>
-<li><p class="first">Experimental support for building without FSP code</p>
+<li><p>Experimental support for building without FSP code</p>
<p>Now, with CONFIG_FSP=0/1 we have:</p>
<ul class="simple">
-<li>1.6M/1.4M skiboot.lid</li>
-<li>323K/375K skiboot.lid.xz</li>
+<li><p>1.6M/1.4M skiboot.lid</p></li>
+<li><p>323K/375K skiboot.lid.xz</p></li>
</ul>
</li>
-<li><p class="first">doc: travis-ci deploy docs!</p>
+<li><p>doc: travis-ci deploy docs!</p>
<p>Documentation is now automatically deployed if you configure Travis CI
appropriately (we have done this for the open-power branch of skiboot)</p>
</li>
-<li><p class="first">Big OPAL API Documentation improvement</p>
+<li><p>Big OPAL API Documentation improvement</p>
<p>A lot more OPAL API calls are now (at least somewhat) documented.</p>
</li>
-<li><p class="first">opal/hmi: Report NPU2 checkstop reason</p>
+<li><p>opal/hmi: Report NPU2 checkstop reason</p>
<p>The NPU2 is currently not passing any information to linux to explain
the cause of an HMI. NPU2 has three Fault Isolation Registers and over
30 of those FIR bits are configured to raise an HMI by default. We
@@ -118,29 +118,29 @@ won’t be able to fit all possible state in the 32-bit xstop_reason
field of the HMI event, but we can still try to encode up to 4 HMI
reasons.</p>
</li>
-<li><p class="first">opal-msg: Enhance opal-get-msg API</p>
+<li><p>opal-msg: Enhance opal-get-msg API</p>
<p>Linux uses <a class="reference internal" href="../opal-api/opal-get-msg-85.html#opal-get-msg"><span class="std std-ref">OPAL_GET_MSG</span></a> API to get OPAL messages. This interface
supports upto 8 params (64 bytes). We have a requirement to send bigger data to
Linux. This patch enhances OPAL to send bigger data to Linux.</p>
<ul class="simple">
-<li>Linux will use “opal-msg-size” device tree property to allocate memory for
-OPAL messages (previous patch increased “opal-msg-size” to 64K).</li>
-<li>Replaced <cite>reserved</cite> field in “struct opal_msg” with <cite>size</cite>. So that Linux
-side opal_get_msg user can detect actual data size.</li>
-<li>If buffer size &lt; actual message size, then opal_get_msg will copy partial
-data and return OPAL_PARTIAL to Linux.</li>
-<li>Add new variable “extended” to “opal_msg_entry” structure to keep track
+<li><p>Linux will use “opal-msg-size” device tree property to allocate memory for
+OPAL messages (previous patch increased “opal-msg-size” to 64K).</p></li>
+<li><p>Replaced <cite>reserved</cite> field in “struct opal_msg” with <cite>size</cite>. So that Linux
+side opal_get_msg user can detect actual data size.</p></li>
+<li><p>If buffer size &lt; actual message size, then opal_get_msg will copy partial
+data and return OPAL_PARTIAL to Linux.</p></li>
+<li><p>Add new variable “extended” to “opal_msg_entry” structure to keep track
of messages that has more than 64byte data. We will allocate separate
memory for these messages and once kernel consumes message we will
-release that memory.</li>
+release that memory.</p></li>
</ul>
</li>
-<li><p class="first">core/opal: Increase opal-msg-size size</p>
+<li><p>core/opal: Increase opal-msg-size size</p>
<p>Kernel will use <cite>opal-msg-size</cite> property to allocate memory for opal_msg.
We want to send bigger data from OPAL to kernel. Hence increase
opal-msg-size to 64K.</p>
</li>
-<li><p class="first">hw/npu2-opencapi: Add initial support for allocating OpenCAPI LPC memory</p>
+<li><p>hw/npu2-opencapi: Add initial support for allocating OpenCAPI LPC memory</p>
<p>Lowest Point of Coherency (LPC) memory allows the host to access memory on
an OpenCAPI device.</p>
<p>Define 2 OPAL calls, <a class="reference internal" href="../opal-api/opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-mem-alloc"><span class="std std-ref">OPAL_NPU_MEM_ALLOC</span></a> and <a class="reference internal" href="../opal-api/opal-npu2-opencapi-159-160-161-171-172.html#opal-npu-mem-release"><span class="std std-ref">OPAL_NPU_MEM_RELEASE</span></a>, for
@@ -151,7 +151,7 @@ are restricted to a single range of 4TB, on a single OpenCAPI device per
chip. In future, we’ll use some chip ID extension magic to give us more
space, and some sort of allocator to assign ranges to more than one device.</p>
</li>
-<li><p class="first">core/fast-reboot: Add im-feeling-lucky option</p>
+<li><p>core/fast-reboot: Add im-feeling-lucky option</p>
<p>Fast reboot gets disabled for a number of reasons e.g. the availability
of nvlink. However this doesn’t actually affect the ability to perform fast
reboot if no nvlink device is actually present.</p>
@@ -159,7 +159,7 @@ reboot if no nvlink device is actually present.</p>
“im-feeling-lucky” then perform the fast-reboot irrespective of if it’s
previously been disabled.</p>
</li>
-<li><p class="first">platforms/astbmc: Check for SBE validation step</p>
+<li><p>platforms/astbmc: Check for SBE validation step</p>
<p>On some POWER8 astbmc systems an update to the SBE requires pausing at
runtime to ensure integrity of the SBE. If this is required the BMC will
set a chassis boot option IPMI flag using the OEM parameter 0x62. If
@@ -170,25 +170,25 @@ it in a bad state and unable to be used for timer operations. To
workaround this the flag is checked as soon as possible (ie. when IPMI
and the console are set up), and once complete the system is rebooted.</p>
</li>
-<li><p class="first">Add P9 DIO interrupt support</p>
+<li><p>Add P9 DIO interrupt support</p>
<p>On P9 there are GPIO port 0, 1, 2 for GPIO interrupt, and DIO interrupt
is used to handle the interrupts.</p>
<p>Add support to the DIO interrupts:</p>
<ol class="arabic simple">
-<li>Add dio_interrupt_register(chip, port, callback) to register the
-interrupt</li>
-<li>Add dio_interrupt_deregister(chip, port, callback) to deregister;</li>
-<li>When interrupt on the port occurs, callback is invoked, and the
-interrupt status is cleared.</li>
+<li><p>Add dio_interrupt_register(chip, port, callback) to register the
+interrupt</p></li>
+<li><p>Add dio_interrupt_deregister(chip, port, callback) to deregister;</p></li>
+<li><p>When interrupt on the port occurs, callback is invoked, and the
+interrupt status is cleared.</p></li>
</ol>
</li>
</ul>
-</div>
-<div class="section" id="removed-features">
+</section>
+<section id="removed-features">
<h2>Removed features<a class="headerlink" href="#removed-features" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">pci/iov: Remove skiboot VF tracking</p>
+<li><p>pci/iov: Remove skiboot VF tracking</p>
<p>This feature was added a few years ago in response to a request to make
the MaxPayloadSize (MPS) field of a Virtual Function match the MPS of the
Physical Function that hosts it.</p>
@@ -204,7 +204,7 @@ enabled and then disabled prior to rebooting. This patch fixes the bug by
removing the code entirely. This patch has no impact on SR-IOV support on
the host operating system.</p>
</li>
-<li><p class="first">Remove POWER7 and POWER7+ support</p>
+<li><p>Remove POWER7 and POWER7+ support</p>
<p>It’s been a good long while since either OPAL POWER7 user touched a
machine, and even longer since they’d have been okay using an old
version rather than tracking master.</p>
@@ -212,28 +212,28 @@ version rather than tracking master.</p>
long time, so it’s pretty safe to assume that it’s very much bitrotted.</p>
<p>It also saves a whole 14kb of xz compressed payload space.</p>
</li>
-<li><p class="first">Remove remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a></p>
+<li><p>Remove remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-get-phb-diag-data"><span class="std std-ref">OPAL_PCI_GET_PHB_DIAG_DATA</span></a></p>
<p>Never present in a public OPAL release, and only kernels prior to 3.11
would ever attempt to call it.</p>
</li>
-<li><p class="first">Remove unused <a class="reference internal" href="../opal-api/index.html#opal-get-xive-source"><span class="std std-ref">OPAL_GET_XIVE_SOURCE</span></a></p>
+<li><p>Remove unused <a class="reference internal" href="../opal-api/index.html#opal-get-xive-source"><span class="std std-ref">OPAL_GET_XIVE_SOURCE</span></a></p>
<p>While this call was technically implemented by skiboot, no code has ever called
it, and it was only ever implemented for the p7ioc-phb back-end (i.e. POWER7).
Since this call was unused in Linux, and that POWER7 with OPAL was only ever
available internally, so it should be safe to remove the call.</p>
</li>
-<li><p class="first">Remove unused <a class="reference internal" href="../opal-api/index.html#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a> and <a class="reference internal" href="../opal-api/index.html#opal-pci-set-xive-reissue"><span class="std std-ref">OPAL_PCI_SET_XIVE_REISSUE</span></a></p>
+<li><p>Remove unused <a class="reference internal" href="../opal-api/index.html#opal-pci-get-xive-reissue"><span class="std std-ref">OPAL_PCI_GET_XIVE_REISSUE</span></a> and <a class="reference internal" href="../opal-api/index.html#opal-pci-set-xive-reissue"><span class="std std-ref">OPAL_PCI_SET_XIVE_REISSUE</span></a></p>
<p>These seem to be remnants of one of the OPAL incarnations prior to
OPALv3. These calls have never been implemented in skiboot, and never
used by an upstream kernel (nor a PowerKVM kernel).</p>
<p>It’s rather safe to just document them as never existing.</p>
</li>
-<li><p class="first">Remove never implemented <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-table-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TABLE_MEMORY</span></a> and document why</p>
+<li><p>Remove never implemented <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-table-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TABLE_MEMORY</span></a> and document why</p>
<p>Not ever used by upstream linux or PowerKVM tree. Never implemented in
skiboot (not even in ancient internal only tree).</p>
<p>So, it’s incredibly safe to remove.</p>
</li>
-<li><p class="first">Remove unused <a class="reference internal" href="../opal-api/opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a></p>
+<li><p>Remove unused <a class="reference internal" href="../opal-api/opal-pci-eeh-freeze-status-23.html#opal-pci-eeh-freeze-status2"><span class="std std-ref">OPAL_PCI_EEH_FREEZE_STATUS2</span></a></p>
<p>This call was introduced all the way back at the end of 2012, before
OPAL was public. The #define for the OPAL call was introduced to the
Linux kernel in June 2013, and the call was never used in any kernel
@@ -241,35 +241,35 @@ tree ever (as far as we can find).</p>
<p>Thus, it’s quite safe to remove this completely unused and completely
untested OPAL call.</p>
</li>
-<li><p class="first">Document the long removed <a class="reference internal" href="../opal-api/index.html#opal-register-opal-exception-handler"><span class="std std-ref">OPAL_REGISTER_OPAL_EXCEPTION_HANDLER</span></a> call</p>
+<li><p>Document the long removed <a class="reference internal" href="../opal-api/index.html#opal-register-opal-exception-handler"><span class="std std-ref">OPAL_REGISTER_OPAL_EXCEPTION_HANDLER</span></a> call</p>
<p>I’m pretty sure this was removed in one of our first ever service packs.</p>
<p>Fixes: <a class="reference external" href="https://github.com/open-power/skiboot/issues/98">https://github.com/open-power/skiboot/issues/98</a></p>
</li>
-<li><p class="first">Remove last remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a> and <a class="reference internal" href="../opal-api/index.html#opal-pci-set-hub-tce-memory"><span class="std std-ref">OPAL_PCI_SET_HUB_TCE_MEMORY</span></a></p>
+<li><p>Remove last remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a> and <a class="reference internal" href="../opal-api/index.html#opal-pci-set-hub-tce-memory"><span class="std std-ref">OPAL_PCI_SET_HUB_TCE_MEMORY</span></a></p>
<p>Since we have not supported p5ioc systems since skiboot 5.2, it’s pretty
safe to just wholesale remove these OPAL calls now.</p>
</li>
-<li><p class="first">Remove remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a></p>
+<li><p>Remove remnants of <a class="reference internal" href="../opal-api/index.html#opal-pci-set-phb-tce-memory"><span class="std std-ref">OPAL_PCI_SET_PHB_TCE_MEMORY</span></a></p>
<p>There’s no reason we need remnants hanging around that aren’t used, so
remove them and save a handful of bytes at runtime.</p>
<p>Simultaneously, document the OPAL call removal.</p>
</li>
</ul>
-</div>
-<div class="section" id="secure-and-trusted-boot">
+</section>
+<section id="secure-and-trusted-boot">
<h2>Secure and Trusted Boot<a class="headerlink" href="#secure-and-trusted-boot" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">trustedboot: Change PCR and event_type for the skiboot events</p>
+<li><p>trustedboot: Change PCR and event_type for the skiboot events</p>
<p>The existing skiboot events are being logged as EV_ACTION, however, the
TCG PC Client spec says that EV_ACTION events should have one of the
pre-defined strings in the event field recorded in the event log. For
instance:</p>
<ul class="simple">
-<li>“Calling Ready to Boot”,</li>
-<li>“Entering ROM Based Setup”,</li>
-<li>“User Password Entered”, and</li>
-<li>“Start Option ROM Scan.</li>
+<li><p>“Calling Ready to Boot”,</p></li>
+<li><p>“Entering ROM Based Setup”,</p></li>
+<li><p>“User Password Entered”, and</p></li>
+<li><p>“Start Option ROM Scan.</p></li>
</ul>
<p>None of the EV_ACTION pre-defined strings are applicable to the existing
skiboot events. Based on recent discussions with other POWER teams, this
@@ -288,9 +288,9 @@ to PCR[4,5,6] and logged as EV_COMPACT_HASH.</p>
EV_COMPACT_HASH seems to be the most adequate one due to its
flexibility. According to the TCG PC Client spec:</p>
<ul class="simple">
-<li>May be used for any PCR except 0, 1, 2 and 3.</li>
-<li>The event field may be informative or may be hashed to generate the
-digest field, depending on the component recording the event.</li>
+<li><p>May be used for any PCR except 0, 1, 2 and 3.</p></li>
+<li><p>The event field may be informative or may be hashed to generate the
+digest field, depending on the component recording the event.</p></li>
</ul>
<p>Additionally, the PCR[4,5] seem to be the most adequate PCRs. They would
be used for skiboot and some skiroot events. According to the TCG PC
@@ -299,31 +299,31 @@ transition between the pre-OS and OS-present state of the platform.
PCR[4], along with PCR[5], identifies the initial OS loader.</p>
<p>In summary, for skiboot events:</p>
<ul class="simple">
-<li>Events that represents data should be extended to PCR 4.</li>
-<li>Events that represents config should be extended to PCR 5.</li>
-<li>For the lack of an event type that fits the specific purpose,
-both data and config events should be logged as EV_COMPACT_HASH.</li>
+<li><p>Events that represents data should be extended to PCR 4.</p></li>
+<li><p>Events that represents config should be extended to PCR 5.</p></li>
+<li><p>For the lack of an event type that fits the specific purpose,
+both data and config events should be logged as EV_COMPACT_HASH.</p></li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="sensors">
+</section>
+<section id="sensors">
<h2>Sensors<a class="headerlink" href="#sensors" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">occ-sensors: Check if OCC is reset while reading inband sensors</p>
+<li><p>occ-sensors: Check if OCC is reset while reading inband sensors</p>
<p>OCC may not be able to mark the sensor buffer as invalid while going
down RESET. If OCC never comes back we will continue to read the stale
sensor data. So verify if OCC is reset while reading the sensor values
and propagate the appropriate error.</p>
</li>
</ul>
-</div>
-<div class="section" id="ipmi">
+</section>
+<section id="ipmi">
<h2>IPMI<a class="headerlink" href="#ipmi" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">ipmi: ensure forward progress on ipmi_queue_msg_sync()</p>
+<li><p>ipmi: ensure forward progress on ipmi_queue_msg_sync()</p>
<p>BT responses are handled using a timer doing the polling. To hope to
get an answer to an IPMI synchronous message, the timer needs to run.</p>
<p>We can’t just check all timers though as there may be a timer that
@@ -336,19 +336,19 @@ backend needs, then we should be fine.</p>
flash resource with the IPMI HIOMAP backend.</p>
</li>
</ul>
-</div>
-<div class="section" id="npu2">
+</section>
+<section id="npu2">
<h2>NPU2<a class="headerlink" href="#npu2" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.4-rc1:</p>
<ul>
-<li><p class="first">witherspoon: Add nvlink peers in finalise_dt()</p>
+<li><p>witherspoon: Add nvlink peers in finalise_dt()</p>
<p>This information is consumed by Linux so it needs to be in the DT. Move
it to finalise_dt().</p>
</li>
</ul>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">npu2: Increase timeout for L2/L3 cache purging</p>
+<li><p>npu2: Increase timeout for L2/L3 cache purging</p>
<p>On NVLink2 bridge reset, we purge all L2/L3 caches in the system.
This is an asynchronous operation, we have a 2ms timeout here. There are
reports that this is not enough and “PURGE L3 on core xxx timed out”
@@ -357,11 +357,11 @@ messages appear (for the reference: on the test setup this takes
<p>This defines the timeout as a macro and changes this from 2ms to 20ms.</p>
<p>This adds a tracepoint to tell how long it took to purge all the caches.</p>
</li>
-<li><p class="first">npu2: Purge cache when resetting a GPU</p>
+<li><p>npu2: Purge cache when resetting a GPU</p>
<p>After putting all a GPU’s links in reset, do a cache purge in case we
have CPU cache lines belonging to the now-unaccessible GPU memory.</p>
</li>
-<li><p class="first">npu2-opencapi: Mask 2 XSL errors</p>
+<li><p>npu2-opencapi: Mask 2 XSL errors</p>
<p>Commit f8dfd699f584 (“hw/npu2: Setup an error interrupt on some
opencapi FIRs”) converted some FIR bits default action from system
checkstop to raising an error interrupt. For 2 XSL error events that
@@ -374,7 +374,7 @@ those 2 XSL errors. The error will also be picked up by the OTL logic,
which is per link. So we’ll still get an error interrupt, but only on
the relevant link, and the other opencapi adapter can stay functional.</p>
</li>
-<li><p class="first">npu2: Clear fence state for a brick being reset</p>
+<li><p>npu2: Clear fence state for a brick being reset</p>
<p>Resetting a GPU before resetting an NVLink leads to occasional HMIs
which fence some bricks and prevent the “reset_ntl” procedure from
succeeding at the “reset_ntl_release” step - the host system requires
@@ -382,11 +382,11 @@ reboot; there may be other cases like this as well.</p>
<p>This adds clearing of the fence bit in NPU.MISC.FENCE_STATE for
the NVLink which we are about to reset.</p>
</li>
-<li><p class="first">npu2: Fix clearing the FIR bits</p>
+<li><p>npu2: Fix clearing the FIR bits</p>
<p>FIR registers are SCOM-only so they cannot be accesses with the indirect
write, and yet we use SCOM-based addresses for these; fix this.</p>
</li>
-<li><p class="first">npu2: Reset NVLinks when resetting a GPU</p>
+<li><p>npu2: Reset NVLinks when resetting a GPU</p>
<p>Resetting a V100 GPU brings its NVLinks down and if an NPU tries using
those, an HMI occurs. We were lucky not to observe this as the bare metal
does not normally reset a GPU and when passed through, GPUs are usually
@@ -397,7 +397,7 @@ brings HMIs.</p>
so when the host system issues secondary bus reset to the slot, it resets
associated NVLinks.</p>
</li>
-<li><p class="first">npu2: Reset PID wildcard and refcounter when mapped to LPID</p>
+<li><p>npu2: Reset PID wildcard and refcounter when mapped to LPID</p>
<p>Since 105d80f85b “npu2: Use unfiltered mode in XTS tables” we do not
register every PID in the XTS table so the table has one entry per LPID.
Then we added a reference counter to keep track of the entry use when
@@ -412,12 +412,12 @@ XTS entries and does not update the XTS table which breaks ATS.</p>
assigned to LPID and we cannot rely on the kernel to clean that up.</p>
</li>
</ul>
-</div>
-<div class="section" id="phb4">
+</section>
+<section id="phb4">
<h2>PHB4<a class="headerlink" href="#phb4" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">hw/phb4: Make phb4_training_trace() more general</p>
+<li><p>hw/phb4: Make phb4_training_trace() more general</p>
<p>phb4_training_trace() is used to monitor the Link Training Status
State Machine (LTSSM) of the PHB’s data link layer. Currently it is only
used to observe the LTSSM while bringing up the link, but sometimes it’s
@@ -426,7 +426,7 @@ secondary bus reset). This patch renames it to phb4_link_trace() and
allows the target LTSSM state and a flexible timeout to help in these
situations.</p>
</li>
-<li><p class="first">hw/phb4: Make pci-tracing print at PR_NOTICE</p>
+<li><p>hw/phb4: Make pci-tracing print at PR_NOTICE</p>
<p>When pci-tracing is enabled we print each trace status message and the
final trace status at PR_ERROR. The final status messages are similar to
those printed when we fail to train in the non-pci-tracing path and this
@@ -435,7 +435,7 @@ has resulted in spurious op-test failures.</p>
they’re not accidently interpreted as actual error messages. PR_NOTICE
messages are still printed to the console during boot.</p>
</li>
-<li><p class="first">hw/phb4: Use read/write_reg in assert_perst</p>
+<li><p>hw/phb4: Use read/write_reg in assert_perst</p>
<p>While the PHB is fenced we can’t use the MMIO interface to access PHB
registers. While processing a complete reset we inject a PHB fence to
isolate the PHB from the rest of the system because the PHB won’t
@@ -451,7 +451,7 @@ when the system was fast-reset.</p>
<p>This patch fixes the problem by replacing the raw {in|out}_be64()
accessors with the phb4_{read|write}_reg() functions.</p>
</li>
-<li><p class="first">hw/phb4: Assert Link Disable bit after ETU init</p>
+<li><p>hw/phb4: Assert Link Disable bit after ETU init</p>
<p>The cursed RAID card in ozrom1 has a bug where it ignores PERST being
asserted. The PCIe Base spec is a little vague about what happens
while PERST is asserted, but it does clearly specify that when
@@ -541,28 +541,27 @@ seems to avoid the Completion Timeout. With the patch applied we get:</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="simulators">
+</section>
+<section id="simulators">
<h2>Simulators<a class="headerlink" href="#simulators" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">external/mambo: Bump default POWER9 to Nimbus DD2.3</p>
-</li>
-<li><p class="first">external/mambo: fix tcl startup code for mambo bogus net (repost)</p>
+<li><p>external/mambo: Bump default POWER9 to Nimbus DD2.3</p></li>
+<li><p>external/mambo: fix tcl startup code for mambo bogus net (repost)</p>
<p>This fixes a couple issues with external/mambo/skiboot.tcl so I can use the
mambo bogus net.</p>
<ul class="simple">
-<li>newer distros (ubuntu 18.04) allow tap device to have a user specified
-name instead of just tapN so we need to pass in a name not a number.</li>
-<li>need some kind of default for net_mac, and need the mconfig for it
-to be set from an env var.</li>
+<li><p>newer distros (ubuntu 18.04) allow tap device to have a user specified
+name instead of just tapN so we need to pass in a name not a number.</p></li>
+<li><p>need some kind of default for net_mac, and need the mconfig for it
+to be set from an env var.</p></li>
</ul>
</li>
-<li><p class="first">skiboot.tcl: Add option to wait for GDB server connection</p>
+<li><p>skiboot.tcl: Add option to wait for GDB server connection</p>
<p>Add an environment variable which makes Mambo wait for a connection
from gdb prior to starting simulation.</p>
</li>
-<li><p class="first">mambo: Integrate addr2line into backtrace command</p>
+<li><p>mambo: Integrate addr2line into backtrace command</p>
<p>Gives nice output like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">systemsim</span> <span class="o">%</span> <span class="n">bt</span>
<span class="n">pc</span><span class="p">:</span> <span class="mh">0xC0000000002BF3D4</span> <span class="n">_savegpr0_28</span><span class="o">+</span><span class="mh">0x0</span>
@@ -581,7 +580,7 @@ from gdb prior to starting simulation.</p>
</pre></div>
</div>
</li>
-<li><p class="first">mambo: Add addr2func for symbol resolution</p>
+<li><p>mambo: Add addr2func for symbol resolution</p>
<p>If you supply a VMLINUX_MAP/SKIBOOT_MAP/USER_MAP addr2func can guess
at your symbol name. i.e.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">systemsim</span> <span class="o">%</span> <span class="n">p</span> <span class="n">pc</span>
@@ -591,36 +590,36 @@ at your symbol name. i.e.</p>
</pre></div>
</div>
</li>
-<li><p class="first">lpc-port80h: Don’t write port 80h when running under Simics</p>
+<li><p>lpc-port80h: Don’t write port 80h when running under Simics</p>
<p>Simics doesn’t model LPC port 80h. Writing to it terminates the
simulation due to an invalid LPC memory access. This patch adds a
check to ensure port 80h isn’t accessed if we are running under
Simics.</p>
</li>
-<li><p class="first">device-tree: speed up fdt building on slow simulators</p>
+<li><p>device-tree: speed up fdt building on slow simulators</p>
<p>Trade size for speed and avoid de-duplicating strings in the fdt.
This costs about 2kB in fdt size, and saves about 8 million instructions
(almost half of all instructions) booting skiboot in mambo.</p>
</li>
-<li><p class="first">fast-reboot:: skip read-only memory checksum for slow simulators</p>
+<li><p>fast-reboot:: skip read-only memory checksum for slow simulators</p>
<p>Skip the fast reboot checksum, which costs about 4 million cycles
booting skiboot in mambo.</p>
</li>
-<li><p class="first">nx: remove check on the “qemu, powernv” property</p>
+<li><p>nx: remove check on the “qemu, powernv” property</p>
<p>commit 95f7b3b9698b (“nx: Don’t abort on missing NX when using a QEMU
machine”) introduced a check on the property “qemu,powernv” to skip NX
initialization when running under a QEMU machine.</p>
<p>The QEMU platforms now expose a QUIRK_NO_RNG in the chip. Testing the
“qemu,powernv” property is not necessary anymore.</p>
</li>
-<li><p class="first">plat/qemu: add a POWER8 and POWER9 platform</p>
+<li><p>plat/qemu: add a POWER8 and POWER9 platform</p>
<p>These new QEMU platforms have characteristics closer to real OpenPOWER
systems that we use today and define a different BMC depending on the
CPU type. New platform properties are introduced for each,
“qemu,powernv8”, “qemu,powernv9” and these should be compatible with
existing QEMUs which only expose the “qemu,powernv” property</p>
</li>
-<li><p class="first">libc/string: speed up common string functions</p>
+<li><p>libc/string: speed up common string functions</p>
<p>Use compiler builtins for the string functions, and compile the
libc/string/ directory with -O2.</p>
<p>This reduces instructions booting skiboot in mambo by 2.9 million in
@@ -629,29 +628,29 @@ increase.</p>
<p>This can result in the compiler warning more cases of string function
problems.</p>
</li>
-<li><p class="first">external/mambo: Add an option to exit Mambo when the system is shutdown</p>
+<li><p>external/mambo: Add an option to exit Mambo when the system is shutdown</p>
<p>Automatically exiting can be convenient for scripting. Will also exit
due to a HW crash (eg. unhandled exception).</p>
</li>
</ul>
-</div>
-<div class="section" id="vesnin-platform">
+</section>
+<section id="vesnin-platform">
<h2>VESNIN platform<a class="headerlink" href="#vesnin-platform" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">platforms/vesnin: PCI inventory via IPMI OEM</p>
+<li><p>platforms/vesnin: PCI inventory via IPMI OEM</p>
<p>Replace raw protocol with OEM message supported by OpenBMC’s IPMI
plugins.</p>
<p>BMC-side implementation (IPMI plug-in):
<a class="reference external" href="https://github.com/YADRO-KNS/phosphor-pci-inventory">https://github.com/YADRO-KNS/phosphor-pci-inventory</a></p>
</li>
</ul>
-</div>
-<div class="section" id="utilities">
+</section>
+<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">opal-gard: Account for ECC size when clearing partition</p>
+<li><p>opal-gard: Account for ECC size when clearing partition</p>
<p>When ‘opal-gard clear all’ is run, it works by erasing the GUARD then
using blockevel_smart_write() to write nothing to the partition. This
second write call is needed because we rely on libflash to set the ECC
@@ -667,26 +666,25 @@ problem by reducing the length we would normally write by the number
of ECC bytes required.</p>
</li>
</ul>
-</div>
-<div class="section" id="build-and-debugging">
+</section>
+<section id="build-and-debugging">
<h2>Build and debugging<a class="headerlink" href="#build-and-debugging" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.3:</p>
<ul>
-<li><p class="first">Disable -Waddress-of-packed-member for GCC9</p>
+<li><p>Disable -Waddress-of-packed-member for GCC9</p>
<p>We throw a bunch of errors in errorlog code otherwise, which we should
fix, but we don’t <em>have</em> to yet.</p>
</li>
-<li><p class="first">Fix a lot of sparse warnings</p>
-</li>
-<li><p class="first">With new GCC comes larger GCOV binaries</p>
+<li><p>Fix a lot of sparse warnings</p></li>
+<li><p>With new GCC comes larger GCOV binaries</p>
<p>So we need to change our heap size to make more room for data/bss
without having to change where the console is or have more fun moving
things about.</p>
</li>
-<li><p class="first">Intentionally discard fini_array sections</p>
+<li><p>Intentionally discard fini_array sections</p>
<p>Produced in a SKIBOOT_GCOV=1 build, and never called by skiboot.</p>
</li>
-<li><p class="first">external/trace: Add follow option to dump_trace</p>
+<li><p>external/trace: Add follow option to dump_trace</p>
<p>When monitoring traces, an option like the tail command’s ‘-f’ (follow)
is very useful. This option continues to append to the output as more
data arrives. Add an ‘-f’ option to allow dump_trace to operate
@@ -696,7 +694,7 @@ accompanies ‘-f’. This controls how often new input will be polled. Add
a ‘-s’ option that will make dump_trace sleep for N milliseconds before
checking for new input.</p>
</li>
-<li><p class="first">external/trace: Add support for dumping multiple buffers</p>
+<li><p>external/trace: Add support for dumping multiple buffers</p>
<p>dump_trace only can dump one trace buffer at a time. It would be handy
to be able to dump multiple buffers and to see the entries from these
buffers displayed in correct timestamp order. Each trace buffer is
@@ -706,7 +704,7 @@ heap does not have a ‘heap_replace’ operation. We need to ‘heap_pop’
then ‘heap_push’ to replace the root which means rebalancing twice
instead of once.</p>
</li>
-<li><p class="first">external/trace: mmap trace buffers in dump_trace</p>
+<li><p>external/trace: mmap trace buffers in dump_trace</p>
<p>The current lseek/read approach used in dump_trace does not correctly
handle certain aspects of the buffers. It does not use the start and end
position that is part of the buffer so it will not begin from the
@@ -720,12 +718,12 @@ that are already unit tested. However this requires a kernel where the
trace buffer sysfs nodes are able to be mmaped (see
<a class="reference external" href="https://patchwork.ozlabs.org/patch/1056786/">https://patchwork.ozlabs.org/patch/1056786/</a>)</p>
</li>
-<li><p class="first">core/trace: Export trace buffers to sysfs</p>
+<li><p>core/trace: Export trace buffers to sysfs</p>
<p>Every property in the device-tree under /ibm,opal/firmware/exports has a
sysfs node created in /firmware/opal/exports. Add properties with the
physical address and size for each trace buffer so they are exported.</p>
</li>
-<li><p class="first">core/trace: Add pir number to debug_descriptor</p>
+<li><p>core/trace: Add pir number to debug_descriptor</p>
<p>The names given to the trace buffers when exported to sysfs should show
what cpu they are associated with to make it easier to understand there
output. The debug_descriptor currently stores the address and length of
@@ -734,7 +732,7 @@ tree. Extend debug_descriptor to include a cpu associated with each
trace. This will be used for creating properties in the device-tree
under /ibm,opal/firmware/exports/.</p>
</li>
-<li><p class="first">core/trace: Change trace buffer size</p>
+<li><p>core/trace: Change trace buffer size</p>
<p>We want to be able to mmap the trace buffers to be used by the
dump_trace tool. As mmaping is done in terms of pages it makes sense
that the size of the trace buffers should be page aligned. This is
@@ -743,7 +741,7 @@ beginning of the trace and the room left for an extra trace entry at the
end of the buffer. Change the size of the buffer itself so that the
entire trace buffer size will be page aligned.</p>
</li>
-<li><p class="first">core/trace: Change buffer alignment from 4K to 64K</p>
+<li><p>core/trace: Change buffer alignment from 4K to 64K</p>
<p>We want to be able to mmap the trace buffers to be used by the
dump_trace tool. This means that the trace bufferes must be page
aligned. Currently they are aligned to 4K. Most power systems have a
@@ -757,19 +755,19 @@ through sysfs. To get around this change the address that is exposed to
sysfs to be the trace_info struct. This means the lock in trace_info is
now visible too.</p>
</li>
-<li><p class="first">external/trace: Use correct width integer byte swapping</p>
+<li><p>external/trace: Use correct width integer byte swapping</p>
<p>The trace_repeat struct uses be16 for storing the number of repeats.
Currently be32_to_cpu conversion is used to display this member. This
produces an incorrect value. Use be16_to_cpu instead.</p>
</li>
-<li><p class="first">core/trace: Put boot_tracebuf in correct location.</p>
+<li><p>core/trace: Put boot_tracebuf in correct location.</p>
<p>A position for the boot_tracebuf is allocated in skiboot.lds.S.
However, without a __section attribute the boot trace buffer is not
placed in the correct location, meaning that it also will not be
correctly aligned. Add the __section attribute to ensure it will be
placed in its allocated position.</p>
</li>
-<li><p class="first">core/lock: Add debug options to store backtrace of where lock was taken</p>
+<li><p>core/lock: Add debug options to store backtrace of where lock was taken</p>
<p>Contrary to popular belief, skiboot developers are imperfect and
occasionally write locking bugs. When we exit skiboot, we check if we’re
still holding any locks, and if so, we print an error with a list of the
@@ -785,7 +783,7 @@ DEBUG=1.</p>
because the locks used by the memory allocator take up too much room in the
fake skiboot heap.)</p>
</li>
-<li><p class="first">libfdt: upgrade to upstream dtc.git 243176c</p>
+<li><p>libfdt: upgrade to upstream dtc.git 243176c</p>
<p>Upgrade libfdt/ to github.com/dgibson/dtc.git 243176c (“Fix bogus
error on rebuild”)</p>
<p>This copies dtc/libfdt/ to skiboot/libfdt/, with the only change in
@@ -795,8 +793,8 @@ or mostly eliminated by cutting out fdt version checks and unused
code, but tracking upstream is a bigger benefit at the moment.</p>
<p>This loses commits:</p>
<ul class="simple">
-<li>14ed2b842f61 (“libfdt: add basic sanity check to fdt_open_into”)</li>
-<li>bc7bb3d12bc1 (“sparse: fix declaration of fdt_strerror”)</li>
+<li><p>14ed2b842f61 (“libfdt: add basic sanity check to fdt_open_into”)</p></li>
+<li><p>bc7bb3d12bc1 (“sparse: fix declaration of fdt_strerror”)</p></li>
</ul>
<p>As well as some prehistoric similar kinds of things, which is the
punishment for us not being good downstream citizens and sending
@@ -804,12 +802,12 @@ things upstream! Syncing to upstream will make that effort simpler
in future.</p>
</li>
</ul>
-</div>
-<div class="section" id="general-fixes">
+</section>
+<section id="general-fixes">
<h2>General Fixes<a class="headerlink" href="#general-fixes" title="Permalink to this headline">¶</a></h2>
<p>Since skiboot v6.4-rc1:</p>
<ul>
-<li><p class="first">libflash: Fix broken continuations</p>
+<li><p>libflash: Fix broken continuations</p>
<p>Some of the libflash debug messages don’t print a newlines at the end of
the line and assume that the next print will be contigious with the
last. This isn’t true in skiboot since log messages are prefixed with a
@@ -825,10 +823,11 @@ statement.</p>
<p>First reported in <a class="reference external" href="https://github.com/open-power/skiboot/issues/51">https://github.com/open-power/skiboot/issues/51</a></p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -867,17 +866,15 @@ statement.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -894,14 +891,15 @@ statement.</p>
<li class="right" >
<a href="skiboot-6.3.5.html" title="skiboot-6.3.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.5.1.html b/doc/release-notes/skiboot-6.5.1.html
index 75349af..c599101 100644
--- a/doc/release-notes/skiboot-6.5.1.html
+++ b/doc/release-notes/skiboot-6.5.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.5.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.5.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.5.html" title="skiboot-6.5"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-5-1">
+ <section id="skiboot-6-5-1">
<span id="id1"></span><h1>skiboot-6.5.1<a class="headerlink" href="#skiboot-6-5-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.5.1 was released on Thursday October 24th, 2019. It replaces
<a class="reference internal" href="skiboot-6.5.html#skiboot-6-5"><span class="std std-ref">skiboot-6.5</span></a> as the current stable release in the 6.5.x series.</p>
@@ -53,17 +53,18 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>core/ipmi: Fix use-after-free</li>
-<li>blocklevel: smart_write: Fix unaligned writes to ECC partitions</li>
-<li>gard: Fix data corruption when clearing single records</li>
-<li>core/platform: Actually disable fast-reboot on P8</li>
-<li>xive: fix return value of opal_xive_allocate_irq()</li>
-<li>MPIPL: struct opal_mpipl_fadump doesn’t needs to be packed</li>
-<li>core/flash: Validate secure boot content size</li>
+<li><p>core/ipmi: Fix use-after-free</p></li>
+<li><p>blocklevel: smart_write: Fix unaligned writes to ECC partitions</p></li>
+<li><p>gard: Fix data corruption when clearing single records</p></li>
+<li><p>core/platform: Actually disable fast-reboot on P8</p></li>
+<li><p>xive: fix return value of opal_xive_allocate_irq()</p></li>
+<li><p>MPIPL: struct opal_mpipl_fadump doesn’t needs to be packed</p></li>
+<li><p>core/flash: Validate secure boot content size</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -83,17 +84,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -110,14 +109,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.5.html" title="skiboot-6.5"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.5.2.html b/doc/release-notes/skiboot-6.5.2.html
index ad1878e..1bc03ab 100644
--- a/doc/release-notes/skiboot-6.5.2.html
+++ b/doc/release-notes/skiboot-6.5.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.5.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.5.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.5.1.html" title="skiboot-6.5.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-5-2">
+ <section id="skiboot-6-5-2">
<span id="id1"></span><h1>skiboot-6.5.2<a class="headerlink" href="#skiboot-6-5-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.5.2 was released on Monday December 9th, 2019. It replaces
<a class="reference internal" href="skiboot-6.5.1.html#skiboot-6-5-1"><span class="std std-ref">skiboot-6.5.1</span></a> as the current stable release in the 6.5.x series.</p>
@@ -54,17 +54,18 @@ bug fixes it contains.</p>
<p>Bug fixes included in this release are:
- libstb/tpm: block access to unknown i2c devs on the tpm bus</p>
<ul class="simple">
-<li>slw: slw_reinit fix array overrun</li>
-<li>IPMI: Trigger OPAL TI in abort path.</li>
-<li>platform/mihawk: Add system VPD EEPROM to I2C bus</li>
-<li>platform/mihawk: Detect old system compatible string</li>
-<li>npu2/hw-procedures: Remove assertion from check_credits()</li>
-<li>npu2-opencapi: Fix integer promotion bug in LPC allocation</li>
-<li>hw/port80: Squash No SYNC error</li>
+<li><p>slw: slw_reinit fix array overrun</p></li>
+<li><p>IPMI: Trigger OPAL TI in abort path.</p></li>
+<li><p>platform/mihawk: Add system VPD EEPROM to I2C bus</p></li>
+<li><p>platform/mihawk: Detect old system compatible string</p></li>
+<li><p>npu2/hw-procedures: Remove assertion from check_credits()</p></li>
+<li><p>npu2-opencapi: Fix integer promotion bug in LPC allocation</p></li>
+<li><p>hw/port80: Squash No SYNC error</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -84,17 +85,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -111,14 +110,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.5.1.html" title="skiboot-6.5.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.5.3.html b/doc/release-notes/skiboot-6.5.3.html
index 42af312..462a53c 100644
--- a/doc/release-notes/skiboot-6.5.3.html
+++ b/doc/release-notes/skiboot-6.5.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.5.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.5.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.5.2.html" title="skiboot-6.5.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-5-3">
+ <section id="skiboot-6-5-3">
<span id="id1"></span><h1>skiboot-6.5.3<a class="headerlink" href="#skiboot-6-5-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.5.3 was released on Tuesday March 10th, 2020. It replaces
<a class="reference internal" href="skiboot-6.5.2.html#skiboot-6-5-2"><span class="std std-ref">skiboot-6.5.2</span></a> as the current stable release in the 6.5.x series.</p>
@@ -54,15 +54,16 @@ bug fixes it contains.</p>
<p>Bug fixes included in this release are:
- npu2-opencapi: Don’t drive reset signal permanently</p>
<ul class="simple">
-<li>mpipl: Rework memory reservation for OPAL dump</li>
-<li>mpipl: Disable fast-reboot during post MPIPL boot</li>
-<li>hdata: Update MPIPL support IPL parameter</li>
-<li>xscom: Don’t log xscom errors caused by OPAL calls</li>
-<li>npu2: Clear fence on all bricks</li>
+<li><p>mpipl: Rework memory reservation for OPAL dump</p></li>
+<li><p>mpipl: Disable fast-reboot during post MPIPL boot</p></li>
+<li><p>hdata: Update MPIPL support IPL parameter</p></li>
+<li><p>xscom: Don’t log xscom errors caused by OPAL calls</p></li>
+<li><p>npu2: Clear fence on all bricks</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -82,17 +83,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -109,14 +108,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.5.2.html" title="skiboot-6.5.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.5.4.html b/doc/release-notes/skiboot-6.5.4.html
index 9fd5d37..97e452d 100644
--- a/doc/release-notes/skiboot-6.5.4.html
+++ b/doc/release-notes/skiboot-6.5.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.5.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.5.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.5.3.html" title="skiboot-6.5.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-5-4">
+ <section id="skiboot-6-5-4">
<span id="id1"></span><h1>skiboot-6.5.4<a class="headerlink" href="#skiboot-6-5-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.5.4 was released on Friday March 20th, 2020. It replaces
<a class="reference internal" href="skiboot-6.5.3.html#skiboot-6-5-3"><span class="std std-ref">skiboot-6.5.3</span></a> as the current stable release in the 6.5.x series.</p>
@@ -54,11 +54,12 @@ bug fixes it contains.</p>
<p>Bug fixes included in this release are:
- errorlog: Increase the severity of abnormal reboot events</p>
<ul class="simple">
-<li>eSEL: Make sure PANIC logs are sent to BMC before calling assert</li>
+<li><p>eSEL: Make sure PANIC logs are sent to BMC before calling assert</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -78,17 +79,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -105,14 +104,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.5.3.html" title="skiboot-6.5.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.5.html b/doc/release-notes/skiboot-6.5.html
index 240ce95..b4814b5 100644
--- a/doc/release-notes/skiboot-6.5.html
+++ b/doc/release-notes/skiboot-6.5.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.5 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.5 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.4-rc1.html" title="skiboot-6.4-rc1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5</a></li>
</ul>
</div>
@@ -45,21 +45,22 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-5">
+ <section id="skiboot-6-5">
<span id="id1"></span><h1>skiboot-6.5<a class="headerlink" href="#skiboot-6-5" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.5 was released on Friday August 16th 2019. It is the first
release of skiboot 6.5, which becomes the new stable release
of skiboot following the <a class="reference internal" href="skiboot-6.4.html#skiboot-6-4"><span class="std std-ref">skiboot-6.4</span></a> release, first released May 3rd 2019.</p>
-<div class="section" id="new-features">
+<section id="new-features">
<span id="skiboot-6-5-new-features"></span><h2>New features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<p>Support for Memory-preserving IPL (MPIPL) which will be the basis for more
reliable creation of crash dumps, and for crash dumps fro OPAL.</p>
<p>Support for the Swift platform and NPU3 hardware.</p>
<p>Support for the Mihawk platform.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -87,17 +88,15 @@ reliable creation of crash dumps, and for crash dumps fro OPAL.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -114,14 +113,15 @@ reliable creation of crash dumps, and for crash dumps fro OPAL.</p>
<li class="right" >
<a href="skiboot-6.4-rc1.html" title="skiboot-6.4-rc1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.5</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.6.1.html b/doc/release-notes/skiboot-6.6.1.html
index d3f6b0b..50d940c 100644
--- a/doc/release-notes/skiboot-6.6.1.html
+++ b/doc/release-notes/skiboot-6.6.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.6.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.6.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.6.html" title="skiboot-6.6"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-6-1">
+ <section id="skiboot-6-6-1">
<span id="id1"></span><h1>skiboot-6.6.1<a class="headerlink" href="#skiboot-6-6-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.6.1 was released on Saturday June 06, 2020. It replaces
<a class="reference internal" href="skiboot-6.6.html#skiboot-6-6"><span class="std std-ref">skiboot-6.6</span></a> as the current stable release in the 6.6.x series.</p>
@@ -53,19 +53,20 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>occ: Fix false negatives in wait_for_all_occ_init()</li>
-<li>uart: Drop console write data if BMC becomes unresponsive</li>
-<li>hw/phys-map: Fix OCAPI_MEM BAR values</li>
-<li>Detect fused core mode and bail out</li>
-<li>platform/mihawk: Tune equalization settings for opencapi</li>
-<li>hdata/memory.c: Fix “Inconsistent MSAREA” warnings</li>
-<li>PSI: Convert prerror to PR_NOTICE</li>
-<li>sensors: occ: Fix a bug when sensor values are zero</li>
-<li>sensors: occ: Fix the GPU detection code</li>
+<li><p>occ: Fix false negatives in wait_for_all_occ_init()</p></li>
+<li><p>uart: Drop console write data if BMC becomes unresponsive</p></li>
+<li><p>hw/phys-map: Fix OCAPI_MEM BAR values</p></li>
+<li><p>Detect fused core mode and bail out</p></li>
+<li><p>platform/mihawk: Tune equalization settings for opencapi</p></li>
+<li><p>hdata/memory.c: Fix “Inconsistent MSAREA” warnings</p></li>
+<li><p>PSI: Convert prerror to PR_NOTICE</p></li>
+<li><p>sensors: occ: Fix a bug when sensor values are zero</p></li>
+<li><p>sensors: occ: Fix the GPU detection code</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -85,17 +86,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -112,14 +111,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.6.html" title="skiboot-6.6"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.6.2.html b/doc/release-notes/skiboot-6.6.2.html
index 5ba3052..1a65c6e 100644
--- a/doc/release-notes/skiboot-6.6.2.html
+++ b/doc/release-notes/skiboot-6.6.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.6.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.6.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.6.1.html" title="skiboot-6.6.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-6-2">
+ <section id="skiboot-6-6-2">
<span id="id1"></span><h1>skiboot-6.6.2<a class="headerlink" href="#skiboot-6-6-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.6.2 was released on Friday July 03, 2020. It replaces
<a class="reference internal" href="skiboot-6.6.1.html#skiboot-6-6-1"><span class="std std-ref">skiboot-6.6.1</span></a> as the current stable release in the 6.6.x series.</p>
@@ -53,12 +53,13 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>fsp: Skip sysdump retrieval only in MPIPL boot</li>
-<li>platform/mihawk: Fix IPMI double-free</li>
+<li><p>fsp: Skip sysdump retrieval only in MPIPL boot</p></li>
+<li><p>platform/mihawk: Fix IPMI double-free</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -78,17 +79,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -105,14 +104,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.6.1.html" title="skiboot-6.6.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.6.3.html b/doc/release-notes/skiboot-6.6.3.html
index 0bbcc43..108e10d 100644
--- a/doc/release-notes/skiboot-6.6.3.html
+++ b/doc/release-notes/skiboot-6.6.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.6.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.6.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.6.2.html" title="skiboot-6.6.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-6-3">
+ <section id="skiboot-6-6-3">
<span id="id1"></span><h1>skiboot-6.6.3<a class="headerlink" href="#skiboot-6-6-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.6.3 was released on Thursday Sep 10, 2020. It replaces
<a class="reference internal" href="#skiboot-6-6-3"><span class="std std-ref">skiboot-6.6.3</span></a> as the current stable release in the 6.6.x series.</p>
@@ -53,14 +53,15 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>fsp/dump: Handle non-MPIPL scenario</li>
-<li>hw/phb4: Verify AER support before initialising AER regs</li>
-<li>hw/phb4: Actually enable error reporting</li>
-<li>hdata: Add new “smp-cable-connector” VPD keyword</li>
+<li><p>fsp/dump: Handle non-MPIPL scenario</p></li>
+<li><p>hw/phb4: Verify AER support before initialising AER regs</p></li>
+<li><p>hw/phb4: Actually enable error reporting</p></li>
+<li><p>hdata: Add new “smp-cable-connector” VPD keyword</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -80,17 +81,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -107,14 +106,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.6.2.html" title="skiboot-6.6.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.6.4.html b/doc/release-notes/skiboot-6.6.4.html
index 12480d7..7083b09 100644
--- a/doc/release-notes/skiboot-6.6.4.html
+++ b/doc/release-notes/skiboot-6.6.4.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.6.4 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.6.4 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.6.3.html" title="skiboot-6.6.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.4</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-6-4">
+ <section id="skiboot-6-6-4">
<span id="id1"></span><h1>skiboot-6.6.4<a class="headerlink" href="#skiboot-6-6-4" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.6.4 was released on Thursday Oct 22nd, 2020. It replaces
<a class="reference internal" href="skiboot-6.6.3.html#skiboot-6-6-3"><span class="std std-ref">skiboot-6.6.3</span></a> as the current stable release in the 6.6.x series.</p>
@@ -53,12 +53,13 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>asm/head: fix power save wakeup register corruption</li>
-<li>FSP/NVRAM: Do not assert in vNVRAM statistics call</li>
+<li><p>asm/head: fix power save wakeup register corruption</p></li>
+<li><p>FSP/NVRAM: Do not assert in vNVRAM statistics call</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -78,17 +79,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -105,14 +104,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.6.3.html" title="skiboot-6.6.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.4</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.6.6.html b/doc/release-notes/skiboot-6.6.6.html
index ce0b03d..231432c 100644
--- a/doc/release-notes/skiboot-6.6.6.html
+++ b/doc/release-notes/skiboot-6.6.6.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.6.6 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.6.6 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.6.4.html" title="skiboot-6.6.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.6</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-6-6">
+ <section id="skiboot-6-6-6">
<span id="id1"></span><h1>skiboot-6.6.6<a class="headerlink" href="#skiboot-6-6-6" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.6.6 was released on Wednesday September 29, 2021. It replaces
<span class="xref std std-ref">skiboot-6.6.5</span> as the current stable release in the 6.6.x series.</p>
@@ -53,11 +53,12 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>phb4: Disable TCE cache line buffer</li>
+<li><p>phb4: Disable TCE cache line buffer</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -77,17 +78,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -104,14 +103,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.6.4.html" title="skiboot-6.6.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6.6</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.6.html b/doc/release-notes/skiboot-6.6.html
index 26848d0..6e84a6c 100644
--- a/doc/release-notes/skiboot-6.6.html
+++ b/doc/release-notes/skiboot-6.6.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.6 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.6 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.5.4.html" title="skiboot-6.5.4"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-6">
+ <section id="skiboot-6-6">
<span id="id1"></span><h1>skiboot-6.6<a class="headerlink" href="#skiboot-6-6" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.6 was released on Wednesday April 22nd 2020. It is the first release
of skiboot 6.6 series, which becomes the new stable release following the
@@ -54,34 +54,34 @@ of skiboot 6.6 series, which becomes the new stable release following the
a huge number of new features for users, just a lot of bug fixes, and additional
platform support. The next release should be a little more lively with a number
of internal refactorings and new features on the way.</p>
-<div class="section" id="new-features">
+<section id="new-features">
<span id="skiboot-6-6-new-features"></span><h2>New features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Skiboot is now dual licensed as Apache 2.0 -OR- GPLv2+</p>
+<li><p>Skiboot is now dual licensed as Apache 2.0 -OR- GPLv2+</p>
<p>There are some files still licensed Apache 2.0 only due to contributions
that we are unable to change the license of, but they are the minority.</p>
</li>
-<li><p class="first">Skiboot can now be built as little endian, thanks to Team Nick.</p>
+<li><p>Skiboot can now be built as little endian, thanks to Team Nick.</p>
<p>Doing so requires building with: make LITTLE_ENDIAN=1</p>
</li>
-<li><p class="first">OpenCAPI reset support</p>
+<li><p>OpenCAPI reset support</p>
<p>This is to allow FPGA-based OpenCAPI devices to be re-flashed with a new
device image, then reset to activate the new image. Although it is based
on top of the existing PCI Hotplug support it does require some OS changes
to function.</p>
</li>
-<li><p class="first">The <a class="reference internal" href="../opal-api/opal-phb-flag-set-get-179-180.html#opal-phb-set-option"><span class="std std-ref">OPAL_PHB_SET_OPTION</span></a> and <a class="reference internal" href="../opal-api/opal-phb-flag-set-get-179-180.html#opal-phb-get-option"><span class="std std-ref">OPAL_PHB_GET_OPTION</span></a> OPAL calls</p>
+<li><p>The <a class="reference internal" href="../opal-api/opal-phb-flag-set-get-179-180.html#opal-phb-set-option"><span class="std std-ref">OPAL_PHB_SET_OPTION</span></a> and <a class="reference internal" href="../opal-api/opal-phb-flag-set-get-179-180.html#opal-phb-get-option"><span class="std std-ref">OPAL_PHB_GET_OPTION</span></a> OPAL calls</p>
<p>These OPAL calls provide the OS with a means for controlling per-PHB
settings. Currently this allows the OS to enable or disable the the “Global
MMIO EEH Disable” and “4GTE” settings which are available on Power9 / PHB4.
See the PHB specification for more details.</p>
</li>
</ul>
-</div>
-<div class="section" id="removed-features">
+</section>
+<section id="removed-features">
<h2>Removed features<a class="headerlink" href="#removed-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Fast-reboot is now disabled by default.</p>
+<li><p>Fast-reboot is now disabled by default.</p>
<p>Fast-reboot will continue to be supported, but as an opt-in feature rather
than the default. From the commit (ee07f2c68160) message:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">This</span> <span class="n">has</span> <span class="n">two</span> <span class="n">user</span> <span class="n">visible</span> <span class="n">changes</span><span class="p">:</span>
@@ -102,10 +102,11 @@ than the default. From the commit (ee07f2c68160) message:</p>
</div>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -134,17 +135,15 @@ than the default. From the commit (ee07f2c68160) message:</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -161,14 +160,15 @@ than the default. From the commit (ee07f2c68160) message:</p>
<li class="right" >
<a href="skiboot-6.5.4.html" title="skiboot-6.5.4"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.6</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.7.1.html b/doc/release-notes/skiboot-6.7.1.html
index 62256b3..27ec1ce 100644
--- a/doc/release-notes/skiboot-6.7.1.html
+++ b/doc/release-notes/skiboot-6.7.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.7.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.7.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.7.html" title="skiboot-6.7"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.7.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-7-1">
+ <section id="skiboot-6-7-1">
<span id="id1"></span><h1>skiboot-6.7.1<a class="headerlink" href="#skiboot-6-7-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.7.1 was released on Wednesday January 06, 2021. It replaces
<a class="reference internal" href="skiboot-6.7.html#skiboot-6-7"><span class="std std-ref">skiboot-6.7</span></a> as the current stable release in the 6.7.x series.</p>
@@ -53,20 +53,21 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>SBE: Account cancelled timer request</li>
-<li>SBE: Rate limit timer requests</li>
-<li>SBE: Check timer state before scheduling timer</li>
-<li>platform/mowgli: Limit PHB0/(pec0) to gen3 speed</li>
-<li>Revert “mowgli: Limit slot1 to Gen3 by default”</li>
-<li>xscom: Fix xscom error logging caused due to xscom OPAL call</li>
-<li>xive/p9: Remove assert from xive_eq_for_target()</li>
-<li>Fix possible deadlock with DEBUG build</li>
-<li>core/platform: Fallback to full_reboot if fast-reboot fails</li>
-<li>core/cpu: fix next_ungarded_primary</li>
+<li><p>SBE: Account cancelled timer request</p></li>
+<li><p>SBE: Rate limit timer requests</p></li>
+<li><p>SBE: Check timer state before scheduling timer</p></li>
+<li><p>platform/mowgli: Limit PHB0/(pec0) to gen3 speed</p></li>
+<li><p>Revert “mowgli: Limit slot1 to Gen3 by default”</p></li>
+<li><p>xscom: Fix xscom error logging caused due to xscom OPAL call</p></li>
+<li><p>xive/p9: Remove assert from xive_eq_for_target()</p></li>
+<li><p>Fix possible deadlock with DEBUG build</p></li>
+<li><p>core/platform: Fallback to full_reboot if fast-reboot fails</p></li>
+<li><p>core/cpu: fix next_ungarded_primary</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -86,17 +87,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -113,14 +112,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.7.html" title="skiboot-6.7"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.7.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.7.2.html b/doc/release-notes/skiboot-6.7.2.html
index b921b37..c805cf6 100644
--- a/doc/release-notes/skiboot-6.7.2.html
+++ b/doc/release-notes/skiboot-6.7.2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.7.2 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.7.2 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.7.1.html" title="skiboot-6.7.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.7.2</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-7-2">
+ <section id="skiboot-6-7-2">
<span id="id1"></span><h1>skiboot-6.7.2<a class="headerlink" href="#skiboot-6-7-2" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.7.2 was released on Wednesday June 30, 2021. It replaces
<a class="reference internal" href="skiboot-6.7.1.html#skiboot-6-7-1"><span class="std std-ref">skiboot-6.7.1</span></a> as the current stable release in the 6.7.x series.</p>
@@ -53,18 +53,19 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>secvar: fix endian conversion</li>
-<li>secvar/secvar_util: Properly free memory on zalloc fail</li>
-<li>edk2-compat-process.c: Remove repetitive debug print statements</li>
-<li>phb4: Avoid MMIO load freeze escalation on every chip</li>
-<li>phb4: Disable TCE cache line buffer</li>
-<li>hw/imc: Disable only nest_imc devices if pause_microcode() fail</li>
-<li>hw/imc: move imc_init() towards end main_cpu_entry()</li>
-<li>Fix lock error when BT IRQ preempt BT timer</li>
+<li><p>secvar: fix endian conversion</p></li>
+<li><p>secvar/secvar_util: Properly free memory on zalloc fail</p></li>
+<li><p>edk2-compat-process.c: Remove repetitive debug print statements</p></li>
+<li><p>phb4: Avoid MMIO load freeze escalation on every chip</p></li>
+<li><p>phb4: Disable TCE cache line buffer</p></li>
+<li><p>hw/imc: Disable only nest_imc devices if pause_microcode() fail</p></li>
+<li><p>hw/imc: move imc_init() towards end main_cpu_entry()</p></li>
+<li><p>Fix lock error when BT IRQ preempt BT timer</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -84,17 +85,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -111,14 +110,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.7.1.html" title="skiboot-6.7.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.7.2</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.7.3.html b/doc/release-notes/skiboot-6.7.3.html
index 09f364b..13b7053 100644
--- a/doc/release-notes/skiboot-6.7.3.html
+++ b/doc/release-notes/skiboot-6.7.3.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.7.3 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.7.3 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.7.2.html" title="skiboot-6.7.2"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.7.3</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-7-3">
+ <section id="skiboot-6-7-3">
<span id="id1"></span><h1>skiboot-6.7.3<a class="headerlink" href="#skiboot-6-7-3" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.7.3 was released on Thursday July 22, 2021. It replaces
<a class="reference internal" href="skiboot-6.7.2.html#skiboot-6-7-2"><span class="std std-ref">skiboot-6.7.2</span></a> as the current stable release in the 6.7.x series.</p>
@@ -53,18 +53,19 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>pkcs7: pkcs7_get_content_info_type should reset <a href="#id2"><span class="problematic" id="id3">*</span></a>p on error</li>
-<li>secvar/backend: fix a memory leak in get_pkcs7</li>
-<li>secvar/backend: fix an integer underflow bug</li>
-<li>secvar/backend: Don’t overread data in auth descriptor</li>
-<li>secvar: return error if verify_signature runs out of ESLs</li>
-<li>secvar: return error if validate_esl has extra data</li>
-<li>secvar: Make <cite>validate_esl_list</cite> iterate through esl chain</li>
-<li>secvar: ensure ESL buf size is at least what ESL header expects</li>
+<li><p>pkcs7: pkcs7_get_content_info_type should reset <a href="#id2"><span class="problematic" id="id3">*</span></a>p on error</p></li>
+<li><p>secvar/backend: fix a memory leak in get_pkcs7</p></li>
+<li><p>secvar/backend: fix an integer underflow bug</p></li>
+<li><p>secvar/backend: Don’t overread data in auth descriptor</p></li>
+<li><p>secvar: return error if verify_signature runs out of ESLs</p></li>
+<li><p>secvar: return error if validate_esl has extra data</p></li>
+<li><p>secvar: Make <cite>validate_esl_list</cite> iterate through esl chain</p></li>
+<li><p>secvar: ensure ESL buf size is at least what ESL header expects</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -84,17 +85,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -111,14 +110,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.7.2.html" title="skiboot-6.7.2"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.7.3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.7.html b/doc/release-notes/skiboot-6.7.html
index 5867a0b..875ca4b 100644
--- a/doc/release-notes/skiboot-6.7.html
+++ b/doc/release-notes/skiboot-6.7.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.7 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.7 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.6.6.html" title="skiboot-6.6.6"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.7</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-7">
+ <section id="skiboot-6-7">
<span id="id1"></span><h1>skiboot-6.7<a class="headerlink" href="#skiboot-6-7" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.7 was released on Tuesday November 3rd 2020. It is the first release
of skiboot 6.7 series, which becomes the new stable release following the
@@ -55,29 +55,30 @@ the Mowgli platform. Aside from these feature, this release is largely bug-fixes
However, this is expected since we’re approaching the end of the P9 product cycle
and development has largely shifted towards enabling a future processor with a
difficult-to-guess name.</p>
-<div class="section" id="new-features">
+<section id="new-features">
<span id="skiboot-6-7-new-features"></span><h2>New features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Secure Variable support</p>
+<li><p>Secure Variable support</p>
<p>The secure variable API provides the host operating system with space to
store cryptographic keys for OS secure boot. The security comes from the
requirement that all secure variable updates be cryptographically signed
so the keys used to verify the secure boot chain can only be updated by
a user authorized to do so.</p>
</li>
-<li><p class="first">Fleetwood platform support</p>
+<li><p>Fleetwood platform support</p>
<p>Support was added for the multi-node IBM Fleetwood systems. This support
was largely for internal IBM testing purposes and is not, and will not, ever
be offically supported.</p>
</li>
-<li><p class="first">Mowgli platform support</p>
+<li><p>Mowgli platform support</p>
<p>Support was added for the Mowgli platform built by Wistron.</p>
</li>
</ul>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -105,17 +106,15 @@ be offically supported.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -132,14 +131,15 @@ be offically supported.</p>
<li class="right" >
<a href="skiboot-6.6.6.html" title="skiboot-6.6.6"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.7</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.8.1.html b/doc/release-notes/skiboot-6.8.1.html
index 71f68b4..8742650 100644
--- a/doc/release-notes/skiboot-6.8.1.html
+++ b/doc/release-notes/skiboot-6.8.1.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.8.1 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.8.1 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.8.html" title="skiboot-6.8"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.8.1</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-8-1">
+ <section id="skiboot-6-8-1">
<span id="id1"></span><h1>skiboot-6.8.1<a class="headerlink" href="#skiboot-6-8-1" title="Permalink to this headline">¶</a></h1>
<p>skiboot 6.8.1 was released on Thursday July 22, 2021. It replaces
<a class="reference internal" href="skiboot-6.8.html#skiboot-6-8"><span class="std std-ref">skiboot-6.8</span></a> as the current stable release in the 6.8.x series.</p>
@@ -53,19 +53,20 @@
bug fixes it contains.</p>
<p>Bug fixes included in this release are:</p>
<ul class="simple">
-<li>pkcs7: pkcs7_get_content_info_type should reset <a href="#id2"><span class="problematic" id="id3">*</span></a>p on error</li>
-<li>secvar/backend: fix a memory leak in get_pkcs7</li>
-<li>secvar/backend: fix an integer underflow bug</li>
-<li>secvar/backend: Don’t overread data in auth descriptor</li>
-<li>secvar: return error if verify_signature runs out of ESLs</li>
-<li>secvar: return error if validate_esl has extra data</li>
-<li>secvar: Make <cite>validate_esl_list</cite> iterate through esl chain</li>
-<li>secvar: ensure ESL buf size is at least what ESL header expects</li>
-<li>secvar: fix endian conversion</li>
+<li><p>pkcs7: pkcs7_get_content_info_type should reset <a href="#id2"><span class="problematic" id="id3">*</span></a>p on error</p></li>
+<li><p>secvar/backend: fix a memory leak in get_pkcs7</p></li>
+<li><p>secvar/backend: fix an integer underflow bug</p></li>
+<li><p>secvar/backend: Don’t overread data in auth descriptor</p></li>
+<li><p>secvar: return error if verify_signature runs out of ESLs</p></li>
+<li><p>secvar: return error if validate_esl has extra data</p></li>
+<li><p>secvar: Make <cite>validate_esl_list</cite> iterate through esl chain</p></li>
+<li><p>secvar: ensure ESL buf size is at least what ESL header expects</p></li>
+<li><p>secvar: fix endian conversion</p></li>
</ul>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -85,17 +86,15 @@ bug fixes it contains.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -112,14 +111,15 @@ bug fixes it contains.</p>
<li class="right" >
<a href="skiboot-6.8.html" title="skiboot-6.8"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.8.1</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-6.8.html b/doc/release-notes/skiboot-6.8.html
index a1ba24c..06f035e 100644
--- a/doc/release-notes/skiboot-6.8.html
+++ b/doc/release-notes/skiboot-6.8.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-6.8 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-6.8 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -34,9 +33,10 @@
<li class="right" >
<a href="skiboot-6.7.3.html" title="skiboot-6.7.3"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.8</a></li>
</ul>
</div>
@@ -45,7 +45,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-6-8">
+ <section id="skiboot-6-8">
<span id="id1"></span><h1>skiboot-6.8<a class="headerlink" href="#skiboot-6-8" title="Permalink to this headline">¶</a></h1>
<p>skiboot v6.8 was released on Friday May 28th 2021. It is the first release
of skiboot 6.8 series, which becomes the new stable release following the
@@ -53,9 +53,10 @@ of skiboot 6.8 series, which becomes the new stable release following the
<p>This release is entirely focused on bug-fixes and probably first time we have
not added any new feature. However, this is expected as development has
largely shifted towards enabling future processor.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -75,17 +76,15 @@ largely shifted towards enabling future processor.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -102,14 +101,15 @@ largely shifted towards enabling future processor.</p>
<li class="right" >
<a href="skiboot-6.7.3.html" title="skiboot-6.7.3"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-6.8</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/release-notes/skiboot-7.0.html b/doc/release-notes/skiboot-7.0.html
index 3dbef67..c813845 100644
--- a/doc/release-notes/skiboot-7.0.html
+++ b/doc/release-notes/skiboot-7.0.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>skiboot-7.0 &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>skiboot-7.0 &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -30,9 +29,10 @@
<li class="right" >
<a href="skiboot-6.8.1.html" title="skiboot-6.8.1"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-7.0</a></li>
</ul>
</div>
@@ -41,31 +41,32 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-7-0">
+ <section id="skiboot-7-0">
<span id="id1"></span><h1>skiboot-7.0<a class="headerlink" href="#skiboot-7-0" title="Permalink to this headline">¶</a></h1>
<p>skiboot v7.0 was released on Tuesday Oct 26th 2021. It is the first release
of skiboot 7.0 series, which becomes the new stable release following the
<a class="reference internal" href="skiboot-6.8.html#skiboot-6-8"><span class="std std-ref">skiboot-6.8</span></a> release, first released Friday May 28th 2021.</p>
<p>This release contains all required feature to support POWER10 systems. This
shoule be considered as minimal skiboot version required for POWER10 systems.</p>
-<div class="section" id="new-features">
+<section id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="power10">
+<section id="power10">
<h3>POWER10<a class="headerlink" href="#power10" title="Permalink to this headline">¶</a></h3>
<p>Below is the list of major feature apart from base POWER10 enablement related
changes.</p>
<ul class="simple">
-<li>Denali and rainier platform support</li>
-<li>XIVE2 interrupt controller support</li>
-<li>PHB5 support</li>
-<li>Support for OpenCAPI Persistent Memory devices</li>
-<li>Power management stop states and PState (OCC) support</li>
+<li><p>Denali and rainier platform support</p></li>
+<li><p>XIVE2 interrupt controller support</p></li>
+<li><p>PHB5 support</p></li>
+<li><p>Support for OpenCAPI Persistent Memory devices</p></li>
+<li><p>Power management stop states and PState (OCC) support</p></li>
</ul>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -93,17 +94,15 @@ changes.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -117,14 +116,15 @@ changes.</p>
<li class="right" >
<a href="skiboot-6.8.1.html" title="skiboot-6.8.1"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
documentation</a> &#187;</li>
- <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="index.html" >Release Notes</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">skiboot-7.0</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/search.html b/doc/search.html
index d245f07..e1db0da 100644
--- a/doc/search.html
+++ b/doc/search.html
@@ -1,31 +1,26 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Search &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>Search &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/searchtools.js"></script>
+ <script src="_static/searchtools.js"></script>
+ <script src="_static/language_data.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="#" />
- <script type="text/javascript">
- jQuery(function() { Search.loadIndex("searchindex.js"); });
- </script>
-
- <script type="text/javascript" id="searchindexloader"></script>
+ <script src="searchindex.js" defer></script>
</head><body>
@@ -35,8 +30,9 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Search</a></li>
</ul>
</div>
@@ -46,29 +42,37 @@
<div class="body" role="main">
<h1 id="search-documentation">Search</h1>
- <div id="fallback" class="admonition warning">
- <script type="text/javascript">$('#fallback').hide();</script>
+
+ <noscript>
+ <div class="admonition warning">
<p>
Please activate JavaScript to enable the search
functionality.
</p>
</div>
+ </noscript>
+
+
<p>
- From here you can search these documents. Enter your search
- words into the box below and click "search". Note that the search
- function will automatically search for all of the words. Pages
- containing fewer words won't appear in the result list.
+ Searching for multiple words only shows matches that contain
+ all words.
</p>
+
+
<form action="" method="get">
- <input type="text" name="q" value="" />
+ <input type="text" name="q" aria-labelledby="search-documentation" value="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="search" />
<span id="search-progress" style="padding-left: 10px"></span>
</form>
+
+
<div id="search-results">
</div>
+
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -84,13 +88,14 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Search</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/searchindex.js b/doc/searchindex.js
index 3ed4691..cd42138 100644
--- a/doc/searchindex.js
+++ b/doc/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["bmc","console-log","device-tree","device-tree/ibm,cvc","device-tree/ibm,firmware-versions","device-tree/ibm,opal","device-tree/ibm,opal/diagnostics","device-tree/ibm,opal/dump","device-tree/ibm,opal/firmware","device-tree/ibm,opal/flash","device-tree/ibm,opal/led","device-tree/ibm,opal/nvram","device-tree/ibm,opal/oppanel","device-tree/ibm,opal/power-mgt","device-tree/ibm,opal/power-mgt/occ","device-tree/ibm,opal/power-mgt/powercap","device-tree/ibm,opal/power-mgt/psr","device-tree/ibm,opal/secvar","device-tree/ibm,opal/sensor-groups","device-tree/ibm,opal/sensors","device-tree/ibm,opal/sysparams","device-tree/ibm,powerpc-cpu-features/binding","device-tree/ibm,powerpc-cpu-features/design","device-tree/ibm,secureboot","device-tree/imc","device-tree/index","device-tree/memory-hierarchy","device-tree/nvlink","device-tree/nx","device-tree/opencapi","device-tree/pci","device-tree/reserved-memory","device-tree/tpm","device-tree/vas","device-tree/vpd","error-logging","gcov","imc","index","memory","mpipl","nvlink","opal-api/index","opal-api/opal-cec-power-down-5","opal-api/opal-cec-reboot-6-116","opal-api/opal-check-async-completion-86","opal-api/opal-check-token-80","opal-api/opal-code-update-76-77-78","opal-api/opal-config-cpu-idle-state-99","opal-api/opal-console-read-write-1-2","opal-api/opal-dump-81-82-83-84-94-101-102","opal-api/opal-elog-71-72-73-74-75","opal-api/opal-flash-110-111-112","opal-api/opal-get-device-tree-118","opal-api/opal-get-epow-status-56","opal-api/opal-get-msg-85","opal-api/opal-get-msi-39-40","opal-api/opal-get-xive-20","opal-api/opal-handle-hmi-98-166","opal-api/opal-handle-interrupt","opal-api/opal-i2c-request-109","opal-api/opal-imc-counters","opal-api/opal-int-eoi-124","opal-api/opal-int-get-xirr-122","opal-api/opal-int-set-cppr-123","opal-api/opal-int-set-mfrr-125","opal-api/opal-invalid-call--1","opal-api/opal-ipmi-send-recv-107-108","opal-api/opal-led-get-set-114-115","opal-api/opal-lpc-read-write-67-68","opal-api/opal-messages","opal-api/opal-mpipl-173-174","opal-api/opal-nmmu-set-ptcr-127","opal-api/opal-npu2-146-147-148","opal-api/opal-npu2-get-set-relaxed-order-168-169","opal-api/opal-npu2-opencapi-159-160-161-171-172","opal-api/opal-nvram-read-write-7-8","opal-api/opal-param-89-90","opal-api/opal-pci-config-read-write-13-14-15-16-17-18","opal-api/opal-pci-eeh-freeze-clear-26","opal-api/opal-pci-eeh-freeze-set-97","opal-api/opal-pci-eeh-freeze-status-23","opal-api/opal-pci-err-inject-96","opal-api/opal-pci-get-hub-diag-data-50","opal-api/opal-pci-get-phb-diag-data2-64","opal-api/opal-pci-get-power-state-120","opal-api/opal-pci-get-presence-state-119","opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165","opal-api/opal-pci-map-pe-dma-window-44","opal-api/opal-pci-map-pe-dma-window-real-45","opal-api/opal-pci-map-pe-mmio-window-29","opal-api/opal-pci-msi-eoi-63","opal-api/opal-pci-next-error-60","opal-api/opal-pci-phb-mmio-enable-27","opal-api/opal-pci-poll-62","opal-api/opal-pci-reinit-53","opal-api/opal-pci-reset-49","opal-api/opal-pci-set-mve-33","opal-api/opal-pci-set-mve-enable-34","opal-api/opal-pci-set-p2p-157","opal-api/opal-pci-set-pe-31","opal-api/opal-pci-set-peltv-32","opal-api/opal-pci-set-phb-capi-mode-93","opal-api/opal-pci-set-phb-mem-window-28","opal-api/opal-pci-set-power-state-121","opal-api/opal-pci-set-xive-pe-37","opal-api/opal-pci-tce-kill-126","opal-api/opal-phb-flag-set-get-179-180","opal-api/opal-poll-events","opal-api/opal-power-shift-ratio","opal-api/opal-powercap","opal-api/opal-prd-msg-113","opal-api/opal-query-cpu-status-42","opal-api/opal-quiesce-158","opal-api/opal-read-write-tpo-dpo-103-104-105","opal-api/opal-reinit-cpus-70","opal-api/opal-resync-timebase-79","opal-api/opal-rtc-read-write-3-4","opal-api/opal-secvar","opal-api/opal-sensor-group-enable-clear-163-156","opal-api/opal-sensor-read-88","opal-api/opal-set-xive-19","opal-api/opal-signal-system-reset-145","opal-api/opal-slw-set-reg-100","opal-api/opal-start-return-cpu-41-69","opal-api/opal-sync-host-reboot-87","opal-api/opal-test-0","opal-api/opal-write-oppanel-async-95","opal-api/opal-xscom-read-write-65-66","opal-api/opal_nx_coproc_init-167","opal-api/power9-changes","opal-api/return-codes","opal-spec","overview","pci","pci-slot","platforms-and-cpus","power-management","process/CONTRIBUTING","process/dev-release-process","process/stable-skiboot-rules","process/versioning","release-notes/index","release-notes/skiboot-4.0","release-notes/skiboot-4.1","release-notes/skiboot-4.1.1","release-notes/skiboot-5.0","release-notes/skiboot-5.1.0","release-notes/skiboot-5.1.0-beta1","release-notes/skiboot-5.1.0-beta2","release-notes/skiboot-5.1.1","release-notes/skiboot-5.1.10","release-notes/skiboot-5.1.11","release-notes/skiboot-5.1.12","release-notes/skiboot-5.1.13","release-notes/skiboot-5.1.14","release-notes/skiboot-5.1.15","release-notes/skiboot-5.1.16","release-notes/skiboot-5.1.17","release-notes/skiboot-5.1.18","release-notes/skiboot-5.1.19","release-notes/skiboot-5.1.2","release-notes/skiboot-5.1.20","release-notes/skiboot-5.1.21","release-notes/skiboot-5.1.3","release-notes/skiboot-5.1.4","release-notes/skiboot-5.1.5","release-notes/skiboot-5.1.6","release-notes/skiboot-5.1.7","release-notes/skiboot-5.1.8","release-notes/skiboot-5.1.9","release-notes/skiboot-5.10","release-notes/skiboot-5.10-rc1","release-notes/skiboot-5.10-rc2","release-notes/skiboot-5.10-rc3","release-notes/skiboot-5.10-rc4","release-notes/skiboot-5.10.1","release-notes/skiboot-5.10.2","release-notes/skiboot-5.10.3","release-notes/skiboot-5.10.4","release-notes/skiboot-5.10.5","release-notes/skiboot-5.10.6","release-notes/skiboot-5.11","release-notes/skiboot-5.11-rc1","release-notes/skiboot-5.2.0","release-notes/skiboot-5.2.0-rc1","release-notes/skiboot-5.2.0-rc2","release-notes/skiboot-5.2.1","release-notes/skiboot-5.2.2","release-notes/skiboot-5.2.3","release-notes/skiboot-5.2.4","release-notes/skiboot-5.2.5","release-notes/skiboot-5.3.0","release-notes/skiboot-5.3.0-rc1","release-notes/skiboot-5.3.0-rc2","release-notes/skiboot-5.3.1","release-notes/skiboot-5.3.2","release-notes/skiboot-5.3.3","release-notes/skiboot-5.3.4","release-notes/skiboot-5.3.5","release-notes/skiboot-5.3.6","release-notes/skiboot-5.3.7","release-notes/skiboot-5.4.0","release-notes/skiboot-5.4.0-rc1","release-notes/skiboot-5.4.0-rc2","release-notes/skiboot-5.4.0-rc3","release-notes/skiboot-5.4.0-rc4","release-notes/skiboot-5.4.1","release-notes/skiboot-5.4.10","release-notes/skiboot-5.4.11","release-notes/skiboot-5.4.12","release-notes/skiboot-5.4.2","release-notes/skiboot-5.4.3","release-notes/skiboot-5.4.4","release-notes/skiboot-5.4.5","release-notes/skiboot-5.4.6","release-notes/skiboot-5.4.7","release-notes/skiboot-5.4.8","release-notes/skiboot-5.4.9","release-notes/skiboot-5.5.0","release-notes/skiboot-5.5.0-rc1","release-notes/skiboot-5.5.0-rc2","release-notes/skiboot-5.5.0-rc3","release-notes/skiboot-5.6.0","release-notes/skiboot-5.6.0-rc1","release-notes/skiboot-5.6.0-rc2","release-notes/skiboot-5.7","release-notes/skiboot-5.7-rc1","release-notes/skiboot-5.7-rc2","release-notes/skiboot-5.8","release-notes/skiboot-5.8-rc1","release-notes/skiboot-5.9","release-notes/skiboot-5.9-rc1","release-notes/skiboot-5.9-rc2","release-notes/skiboot-5.9-rc3","release-notes/skiboot-5.9-rc4","release-notes/skiboot-5.9-rc5","release-notes/skiboot-5.9.1","release-notes/skiboot-5.9.2","release-notes/skiboot-5.9.3","release-notes/skiboot-5.9.4","release-notes/skiboot-5.9.5","release-notes/skiboot-5.9.6","release-notes/skiboot-5.9.7","release-notes/skiboot-5.9.8","release-notes/skiboot-5.9.9","release-notes/skiboot-6.0","release-notes/skiboot-6.0-rc1","release-notes/skiboot-6.0-rc2","release-notes/skiboot-6.0.1","release-notes/skiboot-6.0.10","release-notes/skiboot-6.0.11","release-notes/skiboot-6.0.12","release-notes/skiboot-6.0.13","release-notes/skiboot-6.0.14","release-notes/skiboot-6.0.15","release-notes/skiboot-6.0.16","release-notes/skiboot-6.0.17","release-notes/skiboot-6.0.18","release-notes/skiboot-6.0.19","release-notes/skiboot-6.0.2","release-notes/skiboot-6.0.20","release-notes/skiboot-6.0.21","release-notes/skiboot-6.0.22","release-notes/skiboot-6.0.23","release-notes/skiboot-6.0.24","release-notes/skiboot-6.0.3","release-notes/skiboot-6.0.4","release-notes/skiboot-6.0.5","release-notes/skiboot-6.0.6","release-notes/skiboot-6.0.7","release-notes/skiboot-6.0.8","release-notes/skiboot-6.0.9","release-notes/skiboot-6.1","release-notes/skiboot-6.1-rc1","release-notes/skiboot-6.2","release-notes/skiboot-6.2-rc1","release-notes/skiboot-6.2-rc2","release-notes/skiboot-6.2.1","release-notes/skiboot-6.2.2","release-notes/skiboot-6.2.3","release-notes/skiboot-6.2.4","release-notes/skiboot-6.3","release-notes/skiboot-6.3-rc1","release-notes/skiboot-6.3-rc2","release-notes/skiboot-6.3-rc3","release-notes/skiboot-6.3.1","release-notes/skiboot-6.3.2","release-notes/skiboot-6.3.3","release-notes/skiboot-6.3.4","release-notes/skiboot-6.3.5","release-notes/skiboot-6.4","release-notes/skiboot-6.4-rc1","release-notes/skiboot-6.5","release-notes/skiboot-6.5.1","release-notes/skiboot-6.5.2","release-notes/skiboot-6.5.3","release-notes/skiboot-6.5.4","release-notes/skiboot-6.6","release-notes/skiboot-6.6.1","release-notes/skiboot-6.6.2","release-notes/skiboot-6.6.3","release-notes/skiboot-6.6.4","release-notes/skiboot-6.6.6","release-notes/skiboot-6.7","release-notes/skiboot-6.7.1","release-notes/skiboot-6.7.2","release-notes/skiboot-6.7.3","release-notes/skiboot-6.8","release-notes/skiboot-6.8.1","release-notes/skiboot-7.0","secvar/driver-api","secvar/edk2","secvar/secboot_tpm","stb","vas","xive","xscom-node-bindings"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,sphinx:55},filenames:["bmc.rst","console-log.rst","device-tree.rst","device-tree/ibm,cvc.rst","device-tree/ibm,firmware-versions.rst","device-tree/ibm,opal.rst","device-tree/ibm,opal/diagnostics.rst","device-tree/ibm,opal/dump.rst","device-tree/ibm,opal/firmware.rst","device-tree/ibm,opal/flash.rst","device-tree/ibm,opal/led.rst","device-tree/ibm,opal/nvram.rst","device-tree/ibm,opal/oppanel.rst","device-tree/ibm,opal/power-mgt.rst","device-tree/ibm,opal/power-mgt/occ.rst","device-tree/ibm,opal/power-mgt/powercap.rst","device-tree/ibm,opal/power-mgt/psr.rst","device-tree/ibm,opal/secvar.rst","device-tree/ibm,opal/sensor-groups.rst","device-tree/ibm,opal/sensors.rst","device-tree/ibm,opal/sysparams.rst","device-tree/ibm,powerpc-cpu-features/binding.rst","device-tree/ibm,powerpc-cpu-features/design.rst","device-tree/ibm,secureboot.rst","device-tree/imc.rst","device-tree/index.rst","device-tree/memory-hierarchy.rst","device-tree/nvlink.rst","device-tree/nx.rst","device-tree/opencapi.rst","device-tree/pci.rst","device-tree/reserved-memory.rst","device-tree/tpm.rst","device-tree/vas.rst","device-tree/vpd.rst","error-logging.rst","gcov.rst","imc.rst","index.rst","memory.rst","mpipl.rst","nvlink.rst","opal-api/index.rst","opal-api/opal-cec-power-down-5.rst","opal-api/opal-cec-reboot-6-116.rst","opal-api/opal-check-async-completion-86.rst","opal-api/opal-check-token-80.rst","opal-api/opal-code-update-76-77-78.rst","opal-api/opal-config-cpu-idle-state-99.rst","opal-api/opal-console-read-write-1-2.rst","opal-api/opal-dump-81-82-83-84-94-101-102.rst","opal-api/opal-elog-71-72-73-74-75.rst","opal-api/opal-flash-110-111-112.rst","opal-api/opal-get-device-tree-118.rst","opal-api/opal-get-epow-status-56.rst","opal-api/opal-get-msg-85.rst","opal-api/opal-get-msi-39-40.rst","opal-api/opal-get-xive-20.rst","opal-api/opal-handle-hmi-98-166.rst","opal-api/opal-handle-interrupt.rst","opal-api/opal-i2c-request-109.rst","opal-api/opal-imc-counters.rst","opal-api/opal-int-eoi-124.rst","opal-api/opal-int-get-xirr-122.rst","opal-api/opal-int-set-cppr-123.rst","opal-api/opal-int-set-mfrr-125.rst","opal-api/opal-invalid-call--1.rst","opal-api/opal-ipmi-send-recv-107-108.rst","opal-api/opal-led-get-set-114-115.rst","opal-api/opal-lpc-read-write-67-68.rst","opal-api/opal-messages.rst","opal-api/opal-mpipl-173-174.rst","opal-api/opal-nmmu-set-ptcr-127.rst","opal-api/opal-npu2-146-147-148.rst","opal-api/opal-npu2-get-set-relaxed-order-168-169.rst","opal-api/opal-npu2-opencapi-159-160-161-171-172.rst","opal-api/opal-nvram-read-write-7-8.rst","opal-api/opal-param-89-90.rst","opal-api/opal-pci-config-read-write-13-14-15-16-17-18.rst","opal-api/opal-pci-eeh-freeze-clear-26.rst","opal-api/opal-pci-eeh-freeze-set-97.rst","opal-api/opal-pci-eeh-freeze-status-23.rst","opal-api/opal-pci-err-inject-96.rst","opal-api/opal-pci-get-hub-diag-data-50.rst","opal-api/opal-pci-get-phb-diag-data2-64.rst","opal-api/opal-pci-get-power-state-120.rst","opal-api/opal-pci-get-presence-state-119.rst","opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165.rst","opal-api/opal-pci-map-pe-dma-window-44.rst","opal-api/opal-pci-map-pe-dma-window-real-45.rst","opal-api/opal-pci-map-pe-mmio-window-29.rst","opal-api/opal-pci-msi-eoi-63.rst","opal-api/opal-pci-next-error-60.rst","opal-api/opal-pci-phb-mmio-enable-27.rst","opal-api/opal-pci-poll-62.rst","opal-api/opal-pci-reinit-53.rst","opal-api/opal-pci-reset-49.rst","opal-api/opal-pci-set-mve-33.rst","opal-api/opal-pci-set-mve-enable-34.rst","opal-api/opal-pci-set-p2p-157.rst","opal-api/opal-pci-set-pe-31.rst","opal-api/opal-pci-set-peltv-32.rst","opal-api/opal-pci-set-phb-capi-mode-93.rst","opal-api/opal-pci-set-phb-mem-window-28.rst","opal-api/opal-pci-set-power-state-121.rst","opal-api/opal-pci-set-xive-pe-37.rst","opal-api/opal-pci-tce-kill-126.rst","opal-api/opal-phb-flag-set-get-179-180.rst","opal-api/opal-poll-events.rst","opal-api/opal-power-shift-ratio.rst","opal-api/opal-powercap.rst","opal-api/opal-prd-msg-113.rst","opal-api/opal-query-cpu-status-42.rst","opal-api/opal-quiesce-158.rst","opal-api/opal-read-write-tpo-dpo-103-104-105.rst","opal-api/opal-reinit-cpus-70.rst","opal-api/opal-resync-timebase-79.rst","opal-api/opal-rtc-read-write-3-4.rst","opal-api/opal-secvar.rst","opal-api/opal-sensor-group-enable-clear-163-156.rst","opal-api/opal-sensor-read-88.rst","opal-api/opal-set-xive-19.rst","opal-api/opal-signal-system-reset-145.rst","opal-api/opal-slw-set-reg-100.rst","opal-api/opal-start-return-cpu-41-69.rst","opal-api/opal-sync-host-reboot-87.rst","opal-api/opal-test-0.rst","opal-api/opal-write-oppanel-async-95.rst","opal-api/opal-xscom-read-write-65-66.rst","opal-api/opal_nx_coproc_init-167.rst","opal-api/power9-changes.rst","opal-api/return-codes.rst","opal-spec.rst","overview.rst","pci.rst","pci-slot.rst","platforms-and-cpus.rst","power-management.rst","process/CONTRIBUTING.md","process/dev-release-process.rst","process/stable-skiboot-rules.rst","process/versioning.rst","release-notes/index.rst","release-notes/skiboot-4.0.rst","release-notes/skiboot-4.1.rst","release-notes/skiboot-4.1.1.rst","release-notes/skiboot-5.0.rst","release-notes/skiboot-5.1.0.rst","release-notes/skiboot-5.1.0-beta1.rst","release-notes/skiboot-5.1.0-beta2.rst","release-notes/skiboot-5.1.1.rst","release-notes/skiboot-5.1.10.rst","release-notes/skiboot-5.1.11.rst","release-notes/skiboot-5.1.12.rst","release-notes/skiboot-5.1.13.rst","release-notes/skiboot-5.1.14.rst","release-notes/skiboot-5.1.15.rst","release-notes/skiboot-5.1.16.rst","release-notes/skiboot-5.1.17.rst","release-notes/skiboot-5.1.18.rst","release-notes/skiboot-5.1.19.rst","release-notes/skiboot-5.1.2.rst","release-notes/skiboot-5.1.20.rst","release-notes/skiboot-5.1.21.rst","release-notes/skiboot-5.1.3.rst","release-notes/skiboot-5.1.4.rst","release-notes/skiboot-5.1.5.rst","release-notes/skiboot-5.1.6.rst","release-notes/skiboot-5.1.7.rst","release-notes/skiboot-5.1.8.rst","release-notes/skiboot-5.1.9.rst","release-notes/skiboot-5.10.rst","release-notes/skiboot-5.10-rc1.rst","release-notes/skiboot-5.10-rc2.rst","release-notes/skiboot-5.10-rc3.rst","release-notes/skiboot-5.10-rc4.rst","release-notes/skiboot-5.10.1.rst","release-notes/skiboot-5.10.2.rst","release-notes/skiboot-5.10.3.rst","release-notes/skiboot-5.10.4.rst","release-notes/skiboot-5.10.5.rst","release-notes/skiboot-5.10.6.rst","release-notes/skiboot-5.11.rst","release-notes/skiboot-5.11-rc1.rst","release-notes/skiboot-5.2.0.rst","release-notes/skiboot-5.2.0-rc1.rst","release-notes/skiboot-5.2.0-rc2.rst","release-notes/skiboot-5.2.1.rst","release-notes/skiboot-5.2.2.rst","release-notes/skiboot-5.2.3.rst","release-notes/skiboot-5.2.4.rst","release-notes/skiboot-5.2.5.rst","release-notes/skiboot-5.3.0.rst","release-notes/skiboot-5.3.0-rc1.rst","release-notes/skiboot-5.3.0-rc2.rst","release-notes/skiboot-5.3.1.rst","release-notes/skiboot-5.3.2.rst","release-notes/skiboot-5.3.3.rst","release-notes/skiboot-5.3.4.rst","release-notes/skiboot-5.3.5.rst","release-notes/skiboot-5.3.6.rst","release-notes/skiboot-5.3.7.rst","release-notes/skiboot-5.4.0.rst","release-notes/skiboot-5.4.0-rc1.rst","release-notes/skiboot-5.4.0-rc2.rst","release-notes/skiboot-5.4.0-rc3.rst","release-notes/skiboot-5.4.0-rc4.rst","release-notes/skiboot-5.4.1.rst","release-notes/skiboot-5.4.10.rst","release-notes/skiboot-5.4.11.rst","release-notes/skiboot-5.4.12.rst","release-notes/skiboot-5.4.2.rst","release-notes/skiboot-5.4.3.rst","release-notes/skiboot-5.4.4.rst","release-notes/skiboot-5.4.5.rst","release-notes/skiboot-5.4.6.rst","release-notes/skiboot-5.4.7.rst","release-notes/skiboot-5.4.8.rst","release-notes/skiboot-5.4.9.rst","release-notes/skiboot-5.5.0.rst","release-notes/skiboot-5.5.0-rc1.rst","release-notes/skiboot-5.5.0-rc2.rst","release-notes/skiboot-5.5.0-rc3.rst","release-notes/skiboot-5.6.0.rst","release-notes/skiboot-5.6.0-rc1.rst","release-notes/skiboot-5.6.0-rc2.rst","release-notes/skiboot-5.7.rst","release-notes/skiboot-5.7-rc1.rst","release-notes/skiboot-5.7-rc2.rst","release-notes/skiboot-5.8.rst","release-notes/skiboot-5.8-rc1.rst","release-notes/skiboot-5.9.rst","release-notes/skiboot-5.9-rc1.rst","release-notes/skiboot-5.9-rc2.rst","release-notes/skiboot-5.9-rc3.rst","release-notes/skiboot-5.9-rc4.rst","release-notes/skiboot-5.9-rc5.rst","release-notes/skiboot-5.9.1.rst","release-notes/skiboot-5.9.2.rst","release-notes/skiboot-5.9.3.rst","release-notes/skiboot-5.9.4.rst","release-notes/skiboot-5.9.5.rst","release-notes/skiboot-5.9.6.rst","release-notes/skiboot-5.9.7.rst","release-notes/skiboot-5.9.8.rst","release-notes/skiboot-5.9.9.rst","release-notes/skiboot-6.0.rst","release-notes/skiboot-6.0-rc1.rst","release-notes/skiboot-6.0-rc2.rst","release-notes/skiboot-6.0.1.rst","release-notes/skiboot-6.0.10.rst","release-notes/skiboot-6.0.11.rst","release-notes/skiboot-6.0.12.rst","release-notes/skiboot-6.0.13.rst","release-notes/skiboot-6.0.14.rst","release-notes/skiboot-6.0.15.rst","release-notes/skiboot-6.0.16.rst","release-notes/skiboot-6.0.17.rst","release-notes/skiboot-6.0.18.rst","release-notes/skiboot-6.0.19.rst","release-notes/skiboot-6.0.2.rst","release-notes/skiboot-6.0.20.rst","release-notes/skiboot-6.0.21.rst","release-notes/skiboot-6.0.22.rst","release-notes/skiboot-6.0.23.rst","release-notes/skiboot-6.0.24.rst","release-notes/skiboot-6.0.3.rst","release-notes/skiboot-6.0.4.rst","release-notes/skiboot-6.0.5.rst","release-notes/skiboot-6.0.6.rst","release-notes/skiboot-6.0.7.rst","release-notes/skiboot-6.0.8.rst","release-notes/skiboot-6.0.9.rst","release-notes/skiboot-6.1.rst","release-notes/skiboot-6.1-rc1.rst","release-notes/skiboot-6.2.rst","release-notes/skiboot-6.2-rc1.rst","release-notes/skiboot-6.2-rc2.rst","release-notes/skiboot-6.2.1.rst","release-notes/skiboot-6.2.2.rst","release-notes/skiboot-6.2.3.rst","release-notes/skiboot-6.2.4.rst","release-notes/skiboot-6.3.rst","release-notes/skiboot-6.3-rc1.rst","release-notes/skiboot-6.3-rc2.rst","release-notes/skiboot-6.3-rc3.rst","release-notes/skiboot-6.3.1.rst","release-notes/skiboot-6.3.2.rst","release-notes/skiboot-6.3.3.rst","release-notes/skiboot-6.3.4.rst","release-notes/skiboot-6.3.5.rst","release-notes/skiboot-6.4.rst","release-notes/skiboot-6.4-rc1.rst","release-notes/skiboot-6.5.rst","release-notes/skiboot-6.5.1.rst","release-notes/skiboot-6.5.2.rst","release-notes/skiboot-6.5.3.rst","release-notes/skiboot-6.5.4.rst","release-notes/skiboot-6.6.rst","release-notes/skiboot-6.6.1.rst","release-notes/skiboot-6.6.2.rst","release-notes/skiboot-6.6.3.rst","release-notes/skiboot-6.6.4.rst","release-notes/skiboot-6.6.6.rst","release-notes/skiboot-6.7.rst","release-notes/skiboot-6.7.1.rst","release-notes/skiboot-6.7.2.rst","release-notes/skiboot-6.7.3.rst","release-notes/skiboot-6.8.rst","release-notes/skiboot-6.8.1.rst","release-notes/skiboot-7.0.rst","secvar/driver-api.rst","secvar/edk2.rst","secvar/secboot_tpm.rst","stb.rst","vas.rst","xive.rst","xscom-node-bindings.rst"],objects:{},objnames:{},objtypes:{},terms:{"0000000000001f00":224,"0000000000001f10":[182,183,272,275,276],"00000000300027b4":[171,173],"00000000300029f4":[171,174],"0000000030002a4c":[261,281,282,283],"00000000300051c4":[182,183],"00000000300051dc":[246,247],"0000000030012c70":[273,274],"00000000300130cc":[273,274],"000000003001362c":[182,183],"000000003001364c":224,"000000003001367c":[171,174],"0000000030013b0c":182,"0000000030013bbc":182,"00000000300142d8":[171,174],"000000003001447c":[182,183],"00000000300144c8":[182,183,224],"00000000300146d8":[261,281,282,283],"000000003001480c":[273,274],"00000000300149e8":[171,173],"0000000030014ca4":[272,275,276],"0000000030014cb0":[182,183],"0000000030014d04":[182,183],"000000003001571c":[273,274],"00000000300168fc":[162,214],"0000000030017ff0":[182,183],"0000000030018db8":224,"00000000300190ac":[273,274],"00000000300192e0":[273,274],"0000000030019aa8":182,"0000000030019c70":[256,278],"0000000030019e38":[182,183],"000000003001a03c":[171,174],"000000003001a040":[256,278],"000000003001a0c4":[256,278],"000000003001a51c":[272,275,276],"000000003001a548":[246,247],"000000003001af60":[261,281,282,283],"000000003001afdc":[261,281,282,283],"000000003001b274":[281,282,283],"000000003001b2f0":[281,282,283],"000000003001b520":182,"000000003001baac":[246,247],"000000003001bcbc":[246,247],"000000003001bd18":182,"000000003001d840":[256,278],"000000003001e27c":[182,183],"000000003001e588":[182,183],"000000003001ee74":[182,183],"00000000300248b8":224,"0000000030024b50":224,"000000003002586c":[171,174],"0000000030025c6c":224,"000000003002602c":[182,183],"00000000300267d8":[171,174],"000000003002682c":[182,183],"0000000030026a28":[171,174],"0000000030026cf0":[261,281,282,283],"000000003002760c":[182,183],"000000003002ad68":[171,173],"000000003002ad80":[171,173],"000000003003025c":[178,182,183],"0000000030030e08":[182,183],"00000000300347bc":[273,274],"00000000300364a4":[273,274],"000000003003e434":[178,182,183],"000000003003ea3c":[171,174],"000000003004ab48":[273,274],"000000003006dd70":[162,215,226,227],"000000003006ecb0":[272,275,276],"000000003006ecd4":[272,275,276],"0000000030090c28":224,"000000003009102c":[182,183],"0000000030093d80":[171,173],"0000000030093ffc":224,"000000003009abec":224,"00000000300b3dc6":[182,183],"00000000300b4f3e":[182,183],"00000000300b58bc":[171,173],"00000000300b5964":[171,173],"00000000300b98a0":[272,275,276],"00000000300bb6d2":[182,183],"00000000300be6fb":[182,183],"00000000300c5b70":182,"00000000300cb808":[273,274],"00000000300cb910":[273,274],"00000000300fd500":[182,183],"0000000030767d38":[182,183],"0000000031c03370":[273,274],"0000000031c03410":[273,274],"0000000031c034b0":[273,274],"0000000031c03540":[273,274],"0000000031c03600":[273,274],"0000000031c036d0":[273,274],"0000000031c03780":[273,274],"0000000031c03930":[256,278],"0000000031c03970":[273,274],"0000000031c039c0":[256,278],"0000000031c03a00":[273,274],"0000000031c03a50":[256,278],"0000000031c03af0":[256,278],"0000000031c03b90":[273,274],"0000000031c03ba0":[246,247],"0000000031c03bc0":[171,173],"0000000031c03bd0":[171,173],"0000000031c03c20":[246,247],"0000000031c03ca0":[246,247],"0000000031c03d20":[246,247],"0000000031c03d50":[273,274],"0000000031c03e30":[273,274],"0000000031c03f00":[273,274],"0000000031c13ab0":182,"0000000031c13b50":182,"0000000031c13be0":182,"0000000031c13c60":182,"0000000031c13d00":182,"0000000031c13d90":182,"0000000031c13e30":182,"0000000031c13f00":182,"0000000031c20000":[182,183],"0000000031c23670":[182,183],"0000000031c23910":[182,183],"0000000031c23930":[182,183],"0000000031cc37e0":[272,275,276],"0000000031cc3860":[272,275,276],"0000000031cc3a40":[272,275,276],"0000000031cc3c20":[272,275,276],"0000000031cc3e30":[272,275,276],"0000000031cc3f00":[272,275,276],"0000000031cd3370":[182,183],"0000000031cd3410":[182,183],"0000000031cd3490":[182,183],"0000000031cd3670":[182,183],"0000000031cd36a0":224,"0000000031cd3730":224,"0000000031cd37b0":224,"0000000031cd3840":224,"0000000031cd3850":[182,183],"0000000031cd38e0":[182,183],"0000000031cd3960":[182,183],"0000000031cd3a10":224,"0000000031cd3a30":[182,183],"0000000031cd3aa0":224,"0000000031cd3ab0":224,"0000000031cd3ac0":[182,183],"0000000031cd3b30":224,"0000000031cd3ba0":[182,183],"0000000031cd3bd0":224,"0000000031cd3cb0":[182,183],"0000000031cd3cf0":224,"0000000031cd3d40":[182,183],"0000000031cd3e00":[182,183],"0000000031cd3e30":224,"0000000031cd3e80":[182,183],"0000000031cd3f00":[182,183,224],"0000000031d43c60":[281,282,283],"0000000031d43ce0":[281,282,283],"0000000031d43d60":[281,282,283],"0000000031d43e30":[281,282,283],"0000000031d43f00":[281,282,283],"0000000031d639d0":[171,174],"0000000031d63a60":[171,174],"0000000031d63ae0":[171,174],"0000000031d63b70":[171,174],"0000000031d63c10":[171,174],"0000000031d63d90":[171,174],"0000000031d63e70":[171,174],"0000000031d63f00":[171,174],"0000000031e03ca0":[261,281,282,283],"0000000031e03d20":[261,281,282,283],"0000000031e03da0":[261,281,282,283],"0000000031e03e70":[261,281,282,283],"0000000031e03f00":[261,281,282,283],"0000000031fc4000":[162,215,226,227],"0000000c":[171,172,226,228],"0000001f":[229,230],"0000002c":[231,232],"000000a0":35,"000000b0":35,"000000bd":[171,172],"000000c0":35,"000000d0":35,"000000e0":35,"000000f0":35,"000001a0":35,"000001b0":35,"000001c0":35,"000001d0":35,"000001e0":35,"000008e8":[157,187],"00000fff":[282,285],"00002fffffff":[182,183],"0000303fffff":[182,183],"000030ffffff":[182,183],"000031bfffff":[182,183],"000031c0ffff":[182,183],"000051d01fff":[182,183],"00007fffffff":[182,183],"0000802c":[171,172],"000080b3cdff":[182,183],"000080b7cdff":[182,183],"0000ccc1":[272,275,276],"0000ccc2":[272,275,276],"0000ccc3":[272,275,276],"0000d007":[171,172],"0000ffffffff":[182,183],"000ft":236,"009f0000":35,"00e2147":34,"00e2148":34,"00fd7911":[231,232],"0131f0fc08":[246,247],"019a00d4":[231,232],"01f977c3":[282,283],"02021c6":[231,232],"028c":[287,291,292],"03dc":220,"04c1":[282,285],"0679f61244b":231,"07b":22,"07fb":[226,227],"083d":[178,182,183],"09cfacb":4,"0b00":[171,172],"0b01":[171,172],"0b10":[171,172],"0b11":[171,172],"0beta":4,"0bxx00xx00":[216,226,227],"0bxx11xx11":[216,226,227],"0ff7":[281,282,283],"0ff8":[281,282,283],"0fff":[281,282,283],"0ms":[134,226,229,230,287,291,292],"0us":229,"0x0":[0,2,3,5,7,8,9,13,24,27,29,30,34,41,112,134,171,172,173,182,183,226,227,231,233,245,275,276,291,292],"0x00":[35,41,70,217,231,232,288],"0x0000":[287,291,292],"0x00000000":[15,16,35,171,172,242,245,282,283],"0x000000000000":[182,183],"0x0000000000000000":[171,174,282,283],"0x0000000000000001":[256,278],"0x0000000000000100":[246,247],"0x0000000000000104":[246,247],"0x0000000000000108":[246,247],"0x000000000000010c":[246,247],"0x0000000000000e40":[282,283],"0x000000000000a83c":[272,275,276],"0x0000000000100000":[2,246,247],"0x00000000003e0000":2,"0x0000000000400000":2,"0x000000000041fae0":[291,292],"0x000000000041fb50":[291,292],"0x000000000041fbd0":[291,292],"0x000000000041fc00":[291,292],"0x000000000041fc40":[291,292],"0x000000000041fc80":[291,292],"0x000000000041fd80":[291,292],"0x000000000041fe10":[291,292],"0x000000000041fe80":[291,292],"0x000000000041fef0":[291,292],"0x000000000041ff90":[291,292],"0x0000000000600450":2,"0x0000000000c00000":2,"0x0000000000e00000":2,"0x000000003":15,"0x0000000030000000":2,"0x0000000030000010":[282,283],"0x00000000300051e4":[261,281,282,283],"0x0000000030013a08":225,"0x000000003001dce4":[261,281,282,283],"0x000000003001dd3c":[261,281,282,283],"0x000000003002c128":[261,281,282,283],"0x000000003002ecf8":[261,281,282,283],"0x0000000030030be0":[261,281,282,283],"0x00000000300a7b18":[261,281,282,283],"0x00000000300a7c34":[261,281,282,283],"0x00000000300aa5f8":[261,281,282,283],"0x00000000300aaadc":[261,281,282,283],"0x00000000300ab1d8":[261,281,282,283],"0x0000000030400000":2,"0x0000000031000000":2,"0x0000000031c236e0":[261,281,282,283],"0x0000000031c23760":[261,281,282,283],"0x0000000031c237f0":[261,281,282,283],"0x0000000031c23880":[261,281,282,283],"0x0000000031c23950":[261,281,282,283],"0x0000000031c23a90":[261,281,282,283],"0x0000000031c23b30":[261,281,282,283],"0x0000000031c23bf0":[261,281,282,283],"0x0000000031c23c90":[261,281,282,283],"0x0000000031c23d20":[261,281,282,283],"0x0000000031e00000":2,"0x00000000deadbeef":224,"0x00000001":[15,226,227],"0x0000000101000000":226,"0x00000002":15,"0x00000003":[226,227],"0x0000000400000000":2,"0x0000000410000000":[182,183],"0x00000007fe200000":2,"0x00000007fe600000":2,"0x00000008":18,"0x0000001101000000":[134,229,230,287,291,292],"0x00000100":16,"0x00000103070f1f3f":[226,227],"0x00000175":18,"0x00000176":18,"0x00000177":18,"0x00000178":18,"0x00000179":18,"0x0000017a":18,"0x0000017b":18,"0x0000017c":18,"0x00000884":[217,231,233],"0x0000100000000000":249,"0x0000100101000000":226,"0x0000102101000000":[134,229,230,287,291,292],"0x0000105101000000":[287,291,292],"0x0000144083000000":[134,229,230],"0x0000144104000000":[134,229,230],"0x0000144883000000":[287,291,292],"0x0000154883000000":[134,229,230,287,291,292],"0x0000154904000000":[134,229,230],"0x0000180101000000":226,"0x0000182101000000":[134,229,230],"0x0000183101000000":[134,229,230,287,291,292],"0x00001c5081000000":[134,229,230],"0x00001c5083000000":[134,229,230],"0x00001c5101000000":[134,229,230],"0x00001c5103000000":[134,229,230],"0x00001c5104000000":[134,229,230],"0x00001c5881000000":[287,291,292],"0x00001c5883000000":[287,291,292],"0x00001d0811000000":226,"0x000030000000":[182,183],"0x000030400000":[182,183],"0x000031000000":[182,183],"0x000031c00000":[182,183],"0x0000400000000000":[246,248],"0x000051c00000":[182,183],"0x000051d02000":[182,183],"0x000080000000":[182,183],"0x000080b3ce00":[182,183],"0x000080b7ce00":[182,183],"0x0000909101000000":[287,291,292],"0x0001":[19,54],"0x0002":[19,54],"0x0003":19,"0x0004":[54,182],"0x0008":54,"0x00080000":48,"0x000f":220,"0x00100000":[180,182],"0x0017d907":23,"0x00200000":[180,182],"0x004bxxxx":136,"0x004c0100":[257,278,282,283],"0x004cxxxx":136,"0x004dxxxx":136,"0x004e0xxx":136,"0x004e1200":182,"0x004e1xxx":136,"0x004e2xxx":136,"0x004e3xxx":136,"0x004fxxxx":136,"0x00800020":19,"0x0080100000000000":249,"0x0080xxxx":136,"0x00810001":19,"0x009a48180f01ffff":249,"0x009a48180f03ffff":249,"0x00e4":[171,172],"0x01":[0,35,50,60,70,231,233],"0x01963000":291,"0x01964000":291,"0x01965000":291,"0x01c00020":18,"0x01c10190":313,"0x01c10191":313,"0x02":[0,35,41,50,70,231,232],"0x03":[35,50,70],"0x04":[0,35,70],"0x04ea":41,"0x05":[70,217,231,232],"0x06":275,"0x068000":41,"0x068001":41,"0x08":35,"0x0840000000000000":[171,172,272,275,276],"0x0841":[272,275,276],"0x0842":[272,275,276],"0x0843":[272,275,276],"0x0844":[272,275,276],"0x0845":[272,275,276],"0x0846":[272,275,276],"0x0847":[272,275,276],"0x09":[41,171,174],"0x0f":0,"0x0f000004":2,"0x0ff0":220,"0x1":[0,2,3,9,13,14,20,24,27,29,30,41,99,107,112,134,171,172,273,274,311],"0x10":[2,5,12,24,30,35,59,231,232,291,292],"0x100":[2,27,122,182,183,202,203,231,232,246,247],"0x1000":[2,9,17,30,231,232,254,275,277,282,285],"0x10000":[2,32],"0x100000":2,"0x10000000":30,"0x100000000":[27,226,227],"0x10000003":5,"0x1000000a":27,"0x1000000b":27,"0x10000017":32,"0x10000032":20,"0x1000006b":10,"0x1000006f":10,"0x100000fd":23,"0x1000012e":4,"0x1000023a":24,"0x1000023d":24,"0x10000241":24,"0x10000242":24,"0x100002a0":13,"0x100002bc":27,"0x100002bd":27,"0x100002be":27,"0x100002bf":[9,27],"0x100002c0":27,"0x100002f5":27,"0x100002f7":27,"0x100002fc":27,"0x100002fd":27,"0x100002fe":27,"0x100002ff":27,"0x100003b8":14,"0x10000abc":27,"0x10000def":27,"0x1000a7":5,"0x10077":5,"0x1014":[27,30,41],"0x1017":[231,232],"0x10200000":24,"0x1020013":275,"0x104":[246,247],"0x10414e43":34,"0x10f":3,"0x11":[5,59],"0x110":[2,3,217,231,233],"0x11000":13,"0x111":3,"0x114":224,"0x118":24,"0x11c":[231,233],"0x11e1a300":13,"0x11e4":224,"0x12":[5,59],"0x120":2,"0x126":30,"0x12c":[182,246,247],"0x13":[0,5,59],"0x130":[217,231,233],"0x134":[261,273,274,281,282,283],"0x138":224,"0x14":[0,5,59,221],"0x140":[261,281,282,283],"0x142":34,"0x14233":34,"0x15":[2,30],"0x150":[261,281,282,283],"0x158":[246,247],"0x15d9ad1c":26,"0x164":[261,281,282,283],"0x164d3322":34,"0x168":[231,233],"0x169626d2c":[226,227],"0x16c":[182,183],"0x170":[231,233],"0x17fe":[5,59],"0x17ff":[5,59],"0x18":[2,213,220],"0x180":[182,183,272,275,276],"0x180000":24,"0x1801010":5,"0x184":[273,274],"0x186a0":13,"0x188":182,"0x18c":[217,231,233],"0x1903010":5,"0x198":[217,224,231,233],"0x1a0000000000":[226,227],"0x1a00001f":[275,276],"0x1a05010":5,"0x1b0":[162,215,226,227],"0x1b07010":5,"0x1b3f5":8,"0x1b8":[261,272,275,276,281,282,283],"0x1c":[2,273,274,291,292],"0x1c0":[182,273,274,281,282,283],"0x1c09010":5,"0x1c8":[231,233],"0x1d01d6d1":23,"0x1d0b010":5,"0x1d4":[261,281,282,283],"0x1d4d3142":34,"0x1d8":[261,281,282,283],"0x1d9e":[182,183],"0x1e":30,"0x1e00":[171,174],"0x1e07":[171,174],"0x1e0d010":5,"0x1e848000":2,"0x1f":[1,30],"0x1f00":224,"0x1f0f010":5,"0x1f4":[231,233],"0x1fc":[231,233],"0x1ff":30,"0x1fffffff":[137,246,248],"0x2":[2,5,12,13,20,24,27,29,30,88,99,107,112,221,226,228,311],"0x20":[2,13,19,35,182,183,231,232,233,268,273,291,292],"0x200":[30,282,283],"0x2000":30,"0x20000":[30,202,203],"0x2000000":30,"0x20000000":[7,261,275,276,281,282,283],"0x20000020":2,"0x20010":[5,59],"0x20010800":[171,172,242],"0x20011":[5,59],"0x20011000":[246,248],"0x20012":[5,59],"0x20013":[5,59],"0x20014":[5,59],"0x2010000":2,"0x2010900":2,"0x2011010":5,"0x2012000":2,"0x2012400":2,"0x20202020":34,"0x202d1":[182,183],"0x2040000000000000":[171,172,182,183],"0x20434501":34,"0x205a4c37":8,"0x20e65f75":23,"0x20ffe":[5,59],"0x20fff":[5,59],"0x21":[2,35],"0x2113010":5,"0x217fe":59,"0x217ff":59,"0x2180":30,"0x22":[2,35,147,149],"0x22071917":34,"0x2215010":5,"0x22ffe":[5,59],"0x22fff":[5,59],"0x23":[2,35],"0x2317010":5,"0x237fe":[5,59],"0x237ff":[5,59],"0x238":[217,231,233],"0x24":[2,35,157,171,173,187,193,291,292],"0x240000":36,"0x2419010":5,"0x25":2,"0x250":[217,231,233],"0x251b010":5,"0x26":2,"0x261d010":5,"0x27":2,"0x274":[231,233],"0x28":[2,182,183],"0x28000000":7,"0x2ac":[182,183],"0x2b010a84":182,"0x2c":[27,29,171,174,224,231,233,261,281,282,283],"0x2cac0a94":34,"0x2f4":[217,231,233],"0x2ffe":[5,59],"0x2fff":[5,59],"0x2x":35,"0x3":[2,5,13,27,29,30,88,171,172,226,228,273,274],"0x30":[2,13,20,35,171,174,182,183,224,226,227,231,233],"0x300000":34,"0x30000000":[2,5,36,226,227],"0x300000004":[226,227],"0x30000020":2,"0x300050c0":5,"0x3003e434":[178,182,183],"0x3007a000":5,"0x3007b010":5,"0x3008c3f0":5,"0x300ac650":8,"0x300d4b98":[281,282,283],"0x300d4bc8":[281,282,283],"0x3023ec40":36,"0x30313133":34,"0x3031464e":34,"0x304":[231,233],"0x30400000":2,"0x3044ad90":[182,183],"0x3044b230":[275,276],"0x30453231":34,"0x30493d20":[256,278],"0x3052b9d8":[281,282,283],"0x305ed930":[171,173],"0x30800a88":[261,281,282,283],"0x30ae0530":[246,248],"0x31":275,"0x31000000":2,"0x31304354":34,"0x31434304":34,"0x31565a02":34,"0x31e00000":2,"0x32":[26,250,273,274],"0x320":[291,292],"0x32313437":34,"0x32a902cb":34,"0x3300000001":[226,227],"0x33cf4000":[178,182,183],"0x34":[2,182,183,261,281,282,283],"0x34010042":34,"0x340b157c":34,"0x3438534e":34,"0x35":2,"0x350":224,"0x35324645":34,"0x358":[171,174],"0x370":[246,247],"0x370c0000":34,"0x37305f30":8,"0x3735205a":8,"0x37fe":[5,59],"0x37ff":[5,59],"0x38":[2,162,215,226,227,273,274],"0x38c":[273,274],"0x39c":[261,281,282,283],"0x3a":[231,232,246,247,249,250,273,274],"0x3b":[226,227,231,232],"0x3b001010":5,"0x3b103010":5,"0x3b205010":5,"0x3b307010":5,"0x3b409010":5,"0x3b9aca00":13,"0x3c":[246,247],"0x3c435333":34,"0x3e":202,"0x3e0000":2,"0x3f":2,"0x3f8":2,"0x3fc00":2,"0x3ffff":2,"0x4":[2,5,20,27,30,99,117,171,172,226,228,242],"0x40":[3,23,30,35,182,226,227,231,233],"0x400":[17,50],"0x4000":[2,26],"0x40000":[2,24],"0x400000":2,"0x4000000":9,"0x40030":58,"0x4011400":30,"0x4011440":30,"0x40d487ff":23,"0x41":35,"0x42010":[261,281,282,284],"0x42018":[261,281,282,284],"0x4239":34,"0x424a3030":34,"0x44":[35,182,183],"0x440b400":34,"0x45":35,"0x45000020":[231,233],"0x45000040":[231,233],"0x45000060":[231,233],"0x45000080":[231,233],"0x45043030":34,"0x454":[162,215,226,227],"0x466a42a3":23,"0x47003":13,"0x47c":[291,292],"0x48":[5,34,35,55,70,162,171,174,182,183,215,226,227],"0x484f5220":34,"0x485702":34,"0x4b0":[217,231,233],"0x4b4b4b4b":35,"0x4c":[162,171,174,182,183,215,224,226,227,246,247,261,272,275,276,281,282,283],"0x4c1":30,"0x4c373730":8,"0x4c4c4c4c":35,"0x4d49205a":8,"0x4d6ee0c9":23,"0x4e494452":34,"0x4ea":27,"0x4x":35,"0x5":[2,27,171,172],"0x50":[3,35,231,233,273,274],"0x5011000":29,"0x504e0730":34,"0x50520881":34,"0x5053424b":313,"0x50973c87":34,"0x515dc2a5":23,"0x533c9b37":35,"0x54":[171,172,182,231,233,256,278],"0x54045649":34,"0x54380000":30,"0x543c0000":30,"0x543e2000":30,"0x54545454":30,"0x54c":[272,275,276],"0x57":32,"0x570":[217,231,233,272,275,276],"0x58":[231,233],"0x5a":220,"0x5a0":[217,231,233],"0x5a618f4d":34,"0x5b0":[272,275,276],"0x5c":[182,217,231,233,261,281,282,283],"0x5c0":[217,231,233],"0x5cb3614d":34,"0x5f303735":8,"0x6":[2,19],"0x60":[35,182,256,278],"0x600":[217,231,233],"0x6000000":34,"0x60000000":30,"0x600450":2,"0x600c1":30,"0x600c3":30,"0x60200":30,"0x60400":[27,30],"0x617":30,"0x62":[0,286,291,292],"0x622":30,"0x62c":[273,274],"0x630":[162,215,226,227],"0x64":[27,256,261,278,281,282,283],"0x6504603":34,"0x68":[217,231,233,261,273,274,281,282,283,291,292],"0x680":[281,282,283],"0x6c":[231,233],"0x7":[2,30],"0x70":[35,182,183],"0x706369652d736c6f":[226,227],"0x71f9c40":34,"0x7303045":34,"0x7380ed6a":23,"0x74":[273,274,291,292],"0x7473000000000003":[226,227],"0x75":1,"0x77":[1,171,172],"0x77777777":30,"0x78":[34,291,292],"0x788":[226,227],"0x78f":29,"0x795fea0d":23,"0x7a":35,"0x7b8":[226,227],"0x7c":[261,281,282,283,291,292],"0x7c8":[226,227],"0x7d0":5,"0x7d800026":225,"0x7f":[14,32],"0x7f3":[226,227],"0x7fff0000":30,"0x8":[2,5,24,27],"0x80":[2,35,50,135,261,273,274,281,282,283],"0x800":[2,27],"0x8000":2,"0x80000":2,"0x800000":2,"0x8000000":7,"0x80000000":[27,29,30,226,227],"0x8000000000000000":150,"0x80000001":19,"0x80020000":2,"0x80021000":2,"0x80022000":2,"0x80023000":2,"0x80024000":2,"0x80025000":2,"0x80026000":2,"0x80027000":2,"0x8010c3f":27,"0x8010c7f":27,"0x8013c00":27,"0x802c":26,"0x803":[226,227],"0x80d":13,"0x80f00103":[246,247],"0x81003":13,"0x82e":13,"0x84":[217,231,233],"0x844":[272,275,276],"0x84cc0052":34,"0x850":13,"0x86c":[171,174],"0x871":13,"0x88":[231,233,261,281,282,283,291,292],"0x892":13,"0x8b3":13,"0x8c":[182,183],"0x8c0":[162,215,226,227],"0x8d":34,"0x8d5":13,"0x8e":8,"0x8f6":13,"0x9":27,"0x90":[35,224,246,247],"0x900":27,"0x90000":[11,76],"0x9000000000000000":[282,283],"0x9000000002803002":[261,281,282,283],"0x90000755":[171,174],"0x9010c3f":29,"0x9012000":2,"0x9012400":2,"0x9013c00":2,"0x9013c40":2,"0x917":13,"0x938":13,"0x94":[261,281,282,283],"0x95":1,"0x95a":13,"0x97b":13,"0x98":[7,24,217,231,233,291,292],"0x984":[171,174],"0x985e80f1":34,"0x989680":13,"0x99999999":[226,227],"0x99c":13,"0x9a00000":5,"0x9bd":13,"0x9c":18,"0x9c40":13,"0x9d":275,"0x9df":13,"0x9e":275,"0x9f":275,"0x9f0":[246,247],"0xa":[246,247],"0xa0":[35,275],"0xa00":13,"0xa011":220,"0xa21":13,"0xa42":13,"0xa64":13,"0xa64ab07d":[246,247],"0xa64bb17d":[246,247],"0xa6e2207d":[246,247],"0xa85":13,"0xa9db06b8":23,"0xaa":3,"0xaa6":13,"0xac7":13,"0xae4":[281,282,283],"0xae9":13,"0xb0":[162,215,226,227,261,281,282,283],"0xb0000002":35,"0xb0020":2,"0xb0a":13,"0xb2b":13,"0xb30":[261,281,282,283],"0xb4":[231,233],"0xb4866546":23,"0xb4c":13,"0xb67d219d":23,"0xb6e":13,"0xb8":[162,215,226,227,231,233,273,274],"0xb8f":13,"0xb98":14,"0xbb0":13,"0xbc":[261,281,282,283],"0xbd1":13,"0xbf3":13,"0xc":[2,20,26,30,162,171,172,202,203,215,226,227,261,281,282,283],"0xc0":[0,2,246,247],"0xc00":316,"0xc000":316,"0xc00000":2,"0xc00000000000ac60":[291,292],"0xc00000000000b65c":[261,281,282,283],"0xc000000000020e78":[291,292],"0xc000000000027890":[226,227],"0xc000000000028e5c":[261,281,282,283],"0xc000000000030b84":[261,281,282,283],"0xc0000000000310b0":[261,281,282,283],"0xc00000000004e0f4":[291,292],"0xc00000000004f054":[291,292],"0xc0000000000500cc":[291,292],"0xc000000000050bf8":[291,292],"0xc0000000000a7168":[261,281,282,283],"0xc0000000000a9060":[261,281,282,283],"0xc0000000000ac9b8":[261,281,282,283],"0xc0000000000b1c44":[291,292],"0xc0000000000b2424":[291,292],"0xc00000000012d6c8":[261,281,282,283],"0xc00000000012da28":[261,281,282,283],"0xc0000000001366f4":[261,281,282,283],"0xc00000000018a570":[261,281,282,283],"0xc0000000001f9510":[291,292],"0xc0000000002a68f8":[291,292],"0xc0000000002bf3d4":[291,292],"0xc0000000003a0880":[291,292],"0xc0000000003a4f14":[291,292],"0xc0000000003a5328":[291,292],"0xc0000000004792d4":[261,281,282,283],"0xc0000000006d3b90":[246,247],"0xc000000000aa8054":[226,227],"0xc00000000fe00000":[231,233],"0xc0000003f9f41000":[231,233],"0xc000001fea6e7870":[261,281,282,283],"0xc000001fea6e78c0":[261,281,282,283],"0xc000001fea6e7960":[261,281,282,283],"0xc000001fea6e7990":[261,281,282,283],"0xc000001fea6e7ad0":[261,281,282,283],"0xc000001fea6e7b40":[261,281,282,283],"0xc000001fea6e7b60":[261,281,282,283],"0xc000001fea6e7bd0":[261,281,282,283],"0xc000001fea6e7c80":[261,281,282,283],"0xc000001fea6e7d20":[261,281,282,283],"0xc000001fea6e7db0":[261,281,282,283],"0xc000001fea6e7e20":[261,281,282,283],"0xc0300000":30,"0xc14":13,"0xc3":0,"0xc35":13,"0xc4":[246,247],"0xc56":13,"0xc594c31":34,"0xc7":2,"0xc78":13,"0xc8":[273,274],"0xc99":13,"0xcba":13,"0xcc":[261,281,282,283],"0xcdb":13,"0xce0900":[162,214,224],"0xcfd":13,"0xd":[24,202,203],"0xd0":[35,182,261,281,282,283],"0xd00":316,"0xd000":316,"0xd00dfeed":[226,227],"0xd00e":26,"0xd1569c53":34,"0xd1e":13,"0xd2":26,"0xd3f":13,"0xd4":[162,215,226,227,261,281,282,283],"0xd54775d5":23,"0xd60":13,"0xd8":[30,171,174],"0xd82":13,"0xd9d714ab":34,"0xda3":13,"0xdc":[182,183],"0xdda4f986":34,"0xe0":[35,162,215,226,227],"0xe00000":2,"0xe0000000":[137,246,247,248],"0xe2f541f":23,"0xe40":[182,183],"0xe6":29,"0xe7":29,"0xe8":29,"0xeb":[217,231,232],"0xec":[261,281,282,283],"0xf0":[162,215,226,227,231,232],"0xf000":[282,285],"0xf0000000":30,"0xf0000001":20,"0xf0000003":20,"0xf0000007":[273,274],"0xf0000012":20,"0xf0000016":20,"0xf000001d":20,"0xf0000023":20,"0xf0000024":20,"0xf0000025":20,"0xf0000026":20,"0xf0000027":20,"0xf0092df9":[246,247],"0xf010800":30,"0xf010840":30,"0xf010900":30,"0xf1e000":29,"0xf4":[256,278],"0xf5552d00":2,"0xf6":2,"0xf9fc5095":23,"0xfa0":13,"0xfb708535":23,"0xfc":[261,281,282,283],"0xfc000":30,"0xfcff8":30,"0xfcff9":30,"0xfcffa":30,"0xfcffb":30,"0xfd450000":32,"0xfddf8000":14,"0xfe200000":2,"0xfe600000":2,"0xfeedf00d":126,"0xff":[27,30,50,121,171,172,184,220,226,227,231,233,316],"0xff00":27,"0xff8":30,"0xffe":[5,59],"0xfff":[5,28,59,229,230],"0xfff0":[14,282,283],"0xfff8":[14,282,283],"0xffffff":[171,172],"0xffffffd5":13,"0xffffffd6":13,"0xffffffd7":13,"0xffffffd8":13,"0xffffffd9":13,"0xffffffda":13,"0xffffffdb":13,"0xffffffdc":13,"0xffffffdd":13,"0xffffffde":13,"0xffffffdf":13,"0xffffffe0":13,"0xffffffe1":13,"0xffffffe2":13,"0xffffffe3":13,"0xffffffe4":13,"0xffffffe5":13,"0xffffffe6":13,"0xffffffe7":13,"0xffffffe8":13,"0xffffffe9":13,"0xffffffea":13,"0xffffffeb":13,"0xffffffec":13,"0xffffffed":13,"0xffffffee":13,"0xffffffef":13,"0xfffffff":[246,247],"0xfffffff0":13,"0xfffffff1":13,"0xfffffff2":13,"0xfffffff3":13,"0xfffffff4":13,"0xfffffff5":13,"0xfffffff6":13,"0xfffffff7":13,"0xfffffff8":13,"0xfffffff9":13,"0xfffffffa":13,"0xfffffffb":13,"0xfffffffc":13,"0xfffffffd":13,"0xfffffffe":13,"0xffffffff":[2,13,171,172,182,183,316],"0xffffffffffffffff":182,"0xffffxxxx":[271,275,276],"1000m":[201,202,203,229,230,275,277],"100kb":[282,285],"100m":[171,172,229,230,231,235,275,277,282,283,287,289,291,292],"1016b":313,"102m":[171,172],"105d80f85b":[287,291,292],"10784at":35,"10b5":221,"10k":[275,276],"10m":[182,183,202,229,254,275,276],"10th":[144,146,170,195,286,296],"10u":229,"10x":[182,183],"1172a6c57ff3c66f6361e572a1790cbcc0e5ff37":[171,175],"11f8":221,"11m":[134,229,230],"11th":[151,202,217,219,220,221,222,232,246,268,273,274,275,276,277,284],"127a7dac":193,"128k":41,"128kb":41,"128kbit":250,"128mb":[88,202,203],"128mbit":[147,148],"12c":136,"12k":[275,276],"12m":226,"12mb":[275,276],"12th":[152,190,201,220,221,222,227,228,252,272],"1302lfa":[171,172],"13th":[151,152,153,168,169,198,228,241],"14ed2b842f61":[291,292],"14kb":[291,292],"14m":[134,229,230],"14th":[147,148,149,154,199,215,237,253,275,282,283,284,285],"15b3":[258,279,282,283],"15cec493804ff14e6246eb1b65e9d0c7cb469a81":191,"15d9acb6":[171,172],"15th":[139,155,164,165,174,242],"168m":[182,271,275,276],"16bit":[229,230],"16gb":[275,276],"16k":[24,35,133],"16kb":[246,247],"16m":[255,275],"16mb":89,"16th":[156,157,160,162,184,190,192,193,212,224,233,238,249,271,291,293,298],"16x2":12,"170m":[254,275,276],"17m":[134,229,230],"17th":[147,157,184,185,186,187,188,189,200,203,232,233,255],"1867mhz":[246,248],"18th":[150,158,161,162,163,232,233,234,235,236,260],"19_1":[171,174],"19e5":[213,220],"19th":[143,159,163,169,170,216,225,235,259,269,276,280],"1aa0":84,"1aa8":84,"1ab0":84,"1bb7503":4,"1c00":[34,84],"1c00020":18,"1c00040":[171,172],"1c08":84,"1c40":84,"1c48":84,"1c58":221,"1e00":34,"1eb":103,"1fb10de164d3ca034193df81c1f5d007aec37781":191,"1kb":[144,291,292],"1mb":[133,182,183],"1ms":[182,183,207,220,275,276],"1s4u":136,"1sec":[246,247],"1second":275,"1st":[35,166,167,176,193,194,247,287],"1ull":[58,72],"1us":229,"20010a80":[171,172,242],"20010abf":[171,172,242],"200ea":[281,282,283],"200m":[171,172,254,275,276],"200n":229,"201140a":[202,203],"201d1":[254,275,277],"201ffe000000":[261,281,282,283],"201fff800000":[261,281,282,283],"2053616d":35,"20m":[226,227,254,275,276,291,292],"20th":[160,234,235,257,278,297],"20x":[275,276],"211bd05":4,"21st":[139,148,158,159,162,175],"22c":136,"22nd":[163,210,224,225,230,239,243,274,298,302,304],"23m":[287,291,292],"23rd":[139,171,182,183,203,204,205,206,236,266],"23s":[162,215,226,227,246,247],"243176c":[291,292],"24m":[287,291,292],"24th":[180,223,224,225,226,227,228,294],"250m":[229,230,282,283,289],"256gb":[275,276],"256k":24,"256kb":88,"256m":[220,255,275],"256mb":[88,226,227],"256tb":88,"25th":[193,226,229,230],"26th":[159,160,165,166,185,196,204,310],"27th":[154,155,187,188,254,263],"280u":[291,292],"28th":[139,178,181,183,191,194,208,220,245,267,308,310],"29m":[287,291,292],"29th":[157,158,207,240,265,277,283],"2a00":34,"2b841bf0ef1b":268,"2d12000870e04020":[171,172],"2d343241":35,"2e12002870e04000":[272,275,276],"2e12002870e14000":[272,275,276],"2e205365":35,"2e205468":35,"2fbffff4":[162,215,226,227],"2g6b2":[26,171,172],"2kb":[144,147,149,291,292],"2mb":[39,147,148,275,276],"2ms":[291,292],"2nd":[35,168,192,195,196,197,198,199,200,201,202,203,204,205,206,211,251,285],"2s2u":[136,229,230],"2s4u":136,"2second":[207,220],"2to3":[275,276],"2uess":[246,248],"2us":229,"300000f8":224,"30034018300a343c":224,"30034018300c5ab0":224,"3003438830823f50":[162,214],"300cb808":[273,274],"300x":[171,172],"30m":[202,287,291,292],"30min":146,"30s":[275,276],"30th":[145,151,170,189,190],"31c30000":[226,228],"31c339e0":[226,228],"31m":[134,229,230],"31st":[139,171,172,173,174,175,229,231,232,233,234,235,236,250],"3212000870e04000":[261,281,282,285],"3212000870e14010":[261,281,282,285],"323k":[291,292],"32b":313,"32bit":[132,171,172,202,204,224],"32k":[24,313],"32m":[229,230],"33m":[287,291,292],"35c66b8ce5a2":[246,248],"35m":[134,229,230],"36asf2g72pz":[26,171,172],"36m":[287,291,292],"375k":[291,292],"37ea3cfdc852":273,"3800m":167,"3860000a":[162,215,226,227],"38a10020":[162,215,226,227],"394a00147d5a03a6":[178,182,183],"3a00":34,"3a01":34,"3b3c5962f432":268,"3c12000870e04000":[246,247],"3db397ea5892a":[275,276],"3e4577939bbf":[178,182,183],"3f8":2,"3fc0000000000":[2,27,202,203],"3fff000400000":27,"3ffff80020000":2,"3mb":36,"3minut":[182,183],"3ms":[275,276],"3rd":[35,196,213,221,227,270,282,289,291,292,293,304,308],"4010c00":[226,228],"40k":[202,203],"40mb":[182,183],"412kb":[171,172],"42a":35,"42a10784at":35,"42d5d047":[217,231,233],"440m":[229,230],"4548004c":35,"4572726f":35,"460gb":[182,183],"47c09cdfe7a3":[271,275,276],"49m":226,"4b000107":35,"4b4b4b4b":35,"4b77f61d":[162,215,226,227],"4b8cc05a94513816d43fb8bd6178896b430af08f":[257,278,282,283],"4bfffe6d":[162,215,226,227],"4bit":1,"4c4c4c4c":35,"4c95b5e04e3c4f72e4005574f67cd6e365d3276f":189,"4d54001c":35,"4gb":[88,89,107,193,202,203,271,275,276],"4gte":298,"4kb":[168,246,247],"4kbit":250,"4mb":[182,183],"4tb":[75,171,172,238,291,292],"4th":[35,153,154,164,179,189,197,209,290],"500kb":76,"50m":[171,172,243],"512gb":[171,172,238],"512k":24,"512kb":[171,172,173],"512mb":[182,183,220],"51m":[134,229,230],"524d":34,"526ff79":4,"52fe":34,"52s":288,"533c9b37":35,"53616d70":35,"540mb":[182,183],"5544003c":35,"554400a7":35,"55ae15b":140,"56532f5":4,"583c8203":226,"5ac71c9":220,"5gt":220,"5kb":[291,292],"5mb":52,"5ms":[220,282,283],"5second":166,"5th":[165,188,189,190,198,218,222,244,256],"600c3c0100000":[282,285],"600c3c0300000":30,"600e800000000":29,"603fc00000000":[29,226,228,257,275,276],"60ce59ccd0e9":221,"616d706c":35,"623fc00000000":[231,232,257,275,276],"62ac7631a":[231,236],"6374696f":35,"64756d6d":35,"64bit":[120,132,171,172,175,224],"64byte":[70,291,292],"64k":[2,24,41,219,255,275,291,292,316],"64mb":275,"6572726f":35,"66696e65":35,"6767696e":35,"696a6b6c":35,"6a00709":[231,232],"6a78496":4,"6c652065":35,"6d6e6f70":35,"6d706c65":35,"6e203200":35,"6f6e3100":35,"6f722053":35,"6q0dg340so":[231,232],"6th":[139,166,172,177,182,199,246,247,248,258,279,288],"6x64k":[226,228],"706c6520":35,"71664fd":141,"72206c6f":35,"726f7220":35,"726f7273":35,"72726f72":35,"736a08b996e292a449c4996edb264011dfe56a40":[246,248],"737c0ba3d72b8aab05a765a9fc111a48faac0f75":[275,276],"75mb":52,"768mb":[226,227],"77mb":[147,148],"780u":[291,292],"790275m":182,"793f6f5b32c96f2774bd955b6062c74a672317ca":189,"797a00":35,"7a3f307":[275,276],"7bcbc78c":268,"7c7b1b7848002514":[182,183],"7c7b1b7848002524":[182,183],"7c7f1b78":[162,215,226,227],"7c832378":[162,215,226,227],"7ffddf8000":14,"7th":[167,200,219,223,224,225,262,264],"8013c00":27,"80eee1946":[246,247],"80h":[282,285,291,292],"815417dcda2e":[280,282,283],"8340a9642bba":275,"852c0000":[231,232],"85a1de35cbe4":[171,174],"85cf528":4,"87m":[134,229,230],"8gt":220,"8gv0h":155,"8kb":76,"8tb":[182,183],"8th":[167,168,201,206,220,221,222,292],"900000000280b033":[231,233],"9078f8268922":[287,291,292],"90d53934c2da":182,"90ec2e65314c":[282,285],"95f7b3b9698b":[291,292],"9727fe3":[231,232],"97m":[287,291,292],"9817c9e29b6fe00daa3a0e4420e69a97c90eb373":[231,234],"99505c03f493":[268,273],"99m":[287,291,292],"9c2d82394fd2303847cac4a665dee62556ca528a":191,"9c73e9f":[231,232],"9th":[139,155,156,161,164,169,173,186,214,248,261,281,295],"\u00ecbm":23,"abstract":[51,106,118,132,138,146,226,227,246,247,316],"boolean":[135,250,275,276],"break":[2,171,172,174,182,183,202,204,219,220,224,226,227,229,230,231,234,273,274,282,283,287,291,292],"byte":[1,11,14,34,35,39,47,55,69,70,75,76,78,84,88,89,103,118,130,161,162,171,172,173,182,183,184,202,203,215,224,226,227,229,230,231,232,246,247,248,253,254,257,261,273,274,275,276,277,281,282,283,285,287,291,292,313,316],"c\u00e9dric":[147,148,171,184,185,193,202,203,219,220,229,275],"case":[2,14,17,22,35,44,46,50,55,58,61,68,70,73,104,114,120,122,124,134,135,144,145,147,148,149,150,160,162,163,164,171,172,173,177,178,180,182,183,194,195,198,202,203,205,213,215,216,217,220,221,226,227,228,229,230,231,232,233,241,246,247,248,250,251,257,258,261,266,269,272,273,274,275,276,277,278,279,281,282,283,284,285,287,291,292,311,313,316],"catch":[146,171,172,202,204,220,246,247,273,275,276,288],"char":[35,44,68,118,288,311],"class":[15,16,19,27,30,41,54,162,171,172,213,215,220,258,279,282,283],"const":[35,49,68,311,314],"default":[1,2,4,14,20,41,132,133,162,171,172,182,183,189,195,199,202,203,204,205,207,213,220,221,226,227,228,229,230,231,232,235,238,246,247,248,255,256,261,266,269,273,274,275,276,278,281,282,283,285,287,291,292,298,305,313,316],"enum":[20,35,46,54,58,67,69,70,71,79,80,81,82,84,92,95,96,98,100,101,102,106,107,112,115,271,272,275,276],"export":[14,15,41,109,119,133,135,145,171,172,175,182,183,220,221,222,224,226,227,229,230,231,235,258,279,282,283,291,292,315],"final":[108,139,147,148,166,171,172,173,174,175,176,181,182,183,202,203,206,217,220,221,222,223,224,225,227,228,230,231,232,233,234,235,236,247,248,258,273,279,282,283,284,285,291,292],"float":[21,22],"fr\u00e9d\u00e9ric":171,"function":[2,6,17,22,35,39,41,42,44,56,57,58,61,69,70,74,75,87,88,89,90,93,97,98,99,100,101,103,105,108,121,132,134,144,145,146,147,148,151,154,161,162,171,172,173,174,180,182,183,184,185,189,202,203,204,206,207,215,217,219,220,221,223,224,225,226,227,229,230,231,232,233,246,247,248,250,257,258,261,266,273,274,275,276,278,279,281,282,283,286,287,288,291,292,298,311,314,316],"hor\u00e1k":[147,148],"import":[36,51,76,133,139,140,165,168,171,172,184,185,189,201,202,203,204,220,226,227,228,231,232,238,246,247,258,268,269,273,274,279,311],"int":[35,43,44,60,73,75,106,109,110,117,119,120,128,204,311,314],"long":[2,42,75,93,108,147,149,171,172,182,183,202,204,207,209,217,220,226,227,228,231,233,246,247,258,259,261,266,273,274,275,276,277,279,280,281,282,283,285,287,291,292],"new":[1,4,5,19,21,22,28,35,40,44,47,54,58,70,71,73,77,107,108,113,118,125,130,131,133,134,139,140,146,154,157,162,173,174,175,187,188,189,190,192,193,195,196,197,198,199,200,201,204,205,206,209,215,218,219,221,222,223,225,228,233,234,235,236,237,238,241,244,248,258,267,273,274,275,276,277,279,284,285,301,308,311,313,314,316],"null":[35,43,44,45,53,55,75,81,117,118,144,145,146,166,171,172,174,182,183,202,217,220,226,227,231,233,261,268,273,275,276,277,278,281,282,283,288,311],"public":[23,42,81,118,133,138,141,219,226,227,291,292,314],"return":[17,35,38,41,42,46,49,51,52,56,57,58,59,62,66,68,73,88,89,90,93,97,98,101,103,105,108,121,130,134,135,146,153,154,158,160,161,162,163,171,172,173,174,177,180,181,182,183,187,191,193,201,202,203,208,213,214,215,216,217,220,221,224,225,226,227,228,229,231,232,233,234,241,246,247,248,251,252,256,258,261,267,271,273,274,275,276,278,279,281,282,283,285,286,287,289,291,292,294,307,309,311,316],"short":[42,124,125,182,183,212,217,219,220,221,222,224,225,226,227,228,230,231,232,235,246,247,258,279,282,283,292],"static":[1,39,62,64,65,88,106,114,115,125,126,147,148,161,171,172,184,185,206,217,224,226,227,231,233,246,247,314],"switch":[0,58,101,102,132,133,135,146,171,172,173,182,183,201,202,203,213,220,221,226,227,229,230,241,246,247,248,271,273,275,276,282,283,285,287,291,292,312,313,316],"throw":[182,183,220,246,247,291,292],"transient":[41,117],"true":[4,106,134,171,172,182,183,202,203,204,226,227,228,231,232,258,273,274,279,282,283,291,316],"try":[5,43,44,49,113,131,147,149,162,171,172,182,183,193,202,203,204,215,217,220,224,226,227,229,230,231,232,233,241,246,248,250,261,269,271,272,273,274,275,276,279,281,282,283,285,287,291,292,316],"var":[17,291,292,311],"void":[35,44,50,51,58,83,84,106,116,118,124,125,217,231,233,311,314],"while":[1,2,13,20,28,40,41,42,43,44,50,61,76,81,93,102,103,108,117,121,131,132,133,138,157,171,172,173,174,179,182,183,187,189,191,193,201,202,203,207,208,217,219,220,221,224,226,227,228,229,230,231,232,233,243,246,247,248,250,255,261,268,272,273,274,275,276,278,281,282,283,285,287,288,291,292,298,311,313,316],AND:[14,246,247,282,283],APs:139,ARE:132,ATS:[73,221,268,273,287,291,292],Added:[3,147,148,171,172,184,185,275,276],Adding:[171,172,220,224,261,281,286,291,292],And:[37,61,68,71,162,171,172,173,215,220,229,258,279,282,283,284,287],Are:22,Bus:[60,74,75,201,231,232],But:[37,147,149,162,163,171,173,180,181,182,183,208,215,216,217,226,227,231,233,246,247,261,267,268,271,272,273,274,275,276,281,282,283],CEs:[181,208,267,273,274],CRS:[202,203,229,230,246,247],DTS:[19,24,37,171,172,220,246,247],Doing:[171,172,226,227,246,247,279,282,283,298],EAS:316,ECCed:[287,291,292],EQs:[171,172,220,241,316],ESe:[171,172,241],Eye:[250,275,276],FFS:[133,202,204,219,220,226,227,229,230,231,232,246,247,252,261,281,282,283,285],FFs:[231,275,276],FOR:101,For:[0,2,4,13,14,15,16,17,18,19,21,22,24,28,35,37,39,42,44,46,51,56,62,63,64,65,68,70,78,88,89,101,103,105,107,109,110,115,119,121,126,131,132,133,134,135,137,139,140,141,161,162,171,172,173,174,175,177,182,183,184,185,193,202,203,204,205,206,215,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,250,254,273,274,275,276,277,282,283,284,285,291,292,311,313,316],IDs:[2,35,50,171,173,182,183,184,185,316],IVE:[153,171,172,241],Its:[28,70,314],KNS:[291,292],MCS:24,MCs:2,MPS:[164,220,229,230,261,281,286,291,292],NOT:[1,2,5,15,17,49,55,62,63,64,65,76,100,106,114,115,132,140,171,173,182,183,202,203,204,205,206,220,226,228,275,276,311,313],Not:[2,35,51,60,76,77,87,93,99,106,127,129,132,140,157,162,171,172,178,182,183,187,215,226,227,246,247,291,292],One:[41,46,134,162,215,224,231,232,246,247,258,279,282,283,316,317],PEs:[88,101,134,202,203,224,226,227,272,275,276],Res:[19,171,172],Such:[37,140],THE:136,THe:275,TLS:220,That:[4,22,36,124,132,153,171,172,173,177,182,183,226,227,231,232,238,239,240,246,247,275,276,282,283,316],The:[0,1,2,4,5,6,8,9,10,12,13,14,15,16,17,18,19,21,22,23,28,29,30,31,32,34,35,36,37,40,41,42,43,44,49,51,52,53,54,55,56,57,58,59,61,68,69,70,73,74,75,76,77,81,84,85,86,87,88,89,90,93,97,98,99,100,101,102,103,104,105,108,109,110,111,113,117,118,119,120,121,122,123,124,129,131,132,133,134,135,138,139,140,141,145,146,148,149,150,153,154,157,159,160,162,171,172,173,174,175,178,180,181,182,183,185,186,187,188,189,193,194,196,197,201,202,203,204,205,206,208,213,217,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,241,242,243,246,247,248,249,250,251,252,253,255,258,259,261,266,267,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,289,291,292,298,304,311,312,313,314,316,317],Their:28,Then:[35,36,135,171,172,182,183,220,231,232,240,246,248,273,274,282,283,287,291,292],There:[2,4,14,22,35,39,41,44,46,47,49,50,51,52,68,73,81,108,117,121,131,132,133,134,137,146,171,172,173,174,175,182,183,184,185,202,203,204,206,220,221,224,226,227,228,229,230,231,238,246,247,248,251,266,268,271,273,274,275,276,282,283,285,288,291,292,298,311,316,317],These:[0,2,5,9,10,13,14,19,29,34,35,37,41,42,47,51,52,58,69,71,73,77,132,134,137,171,172,176,182,183,202,203,220,221,224,229,230,231,232,236,246,247,266,268,273,275,276,282,284,285,291,292,298,311,313,314,316],UEs:[181,208,267,273,274],UPS:[54,70,114],Use:[2,42,49,50,81,130,140,146,160,162,171,172,174,175,178,182,183,202,203,204,207,212,215,219,220,222,226,227,231,232,246,247,248,250,251,272,273,274,275,276,277,281,282,285,287,289,291,292],Used:[27,29,41,70,133],Useful:[171,172,220,282,283],Uses:[70,226,227],Using:[35,139,171,172,182,183,246,247,266,273,274],VAS:[25,28,38,171,172,174,229,230,273,274],VFs:[220,261,281,286,291,292],VPs:[171,172,231,232,241,282,283,316],Vcs:14,WITH:220,Was:[42,134],Will:[8,52,145,220,291,292,316],With:[22,28,133,136,147,148,162,164,171,172,195,202,204,206,215,219,220,225,226,227,229,230,231,236,246,247,268,273,274,275,276,282,283,284,287,291,292],XTS:[73,178,182,183,226,227,282,283,287,291,292],YES:131,_4b:[226,227],___backtrac:[246,247],___print_backtrac:[246,247],__be16:60,__be32:[60,70,84],__be64:[58,60,70,84,127,282,283,314],__builtin_parityl:[171,172],__dt_add_property_cel:[171,174,224],__flush_consol:[273,274],__next_timer_interrupt:37,__noreturn:[217,231,233],__opal_cal:[282,285],__opal_flush_consol:[291,292],__pack:220,__secondary_cpu_entri:[182,183],__section:[291,292],__stack_chk_fail:[160,182,220],__trigger_attn:40,__try_lock:[275,276],__unus:42,__va_args__:288,__xive_cache_scrub:[171,172,241],_abort:[171,174,182,183,224,246,247,256,261,272,275,276,278,281,282,283],_be64:[287,291,292],_en:[272,275,276],_indic:[10,146],_lite:[231,232],_mrk:[226,227],_occ:144,_prlog:[273,274,288],_reg:[287,291,292],_savegpr0_28:[291,292],_window:[258,279,282,283],a000:34,a001:34,a0020:[202,203],a103:220,a200:34,a300:34,a5721ba270:220,a6d4a7884e95cb9c918b8a217c11e46b01218358:191,a8e6cc3f4:182,abc123456:34,abcdefgh:35,abcdefghijkl:35,abcdefghijklmnopqrstuvwxyz:35,abi:[15,16,44,132,133,134,137,145,202,203,205],abil:[4,22,171,172,184,185,220,226,228,229,230,237,291,292,316],abiv2:[275,276],abl:[2,22,51,54,55,113,117,118,131,162,165,166,171,172,173,174,182,183,204,206,215,219,220,226,227,246,247,258,273,274,279,282,283,291,292,316],abnorm:[147,149,171,172,263,297],abort:[0,41,144,146,147,148,171,173,174,178,182,183,202,204,224,226,228,251,256,261,272,273,274,275,276,278,281,282,283,291,292,295],about:[0,2,22,34,35,50,51,58,62,63,64,65,70,84,128,131,132,141,146,170,171,172,173,182,183,189,195,202,203,204,205,206,217,219,220,226,227,228,229,230,231,233,246,247,250,252,273,274,275,276,282,283,285,287,291,292,314,315,316],abov:[2,4,5,8,10,15,44,58,62,63,64,65,67,89,103,107,113,130,131,132,135,140,162,171,172,182,183,188,193,213,215,220,224,226,227,231,235,236,238,241,246,247,258,273,274,275,276,279,282,283,316],absenc:[44,46,255,258,275,279,282,283],absent:[8,77,226,227,316],absolut:[15,132,219,226],abwmgmt:220,ac922:136,acceler:[25,38,171,172,229,230,273],accept:[2,17,38,46,50,51,121,138,139,226,227,258,275,276,279,282,283],access:[1,9,10,20,28,38,42,52,60,69,107,122,133,135,146,150,171,172,174,180,182,183,184,185,189,194,198,202,203,204,206,220,224,226,227,229,230,231,232,233,236,238,241,243,246,247,250,258,266,269,272,273,274,275,276,279,282,283,285,287,289,291,292,295,314,316],accessor:[287,291,292],accid:[291,292],accident:[226,227],accommod:[70,147,149,171,172],accomod:[135,226,227],accompani:[282,283,291,292],accomplish:[40,221],accord:[21,68,135,171,172,213,220,226,227,228,275,276,282,285,291,292,312,317],accordingli:[104,108,135,220],account:[182,183,220,221,231,233,254,256,265,275,277,278,287,291,292,305],accross:[226,227,228,316],accumul:[37,171,175,182,183],accur:[171,172,316],accuraci:100,achiev:[58,220,246,247,275,276],achiv:[246,247],ack:[50,51,139,144,171,184,185,187,193,202,203,219,226,231,232,258,279,282,283],ack_id:51,acknowledg:[35,50,51,122,162,171,172,215,226,227,231,232,288],aco:[246,247],across:[2,4,17,40,71,115,124,132,171,193,202,203,219,226,227,229,230,231,242,313],act:[220,246,247,275,276],action0:[251,275,276],action:[35,54,58,70,147,149,166,171,173,181,182,183,208,226,227,228,229,231,232,246,247,267,273,274,288,291,292,311],activ:[2,13,40,58,68,70,102,112,114,134,140,161,162,171,172,201,202,203,215,219,223,226,227,241,251,273,274,275,276,282,283,291,298,311,313],actual:[2,24,35,47,58,68,76,104,121,123,124,132,135,162,171,172,174,182,183,195,200,201,202,203,213,214,215,217,220,221,226,227,229,231,232,233,241,246,247,248,250,254,258,261,266,268,272,273,274,275,276,277,279,281,282,283,284,287,289,291,292,294,298,301,312,316],actual_s:[231,232],actuals:[202,204],adapt:[86,102,104,135,154,201,202,203,213,220,221,226,227,229,230,231,232,269,273,274,275,276,282,283,285,291,292],adaptor:[147,148],add:[2,22,34,35,40,50,71,86,101,104,130,132,133,134,135,136,139,140,144,145,146,147,148,149,151,154,161,162,163,166,171,172,173,174,175,178,180,182,183,184,186,187,193,194,201,202,203,206,211,215,216,218,219,220,221,222,224,225,226,227,228,229,230,231,232,234,235,237,238,239,241,242,244,246,247,248,249,250,251,253,255,256,257,258,266,267,268,273,274,275,276,277,278,279,282,283,284,285,287,288,291,292,295,301,311,313,314],add_cpu_idle_state_properti:[246,248],add_icp:220,add_iplparams_seri:220,add_opal_nod:[182,183],add_properti:[135,282,283],add_region:[226,228],add_sensor_nod:[273,274],add_vas_nod:[171,174],add_xics_icp:220,added:[9,13,18,19,22,24,35,54,104,115,131,135,147,148,149,155,161,164,171,172,181,184,185,187,193,202,203,204,217,219,220,224,226,227,229,230,231,232,233,246,247,248,261,266,273,274,275,276,279,281,282,283,286,287,288,291,292,304,308],adding:[5,70,104,135,151,171,172,174,193,220,224,226,227,231,232,246,247,248,272,273,274,275,276,291,292],addit:[2,17,22,29,35,44,70,131,135,141,145,152,157,165,171,172,174,187,221,226,231,232,246,247,248,259,267,269,273,274,275,276,280,287,291,292,298,304,311,316],addition:[2,22,132,139,171,172,193,226,228,231,246,247,257,261,266,273,274,275,276,281,282,283,286,291,292,316],addr2func:[291,292],addr2lin:[291,292],addr:[26,28,50,60,61,69,75,82,87,103,171,172,220,224,246,247,316,317],addr_typ:69,address:[2,3,5,8,9,14,24,27,28,29,30,31,32,33,36,47,50,56,60,61,69,71,73,75,76,81,83,87,88,89,90,92,93,97,98,103,112,124,128,130,132,134,141,147,148,171,172,173,174,175,178,182,183,202,203,204,220,221,224,225,226,227,228,229,230,231,232,242,245,246,247,256,257,271,273,274,275,276,282,283,284,285,287,288,291,292,314,316,317],adequ:[131,275,276,291,292],adher:[17,138,171,172],adiga:[171,219,231,275],adjac:[256,275,276],adjust:[2,221,261,281,316],admin:[171,172],administr:[12,127],adopt:[192,224],adpat:220,adriana:[171,184,185,275],adu:231,adu_scom:[273,274,275,276],advanc:[1,213,220],advantag:[155,182,183,226,227],advers:[226,227],advertis:[7,21,22,61,155,171,175,180,182,193,202,203,226,227,255,257,275,278,282,283],aer:[84,164,221,301],affect:[58,147,148,171,172,181,184,185,196,208,231,232,242,246,247,258,267,268,273,274,275,276,279,282,283,291,292,311],affin:[2,226,228],afl:[257,282,283],afraid:139,after:[0,2,4,13,35,37,39,40,43,50,58,61,70,104,113,115,121,135,139,147,148,152,153,154,157,158,162,164,167,168,170,171,172,173,174,177,179,180,182,183,187,189,190,191,193,198,201,202,203,208,209,213,214,219,220,221,224,226,227,228,229,230,231,232,236,239,241,242,246,247,248,251,254,261,263,268,272,273,274,275,276,277,279,281,282,283,285,287,288,290,291,292,294,311,316],afterward:[182,183,246,247,311],afu:[75,182,183,282,284,291,292],again:[35,43,49,50,62,125,131,188,217,224,231,233,246,247,266,271,273,274,275,276,279,282,283,311,316],against:[4,19,100,171,172,175,182,183,220,226,227,257,275,276,277,311,313,314],agent:[229,230],aggreg:[182,183],aggress:[182,183],agnost:[37,246,247],ago:[42,261,281,282,283,286,288,291,292],agre:[138,154],agress:[229,230],ahb:[273,274],ahead:[171,172,246,247],aib:[159,194,196,256,275,276],aid:[171,172,231,233],aim:[22,132,139,203,204,205,206,211,219,258,279,282,283],air:34,aka:[2,7,38,189,224,225,229,230,316],akshai:[171,219,231,275],alarm:[19,226,227],alastair:226,alert:[1,58,154,157,187,193,220,224,226,228,272,275,276,282,283],alexei:[171,219,220,224,231,275],algo:[23,171,172],algorithm:[17,28,202,203,229,230,275,276],alia:[128,131,226,227],alias:[197,202,203],align:[9,52,56,75,89,147,149,171,172,173,182,183,194,197,202,203,219,220,226,227,229,230,231,233,246,247,259,261,280,281,282,284,288,291,292,316],alimit:120,alink:37,alistair:[147,148,167,171,184,185,187,193,202,203,219,220,224,226,229,231,275],all:[1,2,4,8,13,14,17,18,19,21,22,23,24,28,31,32,34,35,36,39,40,42,44,51,52,58,59,68,70,71,72,76,78,81,88,93,100,101,103,106,107,113,115,116,117,118,120,122,124,127,131,132,133,134,136,137,138,139,140,144,147,148,149,150,151,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,180,181,182,183,184,185,186,188,189,191,192,193,195,198,201,202,203,204,205,206,207,208,209,214,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,245,246,247,248,257,258,259,261,264,267,268,269,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,296,304,310,311,313,314,316],allevi:[266,273,274],alloc:[0,2,22,24,32,35,39,54,61,70,73,75,84,102,107,118,120,131,134,147,148,165,168,171,172,182,183,184,185,193,202,203,220,221,224,226,227,231,232,233,246,247,250,251,268,269,272,273,275,276,277,282,283,287,291,292,295,311,313,315,316],alloc_ord:316,allot:35,allow:[0,4,13,16,21,22,28,29,41,46,47,51,54,70,77,84,89,106,107,110,132,138,139,154,155,161,168,171,172,173,178,182,183,184,185,186,187,193,202,203,206,219,220,221,222,224,225,226,227,228,229,230,231,232,246,247,248,253,256,258,261,266,273,274,275,276,278,279,282,283,284,285,291,292,298,314,316],almost:[136,171,172,291,292],alon:[226,227,273,274,275,276],along:[2,37,73,76,133,171,174,181,182,183,208,217,226,227,229,230,231,232,246,247,267,273,274,275,276,281,282,283,291,292,316],alongwith:[58,246,247],alreadi:[41,75,108,121,133,134,138,140,150,161,171,172,178,182,183,184,185,201,202,203,222,226,227,228,229,230,231,232,246,247,248,251,253,268,272,273,274,275,276,282,283,284,285,288,291,292,313,316],also:[1,2,4,7,17,21,22,24,28,32,33,35,37,40,50,51,69,73,78,100,102,113,121,124,128,131,132,133,134,139,141,146,147,148,151,157,169,171,172,173,174,175,179,182,183,187,193,202,203,204,213,217,220,224,226,227,228,229,230,231,232,233,235,238,242,246,247,250,251,254,255,257,258,259,260,261,266,268,271,273,274,275,276,277,279,280,281,282,283,284,285,286,287,291,292,311,313,314,316],alter:[171,172,246,247,313],altern:[37,40,72,162,215,250,275,276,291],although:[16,43,49,50,51,70,117,120,132,139,171,172,219,231,232,287,291,292,298],alwai:[2,8,41,55,58,61,66,70,81,131,134,141,154,162,171,172,173,177,182,183,184,185,193,201,202,203,204,205,213,215,220,224,226,227,229,230,231,232,234,246,247,250,256,257,258,261,273,274,275,276,278,279,281,282,283,285,286,287,291,292,313,316],ambient:[13,54,70],ambigu:[154,217,226,227,231,233],ami:[0,156,206,220,246,247,250,273,274,279,282,283],amit:275,among:[133,202,203,246,247],amount:[12,13,35,50,127,131,133,171,172,178,182,183,217,221,226,227,231,232,266,273,274,275,276,282,285,316],amr:[226,227],analog:205,analysi:[44,50,147,148,161,171,184,185,193,202,203,219,224,226,231,246,247,281,282,283],analyz:[58,70,251,275,276],ananth:[147,148,171,184,185,219,220,224,226,229],anchor:34,ancient:[46,150,224,291,292],andrei:[147,148,202,204],andrew:[147,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],aneesh:[184,185],ani:[0,1,2,4,5,13,17,23,35,37,39,42,43,44,49,55,56,58,59,60,61,78,81,89,96,113,117,118,120,132,133,134,135,137,139,141,147,148,154,157,161,165,171,172,174,178,179,180,181,182,183,186,187,193,202,203,204,205,208,209,216,217,220,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,284,285,288,289,290,291,292,308,311,312,313,316],anju:[226,231],annoi:[246,247,275,276],annot:[141,146,181,202,203,220,226,228],announc:136,anonym:[226,227],anoth:[22,41,58,101,113,132,157,162,168,171,172,182,183,187,214,220,225,229,230,241,271,275,276,282,283,287,291,292,316],answer:[286,291,292],anticip:22,anton:[147,148,202,203,229,231],anybodi:[139,171,172],anymor:[219,229,230,259,280,291,292,316],anyon:[42,136,171,172,282,283],anyth:[0,29,49,115,132,133,182,183,205,221,224,226,227,229,246,248,266,273,274,286,291,292,311,316],anytim:68,anywai:[171,174,182,183,184,185,224,226,227,228,229,230,231,232,246,247,248,282,283],anywher:[133,259,280,288],apach:[139,298],apart:[202,204,310],apc:[171,172,271,275,276],apc_fsm_read_mask:[271,275,276],apertur:[226,227],api:[7,17,38,40,49,51,70,84,104,120,123,132,133,135,139,145,146,147,148,149,154,171,172,175,182,183,202,203,205,217,220,229,230,231,232,233,246,247,261,272,273,274,275,276,281,282,283,284,286,287,291,292,304,314],apollo:[38,224],app:[198,202,203],appar:[171,172],appear:[21,39,41,42,90,93,103,162,171,172,205,214,224,226,227,231,232,246,247,257,266,273,274,275,276,278,282,283,288,291,292,312],append:[35,118,226,227,291,292,311],appli:[17,47,48,52,56,76,88,121,140,164,171,172,182,183,220,226,227,228,231,232,235,246,247,273,274,282,283,287,291,292,311,312,316],applic:[4,34,35,44,139,181,208,267,273,274,282,285,291,292,311,315,317],appriopri:19,approach:[162,215,226,231,246,247,275,276,291,292,304],appropri:[1,12,13,17,23,40,52,73,83,122,132,138,139,171,172,220,226,227,229,230,231,232,234,246,247,269,273,274,275,276,277,287,291,292,311,316],approxim:236,apr:139,april:[146,147,148,149,157,158,179,180,182,187,188,219,220,221,222,223,224,225,246,247,248,264,284,298,304],apss:[171,172,273],aquir:[162,214,225],arb:[231,232],arbab:[171,219,226,229,231,275],arbitr:60,arbitrari:[13,171,172,202,203,246,248],arbitrarili:[246,247,275,276],arch:106,arch_cpu_idl:37,arch_flash_arm:[212,220],architect:[2,21,22,132,146],architectur:[22,182,183],archiv:[182,183],area:[7,47,71,75,139,144,146,171,172,182,183,220,226,227,275,276,316],aren:[110,121,157,171,172,182,183,187,195,202,203,204,219,220,226,227,229,230,231,236,239,267,273,274,291,292,316],arg:[126,132,202,203],arguabl:[275,276],argument:[2,35,50,52,53,56,82,92,100,101,108,117,120,134,171,172,174,182,183,203,220,226,227,246,247,253,275,276,287,288,311,316],aris:[231,232,275,276,311],arisen:[246,247],arithmet:[226,227,316],arizona:236,arm:[171,172,189,193,202,204,205,273,274],around:[35,50,106,120,139,146,167,171,172,174,182,183,184,185,193,198,202,203,207,220,224,226,227,228,229,230,231,232,236,238,240,246,247,259,266,272,273,274,275,276,280,282,283,287,291,292],arrai:[18,21,22,54,127,171,172,173,226,227,229,230,231,232,246,247,268,273,275,276,282,283,295],arrang:[282,285],arriv:[13,231,232,291,292],artem:275,articl:138,artifact:[220,275,276,314],as_notifi:[182,183,246,247],asb:[78,226,228],ascend:316,ascii:[2,34,35,127,220],asid:304,ask:[50,71,140,168,171,173,182,224,229,230,246,247,286,291,292],asleep:[128,158,187,191],asm:[12,133,171,172,195,202,203,219,220,231,246,247,282,285,302],asn1:225,asn:[182,183,246,247],aspe:[231,232,273,274,275],aspect:[291,292],assembl:[275,314],assert:[0,23,44,50,62,146,147,148,161,171,172,182,183,197,202,203,210,220,226,227,228,229,230,231,232,235,239,246,247,248,258,261,262,263,273,274,275,276,279,281,282,283,287,289,291,292,295,297,302,305,313],assert_delai:[282,283],assert_fail:[261,281,282,283],assert_perst:[287,291,292],assert_st:96,assess:314,assign:[41,75,134,147,149,171,172,178,180,182,183,184,185,220,226,227,238,241,246,247,248,281,282,283,284,287,291,292,316],assist:[58,70,282,284],associ:[5,22,27,29,30,41,56,61,68,73,88,89,97,118,130,135,143,171,172,180,184,185,194,203,217,226,227,228,231,233,246,247,258,279,282,283,287,291,292,316],assum:[2,21,22,41,58,100,132,154,171,172,174,177,182,183,202,203,212,220,224,226,227,229,230,231,232,246,247,248,250,254,255,258,269,273,274,275,276,277,279,281,282,283,285,291,292],assumpt:[171,172,184,185,206,220,226,227,261,279,281,282,283,316],assur:[93,103],ast2400:[52,220],ast2500:52,ast:[220,250,268,275,276,279],ast_sio_is_en:279,astbmc:[0,136,145,147,149,151,161,165,182,183,202,203,220,231,232,250,273,274,275,276,281,282,283,286,291,292],astbmc_init:[279,282,283],asychron:[104,135],async:[5,45,52,60,109,110,119,120,127,130,131,162,171,172,175,208,213,229,230,243],async_token:[60,68,77,104,114,127],asynchron:[43,52,60,77,104,108,110,117,120,122,124,125,127,131,135,147,148,181,208,220,261,267,273,274,281,282,283,285,291,292],asynchronu:[109,110,119],asynhroun:[258,279,282,283],at24c04:250,at8286:35,at_hwcap2:[21,22,180,182],at_hwcap:[21,22],at_hwcapx:21,atexit:194,atkkkk:35,atllll:35,atom:[133,171,172,182,183,246,247,313],atr:[268,273],atsd0:[282,283],atsd6:[282,283],atsd:[246,247,275,276,282,283],attach:[26,52,102,180,202,204,219,220,226,227,246,247,268,269,273,275,276,282,285,316],attain:13,attempt:[39,47,82,108,110,113,122,146,150,161,168,171,172,174,178,182,183,202,203,208,220,221,224,226,228,229,230,231,234,243,246,247,258,261,266,273,274,279,281,282,283,285,287,291,292,311],attent:[4,10,68,135,171,174,184,185,226,227],attest:314,attn:[40,68,70,135,146,171,172,174,193,226,227],attn_ack:70,attnbtn:[213,220],attr:19,attribut:[15,19,35,161,184,185,202,203,229,230,256,275,276,278,291,292,313],audit:[171,172,229],aug:288,august:[147,149,150,159,160,161,162,163,184,185,186,187,188,189,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,229,230,231,232,233,234,235,236,270,271,293,298],auth:[17,307,309,311],authent:312,author:[38,56,88,89,97,118,134,275,276,304],authorit:[171,172],auto:[275,276],autodetect:[229,230],autofs4:[162,215,226,227],autoload:151,autom:[147,148,149,171,219],automat:[28,47,68,133,141,231,232,246,247,273,274,275,291,292,314],autorun:[282,285],aux:21,auxpwr:164,auxv:22,avail:[0,10,13,16,18,19,21,22,30,34,41,42,44,49,50,51,55,58,68,73,74,83,102,108,109,115,120,125,131,135,136,139,153,162,165,171,172,175,177,182,183,202,203,204,213,217,220,226,227,229,230,231,233,246,247,248,269,273,275,276,282,283,288,291,292,298,313,316],averag:[246,247],avoid:[0,5,37,39,58,113,144,145,147,149,160,169,171,172,182,183,198,201,202,203,207,213,220,224,226,227,228,229,230,231,236,237,238,246,247,269,273,274,275,276,282,283,284,285,287,291,292,306],avsbu:[171,172],awai:[5,171,172,182,183,229,230,238,282,283],await:95,awan:193,awar:[50,58,121,147,148,171,172,175,180,182,220,246,247,282,283],awful:[202,203],awfulli:[291,292],axon:136,axten:[147,148,161,184,185],b0000002:35,b0020:2,b23d9c5b9c83c05e013aa52460f12a8365062cf4:194,b42ff2b904165addf32e77679cebb94a08086966:[229,230],b8b4c79d4419:[287,291,292],ba4d46fdd9eb:[171,172],babul:[147,148,193],back:[35,42,44,52,58,96,120,124,136,153,162,164,171,172,174,182,183,184,185,188,202,203,215,217,219,224,226,227,228,229,230,231,232,233,236,241,246,247,248,255,267,273,274,275,276,277,282,283,285,291,292,316],backdoor:220,backend:[17,23,42,60,67,117,144,146,171,175,176,182,183,204,258,261,273,274,279,281,282,283,286,291,292,307,309],background:[181,208,267,273,274],backlog:220,backplan:34,backport:[140,162,163,189,202,216],backtrac:[144,146,147,149,160,165,171,174,182,183,184,186,189,193,195,202,203,207,220,221,224,226,231,233,246,247,256,261,272,273,274,275,276,278,281,282,283,291,292],backup:[2,58,246,247,282,283],backward:[2,21,22,54,70,171,172,177,182,183,243,248,315],bad:[0,2,80,134,146,157,171,172,187,193,198,202,203,217,220,224,226,227,228,229,231,232,233,238,246,247,250,251,260,261,271,272,273,274,275,276,281,282,283,285,286,287,291,292],baddllp:164,badli:[134,169,226,231,232,273,274,291,292],badtlp:164,bai:[275,276],bail:[150,171,172,176,182,183,226,227,228,282,283,299],bake:[202,204],balanc:[16,282,285],balbir:[171,193,202,203,226,231],band:[35,37,147,148,171,172,220,231,233,282,283],bandhu1:[184,185],bandwidth:[24,37,41,102,178,182,183,269,275,276],bank:[118,311,314],bar0:41,bar2:41,bar:[2,33,41,75,87,147,149,171,172,182,183,220,221,226,227,229,230,231,236,238,241,246,247,268,272,273,275,276,282,284,291,292,299],bare:[0,2,171,172,220,246,247,282,283,285,287,291,292],barebon:[246,247],barf:[171,172,182,183,226,227],barrat:[171,193,202,203,219,220,226,229,231,275],barreley:[136,184,186,220,282,285],barrier:[171,172,220,231,232,271,275,276],basd:68,base:[2,5,8,14,20,22,24,28,30,32,34,35,37,38,42,50,54,68,72,75,76,77,88,91,112,127,132,133,134,135,136,138,139,140,141,144,156,157,160,164,165,168,171,172,175,185,187,204,210,215,227,229,230,236,237,246,247,250,255,258,268,271,279,280,285,287,291,292,298,310,316,317],base_addr:24,basi:[182,183,184,185,246,247,248,273,274,275,276,277,282,283,284,285,291,292,293],basic:[17,36,58,126,134,147,148,171,172,202,203,219,220,221,231,232,246,247,275,276,291,292,314,316],bathini:[147,148,229],batteri:[70,282,283],baud:2,bb821010:35,bb821410:35,bb822411:[157,187],bc7bb3d12bc1:[291,292],bcd:117,bcm57810:164,bcs:[182,183],bda7cc4d0354eb3f66629d410b2afc08c79f795f:[182,183],bdf:[73,182,183,226,227,246,247],bdfn:[74,75,171,172,202,203,226,227,275,276],be16:[291,292],be16_to_cpu:[291,292],be32_to_cpu:[291,292],beaus:[275,276],beautifi:[171,173],becam:[22,39,136],becaus:[108,110,113,122,134,135,136,160,171,172,173,182,183,188,193,217,220,224,226,227,231,232,233,234,239,246,247,248,255,257,261,268,272,273,275,276,278,281,282,283,285,287,291,292,298],becom:[70,131,148,149,162,163,171,172,173,174,175,182,183,185,186,193,201,202,203,204,205,206,215,216,217,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,258,261,274,275,276,277,279,281,282,283,284,285,290,291,292,293,298,299,304,308,310],been:[0,4,13,14,22,35,41,42,58,62,70,81,84,96,100,108,112,117,131,134,135,139,140,144,148,149,151,154,155,171,172,178,180,182,183,184,185,202,203,204,217,221,224,226,227,228,229,230,231,232,233,235,241,246,247,250,254,257,258,261,267,273,274,275,276,277,278,279,281,282,283,285,287,289,291,292,298,311,313,316],befor:[0,4,21,22,39,42,43,44,52,70,86,96,106,113,114,117,122,124,130,132,133,135,139,147,149,151,159,162,163,168,171,172,173,174,180,181,182,183,184,185,189,196,201,202,203,204,206,208,209,215,216,217,220,221,224,226,227,228,229,230,231,232,233,236,238,241,245,246,247,248,258,261,263,265,267,268,273,274,275,276,279,281,282,283,285,287,291,292,297,301,305,311,316],beforehand:224,begin:[4,171,172,182,183,193,246,247,282,283,291,292,311],behav:[21,134,147,149,182,183,220,231,232,275,276,291,292],behavior:[17,44,273,274,311],behaviour:[22,46,110,166,171,172,182,183,196,201,202,203,205,226,227,246,248,273,274,275,282,283,316],behind:[5,104,135,139,171,172,180,201,202,203,220,221,229,230,235,236,246,247,273,282,285],being:[4,22,39,43,50,52,57,58,70,75,79,108,110,117,122,123,124,125,131,139,147,148,157,160,162,165,167,171,172,173,174,175,182,183,187,193,197,201,205,208,213,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,243,246,247,248,254,257,258,260,261,264,266,267,269,273,274,275,276,277,278,279,282,283,287,288,291,292,316],belief:[291,292],bell:[184,185],belong:[14,18,140,168,226,227,229,230,275,287,291,292],below:[1,2,4,15,16,17,18,19,22,26,35,43,44,47,70,89,93,101,102,103,131,134,138,141,147,162,164,171,172,173,174,177,182,183,184,185,193,201,202,203,209,210,213,215,217,220,221,226,227,231,232,233,238,254,273,274,275,276,277,282,283,287,291,292,310,311,316],ben:[182,183],benchmark:[182,183,229,275,276],benefit:[202,203,226,267,273,274,291,292],benjamin:[147,148,161,164,171,184,185,193,202,203,219,220,224,226,229,231,275],beofr:[182,183],beor:[246,247],bergheaud:[147,148,184,185,193],best:[4,17,44,113,132,138,139,220,246,247,261,281,282,286,291,292,311],bet:[250,273,274],beta1:[4,38,142,147,149,184,185],beta2:[38,142,147],beta:[147,148,149,182],better:[2,35,130,140,141,146,147,148,149,162,166,171,172,182,183,193,215,220,224,226,227,228,231,232,261,273,274,275,276,291,292],between:[4,14,16,22,29,41,42,43,46,110,132,133,157,171,172,175,182,183,187,202,203,213,217,220,221,226,227,229,230,231,233,241,243,246,247,261,268,271,273,274,275,276,282,283,284,287,291,292,311,314,316],beyond:[22,52,103,110,130,171,172],bf898ec5cb:[231,236],bhat:[147,148,171,184,185,193,202,203,219,220,224,226,229,231,275],bhattiprolu:[171,229,231],bia:[171,173],biarch:[147,149],bias:[182,183],bifurc:[282,283],big:[2,13,42,132,136,146,171,172,175,220,226,227,231,232,246,247,261,273,274,275,276,281,282,283,291,292],bigger:[182,183,282,283,291,292],bin:[36,226,227,275,287],binari:[2,4,17,34,35,38,147,148,166,182,183,222,226,227,246,247,275,276,281,282,283,291,292],bind:[5,9,22,25,31,37,38,40,52,71,97,105,110,133,139,146,171,175,202,203,224,231,232,246,247,273],binutil:[212,220],bishop:[171,193],bit:[2,9,13,14,19,21,22,24,28,29,31,32,33,35,37,41,48,50,54,58,60,68,70,73,78,87,88,89,90,93,100,101,103,108,115,117,121,124,130,132,133,134,135,144,145,150,153,157,162,164,169,171,172,173,174,175,178,180,182,183,184,185,187,193,202,203,205,206,213,214,216,217,220,221,224,226,227,228,229,230,231,232,233,235,236,238,240,241,245,246,247,248,251,257,268,269,271,272,273,274,275,276,278,282,283,284,285,287,291,292,311,313,316,317],bitbak:[273,274],bitfield:[178,182,183],bitmap:[75,171,172,220],bitmask:[14,22,108,201,282,283],bitrot:[291,292],bitwis:[14,282,283],bizarr:[42,171,172],black:231,blackbird:136,blackbrid:136,blacklist:311,blame:[282,284],blanchard:[147,148,202,203,229,231],blank:[171,172,273,274,275,276],blif:[171,172],blindli:220,blink:135,bloat:[147,148],blob:[3,17,34,53,118,171,172,220,222,224,226,227,231,232,246,247,275,276,311,314],block:[2,9,52,67,78,133,161,171,172,176,180,182,183,193,208,209,219,220,226,227,229,230,231,233,243,246,247,261,270,275,276,281,282,284,285,295,316],blockevel_smart_writ:[287,291,292],blocklevel:[147,148,176,182,183,219,220,246,247,258,261,275,277,279,281,282,283,294],blocklevel_get_info:[281,282,283],blocklevel_raw_:[246,247],blocklevel_raw_writ:[261,281,282,283],blocklevel_read:[246,247,254,275,277],blocklevel_smart_eras:[176,182,183,219,229,230],blocklevel_smart_writ:[202,204],blocklevel_writ:[246,247,261,273,274,281,282,283],blog:136,blown:[229,230],blr:[282,285],bmc0:275,bmc:[5,8,34,35,38,40,44,132,133,144,146,154,155,156,171,172,182,183,185,202,203,204,205,206,224,226,227,228,229,230,246,247,248,249,250,251,252,255,256,261,263,275,276,278,280,281,282,283,284,285,286,288,290,291,292,297,299],bmc_mbox_enqueu:[171,172],bmc_platform:220,bml:[273,275,276],bn_num_byt:225,board:[2,202,203],bobroff:231,bogu:[171,172,193,220,221,231,241,246,247,272,275,276,291,292],bogusdisk:[202,203],bogusnet:[231,232],bone:[171,172],bonnard:[147,148,171,193,202,203],book:22,bookiv:[226,227],bookkeep:[171,172],bool:[63,74,119],boost:[13,171,172,226,228],boot:[0,1,4,5,7,8,17,20,23,36,37,38,39,68,69,71,76,77,113,115,118,127,129,134,137,138,145,146,147,148,149,153,161,164,167,173,174,177,182,183,184,185,193,194,201,202,203,205,207,220,221,224,226,227,228,229,230,231,232,233,236,245,248,250,253,254,257,258,260,261,266,268,272,273,274,275,276,277,278,279,281,282,283,285,286,287,294,296,300,304,311,313,316],boot_cpu:182,boot_cpuid_phi:[226,227],boot_entri:[182,224,272,273,274,275,276,281,282,283],boot_test:[147,148,149,166,170,202,203,206,226,227],boot_tracebuf:[291,292],bootarg:[202,203,204],bootkernel:[171,172,173,231,232,273,274],bootkernfw:[282,285],bootload:[132,133,155],borrow:312,boston:[134,136,171,172,224,231,232,246,247,256,275,276],both:[2,24,44,52,68,88,95,99,108,117,127,140,162,171,172,173,175,182,183,193,202,203,204,213,214,220,224,226,227,231,232,233,246,247,248,250,269,271,273,274,275,276,278,281,282,283,285,291,292,313,314,316,317],bother:[171,172,246,247],bottom:[121,246,247,258,268,273,274,279,282,283],bound:[28,162,171,172,213,231,236],boundari:[89,171,172],box:[226,227,229,230,246,248,269,273,274,275,276,280,282,283,285],bp010:136,bp012:[136,226,227],br2_hcode_latest_vers:[246,248],brad:[171,193],brahmasamudra:[171,275],branch:[38,140,141,146,147,148,149,181,182,183,202,226,227,246,271,273,275,276,277,282,285,291,292],brdgctl:84,breakeven:13,breakpoint:225,breath:274,breno:[202,203],brick:[171,172,180,240,246,247,264,266,268,273,274,275,276,282,283,284,291,292,296],bridg:[2,30,41,101,135,155,164,184,185,189,213,220,231,236,246,247,282,283,285,291,292],briefli:42,brielfi:42,brigg:[136,259,280],bring:[42,43,133,161,171,172,180,182,183,220,231,233,246,247,248,267,273,274,275,276,282,283,287,291,292],bringup:[2,134,136,182,183,184,185,219,220,221,222,223,224,225,227,230,261,281,282,285],broadcast:[122,226,227,268,269,273,274,275,276],broadcom:[164,202,203,221],broader:139,broadli:[226,227],broke:[202,204,231,236,279],broken:[79,81,84,135,140,160,171,172,178,182,183,220,224,226,227,229,230,231,236,275,276,282,285,286,291,292],brought:[171,172,226,227],brown:[219,220,226],broyl:[171,172],bsd:139,bss:[291,292],bt_add_ipmi_msg_head:[258,279],bt_expire_old_msg:[258,279],bt_idl:[258,279],bt_send_and_unlock:[258,279],buddi:[171,172,181,208,220,231,233,267,273,274],buf:[35,52,53,171,173,307,309,314],buffer:[1,2,5,12,17,28,35,45,47,49,50,51,52,53,55,60,75,76,77,83,84,85,86,104,118,132,133,145,146,151,154,162,168,171,172,175,176,182,183,184,185,186,199,202,203,215,217,224,226,227,229,230,231,232,233,246,247,257,265,275,276,278,282,283,287,291,292,303,306,315,316],buffer_ra:60,buffers:24,buffrsiz:24,bug:[2,131,139,140,145,146,150,151,152,153,154,156,157,158,159,160,161,162,163,165,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,241,242,243,245,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,316],bugfix:[150,161,164,201,202,203],buggi:[162,182,183,215,226,227,273,274],bugzilla:145,buid:[134,197,202,203],build:[4,22,24,34,38,138,139,141,144,146,147,148,161,171,172,173,174,175,182,183,184,185,187,189,190,191,193,194,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,245,246,247,248,259,273,274,275,276,277,280,282,283,284,285,287,288,298,305,314],buildroot:[4,231,232,233,287],built:[36,132,133,141,144,171,172,182,183,184,185,220,226,227,273,298,304],builtin:[171,172,256,278,282,285,291,292],bulid:250,bump:[39,70,161,166,171,172,201,202,203,220,226,227,229,230,266,273,274,275,276,291,292],bunch:[133,166,171,172,220,257,273,274,275,277,282,283,291,292],bundl:[147,149],bur:[147,148,161,171,184,185,193,202,203,204,219,220,224,226,229,231,275],burst_count:220,bus:[2,30,33,34,52,60,69,82,100,132,134,147,148,158,171,172,182,183,184,185,189,193,208,213,220,224,226,227,229,230,231,236,243,245,246,247,250,255,266,273,274,275,276,277,287,291,292,295],bus_compar:100,bus_dev_func:[78,100],bus_id:60,bus_mask:134,busagentstatu:84,buse:[100,135,202,203,256,258,278,279,282,283],busi:[44,76,158,162,171,172,182,190,191,193,214,217,225,231,233,282],buss:[226,227],bust:261,bust_lock:[147,148,171,172,261],butt:[266,273,274],bwmgmt:220,bypass:[35,171,174,229,230,246,247,271,275,276],c000000000009674:[217,231,233],c00000000000b118:[231,233],c00000000000b184:[162,215,226,227],c00000000002e2d8:[231,233],c00000000002f0e0:[231,233],c00000000006b078:[231,233],c00000000006b22c:[231,233],c00000000006bc68:[231,233],c0000000000846e8:[162,215,226,227],c0000000000846f4:[162,215,226,227],c000000000084710:[162,215,226,227],c00000000008472c:[162,215,226,227],c0000000000851a8:[217,231,233],c00000000008b0f0:[231,233],c0000000000abdf0:[246,247],c0000000000abdf4:[246,247],c0000000000acc48:[246,247],c0000000000ace60:[246,247],c0000000000de4e8:[231,233],c0000000000ecb98:[217,231,233],c0000000000ed3dc:[217,231,233],c0000000000f4650:[217,231,233],c00000000013b6b0:[217,231,233],c00000000013ba34:[217,231,233],c0000000001b9880:[231,233],c0000000001b9890:[231,233],c00000000035b1f4:[162,215,226,227],c00000000035bab4:[162,215,226,227],c00000000041c3ac:[231,233],c0000000008a8780:[231,233],c000000000900828:[162,215,226,227],c000000000902364:[162,215,226,227],c00000000090540c:[162,215,226,227],c00000000099e644:[217,231,233],c0000000011f7c00:[246,247],c0000000012778c8:[246,247],c00000000127a560:[246,247],c00000000144c900:[162,215,226,227],c000000003167e80:[246,247],c00000000fba0100:[162,215,226,227],c0000000285cfc00:[246,247],c00000003fa7bd80:[178,182,183],c0000003f277b730:[231,233],c0000003f277b9b0:[231,233],c0000003f277ba50:[231,233],c0000003f277ba70:[231,233],c0000003f277bac0:[231,233],c0000003f277bb10:[231,233],c0000003f277bbc0:[231,233],c0000003f277bc50:[231,233],c0000003f277bc70:[231,233],c0000003f277bce0:[231,233],c0000003f277be30:[231,233],c000000f1633fa00:[217,231,233],c000000f1633fae0:[217,231,233],c000000f1633fb60:[217,231,233],c000000f1633fb90:[217,231,233],c000000f1633fc60:[217,231,233],c000000f1633fcf0:[217,231,233],c000000f1633fd80:[217,231,233],c000000f1633fe30:[217,231,233],c000000fdfdc8400:[162,215,226,227],c000000fdfef4000:[162,215,226,227],c000000fdfef79a0:[162,215,226,227],c000000fdfef7c20:[162,215,226,227],c000000fdfef7c60:[162,215,226,227],c000000fdfef7ca0:[162,215,226,227],c000000fdfef7d40:[162,215,226,227],c000000fdfef7de0:[162,215,226,227],c000000fdfef7e30:[162,215,226,227],c000001fea860000:[246,247],c000001fea863550:[246,247],c000001fea8637d0:[246,247],c000001fea863820:[246,247],c00004:[171,172],c0001f:[171,172],c000201cc7cb7750:[246,247],c00:84,c11:[282,283],c13:34,c18:84,c327eddd9b291a0e6e54001fa3b1e547bad3fca2:191,c40:84,c48:[246,247,272,275,276],c80:84,c88:84,c8a7535f:[217,231,233],ca32:[246,248],cabl:301,cach:[2,68,75,102,108,115,117,144,145,146,153,157,162,171,172,174,180,182,183,187,202,203,213,215,220,221,226,227,231,232,241,246,247,250,265,268,273,275,276,282,283,287,291,292,303,306,316],cachelin:[275,276],calcul:[27,29,53,108,133,145,146,171,172,182,183,207,220,222,226,227,231,232,246,247,256,268,271,273,275,276,278,313,314,317],calibr:[231,232,282,283],call:[1,5,9,12,15,16,18,19,20,35,37,38,40,41,43,44,46,47,48,50,51,54,56,57,58,59,61,62,63,64,65,66,67,68,70,71,72,76,77,78,81,83,87,88,89,90,93,96,97,98,99,100,101,103,105,106,107,108,109,110,111,113,114,115,118,119,120,121,122,123,124,125,126,128,129,131,132,133,134,135,143,144,146,147,148,149,150,154,160,161,162,164,165,167,171,172,173,174,175,178,180,182,183,193,202,203,210,215,217,220,221,224,226,227,228,229,230,231,232,233,239,246,247,248,254,255,258,261,263,268,269,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,291,292,296,297,298,302,305,311,314,316],call_cvc_sha512:314,call_cvc_verifi:314,callback:[160,162,171,172,182,183,184,186,201,202,203,212,215,220,226,227,258,273,274,275,276,279,281,282,283,284,291,292],caller:[94,117,131,162,163,171,172,173,214,216,220,225,226,227,231,232,241,246,247,258,273,274,279,282,283,287,291,292,311,314,316],callout:[161,171,174],calucul:[171,173],cam_valu:316,came:[151,217,231,233],campisano:171,can:[0,1,2,4,5,7,9,10,12,13,14,16,17,19,21,22,23,24,26,28,35,36,37,40,41,44,47,49,50,52,54,55,58,61,62,63,64,65,68,70,71,74,75,78,84,88,96,99,104,108,109,110,112,113,114,117,118,119,120,121,122,127,130,131,132,133,134,137,138,139,140,144,146,151,159,160,161,162,171,172,173,174,175,181,182,183,184,185,193,196,202,203,204,205,206,208,211,215,216,217,219,220,221,224,225,226,227,228,229,230,231,232,233,234,236,238,239,241,242,246,247,248,250,251,253,255,256,257,258,259,260,261,266,267,268,269,271,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,291,292,298,304,311,312,313,314,315,316],canari:220,cancel:[265,305],cancel_tim:[231,233],cancel_timer_async:[231,233],candid:[47,172,173,174,175,183,185,186,193,203,204,205,206,219,220,221,222,223,224,225,226,227,228,230,231,232,233,234,235,236,247,248,273,274,276,277,283,284,285,292],canneri:182,cannot:[84,93,102,103,109,110,119,131,139,161,171,173,182,183,202,204,226,227,255,275,276,282,285,287,291,292,313,316],canon:22,cap:[38,41,42,70,109,213,220,229,230,231,232,234],capabl:[10,21,22,56,75,132,164,184,185,201,202,203,213,220,221,226,227,231,232,246,247,255,258,275,276,279,282,283],capac:139,capi2:[182,183,226,227],capi:[30,102,146,150,157,159,161,173,174,187,196,204,226,227,248,269,271,272,273,275,276,282,283],capp0:[226,227],capp1:[226,227],capp:[1,4,30,58,102,146,147,148,150,159,161,171,172,174,182,183,193,194,196,202,203,204,220,226,227,231,232,250,251,254,268,271,273,275,276,277,281,282,283],capp_cntl:[271,275,276],capp_fir_clear:[251,275,276],capp_lid_download:[226,227],capp_ucode_info:[226,227],cappabl:15,capplidh:[250,275,276],capppsll:[250,275,276],captur:[50,189,220,226,227,275,276],card:[34,102,134,147,148,150,171,172,182,183,193,201,213,220,221,226,227,229,230,231,232,246,247,251,259,268,269,273,275,276,280,282,283,287,291,292],care:[7,35,40,42,58,133,171,172,226,228,246,247,282,283,316],carefulli:[133,261],carol:220,carri:[44,76,246,247,248,273,274,275,276],carvalho:[171,202,203,204,219,220,231],cascad:[182,183,313],cast:[171,172,182],cat:[37,162,213,214,220,224,226,227],catalog:[24,171,173,231,234,246,247],catastroph:[171,172,239],catchal:193,catcher:[250,275,276],categori:[54,68],caught:[182,193,273,274],caus:[13,17,38,39,42,50,51,73,101,122,129,134,145,146,150,153,154,162,164,165,167,171,172,174,175,182,183,184,185,188,197,201,202,204,205,214,220,221,224,226,227,228,229,230,231,232,234,236,237,238,239,243,246,247,248,251,256,257,258,268,271,272,273,274,275,276,278,279,282,283,285,291,292,296,305,313,316],caveat:[171,172],cc0:[84,139],cc1:288,cc8:84,ccan:[133,139,145,291,292],ccin:[34,221,288],ce0900:[162,214,224],ceas:[136,193],cec5750a4a86ff3f69e1d8817eda023f4d40c492:191,cec:[151,217,231,233],cec_power_down:146,cec_reboot:[171,172],cell:[2,3,5,9,14,24,30,31,69,130,171,172,174,175,193,257,275,276,316,317],centaur:[2,19,147,148,166,198,199,202,203],center:231,centos6:220,centos7:220,central:220,cert:[275,277],certain:[51,109,131,132,133,153,162,165,169,171,172,213,238,266,273,274,282,283,291,292,316],certainli:[165,182,183,226,228],certif:38,certifi:138,cesta:164,cf960e2884:[229,230],cfam:[246,247],cfar:[162,171,173,178,182,183,214,215,224,226,227,246,247,261,272,275,276,281,282,283],cfg:[84,171,172,226,227,238,246,248,272,275,276],chad:[147,148],chain:[246,247,304,307,309,314],chanc:[113,171,172,231,232,258,261,275,276,279,281,282,283],chane:164,chang:[1,2,4,14,15,17,22,38,42,44,53,54,70,84,100,103,104,109,110,112,115,121,134,135,137,138,139,141,144,146,147,148,151,155,159,160,162,163,168,169,170,172,173,174,175,176,177,179,182,183,186,192,193,194,195,196,201,203,205,206,207,213,221,222,225,227,228,230,232,233,234,235,236,237,238,240,243,248,250,253,257,258,259,266,267,276,277,278,279,280,281,282,283,284,285,287,291,292,298,310,311,316],changeset:[147,148,161,164,184,185,187,193,202,203,204],channel:[171,172,174,226,227,229,230,246,247],channel_streaming_en:[171,174],chapter:[2,68],charact:[4,34,127,226,229,230,231,232,246,247,275,282,283],character:[13,171,173,231,233],characterist:[13,22,221,291,292],charg:132,chase:226,chassi:[38,286,291,292],check:[17,22,35,45,50,51,58,61,68,100,101,135,144,145,157,162,163,167,171,172,173,174,175,178,180,182,183,187,193,198,202,203,204,213,215,216,217,219,220,221,224,226,227,228,229,230,231,232,233,235,238,239,241,246,247,248,251,254,255,257,258,259,261,265,268,269,272,273,275,276,277,278,279,280,281,282,283,285,286,288,291,292,305,311,312,314],check_credit:[171,172,239,262,295],check_imc_device_typ:61,check_statu:[273,274],check_tim:[275,276],checker:[182,183,220,275,276],checkout:[182,183],checkstop:[44,58,70,146,170,171,172,173,187,193,197,202,204,221,222,226,228,229,230,231,232,236,241,243,246,248,256,261,275,276,281,282,283,285,291,292],checkstop_type_cor:70,checkstop_type_nx:70,checksum:[133,226,227,275,276,291,292],chen:[279,282,283],cherri:[140,153,189,191],chicken:[204,287,291,292],child:[2,3,15,16,17,18,21,23,34,101,132,134,146,171,172,174,182,183],child_p:[101,134],children:[2,155,171,172,174,184,185,220],chip:[2,13,18,19,24,26,28,30,33,34,38,41,58,69,70,72,129,132,134,146,147,148,161,171,172,174,180,182,183,184,185,186,193,194,197,202,203,206,207,220,222,224,226,227,229,230,231,232,241,245,246,247,248,251,257,261,268,269,270,272,273,274,275,276,278,281,282,283,285,291,292,306,316,317],chip_id:[69,70,72,129,220,246,247,268,273,274,275,276,316],chip_tod_parity_err:144,chip_unit:[171,172],chipid:[24,182,183],chiplet:[38,231,232,268,273],chiplet_offlin:[231,232],chiptod:[2,58,116,162,171,172,193,202,203,215,220,231,233,275,276,317],chiptod_capp_timebase_sync:[182,183],chiptod_init:[171,172],chipwis:[182,183],chitod:58,choos:[13,132,133,134,217,231,233,258,273,274,279,282,283],chop:[171,172,240],chose:[2,42,95,134,226,227,251,275,276],chosen:[87,229],chri:[193,202,203,204,219,220],christian:[171,275],christoph:[171,226,231,275],chronolog:314,chunk:[133,202,203,226,228,229,230,273,274,275,276,316],circa:[275,276],circular:[1,133,182,183],circumst:[42,171,172,220,226,227,228,241,246,247,282,283],circumvent:[159,196,202,203],citizen:[291,292],claim:[50,202,203,220,226,227,229,230],clamp:[231,235],clang:[246,248,275,276],clarif:[273,274],clarifi:[131,195,199,220,275,276,282,283],clash:[273,274],class_resp:[144,145],classic:204,classif:35,classifi:[68,135],claudio:[171,202,203,204,219,220,231],clean:[36,108,130,146,171,172,178,182,183,184,191,194,195,220,224,226,227,228,241,246,247,282,283,284,287,291,292,316],clean_on_ecc_error:[171,172],cleaner:222,cleanli:[226,227],cleanup:[48,146,147,148,169,202,220,226,227,228,231,232,246,247,251,256,260,273,274,275,276,278,282,283,316],cleanup_global_tlb:[226,227],clear:[0,23,58,71,75,101,108,119,134,144,146,147,148,153,154,157,161,164,171,172,173,177,178,180,182,183,187,209,220,221,224,226,227,228,229,230,231,232,235,237,238,242,245,246,247,248,251,257,258,259,260,261,264,266,268,271,272,273,274,275,276,278,279,280,281,282,283,286,287,291,292,294,296,311,313,316],clear_maint:[246,248],clear_on_ecc_error:[171,172],clearanc:23,clearer:[205,273,274],clearli:[141,224,273,274,287,291,292],clever:205,client:[161,171,172,226,227,250,275,276,291,292],clk:[171,172,237],clobber:[182,226,227,246,247,316],clock:[2,30,38,42,128,153,162,171,172,184,185,186,201,202,203,215,224,226,227,229,240,266,267,273,274],clog:[171,172],close:[38,39,49,134,146,171,172,208,217,226,231,233,258,279,282,283],closer:[147,148,171,184,185,202,219,275,276,291,292],closest:2,cloud:[136,220],cluster:136,clutter:[282,283],cmd:[67,193,217,231,232,275],cmdcplt:[213,220],cme:[231,232,273,274],cmp:[212,220],cmpm:[182,183],cmpxchg:[171,172],coalesc:316,code:[0,2,3,10,21,22,23,26,27,30,32,34,35,38,39,41,42,43,50,51,54,55,56,58,68,81,93,94,106,108,111,120,123,128,130,132,133,134,135,138,139,141,144,145,146,147,148,153,158,160,161,162,171,172,173,174,175,178,180,184,185,189,190,193,198,201,202,203,204,206,211,213,215,217,219,220,221,224,226,227,228,229,230,231,232,233,234,241,246,247,249,251,252,253,254,259,261,266,268,271,272,273,274,275,276,277,280,281,282,283,284,285,286,288,291,292,299,316],codepath:164,codeupd:47,coher:[27,75,157,171,172,187,221,226,227,282,284,291,292],cold:[209,313],colin:[219,220],collater:101,collect:[24,35,38,44,61,132,139,226,227,282,283,316],collid:[202,203],collis:[2,316],colon:[226,227],column:131,com:[132,136,138,140,148,155,171,172,176,205,219,220,221,222,224,225,226,227,228,231,232,256,275,278,282,284,291,292],combin:[22,28,134,150,202,204,259,268,273,280,282,285,287,291,292,311,314,316],come:[2,60,68,84,100,101,133,139,147,148,150,157,168,171,172,182,183,187,193,202,217,224,226,227,228,231,233,245,246,247,259,280,282,283,291,292,304],comm:[162,178,182,183,215,226,227,231,233,246,247],comma:[226,227],command:[0,37,47,60,68,107,131,144,147,149,161,162,171,172,173,174,193,194,203,206,209,214,215,217,219,220,224,225,226,227,229,230,231,232,233,236,246,247,248,249,250,258,266,273,274,275,276,279,282,283,284,287,288,291,292,313,314,315],commandreadi:220,comment:[38,132,139,184,185,220,224,231,232,246,247,258,275,279,282,283],commit:[35,47,138,139,140,141,157,161,171,172,174,175,182,183,187,189,191,193,194,202,204,208,217,220,221,224,226,227,229,230,231,232,233,234,236,246,247,248,271,275,276,280,282,283,285,288,291,292,298],common:[4,13,22,28,35,84,133,162,202,204,214,219,220,221,225,231,232,246,247,275,282,284,291,292,316],commonli:[51,144],commun:[0,28,40,50,58,67,77,120,138,139,162,213,217,224,226,227,231,233,282,283,311],compani:141,compar:[4,68,97,100,171,172,182,183,213,220,226,227,229,246,247,282,283,313,314],comparison:[4,182,183,194,226,227,271,275,276],compat:[3,5,6,7,8,9,10,11,12,15,16,17,18,19,20,21,22,23,24,27,28,29,30,32,33,46,54,55,62,63,64,65,70,76,108,114,115,130,132,136,145,147,148,151,171,172,174,177,182,183,194,220,226,227,229,230,231,232,243,246,247,248,250,260,273,274,275,276,282,283,291,292,295,306,315,316,317],compatibil:132,compens:[246,247],compil:[36,138,145,147,149,150,161,171,172,173,184,185,193,202,204,205,275,276,278,291,292],complain:[171,172,182,183,251,252,275,276],complement:[42,182,183,226,227],complet:[0,13,24,35,41,42,45,47,52,60,73,75,78,79,104,108,109,110,113,117,119,120,122,125,127,132,133,135,140,151,160,162,171,172,177,182,183,184,185,192,202,203,204,208,209,212,213,220,221,226,227,228,229,230,231,232,233,241,243,246,247,251,255,258,271,273,274,275,276,279,282,283,286,287,291,292,313,314,316],complex:[16,37,135,171,172,203,220,224,226,227,231,232,246,247,282,285,311],compliant:[132,261,281,286,291,292],complic:[0,134,171,172,231,232,291,292],compon:[0,2,4,14,15,19,21,22,35,109,131,132,133,141,154,171,172,174,180,193,226,227,231,232,246,247,250,275,276,282,283,291,292,311,313,314],component_id:35,compress:[133,226,227,229,230,291,292],compris:[135,246,247,314],compromis:[282,285,311,313],comput:[33,182,183,202,204,275,276],con_need_flush:[273,274],con_op:151,concaten:314,conceiv:145,concept:[171,172,312],conceptu:[182,183],concurr:[113,117,141,171,172,182,183,231,232,257,273,274,278,282,283,316],condit:[13,17,70,103,146,153,157,159,160,162,170,171,172,175,182,183,187,196,202,203,207,215,217,220,226,227,231,232,233,236,246,247,248,261,266,273,274,275,276,281,282,283],condition:[157,187,275,276,280,282,283],conex:[282,283],confid:139,config:[1,27,30,38,41,42,44,133,134,135,137,150,158,171,172,182,183,184,185,189,193,202,203,204,206,220,221,224,226,227,228,229,230,231,232,234,236,238,246,247,248,251,256,258,259,261,269,275,276,278,279,280,281,282,283,285,286,287,291,292,298,315],config_address:[272,275,276],config_disable_vg_not_si:[246,247],config_enable_snarf_cpm:[282,285],config_fsp:[291,292],config_modul:[282,283],config_nvlink_mod:[246,247],config_of_pmem:[246,247],configur:[0,2,16,20,22,28,37,54,57,58,73,75,76,91,99,115,134,135,147,149,154,171,172,173,174,182,183,189,193,201,202,203,220,221,224,226,227,229,230,231,232,233,234,236,238,241,246,247,248,251,256,261,268,271,273,274,275,276,279,281,282,283,286,291,292,314,316],confirm:[17,47,104,141,171,172,226,228,282,283],conflat:[246,247],conflict:[0,220,238,316],conform:[4,46,49,126,131,132,138],confus:[178,182,183,202,203,220,226,227,231,232,246,247,273,275,276,282,283,291,292],congratul:132,conjunct:[41,275,276,313],connect:[2,27,41,135,152,182,183,220,221,226,227,231,232,273,274,282,283,291,292],connector:[34,135,275,276,301],connectx:[231,232,258,279,282,283],consecut:[56,88,198,202,203],consequ:[115,171,172,182,183,279,282,283],conserv:[171,172,229,230],consid:[22,42,43,171,172,182,183,202,203,220,226,228,231,246,247,258,275,276,279,282,283,285,310,311,312,313,316],consider:38,consist:[2,138,159,171,172,191,202,204,222,226,227,241,246,247,259,275,276,280,313,317],consol:[0,5,20,38,42,122,145,151,152,154,162,164,171,172,173,178,182,183,184,185,186,191,193,199,202,203,206,208,215,217,219,220,224,226,227,231,232,233,246,247,248,261,273,274,275,276,281,282,285,286,288,290,291,292,299,316],console_log_level:1,console_unlock:[217,231,233,291,292],console_writ:[273,274],constant:[17,22,171,172,220],constantli:[134,198,251,275,276],constrain:21,constraint:[38,171,172],construct:[19,141,171,172,202,204,241,245,275],constructor:[182,183],consum:[17,22,29,32,41,70,141,171,172,202,203,231,232,241,246,247,273,274,275,276,287,291,292],consumpt:[16,147,148,202,203],contain:[2,3,4,9,14,17,18,21,22,23,24,26,27,28,31,33,35,38,69,70,72,73,104,117,118,127,129,132,133,136,138,140,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,182,183,184,185,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204,205,206,215,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,305,306,307,309,310,311,316],contend:[226,227],content:[1,2,7,36,40,69,71,76,133,161,171,172,188,202,204,219,220,221,222,224,225,226,227,228,246,247,273,274,282,283,294,316],context:[13,33,40,73,124,133,182,183,226,227,229,231,232,246,247,255,258,275,279,282,283],context_switch2:229,contigi:291,contigu:[171,172,226,227,254,275,277,316],continu:[22,37,108,133,147,149,150,161,162,171,172,178,182,183,184,185,188,201,202,203,204,215,217,219,223,226,227,231,232,233,240,241,246,247,250,273,274,282,283,291,292,298,312],contrari:[162,214,225,291,292],contribut:[38,139,171,172,220,298],contributor:[138,161],control2:220,control:[1,2,22,23,27,29,33,35,37,38,41,58,60,62,63,64,65,68,76,77,113,121,124,128,129,132,133,135,146,160,164,171,172,173,175,180,182,183,202,203,207,213,220,226,227,229,230,231,232,233,235,237,241,243,246,247,248,250,252,257,268,270,271,273,274,275,276,278,282,283,285,287,291,292,298,310,311,316],convei:[231,232],conveni:[291,292,311],convent:[2,56,120,134,291,292],convers:[75,257,275,277,291,292,306,309],convert:[35,132,159,171,172,181,196,202,203,208,226,227,231,232,246,247,258,261,267,273,274,279,281,282,283,284,285,291,292,299],cool:54,coordin:22,cope:[246,247,282,285],copi:[2,35,40,45,50,51,55,58,76,83,87,108,118,119,138,166,171,172,173,175,182,183,226,227,229,230,231,232,246,247,258,275,276,279,282,283,285,291,292,315],coproc:146,coprocessor:[25,38,129,146,229,230,268,273,274,275,276],copyright:138,core:[2,14,19,21,22,38,40,58,61,70,116,122,131,132,133,136,146,154,157,158,160,165,171,172,173,174,175,178,180,182,183,187,190,191,193,194,201,202,203,204,205,206,213,221,222,226,227,228,229,230,231,232,233,235,241,242,246,247,248,251,256,257,258,261,263,268,271,272,273,274,275,276,278,279,281,282,283,285,289,290,291,292,294,299,305,311,316],core_fir:[272,275,276],core_imc_event_mask:[231,232],core_start:[246,248],core_stop:[246,248],core_wof:[246,247],corner:[162,163,194,195,202,203,215,216,217,226,227,228,231,233,258,279,282,283],corpor:164,corr:[256,275,276],correct:[2,17,35,44,67,100,101,110,131,140,141,159,171,172,174,175,176,182,183,189,195,196,200,202,203,206,213,220,226,227,228,229,230,231,232,246,247,248,254,255,258,259,261,268,271,272,273,274,275,276,277,279,280,281,282,283,291,292,313],correctli:[55,117,141,147,149,153,157,160,165,170,171,172,173,175,177,182,183,187,202,203,204,217,220,221,224,226,227,229,230,231,232,236,246,247,251,255,268,273,274,275,276,279,282,283,291,292],correl:[84,100,229,275,276],correrr:164,correrrorstatu:84,correspond:[2,9,13,17,21,41,52,56,58,69,88,108,118,123,134,135,141,147,149,153,171,172,173,182,183,184,186,197,216,220,221,226,227,228,231,232,246,247,268,273,274,275,276,313,316],corrupt:[147,148,161,165,168,171,172,178,182,183,188,194,226,227,228,229,246,247,261,271,275,276,282,283,294,302,313],cosmet:[171,172],cosol:[162,215,226,227],cost:[102,171,172,273,274,291,292],could:[0,22,42,44,50,51,75,114,129,135,140,141,144,145,147,148,149,153,154,157,160,165,167,171,172,181,182,183,187,189,201,202,203,204,205,207,208,220,224,226,227,229,230,237,245,246,247,248,255,260,268,271,273,274,275,276,282,283,291,292],couldn:132,count:[0,13,24,35,36,37,69,134,146,157,167,171,172,187,193,221,229,230,231,251,258,261,275,276,279,281,282,283,284,291,292],counter:[28,37,61,171,172,175,224,226,227,229,230,231,233,242,246,275,276,282,283,287,291,292],coupl:[134,146,184,185,198,199,220,231,236,268,273,275,291,292],cours:[224,259,280],cover:[132,138,171,172,174,184,185,226,227,231,232,246,247,261,275,277,281,282,283,316],coverag:[36,147,148,149,184,185,226,246,248,273,274,275,276],cow:[282,284],cp_m:[282,285],cpio1:[226,227],cpio2:[226,227],cpio:[226,227],cpm:[282,285],cpmc1sel:24,cpmc2sel:24,cpmc:[24,37],cpmc_load:[24,37],cpp:226,cppr:[64,224,316],cpu0:[231,233],cpu1:[231,233,282,283],cpu3:[282,283],cpu:[2,14,16,25,38,42,58,61,62,65,71,75,109,112,113,115,122,123,128,131,132,133,145,146,147,148,157,158,161,162,165,171,172,173,174,175,178,182,183,187,189,191,193,202,203,205,215,217,220,221,224,226,227,228,229,230,231,232,233,234,246,247,256,257,260,261,271,272,273,274,275,276,278,281,282,283,285,287,291,292,305,314,316],cpu_features_t:[182,183],cpu_idl:[226,227],cpu_idle_delai:[226,227],cpu_idle_job:[182,183,226,227],cpu_nr:[113,122],cpu_pir:[61,123],cpu_process_job:[182,183],cpu_process_local_job:220,cpu_queue_job_on_nod:[275,276],cpu_relax:[147,148,226,227],cpu_target:113,cpu_thread:[182,271,273,274,275,276],cpu_to_gpu_0:16,cpu_to_gpu_1:16,cpu_up:[231,233],cpu_wait_job:[140,167,171,175,202,203,275,276],cpufeatur:[21,22,180,182,257,278,282,283,284],cpuhp_invoke_callback:[231,233],cpuhp_up_callback:[231,233],cpuidl:[13,145,146,171,172,229],cpuinfo:2,cq_sm:[282,285],crank:[44,50,94,96,220,229,286,291,292],cranki:204,crap:[226,227],crash:[40,50,113,122,132,145,147,148,149,162,171,172,174,182,183,193,202,203,214,224,225,226,227,228,231,232,233,239,240,246,247,254,257,261,272,273,274,275,276,277,278,281,282,283,285,286,287,291,292,293],crazi:[220,224],crb:[146,268,273,274],crc32c_vpmsum:[162,215,226,227],crc:[282,283],creat:[2,7,17,21,22,23,35,40,41,53,58,62,63,64,65,67,71,88,132,135,138,140,141,146,162,171,172,173,174,175,182,183,202,203,215,219,220,221,222,224,225,226,227,229,230,231,232,246,247,273,274,282,283,287,291,292,314],create_:[258,279,282,283],creation:[7,171,172,293],creator:[35,51],credit:[41,147,148,161,164,172,184,185,187,193,194,202,203,204,232,236,239,269,276],credits_check:[180,246,247],creset:[135,160,171,172,174,182,183,220,226,227,228,229,230,275,276,282,283,287,291,292],creset_start:289,cresp:[171,174],crit:[1,224],criteria:206,critic:[2,19,39,140,150,161,171,172,251,275,276,313],croner:[226,227],cronu:[275,282,283],cross:[36,138,145,146,246,248],cross_compil:145,crowd:[282,284],crowel:[171,275],crtm:[291,292],crufti:220,crypt:[171,172],crypto:[229,230],cryptograph:304,cset:[147,148,161,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231],csm0:[178,182,183],csm:[18,229,230],csm_:[229,230],cssver:35,ctl:135,ctle:[171,172],ctor:[275,276],ctr:[162,171,173,178,182,183,214,215,224,226,227,246,247],ctrl1:[246,248],ctx:[258,279,282,283],cumul:103,cumulu:[134,136,226,227,231,232,275,276],cupd:[20,39,146,273,274],cure:[171,172],currei:[171,184,185,187,193,202,203,219,220,224,226,229,231,275],current:[2,4,9,15,16,17,19,20,21,22,29,35,37,38,42,43,44,45,47,48,50,55,57,58,62,68,70,73,74,75,76,77,78,83,106,108,109,110,113,115,117,119,120,121,122,131,132,133,134,135,139,147,149,153,162,166,171,172,173,174,175,176,177,178,179,180,181,182,183,185,186,188,189,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,305,306,307,309,311,312,313,316,317],curs:[287,291,292],custom:[21,22,34,141,220,246,247,275],cut:[36,114,135,139,146,147,149,166,171,172,173,174,175,183,202,220,221,222,224,225,227,228,230,232,233,234,235,236,238,246,247,248,275,276,291,292],cvc:[23,25,38,171,172,173],cx23888:[282,283],cx4:193,cx5:[102,226,227,269,275,276],cxl:[182,183,246,247,269,275,276],cycl:[24,37,42,69,139,166,193,201,202,203,219,220,221,222,223,224,225,226,227,228,230,246,247,257,261,266,273,274,275,276,277,281,282,283,291,292,304],cyle:231,cyril:[147,148,161,171,184,185,193,202,203,204,219,220,224,226,229,231,275],d002:34,d003:34,d00:84,d00e:26,d00f:[171,172],d08:84,d2ae07fd97bb9408456279cec799f72cb78680a6:191,d40:84,d48:84,d66a00d7:[162,215,226,227],d695626:4,d7efe30:4,d80:84,d88:84,d9296050bcece5c2eca5ede0932d944b0ced66c9:226,d997e482705d9fdff8e25fcbe07fb56008f96ae1:202,daemon:[6,162,171,172,182,183,215,217,220,226,227,229,230,231,233,246,247,252,258,279,282,283],dai:[58,117,164,202,203,220,229,248],daily20170201:4,dan:[147,148],danger:[205,287,291,292],daniel:[147,148,161,171,184,185,231,275],danni:148,dar:[171,173,178,182,183,231,233],darn:[21,171,172,180,182,224,241,246,248,275,276],dasd:[34,76],dat_err:[171,172,238],data0:0,data1:35,data2:35,data3:35,data:[2,12,14,17,19,23,25,30,35,37,38,41,44,56,60,67,68,69,70,71,76,78,83,84,85,86,95,98,104,118,119,120,133,134,136,144,162,171,172,173,174,182,183,184,186,189,191,193,198,202,203,208,213,215,217,220,221,224,226,227,228,229,230,231,232,233,238,242,246,247,248,256,257,258,261,268,273,274,275,276,279,281,282,283,284,287,288,290,291,292,294,299,307,309,311,313,314,317],data_len:314,data_s:118,databas:[231,232],datadefin:313,date:[34,101,139,141,171,172,219,220,221,222,224,225,226,227,228,275,276,282,285],dave:[219,224],dawn:[131,275],days_in_month:229,dbg:[171,172,246,247,273],dc0:84,dc8:84,dcach:[182,183],dcbf:153,dccal:[282,283],dcm:2,dco:138,dctl:[171,172,246,247],dctl_clear_special_wakeup:[231,235,275,276],dctl_set_special_wakeup:[275,276],dd10:[179,182],dd1:[134,182,183,220,221,224,226,227,228,229,230,231,232,282,283],dd20:[179,182],dd2:[134,161,171,172,177,182,183,202,203,226,227,228,231,232,234,235,236,237,246,248,256,257,272,273,274,275,276,278,282,283,284,291,292],ddr4:[26,171,172],ddr:26,ddx0:[179,182],dead:[58,198,281,282,283,284],deadlin:231,deadlock:[147,148,171,172,182,183,231,233,246,247,261,273,274,275,276,305],deal:[161,171,172,226,227,228,231,232,246,247,248,252],dealt:[51,161,226,227],deassert:[134,226,229,230,268,273,282,283,287,291,292],deassert_delai:[282,283],deatail:68,deb:[171,193],debat:22,debian:[4,171,172,173,184,185,226,228,229,275],debounc:[226,227],debug:[35,38,50,113,122,128,133,141,150,175,176,178,179,180,184,186,193,195,198,220,224,227,229,230,231,232,233,235,236,248,249,257,261,272,273,274,277,278,281,284,285,287,288,305,306,316],debug_descriptor:[1,291,292],debug_lock:[133,182,183,275,276],debug_locks_backtrac:[291,292],debugf:[246,247,273,274],debugg:[171,172,246,247],debut:136,dec:[58,146,193,209,231,232,261,281,282,285],decemb:[144,153,154,211,241,242,243,255,275,282,283,284,285,295],decent:[282,285],decid:[2,162,167,171,172,202,203,215,255,275,282,283],decim:[35,220,275,276],deciph:[171,173],decis:[22,139,267,273,274,314],declar:[39,171,172,229,230,291,292,311],decod:[93,171,173,189,213,220,229,230,246,247,282,283,285],decode_core_fir:[275,276],decompress:133,deconfigur:[229,230,241,246,247],decoupl:220,decreas:204,decrement:[231,232],dedic:[37,135,226,228],deem:139,deep:[13,47,133,171,172,231,232,242,246,247,275,276],deep_reboot:[217,231,233],deep_stat:[171,172],deeper:[13,171,172,231,232,235],default_machine_kexec:[231,233],defect:[171,172,188],defererenc:[287,291,292],defin:[0,1,2,4,13,15,17,18,21,35,42,43,44,45,46,47,48,50,51,52,53,54,55,56,57,58,60,62,63,64,65,67,68,69,70,71,72,73,76,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,111,112,113,114,115,116,118,119,120,121,123,124,125,126,127,128,131,132,133,134,138,146,150,171,172,174,178,180,182,183,189,206,220,226,227,229,230,246,247,258,273,274,275,276,279,282,283,285,287,288,291,292,311,313,314,316,317],define_log_entri:35,definit:[2,17,21,22,38,103,135,171,172,182,183,206,220,226,227,231,232,289,311,316],degrad:[35,226,228,231,232,236,275,277],delai:[38,42,43,70,125,130,151,167,171,172,184,185,224,226,228,241,242,261,268,272,273,274,275,276,281,282,283,287,291,292,316],delet:[17,47,51,182,183,202,204,273,274],deliv:[58,122,246,247,272,275,276],delta:[147,148,161,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],demand:[172,173,174,175,182,183],denali:310,denot:[14,24,27,35,273,274,282,283],dep:275,depend:[14,17,19,21,22,35,40,41,44,88,102,123,134,164,171,172,173,174,175,178,182,183,220,229,230,231,232,253,255,261,273,274,275,276,281,282,283,291,292,311,316,317],depict:34,deploi:[22,291,292],deprec:[42,81,84,130,132,146,220,231,232,246,247],depth:[146,256,278],dequeu:67,deref:[171,174,182,183],derefer:[144,145,182,183,202,220,226,227,275,276,282,283],dereferenc:[147,148,171,174,225],deregist:[291,292],deriv:[35,58,76,171,172,231,232],desc:[24,99,288],descib:[231,232],describ:[2,3,6,8,9,10,13,16,17,19,21,22,23,31,32,35,37,77,102,110,117,127,132,133,137,171,172,175,220,224,231,232,241,246,247,248,251,282,283,316],descript:[4,17,21,24,34,35,70,140,222,231,232,275,276,282,283],descriptor:[1,40,99,224,285,307,309,316],design:[4,21,25,38,39,41,42,126,133,139,141,147,149,171,172,175,224,226,227,231,237,246,247,273,274,282,283,285,291,292,313],desir:[17,23,282,285,316],despit:[178,182,183,231,233,257,278,282,283],dest:71,destin:[7,71,259,280],destroi:[73,171,173,178,182,183,221,246,247,275,276],detail:[7,10,17,40,41,44,47,49,51,52,57,58,68,70,76,77,92,108,115,132,133,134,135,157,171,172,173,174,175,182,183,187,193,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,261,268,273,274,275,276,277,281,282,283,284,285,291,292,298,311,316],detect:[0,2,5,23,38,58,61,79,86,134,135,146,150,151,154,159,160,161,162,163,168,171,172,173,176,178,181,182,183,188,196,201,202,203,206,207,208,214,215,216,217,220,224,225,226,227,228,229,230,231,232,233,238,246,247,248,251,256,267,273,274,275,276,277,282,283,285,287,291,292,295,299],detector:[182,183],determin:[4,13,17,24,41,42,46,49,56,70,88,97,131,132,134,177,178,182,183,202,203,204,226,227,229,230,231,234,246,247,273,274,275,276,282,283,284,311,313],dev:[41,100,133,134,166,184,185,231,233,234,246,247,287,291,292,295],dev_:[246,247],dev_addr:[246,247],dev_compar:100,dev_mask:134,dev_port:[246,247],devcmdstatu:84,devctl:[229,230],develop:[23,42,50,83,136,141,144,146,147,148,161,164,172,184,185,187,193,202,203,204,205,227,246,247,273,274,279,282,283,284,291,292,304,308,311,314],devfn:[182,183],deviat:311,devic:[0,3,5,12,16,17,20,21,26,32,33,34,37,38,39,44,49,52,53,55,59,61,62,63,64,65,68,69,70,71,73,74,75,76,77,84,87,93,95,99,100,101,102,103,104,109,110,114,119,120,121,127,129,132,133,135,137,139,141,144,145,146,147,148,154,155,158,160,171,172,173,174,175,177,178,180,182,183,184,185,186,187,189,201,202,203,204,205,213,219,220,221,224,226,227,228,229,230,231,232,233,234,236,238,241,242,246,247,248,250,258,260,261,266,268,269,271,273,274,275,276,279,281,282,283,284,285,287,291,292,298,306,310,311,313,314],device_init:220,device_tree_max_s:133,device_typ:[2,21,26,27,30,171,172,220],devicestatu:84,devicetre:[31,133,193,231,232,246,247,282,283,285,287],devicetreebasedtcwarn:130,devid:[171,175],devsecstatu:84,devsta:164,devstat:[229,230],devtre:[171,172,204],dfp:2,dgemm:[182,183],dgibson:[291,292],diag:[30,44,84,224,226,228],diag_buff:[83,84],diag_buffer_len:[83,84],diagnos:[50,171,172,182,183],diagnosi:170,diagnost:[5,83,84,170,266,272,273,274,275,276],diagost:[266,273,274],dial:[282,285],dictat:[132,206,246,247],did:[50,113,118,160,171,172,175,184,185,207,213,220,229,230,275,276,283,286,287,291,292],didn:[147,149,157,162,165,171,172,182,187,195,206,207,215,216,220,226,227,229,230,231,232,241,246,247,261,275,276,281,282,284],died:[217,231,233],dif:[257,275,277],diff:141,differ:[2,4,14,17,20,22,28,43,44,46,68,84,131,135,138,139,140,141,154,171,172,178,184,186,202,203,204,206,208,220,221,226,227,229,230,231,232,238,241,246,247,248,250,269,273,274,275,276,282,285,291,292,313,316],differenti:220,difficult:[171,172,182,183,231,232,261,304],difficulti:220,digest:[291,292,314],digest_s:314,digit:[4,21],dimm14:26,dimm7:[171,172],dimm:[2,26,34,147,148,171,172,220,226,227,246,247,250],dinar:193,dio:[291,292],dio_interrupt_deregist:[291,292],dio_interrupt_regist:[291,292],dionysiu:[184,185],dir_typ:35,direcetori:[273,274],direct:[26,58,102,171,172,173,182,183,202,203,220,226,227,231,235,246,247,248,250,269,273,274,275,276,288,314,316],directli:[89,128,133,138,141,171,172,182,183,184,185,193,220,221,222,226,227,229,230,246,247,261,266,273,274,275,276,281,282,283,285,316,317],directori:[19,22,133,171,173,226,227,273,274,275,291,292],dirti:[4,141,153,171,172,231,232,241,246,247,258,261,279,281,282,283,284],disabl:[0,5,22,32,41,44,74,75,88,89,93,98,99,102,103,107,115,119,121,132,147,148,159,160,171,172,173,174,175,177,178,179,182,183,191,193,199,202,203,204,205,208,212,217,220,221,224,226,227,229,230,231,232,233,234,246,247,248,250,258,261,265,269,270,271,272,273,274,275,276,279,281,282,283,285,286,287,289,291,292,294,296,298,303,306,316],disable_capi_mod:[282,283],disable_fast_reboot:[182,183,275,276,298],disable_unavailable_unit:[61,171,172],disallow:[211,220],discard:[35,55,268,273,275,276,291,292,316],disclaim:139,discourag:132,discov:[182,183,226,227],discret:316,discuss:[139,171,172,291,292],disk1:[246,247],disk2:[246,247],disk:[193,202,203,246,247],dispali:[231,232],dispatch:[19,202,203,316],displai:[12,127,153,154,160,164,171,172,182,183,202,203,207,220,224,231,232,246,247,248,251,268,273,274,275,276,282,285,291,292],disposit:[58,70],disr:151,dist:220,distanc:[226,228],distant:[246,247,282,283],distclean:[171,172],distinct:[2,88,246,247,275,276,317],distinguish:[28,29,273],distribut:[14,133,138,139,147,148,282,283],distro:[246,247,257,275,277,291,292],divid:[1,171,173],divisor:145,dl_lock:[275,276],dlactiv:220,dlp:[182,226,227,287,291,292],dlx:[282,283],dma0errorlog0:84,dma0errorlog1:84,dma0errorstatu:84,dma0firsterrorstatu:84,dma1errorlog0:84,dma1errorlog1:84,dma1errorstatu:84,dma1firsterrorstatu:84,dma:[38,41,56,88,89,97,98,102,107,125,171,172,174,189,193,194,226,227,228,250,268,269,271,273,275,276],dma_addr:106,dma_window_numb:[88,89,134],dmawin:88,dmesg:50,do_capp_recovery_scom:[171,172,182,251,271,275,276],do_creat:[171,172],do_idl:37,do_list:[171,172],do_read_fil:[171,172],do_vfs_ioctl:[162,215,226,227],doc:[5,35,101,132,133,146,171,172,175,193,202,203,217,220,231,233,289,291,292,314],docker:220,dockerfil:[246,247,275,276],document:[0,2,17,21,22,23,24,27,31,35,56,59,70,73,88,89,90,93,95,97,98,100,101,103,105,117,130,131,132,133,134,138,144,145,146,147,148,159,171,172,175,184,185,186,187,188,189,190,191,193,196,220,226,227,229,230,231,232,237,246,247,291,292,311,315,316],docutil:289,doe:[1,2,4,12,17,21,22,35,37,40,43,49,51,61,62,63,64,65,68,71,75,76,81,88,93,100,103,114,115,120,122,124,132,133,134,139,141,146,153,171,172,173,174,178,180,181,182,183,208,219,220,224,226,227,229,230,231,232,233,236,241,243,246,247,249,251,253,257,261,267,269,271,273,274,275,276,278,281,282,283,285,287,288,291,292,298],doesn:[0,2,50,51,62,63,64,65,69,78,79,82,83,106,120,135,146,160,161,168,171,172,182,183,202,203,206,213,217,220,221,226,227,228,229,230,231,232,236,246,247,254,259,266,268,273,274,275,276,277,280,282,283,284,288,291,292,294,298,316],doing:[0,108,133,141,153,171,172,174,193,194,202,203,219,220,223,224,226,228,229,231,232,241,246,247,248,275,276,286,287,291,292,316],domain:[13,61,97,100,101,134,138,282,283,316],domin:[202,204],don:[2,44,70,106,133,146,147,148,149,153,160,164,171,172,173,174,175,182,183,184,185,193,198,202,203,204,205,207,208,212,213,217,219,220,224,226,227,228,229,230,231,232,237,238,241,242,246,247,248,254,256,259,261,266,267,272,273,274,275,276,277,278,280,282,283,287,291,292,296,307,309,316],donat:[133,220,226,228,316],done:[0,2,4,13,14,22,35,51,135,150,169,171,172,173,182,183,193,202,203,219,220,223,224,226,227,229,230,231,232,236,237,242,246,247,251,258,260,269,271,273,274,275,276,279,282,283,284,291,292,311,316],donnellan:[147,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],dont:[246,247],dont_stop:[273,274],doom:[272,275,276],doorbel:[257,278,282,283],dot:146,doubl:[162,202,203,214,224,225,226,228,246,247,282,285,300,313],doubt:133,down:[0,2,35,43,50,51,58,61,70,135,144,151,152,159,162,166,171,172,174,182,183,184,185,195,196,202,203,214,217,220,224,226,227,229,230,231,232,233,246,248,261,266,273,274,275,276,279,281,282,283,284,287,291,292],down_128b_data_xf:24,download:[146,202,203],downport:[275,276],downsid:[226,227],downstream:[93,101,135,164,201,202,203,213,220,226,227,246,247,282,283,291,292],dozen:1,dpo:[114,151,162,214,217,224,231,233],dpo_pend:151,dpo_timeout:114,draft:132,dram:26,dramat:[182,183,202,203,226,227],draw:[184,185,246,247],drcr:[171,172],dread:[275,276],drive:[135,144,229,230,251,273,274,296],driven:[184,186,266,273,274,282,285],driver:[1,15,17,19,23,28,41,61,133,151,162,164,171,172,182,183,184,186,193,202,203,204,207,209,213,214,215,219,220,224,225,226,227,229,230,231,232,233,234,236,245,246,247,248,258,266,268,269,273,274,275,276,279,282,284,285,312,314,316],drop:[38,42,130,146,162,171,172,182,183,214,215,217,224,225,226,227,231,232,233,246,247,273,274,275,282,283,290,299],drop_my_lock:[256,278],dscr:231,dsisr:[171,173,178,182,183,231,233],dt_attach_root:224,dt_find_compatible_nod:[171,174],dt_find_compatible_node_on_chip:[171,174],dt_find_properti:[182,183],dt_for_each_compat:[282,283],dt_next:[171,174],dt_node_is_compat:[182,183,282,283],dt_root:[282,283],dt_slot_get_slot_info:[182,183],dt_struct:[226,227],dtb:[226,227,257,275,277],dtc:[130,171,172,182,183,226,227,257,275,276,277,287,291,292],dtdiff:[257,275,277],dts:[2,171,172,182,183,220,226,227,257,275,277,282,283],dual:[2,39,226,227,282,285,298],dubiou:[171,172],due:[44,52,75,109,110,119,128,160,162,171,172,178,179,180,181,182,183,198,199,201,202,203,204,205,206,212,214,215,217,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,242,246,247,248,249,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,268,270,271,272,273,274,275,276,278,279,280,281,282,283,284,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,305,306,307,309,311,312,313],dumm:35,dummi:[35,158,171,172,189,193,231,232,241,273,274],dump:[5,36,38,42,44,71,108,146,147,149,162,171,172,176,178,182,183,199,200,214,215,217,219,220,224,226,227,228,229,230,231,233,246,247,261,275,276,281,282,283,284,285,291,292,293,296,301,316],dump_id:50,dump_siz:50,dump_trac:[291,292],dump_typ:50,dump_type_fsp:50,dump_type_si:50,dump_type_sma:50,dump_work_fn:[217,231,233],dunno:[171,172],duplic:[171,172,174,220,224,226,229,230,275,276,282,283,291,292],durat:[24,37,76,162,171,172,182,214,225,240],dure:[0,1,4,7,13,23,28,35,39,43,47,58,68,71,76,122,129,133,134,147,148,152,153,157,159,160,161,162,163,168,171,172,173,174,182,183,184,185,187,191,193,196,201,202,203,204,207,208,209,213,216,217,220,221,226,227,228,229,230,231,232,233,236,240,241,246,247,251,255,257,258,259,261,268,269,272,273,274,275,276,277,278,279,280,281,282,283,284,285,291,292,296,311,313,314,316],dword:135,dynam:[39,110,146,177,182,183,193,202,203,221,224,273,316],e00:84,e08:84,e1e6d009860d0ef60f9daf7a0fbe15f869516bd0:204,e40:84,e48:84,e5720d3fe94:224,e761222593a1ae932cddbc81239b6a7cd98ddb70:191,e7c8cba4ad773055f390632c2996d3242b633bf4:191,e80:84,e8810020:[162,215,226,227],e88:84,e_info:35,each:[2,3,4,10,13,14,15,16,17,18,19,21,22,28,31,33,34,37,41,49,51,52,56,58,61,73,77,84,88,101,103,110,124,127,129,133,134,139,146,147,148,149,171,172,174,175,179,182,183,193,202,203,206,208,220,221,226,227,229,230,231,232,241,246,248,269,273,274,275,276,282,283,284,285,291,292,311,312,314,316,317],eari:[272,275,276],earli:[8,50,132,135,136,139,150,162,168,171,172,173,174,175,176,182,183,184,186,214,224,225,226,227,231,232,233,234,235,236,246,247,248,258,260,272,273,274,275,276,279,282,283,311],earlier:[70,96,133,220,226,227,231,232,246,271,273,275,276,280,282,283],earliest:5,early_setup:[226,227],early_setup_secondari:[226,227],earnest:227,eas:[226,227],easi:[150,226,227,246,247],easier:[171,172,182,183,220,231,232,261,273,274,279,281,282,285,291,292],easili:[77,171,172,182,183,246,247,275,276],eb0500:[217,231,232],ec0:84,ec366ad4e2e871096fa4c614ad7e89f5bb6f884f:191,ec8:84,ec_ppm_special_wkup_:[282,283],eca02ee2e62cee115d921a01cea061782ce47cc7:189,ecc:[146,161,171,172,202,203,226,231,232,246,247,254,256,273,274,275,276,277,278,282,283,287,291,292,294],ecc_protect:[246,247],eccb:[2,69],ecdsa_sig:225,ecdsa_sig_st:225,echo:[150,178,182,183],ecid:[38,231,232],eclips:[267,273,274],ecmd_ppc:224,ecrc:[202,203,221],edg:[121,246,247,316],edk2:[17,306],ee07f2c68160:298,eef0e197ab:[231,235],eeh:[41,42,82,107,147,148,150,171,172,220,224,226,227,228,229,230,231,236,238,246,247,258,271,275,276,279,282,283,291,292,298],eeh_action_token:[79,80],eeh_freeze_statu:[282,283],eeprom:[2,171,172,220,246,247,250,295],effect:[50,113,154,162,171,172,182,215,216,224,226,227,229,230,231,232,241,251,261,268,272,273,274,275,276,281,282,283,285,287,291,292,311,316],effici:[13,171,172,202,203,207,241,258,279,282,283,291,292],effort:[113,139,182,183,220,221,222,224,225,227,230,246,247,291,292],efi:312,efram:[246,247],egg:204,eight:[70,287,291,292],either:[5,12,13,17,20,23,28,35,55,56,69,72,76,78,101,107,108,113,115,133,143,171,172,182,183,202,203,204,220,226,227,231,232,233,246,247,250,273,274,289,291,292,313,316],elaps:[273,274],electr:[147,148,182,183,226,229,230,246,247,287,291,292,317],electron:317,eleg:139,element:[68,75,171,172,182,183],elev:224,elf:[21,22,133,182,183,202,204,231,232,275,276,281,282,283],elfv1:[147,149],elimin:[220,291,292],elinux:138,ellerman:[147,148,171,219,220,224,226,231,275],elog:[35,144,146,159,171,172,191,193,195,202,203,288],elog_buff:51,elog_commit:[35,146],elog_en:[195,202,203],elog_fsp_commit:35,elog_head_st:35,elog_id:51,elog_read_max_record:35,elog_s:[35,51],elog_state_fetch:35,elog_state_fetched_data:35,elog_state_fetched_info:35,elog_state_host_info:35,elog_state_non:35,elog_state_reject:35,elog_typ:[35,51],elog_write_max_record:35,elogid:35,els:[44,106,124,133,201,202,203,217,220,231,233,246,248,258,275,276,279,282,283],elsewher:[178,182,183,246,247],email:139,emerg:[1,224,226,227,246,247],emit:[202,275,276,282,285],emitt:[171,172],emphasi:[171,172],employ:[147,148,161,164,184,185,226,229],empti:[2,31,62,67,86,118,131,160,220,246,247,258,273,274,278,279,282,283,311],emul:[38,62,63,64,65,121,132,171,172,184,185,188,193,220,224,226,227,231,232,316],enabl:[1,13,17,21,22,23,32,36,37,44,56,58,74,75,88,93,98,99,102,103,114,119,134,146,147,148,155,157,164,171,172,173,174,175,179,182,183,184,186,187,193,202,203,204,206,220,221,224,226,227,228,229,230,231,232,236,237,238,246,247,248,255,258,261,266,269,271,272,273,274,275,276,279,281,282,283,285,286,288,291,292,298,301,304,308,310,314,315,316],enable_capi_mod:[171,174,182,183,268,269,273,275,276],enable_mambo_consol:[226,227],enc:[225,246,247],enclosur:[10,34,162,215,226,227],encod:[2,15,16,19,21,33,56,118,120,171,172,173,194,220,246,247,282,283,285,291,292,316,317],encompas:[246,247],encompass:22,encount:[182,183,258,272,275,276,279,282,283,287,291,292],encourag:[2,139,182,183,184,185],end:[4,17,42,52,68,108,118,141,147,148,157,160,165,171,172,173,175,182,183,187,188,193,201,202,203,204,222,226,227,228,229,230,231,232,233,238,246,247,248,254,255,261,268,272,273,274,275,276,277,281,282,283,285,291,292,304,306,316],endian:[13,42,132,146,161,193,202,203,220,226,246,248,261,273,275,276,281,282,283,298,306,309],endlessli:[275,276],endpoint:[38,159,164,171,172,196,202,203,221,275,276],endup:[162,163,182,183,194,215,216,217,226,227,231,233,258,261,279,281,282,284],energi:[171,175],enforc:[23,120,171,172,173,182,183,220,224,226,227,241,252,258,279,282,283,286,291,292,311,314],engin:[28,37,61,102,123,133,146,158,171,172,190,191,193,211,224,226,227,228,229,230,231,233,246,247,250,268,269,271,273,274,275,276,316],enhanc:[70,178,179,180,229,230,246,247,249,258,279,291,292],enough:[53,60,77,127,132,133,147,148,202,204,207,213,217,220,224,226,228,231,232,233,246,247,250,266,267,273,274,275,276,282,283,291,292,313,316],enqueu:[118,271,275,276],enqueue_upd:311,enrol:[17,312],ensur:[0,13,41,50,86,113,115,120,122,133,139,140,150,154,157,165,167,171,172,173,180,182,183,187,189,193,202,203,217,220,226,227,228,229,230,231,232,233,240,241,246,247,257,258,263,271,273,274,275,276,277,279,282,283,286,289,291,292,307,309,313,314,316],enter:[0,13,17,48,133,152,171,172,178,182,183,226,227,229,231,232,233,246,247,273,274,282,283,287,291,292],enterpris:[246,247],entir:[139,161,171,172,176,182,183,202,204,224,226,227,229,230,231,232,258,261,266,268,273,274,275,276,279,281,282,283,285,286,291,292,308,314],entireti:161,entiti:[16,110,135,282,291,292,316],entitl:[171,172],entranc:[178,182,183,246,247,275,276],entrant:[178,182,183],entri:[2,5,12,22,24,35,40,48,52,71,75,88,97,101,129,132,133,137,146,161,162,171,172,178,182,183,189,202,204,214,215,220,224,226,227,229,230,231,232,234,241,246,247,250,257,258,268,271,272,273,274,275,276,277,278,279,282,283,285,287,291,292,314,316],enumer:[135,256,278],env:[246,247,291,292],environ:[21,36,38,141,171,172,173,182,183,219,226,227,228,246,247,248,267,273,291,292],environment:[13,54,70,225,246,247],eoi:[153,157,179,182,187,220,224,316],epoch:4,epow:[54,70,217,231,233],epub_prc_fw_verification_err:[171,174],epub_prc_hb_cod:[171,174],eqd:[220,316],equal:[2,4,75,76,89,103,132,171,172,173,229,230,257,278,282,283,299,316],equalis:[171,172,226,228,238],equival:[44,76,140,220,246,247,316],era:219,eras:[9,52,146,154,171,172,176,182,183,205,206,219,224,226,227,229,230,231,232,258,279,282,283,287,291,292],erase_rang:[231,232],eraseblock:[275,277],erat:[182,183],erc:[171,172],erect:[287,291,292],eric:[279,282,283],err:[1,134,171,172,182,224,251,273,275,276],err_fat:101,err_injct_inbounda:150,err_len:35,errata:[201,226,227,246,247,266,270,272,273,274,275,276],errcod:[104,135,226,227],errinjct:[184,185],errl:35,erro:35,erron:[43,153,171,172,182,202,204,220,231,232,246,256,258,279,282,283],error:[2,17,36,38,41,42,44,50,52,55,60,61,70,76,77,78,82,83,84,92,94,101,102,109,110,117,119,123,125,127,128,131,132,144,146,147,148,149,150,153,154,156,157,158,159,160,161,162,163,164,166,169,170,171,172,173,174,178,181,182,183,184,187,189,190,193,195,196,198,199,201,202,203,204,207,208,212,213,215,216,217,220,221,222,224,225,226,227,228,229,230,231,232,233,234,236,238,239,242,245,246,247,248,249,250,251,252,254,255,256,257,258,261,266,267,268,269,271,272,273,274,275,276,277,278,279,281,282,283,284,285,287,288,291,292,295,296,301,305,306,307,309,311,312,316],errorclass:84,errordata:84,errorlog:[35,263,288,291,292,297],esb:[171,172,179,182,220,226,227,241,316],escal:[150,171,172,174,220,231,236,237,241,246,248,256,275,276,306,316],escalate_irq:316,ese:35,esel:[35,147,149,184,191,193,226,246,247,249,263,297],esl:[231,232,307,309],esoter:[182,183],especi:[0,139,171,172,181,182,184,185,202,203,204,207,226,228,267,269],ess:[246,247,256,259,278,280],essenti:[100,132,133,171,173,282,283],establish:[158,189,193,258,273,274,279,282,283],estim:[202,203],etc:[2,14,17,19,22,68,162,171,172,173,182,183,215,226,227,229,231,232,246,247,258,279,281,282,283,311,313,316],ethernet:[34,147,148,164],etu:[84,182,275,276,282,283,287,289,291,292],etyp:[256,278],ev_act:[291,292],ev_compact_hash:[291,292],ev_platform_config_flag:[291,292],ev_post_cod:[291,292],ev_s_crtm_cont:[291,292],ev_separ:[171,172],evalu:[250,275,276],even:[2,5,22,50,54,61,122,131,134,139,141,150,159,161,162,171,172,178,182,183,184,185,193,196,197,202,203,204,213,220,226,227,229,231,232,246,247,261,273,274,275,276,281,282,283,285,291,292,298,316],event:[1,4,32,35,37,38,50,51,58,59,70,104,108,117,125,130,146,147,149,150,157,159,161,165,171,172,182,183,184,186,187,191,193,201,202,203,204,208,217,220,226,227,231,232,233,236,239,243,246,247,250,251,258,261,263,275,276,279,281,282,283,285,291,292,297,314],event_mask:[171,172],event_sever:35,event_subtyp:35,event_typ:[291,292],eventu:[130,146,147,149,162,171,172,182,183,202,203,215,226,227,238,246,247,248,252,261,275,276,281,282,283],ever:[5,42,50,81,83,131,160,171,172,193,202,204,220,226,259,280,282,283,291,292,304],everi:[0,22,35,58,74,133,139,162,171,174,193,203,204,205,215,224,226,227,229,230,231,232,246,247,266,269,273,274,275,276,287,291,292,306,316],everybodi:[133,141],everyon:[138,148,171,172,202,204],everyth:[0,147,149,162,163,171,172,182,183,215,216,224,226,227,231,232,246,247,261,275,276,282,283,285],everywher:[133,220,273,274],evict:[171,172],evid:160,evmrev:35,evolut:221,evolv:139,ex_pm_core_eco_vret:[184,185],ex_pm_core_pfet_vret:[184,185],exabyt:103,exact:[2,22,43,58,160,171,172,182,183,184,186,207,220,226,227,259,275,276,280],exactli:[2,56,100,171,172,182,183,239,246,247,282,285],examin:[171,229],exampl:[1,9,13,14,15,16,18,19,22,26,30,34,35,37,39,43,44,51,59,70,78,88,101,106,109,113,119,120,126,131,132,137,139,140,141,147,149,150,162,171,172,173,182,183,193,203,214,220,225,226,227,231,232,241,246,247,248,252,255,273,274,275,276,282,283,284,311,313,316],exce:[70,103,224,275,276],exceed:[171,172,275],excel:219,except:[4,34,58,70,76,113,122,135,146,154,162,171,172,173,174,178,182,183,195,202,203,214,217,220,221,224,231,232,233,246,248,257,258,269,272,275,276,278,279,282,283,285,291,292,311,316],exception_entri:[182,183,224,272,275,276],excess:[266,273,274,311],exchang:[182,183],exclud:[17,160,171,172,226,227,231],exclus:[44,102,133,211,253,282,285,311],execut:[0,13,37,41,43,61,113,124,131,132,133,147,148,162,171,172,182,183,215,226,227,231,232,241,246,247,261,273,274,275,276,279,281,282,283,314,316],exercis:[132,165,171,172,231,232],exhibit:260,exist:[2,4,17,20,21,22,23,40,41,42,62,63,64,65,66,81,86,106,108,131,132,134,135,137,146,147,148,171,172,182,183,184,185,193,202,203,204,206,219,220,222,224,226,227,228,238,241,246,247,248,272,273,274,275,276,282,283,291,292,298,314,316],exit:[13,48,146,171,172,178,181,182,183,208,229,231,232,245,246,247,257,258,261,275,277,278,279,281,282,283,291,292,311],exp:275,expand:[132,171,172,226,227,246,247,312],expans:288,expect:[0,13,17,41,71,135,138,141,161,171,172,173,174,180,181,182,183,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,239,243,246,247,248,250,259,273,275,276,280,283,284,285,292,304,307,308,309,311,313,316],experi:[162,171,172,215,239,246,247],experienc:[246,247,261,281,282,285],experiment:[13,171,172,202,203,246,248,275,276,291,292],expert:139,expir:[171,173,207,220],explain:[140,141,217,224,231,233,258,279,282,283,287,291,292],explan:[1,51],explicit:[21,22,155,184,185,220,282,285,316],explicitli:[132,162,171,172,173,193,202,215,229,230,231,232,246,247,255,275,276,282,283,285,291,292],explict:153,explictli:[246,247],exploit:[38,140,171,172,220,222,237,282,283],expos:[2,13,31,41,77,118,133,144,147,148,165,171,172,175,202,203,206,220,221,224,229,267,268,273,274,282,285,291,292,311,316],exposur:[221,316],express:[2,17,189,213,220,282,285],extend:[2,21,34,35,73,103,130,171,193,202,203,219,221,226,231,282,283,291,292,314,316],extens:[22,144,171,175,220,221,226,282,285,291,292,311,316],extern:[2,35,62,132,133,135,144,146,147,149,161,171,172,193,202,203,204,219,220,224,229,230,231,232,246,247,273,274,282,283,285,291,292],extra:[19,58,102,115,133,134,141,151,171,172,258,269,275,276,277,279,282,283,284,287,291,292,307,309],extra_vers:141,extract:[38,135,150,182,183,184,202,204,229,230,231,232,268,273,274],extrem:[162,163,215,216,217,226,227,231,233,241,246,248,261,281,282,285],eye:[250,275,276],eyebal:[184,185],eyecatch:1,f000f:[226,227],f28:275,f42fc40:141,f46c1e506d199332b0f9741278c8ec35b3e39135:189,f58be46:[275,277],f7b8f65:4,f821ffc1:[162,215,226,227],f8dfd699f584:[291,292],f9210020:[162,215,226,227],f_part:[202,204],facal:[226,227],face:[171,172,258,279,282,283],facil:[11,21,58,70,100,114,132,137,171,172,220,226,227,231,232,246,247,257,261,270,272,275,276,278,281,282,283,285,316],fact:[139,207,220,246,247,255,275,276,316],factor:[110,171,172,174,246,250,275,276,282,283,287,291,292],fadump:[7,38,71],fail:[0,17,35,50,51,58,68,73,113,116,120,128,130,132,141,144,146,147,149,165,166,171,172,173,174,178,180,181,182,183,189,193,198,202,203,204,205,208,220,221,224,226,227,228,229,230,231,232,233,234,236,246,247,248,251,252,254,258,261,267,272,273,274,275,276,277,279,281,282,283,287,291,292,305,306,311,312,314,316],failov:[58,147,148],failur:[15,17,35,39,40,41,51,53,54,58,68,70,120,122,123,127,129,131,145,159,161,169,171,172,173,174,180,181,182,183,189,193,196,202,203,208,217,220,224,225,226,227,228,229,231,232,233,239,242,246,247,251,256,257,261,267,268,273,274,275,276,277,281,282,283,291,292,311,316],fair:[182,183],fairli:[76,140,226,227,275,276,282,284,291,292],fake:[147,148,182,183,184,185,220,226,227,291,292],fall:[44,120,171,172,202,203,226,246,247,255,275,282,283],fallback:[202,203,241,279,282,283,305],fallthrough:[220,224,226,228],fals:[35,162,184,185,195,202,203,207,215,220,231,233,261,275,276,299],fam:19,famili:[19,220,258,279,282,283],familiar:[4,140,141],famou:[171,172,281,282,283],fan:[19,282,285],fanci:[133,224],fapi:[171,172],far:[171,172,182,183,216,226,227,246,247,282,283,285,291,292],fast:[13,44,48,102,113,173,174,178,202,203,205,226,228,231,232,246,247,250,257,261,268,273,274,278,280,281,282,283,285,286,287,289,291,292,294,296,298,305,313],fast_reboot_entri:[171,174,261,281,282,283],fast_reset_entri:[171,174,261,281,282,283],faster:[202,203,221,246,248],fastreboothoststress:282,fastreboothoststresstortur:282,fastsleep_:[13,48],fatal:[19,58,131,157,159,162,171,172,173,182,183,187,196,202,203,214,225,231,232,246,248,261,272,275,276,281,282,283],fatalerr:164,fault:[10,17,34,35,58,68,150,226,228,291,292,315],favor:220,favour:[13,202,204],fd599965f723330da5ec55519c20cdb6aa2b3a2d:191,fd6b71fc:[208,231],fd6b71fcc6912611ce81f455b4805f0531699d5:191,fdt:[2,53,132,182,183,220,226,227,246,248,261,275,276,281,282,283,291,292],fdt_begin_nod:[226,227],fdt_offset_ptr:[291,292],fdt_open_into:[291,292],fdt_prop:[226,227],fdt_strerror:[291,292],fdtdump:[226,227],fe6d86b9:[182,183],feasibl:261,featur:[2,5,25,38,40,50,139,175,177,180,218,221,237,244,257,261,269,273,275,276,278,281,285,286,308,316],feb:[139,185,275,276],februari:[171,172,173,174,175,182,183,256,257,278],fedora25:220,fedora26:[226,228],fedora27:275,fedora29:275,fedora:[220,224,257,275,276,277],feed:[182,183],feedback:311,feel:[202,203,204,205,291,292,298],fell:[275,277],fenc:[78,147,148,150,159,161,171,172,174,180,182,183,196,202,204,220,224,226,228,229,230,231,236,238,246,247,264,268,273,274,282,283,284,287,291,292,296],fence_st:[291,292],fetch:[35,37,50,51,62,76,83,110,133,135,226,228,314],few:[0,1,2,29,70,134,137,141,153,157,158,159,160,162,171,172,178,182,183,193,195,196,201,202,203,204,205,206,207,208,217,219,220,224,226,227,228,229,230,231,232,238,241,242,251,257,258,261,273,274,275,276,277,279,281,282,283,286,288,291,292,311,313],fewer:[68,70,203],fffffffffffffff4:[162,215,226,227],fffffffffffffff8:[182,183],ffffffffffffffff:[246,247,254,275,277],ffi:161,ffix:[160,212,220],ffs:[193,202,203,226,227,246,247,261,281,282,283],ffs_close:[226,227,246,247],ffs_entry_user_to_str:[246,247],ffs_handl:[226,227],ffs_hdr_free:[246,247],ffs_header:[246,247],ffs_init:[251,275,276],ffs_lookup_part:[226,227],ffspart:[220,273,274,275,277],field:[0,24,29,33,34,35,41,162,171,172,174,175,189,202,204,215,219,220,224,226,227,231,232,246,247,258,261,266,273,274,279,281,282,283,285,286,287,291,292,311,316],fifo:[28,129,220,229,230,268,273,274],fifth:236,figur:[68,135,246,275,276],file:[13,24,36,131,133,136,138,139,141,146,171,172,178,182,183,184,185,193,202,203,204,205,217,220,222,224,225,226,227,229,230,231,232,246,247,273,274,275,276,282,285,288,291,292,298],file_eras:275,filenam:[226,227,273,274,275],filesystem:[226,227],fill:[35,54,92,95,108,171,172,226,227,231,232,268,273,282,283],filter:[21,132,171,172,189,220,226,227,246,247,258,275,276,279,282,283,287,291,292],fimwar:314,finalise_dt:291,find:[27,36,50,114,147,149,152,160,171,172,174,220,225,226,227,246,248,250,273,274,275,276,282,283,291,292,314],find_next_bit:37,fine:[2,22,35,138,162,171,172,175,208,209,215,217,220,226,227,231,233,246,247,272,275,276,282,283,286,291,292,316],finess:144,fini_arrai:[291,292],finish:[224,229,275,276],finit:[158,190,191,193],fip:[224,275,276],fir:[44,58,158,171,172,178,180,182,183,190,191,193,195,220,226,228,229,230,231,232,241,246,247,249,251,256,268,272,273,274,275,276,282,283,287,291,292],fircheck:[231,232],fire:[202,203],firenc:201,firenz:[38,136,184,186,201,202,203,216,224,226,227,277,282,283],firenze_add_pcidev_to_fsp_inventori:[147,148],firenze_get_slot_info:[147,148],fireston:[136,145,146,147,148,164,202,203,258,279,282,283],firmli:189,firmwar:[0,2,3,5,6,7,21,22,23,25,32,35,38,39,40,41,42,44,50,54,58,68,69,71,77,81,109,113,123,124,130,132,133,135,138,139,140,141,146,161,162,168,171,172,173,174,175,177,178,182,183,184,186,189,195,202,203,204,206,214,218,221,222,224,226,227,231,232,244,246,247,248,250,257,258,261,266,273,274,275,276,278,279,282,283,287,291,292,316],firmware_notifi:[226,227],firmware_request:[171,172,226,227],first:[2,21,22,35,36,42,44,47,51,56,61,69,70,71,81,88,117,118,124,127,133,136,139,141,143,146,147,148,149,150,161,167,168,171,172,173,174,175,181,182,183,184,185,186,187,188,189,190,192,193,195,196,197,198,199,200,201,202,203,204,205,206,208,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,241,246,247,248,254,255,259,267,268,269,271,272,273,274,275,276,277,280,282,283,284,285,286,287,291,292,293,298,304,308,310,312,313,314,316,317],first_frozen_p:92,firstli:[171,226,227,246,248],firwar:314,fischer:[219,220],fit:[2,17,171,172,176,182,183,231,232,242,291,292,316],five:[51,231],fix:[2,37,130,134,139,140,144,145,146,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,173,174,175,176,178,179,180,181,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,225,226,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,245,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309],fixm:[131,220],fixup:[140,220,226,227,228,282,283],fl_total_s:[202,203],flag:[0,30,35,41,47,58,60,107,115,130,147,149,171,172,179,182,183,193,195,201,202,203,204,205,218,220,224,226,227,228,229,231,232,234,237,244,246,247,248,250,252,256,271,273,274,275,276,282,283,286,287,291,292,312,313,316],flakei:[246,247],flash:[1,5,35,36,38,42,76,130,133,146,147,148,171,172,173,182,183,184,185,193,194,203,204,205,219,220,229,230,231,232,246,247,251,252,254,258,261,273,274,275,276,277,279,281,282,283,284,285,286,291,292,294,298,311,312,314],flash_dt_add_fw_vers:[275,276],flash_init:[281,282,283],flash_load_resourc:[202,204,261,281,282,283],flash_map_resource_nam:[171,172],flash_nvram_writ:[261,281,282,283],flat:2,flatten:[132,133,193,226],flawless:[282,283],fleetwood:304,flexibl:[2,84,171,172,173,182,183,229,230,246,247,291,292],flight:[117,120,171,172,282,285],flip:313,flood:[139,171,172,246,247],flow:[47,182,231,236,258,279,282,283,311],flr:[224,231,232],fluke:[231,232],flush:[49,151,153,154,171,172,174,180,184,185,241,246,247,258,261,273,279,281,282,283,284],fly:[35,171,172,238],fmt:35,fno:[282,285],focu:[132,185,186],focus:308,folk:[171,172,178,182,183,226,227,238,261,281,282,285],follow:[1,2,4,15,16,17,19,23,24,30,31,35,43,53,56,88,89,90,93,97,98,100,102,103,105,117,132,133,135,138,139,140,141,143,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,241,245,246,247,248,258,261,272,273,274,275,276,277,279,281,282,283,284,285,287,291,292,293,298,304,308,310,311,313,314,316,317],followup:[226,228],fonseca:202,foo:131,foot:205,footnot:136,for_each_compat:[279,282,283],for_each_present_cpu:220,forc:[44,70,114,153,171,172,182,193,201,202,203,204,205,220,226,228,229,230,231,236,258,266,272,273,274,275,276,279,282,283,298],foreign:[178,182,183],foresight:22,forev:[161,171,172,208,243,246,247,261,281,282,283,291,292],forget:[271,275,276],forgotten:[42,316],fork:[38,282,285],form:[2,21,34,35,118,132,134,171,172,182,202,203,231,232,241],formal:22,format:[1,2,15,16,17,28,34,35,40,51,67,70,84,88,103,117,135,139,162,171,173,175,184,185,202,203,215,220,226,227,248,257,275,276,277,282,283,288,311,312,314,316,317],former:[171,172,180,202,203,246,247],formerli:[250,275,276],formwar:[231,232],forse:171,fortun:[216,226,227],forward:[73,93,141,171,172,220,231,232,243,250,263,273,274,275,276,282,283,286,291,292],found:[1,4,9,17,21,22,23,41,52,69,85,86,104,118,131,135,138,139,147,148,161,162,164,167,171,172,175,181,182,183,184,185,202,203,213,215,219,220,221,224,226,227,229,231,246,247,251,255,273,274,275,276,281,282,283,284,311,314],foundat:138,four:[49,171,172,180,202,203,220,275,276],fourth:[175,206,235],foward:[255,275],foxconn:136,fpga:[282,283,284,298],fraction:1,fragment:[39,182,183],frame:[246,247],framebuff:155,framework:[19,147,162,182,183,215,220,226,227,229,230],francesco:171,francisco:138,frankli:[275,276],freder:[147,148,171,193,202,203,219,220,226,229,231,275,282,283],free:[2,7,35,39,50,60,61,77,127,131,147,148,164,165,171,172,181,182,183,202,203,208,220,224,226,227,231,233,246,247,258,263,267,273,274,275,277,279,290,294,300,306,316],freebsd:[45,146],freed:[171,172,182,183,226,241,246,247,316],freenod:138,freez:[101,150,171,172,174,226,228,231,232,236,238,272,275,276,306],freeze_st:81,freq:[2,5,13,282,283],freq_max_in_domain:[14,282,283],freq_most_recently_set:[14,282,283],frequenc:[2,14,30,34,70,145,147,148,171,172,173,184,185,186,189,201,202,203,224,226,227,246,248,282,283],frequent:[41,154],freset:[135,160,182,183,213,220,226,229,230,282,283,287,291,292],freset_deassert_delai:[282,283],freset_start:[282,283],fresh:[246,247],freshli:[202,204],fridai:[146,151,152,153,157,159,162,171,173,182,185,196,197,202,211,214,218,219,225,242,243,244,246,251,260,263,270,272,274,275,282,283,286,293,297,300,308,310],friendli:[171,172,220],fro:293,from:[0,2,3,5,7,12,13,22,26,28,30,36,37,38,40,42,44,47,50,51,52,54,56,58,67,68,69,70,71,73,75,76,78,81,84,87,88,89,90,93,97,98,99,100,101,103,105,106,108,111,116,117,121,122,123,124,127,129,130,131,132,133,134,135,139,140,141,144,146,147,148,149,150,151,153,157,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,178,182,183,184,185,187,188,189,191,192,193,195,196,197,201,202,203,204,205,206,209,213,215,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,236,237,238,240,241,245,246,247,248,250,251,253,254,255,256,257,258,259,260,262,267,268,271,273,274,275,276,277,278,279,280,281,282,283,284,285,287,288,291,292,295,298,304,305,310,311,312,313,314,315,316,317],front:[229,230,246,247],frozen:[171,172,275,276],frquenci:[202,203],fru:[10,34,68,144,171,172,221,268,273,282],fscr:[21,22],fsi:[0,147,148,231],fsm:[271,275,276],fsp:[1,8,12,19,20,36,38,40,42,43,50,54,68,77,108,120,127,130,132,133,136,141,144,145,146,152,155,159,160,161,162,163,164,165,168,191,195,201,204,206,207,208,209,210,213,214,215,216,217,230,233,246,247,250,255,280,285,288,291,292,300,301,302],fsp_cmd_get_led_list:168,fsp_cmd_powerdown_norm:[217,231,233],fsp_cmd_reboot:[217,231,233],fsp_cmd_tpo_dis:[226,227],fsp_cmd_tpo_writ:[226,227],fsp_console_read:193,fsp_console_writ:[217,231,233],fsp_console_write_buffer_spac:[217,231,233],fsp_in_reset:[162,215],fsp_in_rr:[162,163,215,216,226,227],fsp_lid_map:[182,183],fsp_log_entri:35,fsp_mkmsg:[226,227],fsp_msg:[144,193,226,227],fsp_msg_queu:[226,227],fsp_msg_sent:[226,227],fsp_msg_timeout:[162,215,226,227],fsp_opal_get_param:77,fsp_opal_manage_flash:47,fsp_opal_rtc_writ:[162,215],fsp_opal_set_param:77,fsp_opal_tpo_writ:[114,226,227],fsp_opal_update_flash:47,fsp_opal_validate_flash:47,fsp_queue_msg:144,fsp_reset_cmdclass:[163,216,226,227],fsp_serbuf_hdr:[226,227],fsp_status_invalid_subcmd:[217,231,232],fsp_sync_msg:[163,216,217,226,227,231,233],fsp_trigger_reset:[162,214,215,224,226,227],fspresetreload:[162,215,226,227],fspv1:224,fstack:[144,184,185,202,203],ftbf:[171,173],full:[1,44,49,56,88,89,90,93,97,98,103,105,115,134,139,162,171,172,178,182,183,184,185,193,202,203,215,217,219,220,226,227,228,231,232,233,236,268,273,298,316],full_purg:275,full_reboot:305,fulli:[154,195,202,203,220,282,316],fun:[160,165,291,292],func:[82,100,134],func_compar:100,fundament:[22,135,160,168,178,182,183,201,202,203,220,273,274,282,283],funni:291,further:[17,23,50,73,96,104,135,161,171,182,183,229,230,231,236,246,247,248,273,282,283,316],furthermor:[118,273,274,312],fuse:299,futur:[1,5,15,16,22,29,35,38,50,51,54,55,70,84,110,115,131,132,139,141,146,177,182,183,185,186,220,221,226,227,228,229,230,231,234,246,247,273,274,275,276,282,283,284,291,292,304,308,311,315,316],fuzz:[257,282,283],fw810:[42,141],fw830:39,fw840:8,fw_control_err:144,fw_progress:220,fwrite:36,fwt:[130,171,175,180,195,202,203,220,246,247],g123456789abc:4,g16b7ae641037:136,g23118ce:[231,232],g23f147e:141,g319c6e1:[231,233],g78d89280c3f9:4,ga2:4,gain:[171,172],gajendra:[184,185],gang:[275,276],gap:[182,183,220,231,232],garante:316,garbag:[275,276],garbal:226,garbl:261,gard:[146,147,148,161,182,183,184,185,193,205,219,220,226,231,232,246,247,272,275,276,287,291,292,294],garrison:[136,147,148,164,195,197,258,279,282,283],gate:[171,172],gather:[37,40,47,50,134,231,232,275,276],gaurente:61,gautham:229,gave:[147,148,161,164,184,185,193,202,203,204],gavin:[147,148,164,184,185,193,202,203,204,219,220,224,226],gb759ce2:39,gbp:27,gcb111c03ad7f:[171,172],gcc7:[171,173,182,183,224,226,228],gcc8:[250,273,274,275,276],gcc9:[278,288,291,292],gcc:[36,138,145,150,160,171,172,182,183,189,193,205,212,220,229,231,233,275,276,281,291,292],gcda:36,gcid:[275,317],gcov:[38,39,147,148,150,182,183,184,202,204,226,229,275,276,291,292],gcov_count:193,gcov_info:[182,183],gcov_info_list:36,gdb:[40,291,292],gear:193,gedd:[171,275],gen1:[134,220,229,230,282,283,287,291,292],gen2:[136,171,221],gen3:[134,171,172,220,229,230,231,232,235,236,275,276,287,291,292,305],gen4:[134,171,172,229,230,231,235,236,238,287,291,292],gen:[213,220],gener:[7,14,17,21,22,24,27,28,29,35,36,38,39,51,58,71,84,88,120,121,130,133,135,140,141,144,146,159,160,162,168,175,182,183,185,191,195,215,217,220,221,228,233,246,247,250,251,253,256,261,266,268,292,311,312],genid:35,geometri:316,get:[1,10,15,19,20,24,26,35,36,38,39,42,43,47,53,54,55,58,59,71,81,84,85,86,124,131,133,134,139,140,146,147,148,150,153,160,161,162,163,164,165,171,172,173,178,180,182,183,189,195,202,203,207,209,211,215,216,217,220,224,226,227,228,229,230,231,232,233,240,242,245,246,247,248,250,251,255,257,258,260,261,268,272,273,274,275,276,277,278,279,281,282,283,286,287,291,292,298,316],get_attention_st:135,get_interface_cap:[201,202,203],get_irq_config:316,get_latch_st:135,get_link_st:[135,273,274],get_pkcs7:[307,309],get_power_st:135,get_presence_st:135,get_vp_info:220,get_xiv:[220,316],getmemproc:[36,220],getscom:[202,203,220,229,230,273,274],getsigraw:225,getspi:275,getsram:[193,202,203,275,276],gf1b53c7:[231,232],gging:35,ghosh:[219,220],giant:[231,232],gigabit:164,gigant:[282,283],girq:316,git:[8,132,139,140,141,143,171,172,291,292],gitdm:[184,185],github:[36,132,138,140,171,172,176,205,219,220,221,222,224,225,226,227,228,231,232,256,275,278,282,284,291,292],give:[13,14,19,22,35,113,130,134,140,146,151,153,154,171,172,175,182,183,217,220,226,228,231,233,246,247,248,251,267,273,274,275,276,282,283,291,292,311],given:[2,22,56,61,68,73,74,75,84,102,123,132,135,162,171,172,173,174,202,203,214,221,226,231,232,250,272,273,274,275,276,291,292,311,316],glibc:22,glitch:[171,172,237,239,240],global:[57,121,202,203,220,221,246,247,273,275,276,282,283,284,298,313,316],glori:95,glue_cache_lin:42,gmail:148,gn70:136,gnuc:150,goal:[68,139,171,172,173,273,274],goater:[147,148,171,184,185,193,202,203,219,220,229,275],goe:[1,35,100,171,172,220,231,275,282,283,284],going:[12,44,70,138,139,141,171,172,182,183,193,220,221,229,230,231,232,246,247,273,274,282,283,284,291,292],golden:[193,205],gone:[131,139,162,204,214,220,224],good:[0,2,22,51,128,139,141,160,171,172,180,182,183,203,204,205,219,220,223,226,227,228,246,247,248,257,258,261,267,273,274,279,281,282,283,285,291,292,314,316],goog:2,googl:[136,171,231],got:[38,67,68,162,171,172,182,208,214,215,220,224,226,227,231,245,259,273,274,280],governor:13,gpe1_24x7:[231,232],gpe:[231,232],gpio:[226,227,246,247,291,292],gplv2:298,gpr00:[162,171,173,182,183,215,226,227,246,247],gpr01:[171,173,182,183],gpr02:[182,183],gpr03:[182,183],gpr04:[162,182,183,215,226,227,246,247],gpr05:[182,183],gpr06:[182,183],gpr07:[182,183],gpr08:[162,182,183,215,226,227,246,247],gpr09:[182,183],gpr10:[182,183],gpr11:[182,183],gpr12:[162,182,183,215,226,227,246,247],gpr13:[182,183],gpr14:[182,183],gpr15:[182,183],gpr16:[171,173,182,183],gpr17:[171,173,182,183],gpr18:[182,183],gpr19:[182,183],gpr20:[182,183],gpr21:[182,183],gpr22:[182,183],gpr23:[182,183],gpr24:[182,183],gpr25:[182,183],gpr26:[182,183],gpr27:[182,183],gpr28:[182,183],gpr29:[182,183],gpr30:[182,183],gpr31:[182,183],gpr:[220,224,231,232,246,247,282,283],gpu1:[246,247],gpu2:[246,247],gpu3:[246,247],gpu4:[246,247],gpu5:[246,247],gpu:[16,41,73,102,109,171,172,174,178,180,182,183,195,202,203,220,221,226,227,228,229,230,231,232,238,246,247,268,269,273,274,275,276,282,283,285,287,291,292,299],gpu_mem:[171,172],gpu_mem_4t_down:[171,172],grab:[220,226,228,229,230],grace:[0,70,146],gracefulli:[43,55,78,120,131,132,146,171,172,226,227,241,257,278,282,283],grain:[22,171,175],grand:[184,185],granul:[2,229,230],granular:[22,181,208,267,273,274],graphic:[2,279,282,283],great:[171,182,183,193],greater:[4,55,133,201,202,203],greatli:[147,148,258,275,279,282,283],gregori:[171,275],grep:[5,36,162,171,172,214,224],grid:[171,172],grimm:275,gross:[282,283],ground:311,groundwork:146,group:[5,14,22,29,38,41,42,51,171,172,175,226,227,229,230,231,233,246,247,269,275,276,282,283,316],group_hndl:119,guarante:[13,15,62,121,171,172,241,258,261,279,282,283,285,289,316],guard:[112,146,161,171,172,182,231,232,287,291,292],guess:[171,172,275,276,287,291,292,304],guest:[22,93,231,232,233,260,273,274,275,276,282,283,285,287,291,292,316],guid:[22,41,171,172,231,232,237],guidelin:[21,138],guidinglight:10,guilherm:[171,219,220,231],gunk:[162,214],gupta:[147,148,161,164,184,185,275],gzip:[28,129,229,230],h2b:[258,279],h_cppr:64,h_eoi:62,h_ipi:65,h_m_s_m:117,habanero:[4,136,145,161,184,185,202,203,220,279,282,283],hack:[171,172,182,183,224,229,230,231,236,246,247,250,261,281,282,285,286,287,291,292],hacker:[147,148,161,164,171,231],had:[42,76,132,147,152,171,172,184,185,200,202,204,217,226,228,229,230,231,232,233,246,247,258,259,275,276,279,280,282,283,291,292,316],hal:134,hal_success:134,half:[78,115,182,226,227,268,273,282,284,291,292,313],halfwai:122,halloran:[171,184,185,187,193,202,203,219,220,224,226,229,231,275],halt:[125,311,313,314],hammer:[202,203,261],hand:[2,135,226,231,232,273,291,292,311,313,316],handi:[171,172,291,292],handl:[2,15,16,21,37,38,41,42,43,59,68,70,75,78,82,109,110,117,119,120,131,133,134,144,146,147,148,149,151,157,160,161,169,171,172,173,182,183,184,187,193,202,203,204,207,209,212,217,219,220,224,226,227,228,229,230,231,232,233,245,248,251,255,258,261,272,273,274,275,276,279,281,282,283,285,286,287,288,291,292,301,311,315,316],handle_error:131,handle_hmi_except:[246,248],handler:[19,42,58,120,122,162,171,172,173,214,220,226,228,229,231,246,247,258,268,273,274,275,276,279,282,283,287,291,292,316],handler_address:42,handshak:[229,246,247],hang:[58,146,147,148,159,161,162,164,171,173,182,183,184,186,191,215,226,227,246,247,248,255,261,268,273,275,276,279,281,282,283,291,292],hank:[219,220],happen:[2,44,47,70,131,134,148,162,163,168,171,172,173,182,183,198,202,203,215,216,217,226,227,228,231,232,233,246,247,248,251,261,266,271,272,273,274,275,276,281,282,283,285,287,291,292,314,316],hard:[15,51,55,139,171,172,181,189,202,203,208,211,226,227,231,232,239,240,246,248,258,266,267,273,274,275,276,279,282,283,287,291],hardcod:[146,213,220,224,226,227,282,285],harden:[144,182,183,220,226,227],harder:282,hardlock:[258,279,282,283],hardlockup:[182,183,258,279,282,283],hardwar:[15,21,22,23,27,28,29,36,37,40,41,53,61,68,76,77,78,79,80,81,83,87,91,93,95,99,103,107,109,110,119,122,131,132,135,136,139,157,165,171,172,173,174,178,179,180,182,183,187,188,193,202,203,204,220,221,224,226,227,228,231,232,239,242,246,247,248,270,273,274,275,276,282,284,285,293,311,314,316],hardwir:146,haren:229,hari:[147,148,229],harmless:[146,147,148,171,172,182,183,202,203,224,241,246,247],has:[0,2,3,7,14,15,16,17,18,19,21,22,28,33,35,37,41,42,51,52,58,62,69,70,71,76,81,84,93,108,112,113,114,117,122,130,131,133,134,135,139,140,141,148,151,154,155,162,167,171,172,173,176,177,178,179,180,182,183,189,193,201,202,203,204,205,214,215,217,220,221,223,224,226,227,228,229,230,231,232,233,234,241,245,246,247,250,251,254,257,258,261,267,268,273,274,275,276,277,278,279,281,282,283,285,286,287,289,291,292,298,304,307,308,309,311,313,314,316,317],has_deep_st:[171,172],has_slw:[231,232],has_wakeup_engin:[231,232],hash:[22,23,72,73,115,143,171,172,173,226,227,291,292,313,314],hash_prop:[246,247],hasn:[226,228,229,246,247,273,274,275,276,298,316],hat:140,have:[0,2,4,5,12,13,14,17,19,20,21,22,24,28,29,32,34,35,36,37,42,43,49,50,51,52,55,61,68,70,71,75,76,77,79,81,96,100,114,122,126,127,130,131,132,133,134,135,138,139,144,146,148,149,150,151,153,154,155,157,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,193,194,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,257,258,259,261,266,267,268,269,272,273,274,275,276,277,279,280,281,282,283,284,285,287,291,292,308,311,312,313,314,316],haven:[138,146,202,204,246,247,273,274,275,276,282,283,287,291,292],havoc:[182,183],hba:[275,276],hbrt:[70,111,128,144,161,171,172,201,226,227,231,232,255,273,274,275,276],hcode:[171,172,246,247,248],hdat:[2,34,40,133,171,172,177,182,183,194,201,202,203,218,219,220,221,222,224,226,227,228,229,230,231,232,233,238,244,246,247,250,257,259,273,274,275,276,280,282,283,291],hdat_i2c_info:[250,275,276],hdat_to_dt:[246,247,257,275,277],hdata:[133,171,172,174,175,180,220,221,222,224,226,227,228,229,230,231,233,246,247,250,257,273,274,275,276,277,282,283,288,296,299,301],hdata_to_dt:[220,224,226,227,229,230],hdatiplparm:[182,183],hdd:[275,276],hdec:[58,146,231,236,246,247,272,275,276],hdif_child:220,hdif_get_iarray_s:220,hdt:103,head:[58,133,141,162,171,172,184,185,214,231,246,247,261,281,282,283,285,302],header:[2,35,47,133,146,153,171,172,173,174,182,183,202,203,204,219,226,227,231,232,245,246,247,250,253,261,275,276,281,282,283,285,291,292,307,309,312,313,314],heap:[2,38,131,133,147,148,165,182,183,220,275,276,291,292],heap_bas:133,heap_pop:[291,292],heap_push:[291,292],heap_replac:[291,292],heap_siz:133,hear:[171,172],heartbeat:[162,164,193,215,226,227,231,232,246,247,288],heavi:[162,215,217,226,227,231,233,246,247],heavili:[109,135,231,232,275,276],heavyweight:[275,276],hegd:[147,148,161,171,184,185,193,202,203,204,219,220,224,226,229,231,275],hei:224,heighten:311,held:[113,146,161,171,172,184,185,193,208,231,232,243,254,261,273,274,275,276,277,286,291,292],heller:[219,224],hello:[220,246,247],hello_world:[145,147,148,171,172,193,220],help:[2,5,19,35,49,58,68,133,134,138,139,147,148,169,170,171,172,173,198,202,203,219,220,226,228,229,230,231,233,246,247,257,259,267,268,273,275,276,280,282,283,291,292],helper:[133,171,172,178,182,183,202,203,220,224,226,227,241,246,247,273,275,276],hemant:226,henc:[68,102,162,171,172,174,181,182,183,208,215,217,221,226,229,230,231,232,233,236,246,247,258,261,267,271,272,273,274,275,276,279,281,282,283,284,291,292],here:[2,18,22,29,37,51,73,131,132,133,139,141,162,171,172,178,182,183,184,185,202,215,221,226,227,229,230,231,232,238,246,248,257,258,259,266,273,274,275,276,277,279,280,282,283,287,288,291,292,316],herrenschmidt:[147,148,161,164,171,184,185,193,202,203,219,220,224,226,229,231,275],heterogen:22,heurist:[202,203,282,285],hex:[35,195,202,203,275,276],hexa:35,hexadecim:[2,4],hexdump:220,hexidecim:[275,276],hfscr:[21,22],hid0:[282,285],hid:[115,171,174,220,226,227,257,278,282,283,285],hidden:[171,172,316],hiearchi:88,hierarch:[182,183],hierarchi:[17,25,34,38,88,101,171,172,312,313],high:[28,41,68,70,100,118,129,139,157,171,172,187,217,224,229,230,231,232,233,272,275,276,282,283,313],higher:[52,101,132,202,203,226,228,246,247,248,312,316],highest:[13,121,226,227,229,230,246,247],highli:141,hijack:[171,172,231,232,246,247],hilari:[171,174],hile:[124,130,161,182,183,226,228,257,278,282,283],hint:[24,171,172,311],hiomap:[250,251,252,254,261,275,276,281,284,286,291,292],hiomap_c_clos:[258,279,282,283],hiomap_e_daemon_readi:[258,279,282,283],hiomap_e_flash_lost:[258,279,282,283],hiomap_queue_msg_sync:[261,281,282,283],hiomap_window_mov:[258,261,279,281,282,283],hir:[144,162,171,172,215,224,226,227],histor:[2,76,133,220],histori:[38,132],hit:[50,131,146,147,148,160,165,171,172,174,178,182,183,201,202,203,207,220,226,228,229,230,231,232,236,246,247,248,257,275,276,278,282,283,284,287,291,292],hmc:[20,47],hmeer:[58,220],hmer:[58,70,157,171,172,182,183,187,198,202,203,242,246,247,248,261,272,275,276,281,282,283,285],hmi:[38,42,70,146,154,157,159,169,170,173,176,178,180,182,183,187,195,196,202,203,204,220,226,227,228,231,232,234,236,248,249,261,268,272,273,274,275,276,281,282,283,284,285,287,291,292],hmi_debug_trigg:[246,248],hmi_event_handl:[261,281,282,283],hmi_tfmr_error:182,hnadl:224,hold:[1,35,58,113,122,162,171,172,181,182,183,207,208,214,220,221,225,245,246,247,256,266,273,274,275,276,278,282,283,291,292],holder:[226,227],hole:[171,172,182,183],homer:[2,14,171,173,182,183,220,221,224,229,230,231,232],hood:[231,232],hook:[35,135,146,161,181,208,220,226,227,261,267,273,274,281,282,283,311,313],hookup:[181,208,267,273,274],hope:[44,171,186,206,220,286,291,292],hopefulli:[146,206],horribl:124,host:[0,2,12,23,30,35,40,42,44,46,47,50,51,55,56,57,58,59,62,63,64,65,67,68,70,77,87,88,89,90,93,97,98,99,100,101,103,105,106,113,114,115,118,121,124,128,131,132,134,136,138,147,148,150,153,157,162,164,165,166,171,172,173,175,182,183,187,189,193,201,202,203,204,208,213,214,215,217,220,224,226,227,229,230,231,232,233,245,246,247,250,251,255,258,261,273,274,275,276,279,281,282,283,285,286,287,288,291,292,304],host_interfac:193,host_load_payload:[171,174],hostboot:[4,40,132,133,154,161,171,172,173,174,177,182,183,184,185,204,220,221,222,224,226,227,229,230,231,232,234,235,238,241,243,245,246,247,250,259,273,274,275,276,280,282,283,285,291,292,314],hostcc:225,hostinterfac:[171,172],hostservic:146,hot:[86,104,135,171,172,175,201,202,203,220,221,226,227,229,230,273,274],hotplug:[27,35,38,53,104,193,202,203,213,220,221,229,230,246,247,282,283,298],hour:[117,231,232,261,281,282,285],hour_minute_second_millisecond:117,how:[2,4,5,16,17,22,37,38,49,50,69,71,76,94,96,114,127,132,139,140,166,171,172,173,174,175,178,182,183,184,185,193,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,258,259,273,274,275,276,277,279,280,282,283,284,285,287,291,292,311],howev:[5,14,77,88,121,135,150,171,172,175,182,183,188,189,193,202,203,204,220,221,226,227,229,231,232,238,241,246,247,250,254,255,259,267,271,273,274,275,276,277,280,282,283,287,288,289,291,292,304,308,311,312,313,316],howto:38,hpc:[136,267],hpt:93,hr_min:[114,226,227],hreset:[135,213,220,229,230,275],hrfid:[282,285],hrmor:[202,203,231,232,246,248],hservic:[255,275],hservice_memory_error:[181,208,267,273,274],hsprg0:[246,247],hsprg1:[246,247],hsrr0:[162,171,173,182,183,214,224],hsrr1:[147,149,162,171,173,182,183,214,224],hss:2,hssr0:[147,149],htaborg:72,htmght:161,html:[202,203],http:[36,132,133,136,138,140,155,171,172,176,205,219,220,221,222,224,225,226,227,228,229,231,232,246,247,256,275,278,282,284,291,292],hub:[83,103,224,275,276,282,283],hub_id:[42,83],huge:[147,148,149,182,183,226,228,275,276,298],hugo:[171,172],human:[21,22,132,134,226],humid:54,hundr:[171,172],hurt:[229,230],hvc0:[208,231],hvc1:[208,231],hvc:[193,202,203,226],hvsi:[217,231,233],hw_key_hash:314,hw_key_hash_s:314,hwcap:[21,22,180,182],hwclock:[162,215,226,227],hwirq:[91,202],hwmon:[19,171,172,175,229,230,242,246,247],hwpoison:[181,208,267,273,274],hwrng:28,hwsv:275,hygen:[281,282,283],hyp:[255,275],hypervisor:[21,22,33,35,37,38,42,68,70,130,157,169,171,175,182,183,187,231,232,246,247,257,261,278,281,282,283,284,285,316],hypervizor:164,hypothet:[21,141],i2c:[0,60,131,135,144,145,147,148,162,171,172,173,184,185,186,202,203,207,208,211,214,219,225,226,227,229,230,231,232,233,238,243,246,247,250,255,266,271,275,276,282,283,295],i2c_:[246,247],i2c_addr:[246,247],i2c_init:[171,173],i2c_port:[246,247],i2c_request_send:[271,275,276],i2c_run_req:220,i2cdetect:[211,220],i2cm:[202,203,246,247],i2cm_port:[246,247],i3f8:2,iamr:[226,227],ian:[161,184,185,193,219,220],ibm:[1,2,7,8,10,11,12,15,16,20,24,25,26,27,28,29,30,31,33,34,38,39,40,41,42,43,44,46,50,52,55,56,59,62,63,64,65,67,70,71,76,83,84,87,88,89,90,93,97,98,99,100,101,103,105,114,119,127,130,132,133,134,135,136,137,141,145,147,148,152,161,164,174,175,182,183,184,185,187,193,194,201,204,216,219,220,221,222,224,228,230,246,247,248,250,251,255,257,273,274,275,276,278,285,291,292,298,304,311,313,314,315,316,317],ibm_fsp_termin:[160,207,220],ibmer:140,ibmpowernv:[151,162,215,226,227,229,230],ic922:136,icp:[2,193],icswx:28,idata:[171,172,226,227],idea:[42,171,172,226,227,246,247,267,273,274,316],ideal:[2,35,131,171,172,173,254,257,275,276,282,283,311,316],ident:[73,120,141,246,247],identif:[34,189],identifi:[10,13,14,18,19,22,33,35,39,47,50,51,53,68,69,102,104,109,119,129,143,154,162,171,172,215,231,233,268,273,274,275,276,291,292,314],idl:[48,145,146,147,148,171,172,202,203,220,221,226,227,229,231,232,246,248,268,273,274],ids:14,idsel:69,idx:[231,233],ifdef:193,iff:[275,276],ignor:[4,5,22,41,55,56,68,70,71,78,93,104,108,117,121,162,171,172,191,193,202,203,204,215,220,221,224,226,227,229,230,231,233,236,246,247,272,275,276,282,284,287,291,292,316],iif:182,iii:[38,231],ijklmnopqrstuvwx:35,ili:19,illeg:[260,273,274],ilpc2ahb:[273,274],ima_catalog:37,imag:[0,2,4,8,17,23,36,47,132,145,165,171,172,182,183,220,226,227,231,232,246,247,248,275,276,277,282,283,291,292,298,314],imc:[25,38,61,171,172,173,180,182,183,226,227,231,232,233,234,242,246,247,282,283,306],imc_dt_update_nest_nod:[171,172],imc_init:[180,246,247,306],imc_nest_chip:[171,172],img:[246,247],imit:70,immedi:[43,104,117,127,135,161,166,171,172,220,229,239,246,247,261,273,274,275,276,281,282,283,287,291,292,311,313],immun:[257,275,277],impact:[171,172,238,261,267,273,274,281,286,291,292],imped:[282,283],impend:[54,202,217,231,233],imperfect:[291,292],impi:[282,283],implement:[17,21,22,37,42,46,47,49,50,54,55,56,68,77,83,84,88,89,90,93,97,98,101,103,105,120,121,126,131,132,133,135,144,151,162,171,172,173,175,180,181,182,183,201,202,203,204,206,208,214,220,221,224,226,227,231,232,237,246,247,250,255,258,266,267,272,273,274,275,276,279,282,283,285,291,292,311,313,314,316],implent:[226,227],impli:[21,246,247,248,316],implic:[275,276,311],implicit:[22,160,258,279,282,283,316],implmeent:[246,247],implment:[226,227],importantli:[246,247,254,273,275,277],impos:231,imposs:[118,266,273,274,282,283,298],imprint:[219,314],improperli:313,improv:[102,139,146,153,161,162,166,168,173,176,177,178,179,190,191,199,202,203,204,205,207,211,215,217,220,224,226,227,229,230,231,233,234,248,251,257,258,269,275,276,277,278,279,282,283,291,292],in_be64:[287,291,292],inaccess:[17,220],inaccur:[171,175,226,227],inact:[171,172,246,248],inadequ:131,inadequaci:[246,247],inadvert:[171,172,241],inband:[47,202,203,209,229,230,231,235,246,247,291,292],inbox:139,inc:[133,213,220,291,292],incant:[226,227],incarn:[42,291,292],incas:61,incident:[246,247],incl:161,includ:[2,4,17,28,32,35,37,70,84,97,102,115,131,133,138,140,144,146,147,148,151,163,171,172,174,182,183,184,185,187,188,189,190,191,195,196,197,198,199,200,201,202,203,216,221,224,225,226,227,229,230,231,232,236,237,246,247,253,254,255,256,257,258,259,261,262,263,264,265,268,275,276,278,279,280,281,282,283,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,305,306,307,309,311,312,313],incom:[217,231,233],incompat:[22,202,204],incomplet:[54,134,171,172,225,226,227,231,232],inconsist:[275,276,299],incorpor:[132,140],incorrect:[43,67,72,76,113,122,171,172,193,194,200,202,203,220,224,226,227,228,229,254,275,277,291,292],incorrectli:[50,150,171,172,197,206,226,228,231,232,246,248,254,272,275,276,277,289],increas:[4,39,134,145,147,148,166,171,172,173,175,182,183,184,185,193,194,202,204,224,226,227,228,229,230,231,232,235,236,246,247,263,273,274,275,282,283,291,292,297],incred:[291,292],increment:[58,154,182,183,231,235,248,268,273,274,275,276],inde:[1,132,171,172,226,227,231,232,252],indefinit:[121,138,171,172],independ:[143,171,172,220],indetermin:311,index:[2,9,27,29,30,35,56,88,89,90,97,98,100,105,106,171,172,178,182,183,184,185,187,202,203,226,227,229,230,254,268,273,274,275,276,277,281,282,283,313,316],indic:[0,2,5,7,11,14,15,16,18,20,21,22,23,24,31,32,35,37,38,40,42,46,50,58,69,70,71,72,85,86,88,89,98,100,102,103,104,110,114,122,129,131,135,138,147,148,171,172,182,183,184,185,186,195,201,202,203,204,213,218,220,224,225,226,227,228,229,230,231,236,238,244,245,246,247,250,261,269,272,273,274,275,276,281,282,283,285,286,291,292,311,316],indicatg:316,indirect:[166,171,172,220,224,226,228,241,287,291,292],individu:[21,22,135,147,148,171,172,202,204,231,232,238,316],individud:316,indivisu:47,industri:[133,220],inf:[171,172,246,247,273],infer:[171,172,282,283,314],infinit:[153,161,171,175,246,247],inflight:[163,209,216,226,227,258,279],inflight_bt_msg:[258,279],info:[1,35,36,58,68,70,171,172,206,217,220,224,226,228,229,230,231,232,233,246,247,275,276,282,283,316],inform:[0,2,4,7,19,22,23,24,27,32,34,35,37,40,44,50,51,54,58,68,69,70,71,110,123,132,134,136,138,141,146,147,148,161,171,172,202,203,220,221,224,226,227,231,232,237,241,246,247,248,250,257,273,274,275,276,277,282,283,291,292,313,314,315,316],infrastrcutur:37,infrastructur:[61,141,181,202,203,204,208,220,229,231,232,246,247,267,273,274,282,283,284],ing:[50,171,172,181,208,267,273,274],ingrasi:136,inher:[229,230],inherit:[171,173],init:[0,6,37,61,70,133,171,172,173,174,178,182,183,184,193,202,203,204,220,221,222,224,226,227,228,229,230,231,232,234,236,237,238,241,246,247,248,251,255,261,268,271,273,274,275,276,280,281,282,283,284,285,287,291,292],init_16:226,init_5:226,init_all_cpu:[182,183],init_boot_cpu:182,init_chip:[226,227],init_cpu_thread:182,init_shared_spr:220,initalis:245,initi:[0,17,28,35,37,38,41,42,49,50,60,61,67,71,76,89,99,102,118,124,129,131,132,133,135,136,145,147,148,151,159,161,162,171,172,173,178,180,182,183,184,185,196,198,202,203,209,214,215,217,220,224,226,227,229,230,231,232,233,246,247,258,261,268,269,273,274,275,276,279,281,282,283,285,287,291,292,311,312,314,316],initialis:[0,35,41,171,172,180,182,183,221,224,226,227,246,247,261,273,275,276,277,280,281,282,283,285,287,291,292,301],initramf:[132,182,183,226,227,246,247],initramfs_load_bas:7,initrd:[7,226,227],inject:[82,150,166,198,217,226,227,229,230,231,233,246,247,261,272,275,276,281,282,285,287,291,292],inject_mce_step:[246,247],inject_mce_ue_on_addr:[246,247],inkl:[202,204],inlin:[106,288],inoper:150,input:[2,35,56,59,88,134,139,146,171,172,182,183,226,229,230,246,247,282,283,291,292],input_output:35,ins:[171,172],insan:[1,224],insert:[86,135,202,203,246,247,316],insid:[40,42,52,131,132,163,171,172,182,183,216,217,220,224,226,227,231,232,233,246,247,250,261,273,274,275,276,281,282,283,316],insist:224,insn:[180,182],inspect:0,inspir:[139,258,279,282,283],instal:[4,36,171,173,184,185,202,203,220,226,228,246,247,258,273,274,275,276,279,282,283],instanc:[28,33,129,146,171,172,226,231,235,246,247,273,282,291,292],instanci:220,instanti:[135,226,227,246,247],instead:[2,5,42,43,50,62,63,64,65,81,84,113,133,141,146,171,172,173,174,175,178,179,180,181,182,183,193,194,195,201,202,203,204,207,213,216,220,221,226,227,229,231,232,237,238,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,305,306,307,309,316],instr:[282,283],instruct:[0,13,21,22,28,37,40,43,124,147,148,153,162,166,171,172,174,193,214,215,226,227,231,232,241,246,247,260,273,274,275,276,282,283,291,292,315],insuffci:50,insuffic:226,insuffici:[54,67,83,118,171,172,226,228,268,273,287],int16_t:54,int32_t:[113,122,224],int64:[43,72],int64_t:[42,44,45,46,47,48,49,50,52,53,54,55,56,57,58,62,63,64,65,67,68,69,71,76,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,111,112,113,114,115,116,120,121,122,123,124,125,127,316],intc:[62,63,64,65,316],integ:[131,226,227,291,292,295,307,309,316],integr:[114,133,171,172,213,220,238,261,273,274,275,276,286,291,292],intend:[0,4,17,22,35,88,113,202,203,220,224,226,227,282,283,291,292,311,316],intens:193,intent:[17,171,172,174],intention:[291,292],interact:[38,52,73,150,162,171,172,184,185,214,220,221,225,275,276,282,283,311],interconnect:[41,282,283],interest:[136,182,183,202,226,227,246,247,273,274,314],interfac:[6,9,10,19,21,24,27,28,38,42,52,58,61,67,130,132,135,146,147,148,161,171,172,175,184,185,201,202,203,209,219,221,226,227,229,230,231,232,242,246,247,250,258,273,274,275,279,282,283,287,291,292,316],interfer:[282,283],interlav:2,interleav:[2,220],interlock:[213,220],intermedi:[229,230],intern:[16,35,42,46,50,54,77,83,120,127,134,135,144,202,203,220,226,228,231,232,246,247,266,271,273,274,275,276,291,292,298,304,311,313,316],internal_create_group:[231,233],interpret:[55,171,172,202,204,226,227,271,275,276,282,285,291,292,314],interrupt:[2,5,27,30,33,35,37,38,40,42,56,57,59,62,63,64,65,70,97,121,122,130,132,134,144,146,147,148,151,153,157,160,164,169,171,172,173,178,182,183,187,193,197,202,203,207,220,224,226,227,229,231,232,241,245,246,247,248,257,258,261,270,272,275,276,278,279,281,282,283,284,285,291,292,310,311,313,315,316],interrupt_source_numb:134,interrupts_properti:[182,183],intersect:224,interupt:224,intial:311,intialis:[182,183],introduc:[42,49,58,81,131,133,143,147,153,161,162,168,169,171,172,178,182,183,201,202,203,205,215,216,220,221,226,227,229,230,246,247,257,258,269,275,276,277,279,282,283,291,292],introduct:42,introductuion:[226,227],invalid:[45,48,49,50,52,53,58,60,67,70,71,74,75,77,78,79,80,81,82,83,87,91,92,95,96,99,100,102,106,109,110,112,120,124,127,129,130,131,144,145,147,148,171,172,173,182,201,226,227,231,232,241,242,246,247,250,257,258,272,275,276,279,282,283,285,287,291,292],invalu:139,invent:[132,282,285],inventori:[291,292],invers:[188,273,274],invis:[246,247],invoc:[61,275,282,283],invok:[28,35,44,171,172,226,227,246,247,280,282,283,285,291,292],involv:[22,44,101,138,139,166,171,173,182,183,229,230,250,275,276],ioa:82,ioctl:[224,229,230],ioda2:[27,29,56,88,89,90,97,101,134],ioda3:30,ioda:[38,88,89,100,103,105,106,226,227,268,273],iohub:[171,175,275,276,282,283],iommu:[287,291,292],iopath:220,ioslot:[231,232],iotyp:84,iov:[147,149,226,227,261,281,286,291,292],iovalid:[171,172,240],iovpd:[282,283],ip_tabl:[162,215,226,227],ipi:[171,172,220,224,231,232,246,247,316],ipl:[40,44,47,51,130,145,146,171,172,173,182,183,202,203,204,218,220,224,231,232,244,273,274,293,296],iplparams_sysparam:[171,172],ipmi:[1,20,35,38,67,77,130,131,144,146,147,148,149,152,162,164,166,171,172,182,183,202,206,208,209,215,217,220,226,227,228,229,230,231,232,233,246,248,250,251,252,254,256,257,261,263,272,275,276,278,281,282,283,284,286,288,290,294,295,300],ipmi_chassis_control:[258,279,282,283],ipmi_devintf:[162,215,226,227],ipmi_dt_add_bmc_info:[275,276],ipmi_elog_commit:35,ipmi_fw_pci_init:220,ipmi_get_bt_cap:[258,279,282,283],ipmi_hiomap_handle_ev:[258,279,282,283],ipmi_hiomap_read:[258,279,282,283],ipmi_hiomap_writ:[261,281,282,283],ipmi_msg:67,ipmi_msghandl:[162,215,226,227],ipmi_partial_add_esel:206,ipmi_powernv:[162,215,226,227],ipmi_queue_msg_sync:[254,258,261,263,275,276,279,281,282,283,286,291,292],ipmitool:209,ipol:70,ipoll_ack:70,ipoll_mask:70,ipoll_statu:70,ipr:[162,215,226,227],irc:138,irq:[2,33,157,171,172,187,193,197,202,203,208,220,224,226,227,231,232,234,241,245,275,281,282,283,306,315,316],irq_happen:[231,233],irqchip:[130,182,183,202,203],irqdomain:202,irqf_shar:193,irrespect:[134,182,183,220,251,268,273,274,275,276,282,283,291,292],irrit:[246,247],is_fsp_system:[246,247],is_mambo_chip:146,isa:[2,13,21,22,122,132,194,275,282,283],isav3:219,isdimm:220,isn:[2,57,59,85,86,104,121,133,135,139,145,171,172,182,183,184,185,188,213,220,221,226,227,228,229,230,231,232,241,245,246,247,252,257,273,275,276,278,279,282,283,285,291,292,316],isol:[58,68,171,172,220,226,228,287,291,292],isra:[246,247],issu:[44,70,73,77,79,91,93,95,117,133,134,138,146,147,148,151,154,160,162,168,169,171,172,173,174,175,176,178,181,182,183,188,193,194,195,201,202,203,205,208,213,214,215,217,219,220,221,222,224,225,226,227,228,229,230,231,232,233,235,238,241,242,246,247,248,250,256,258,261,266,267,268,269,272,273,274,275,276,278,279,281,282,283,284,285,286,287,288,291,292,313,316],istep:[171,174],isync:[171,172,241],it_page_shift:106,item:[178,182,183,226,227,317],iter:[118,171,172,174,224,231,232,246,247,278,307,309,311],its:[1,2,7,14,17,35,40,53,58,70,71,76,78,84,102,121,131,133,135,138,139,171,172,173,182,183,184,185,201,202,203,220,221,226,227,229,230,231,233,238,246,247,258,269,272,273,275,276,279,282,283,287,291,292,314,316],itself:[2,36,68,114,131,171,173,182,183,193,202,203,220,224,226,228,229,230,246,247,253,260,261,266,273,274,281,282,285,291,292,314,316],ivalid:66,ivc:[157,187],ivt:[157,187,316],ivt_addr:134,ivt_len:134,jack:[202,203,219,220],jain:[171,184,185,187,193,226,231,275],jan:262,jankin:275,januari:[145,154,155,160,162,212,218,244,305],jeff:224,jefferi:[226,231,275],jenkin:[171,231,233,275],jennif:[171,275],jeremi:[147,148,164,171,184,185,193,202,203,219,220,226,231,275],jessi:[184,185,226,228],jha:[171,275],jiffi:[217,231,233],jim:[202,224],jitindar:[171,193,202,203,226,231],jitter:[133,254,275,276],job:[171,172,175,202,203,220,229,230,241,246,247,272,273,275,276],joel:[147,148,164,184,185,187,193,202,203,219,220,226,231,275],john:[164,184,185,231],join:138,jona:[147,148,161,171,184,185,193,202,203,229,231,275],json:220,juli:[148,158,159,190,191,193,194,226,227,228,229,230,268,269,273,275,276,277,287,291,292,300,307,309],jump:[133,226],jumper:[23,171,172,220],june:[189,190,214,215,274,290,291,292,299,306],junk:[246,248],junkcod:229,just:[1,2,16,35,42,43,58,108,130,133,138,141,147,148,162,171,172,174,175,177,180,182,183,193,202,203,204,215,220,221,224,226,227,228,229,230,231,232,246,247,251,255,257,261,266,272,273,274,275,276,279,281,282,283,286,287,291,292,298,311,314,316],just_pol:63,justifi:139,k80:[147,148],kamalesh:[147,148,193],kardashevskii:[171,219,220,224,231,275],kcore:36,kdump:[40,61,147,148,171,172,229,230,260,261,281,282,285],keen:1,keep:[1,2,39,44,55,109,132,139,146,162,171,172,182,183,213,215,217,220,226,227,228,229,230,231,233,238,246,247,261,275,276,281,282,283,287,291,292,316],kei:[17,23,73,118,171,172,173,193,219,304,313,314],kek:312,kennington:231,kept:[2,275,276,313],kernel:[2,5,7,13,14,17,22,23,24,31,32,37,40,41,42,43,50,53,70,71,106,118,128,129,130,132,139,140,145,146,147,148,149,150,153,154,155,160,161,162,169,171,172,175,177,178,181,182,183,193,201,202,203,204,208,213,215,217,220,224,226,227,228,229,230,231,232,233,243,245,246,247,248,251,257,258,260,261,267,268,269,272,273,274,275,276,278,279,281,282,283,285,287,291,292,311,312,313,315],kernel_command_lin:[202,204,206],kernel_entri:[275,276],kernel_kexec:[231,233],kernel_load_bas:[7,182,183],kerr:[147,148,164,171,184,185,193,202,203,219,220,226,231,275],ketchup:141,kexec:[2,50,51,61,124,125,129,132,159,171,172,174,191,193,226,227,228,229,230,231,233,261,268,273,274,281,282,285,287,291,292,313,316],kexec_cor:[231,233],key_buf_s:118,key_len:118,key_length:118,key_siz:118,keyword:[2,39,220,268,273,301],kick:[5,96,171,172,231,275,276],kill:[106,181,208,260,267,272,273,274,275,276],kill_typ:[106,272,275,276],killer:[179,182],kind:[13,35,50,182,183,220,291,292],king:[219,220],kink:202,kkkk:35,kmsg_dump:[261,281,282,283],knob:[134,137,251,275,276],know:[2,12,22,42,62,63,64,65,68,106,128,131,132,162,166,171,172,173,182,183,184,185,189,193,202,203,213,220,224,226,227,228,229,230,231,246,247,248,259,267,269,273,274,275,276,280,282,283],knowledg:[138,171,172,202,203],known:[0,12,134,144,146,162,171,172,198,202,203,213,220,226,227,231,232,233,241,246,247,250,252,258,275,276,279,282,283,285,314],kobylak:[171,184,185,275],krenn:219,kthread:[217,231,233,261,281,282,283],kudo:[171,172,182,183],kumar:[184,185,226],kvm:[93,103,134,171,172,226,227,228,231,233,257,273,274,275,276,278,282,283],kworker:[217,231,233],l142:226,l2cac_flush:275,l2cerr:275,l2misc:275,l3_misc:275,l3_prd_purge_req:275,l3_prd_purge_ttyp:275,l3cerr:275,lab:[182,183,226,227,261,273,274,275,276,281,282,285],label:[16,19,31,34,135,171,174,212,220,221,226,231,232,246,247,256,259,275,276,278,280,282,283],lack:[21,131,226,227,261,291,292,312],lai:[146,147],lan:1,landau:[171,172],lane:[2,27,29,30,135,171,172,213,220,226,228,229,230,238,275,276,282,283,287,291,292],lane_eq:2,laptop:220,larg:[41,118,133,136,146,147,148,171,184,185,221,224,229,230,231,269,270,272,275,276,282,283,285,304,308,313],larger:[17,39,55,88,118,205,219,220,229,230,257,269,275,276,278,282,283,291,292],largest:[171,175,224,316],larson:[147,148],last:[14,35,41,42,140,147,149,171,173,180,184,185,186,193,201,202,203,206,219,220,221,226,228,246,247,271,272,273,274,275,276,278,281,282,283,285,291,292,313],last_comp_vers:[226,227],latch:[121,135,220,246,247,268,273,275,276],late:[0,202,203,226,228,273],latenc:[13,52,153,171,172,178,182,183,229,254,269,275,276],later:[2,7,28,30,33,35,42,43,45,68,70,131,134,151,162,180,181,203,208,213,217,220,226,227,228,229,230,231,232,233,239,240,245,246,247,258,273,274,275,276,279,282,283,287,291,292],latest:[14,162,171,172,208,212,215,220,226,227,231,237,275,276,277,282,283],latter:[171,172,180,202,203,246,247,314],launch:273,layer:[58,70,132,138,171,172,182,183,220,261,281,282,283,291,292,316],layout:[24,38,41,119,171,172,219,229,231,232,257,259,275,277,280],lbu:60,lc921:136,lc922:136,lcd:[12,127],lcov:36,ldbar:37,lds:[291,292],lead:[4,147,148,149,159,161,162,164,171,172,180,181,182,183,189,193,195,196,202,203,204,207,208,213,214,220,221,225,226,227,231,232,234,245,246,247,273,274,281,282,283,291,292],leak:[147,148,156,182,183,184,221,226,231,233,258,279,282,283,285,307,309],least:[2,39,41,49,55,70,130,138,171,172,182,183,219,220,224,226,227,228,246,247,257,273,274,275,276,277,282,283,291,292,307,309,316],leav:[0,171,172,174,182,183,184,185,198,202,203,221,226,227,241,242,246,247,268,273,274,282,283,286,291,292,311,316],led:[5,34,38,42,135,145,146,147,148,168,182,183],led_mask:68,led_valu:68,leds_powernv:[162,215,226,227],left:[4,22,121,132,146,171,172,273,274,279,282,283,291,292,316],legaci:[193,316],legit:[171,172],leitao:[202,203],lemerrormask:84,lemfir:84,lemwof:84,len:[17,20,35,53,84,171,173,231,232],length:[12,33,41,49,50,53,54,67,77,118,130,171,172,202,203,221,231,232,257,275,276,282,283,287,291,292,313],leoluo:202,less:[4,21,84,118,133,141,171,172,182,183,193,202,203,217,220,224,226,227,231,232,233,246,247,261,275,276,281,282,283,284,291,292],lesser:[21,22,258,279,282,283],let:[162,171,172,177,179,182,183,202,203,215,217,220,226,228,231,232,233,240,241,246,247,248,250,257,258,261,273,274,275,276,279,281,282,283,287,291,292],letter:4,level:[2,8,14,17,21,22,31,33,38,88,118,123,128,133,144,146,171,172,173,175,182,183,195,197,202,203,219,220,223,224,226,227,228,229,230,231,232,236,238,246,247,248,257,272,273,274,275,276,278,282,283,288,291,292,312,313,316,317],lexic:4,liauw:[219,220],lib:133,libc:[133,139,144,145,202,203,220,291,292],libcrypto:275,libfdt:[133,291,292],libff:[184,202,204,227,246,247,281],libflash:[133,146,147,148,176,182,183,184,185,192,193,202,203,204,206,217,219,220,224,226,229,230,231,232,250,251,252,254,258,261,273,274,275,276,277,278,279,281,282,283,284,287,291,292],libgcc:153,libpor:[133,231,232],librari:[22,23,38,133,171,172,202,203,246,247,273,274,275],libstb:[23,38,133,171,172,173,182,183,202,203,204,219,225,266,273,274,295],libtool:192,libvirt:[287,291,292],libxz:133,licens:[20,38,138,298],lid:[36,47,133,135,146,182,183,202,203,220,226,227,229,230,246,247,250,254,275,276,277,281,282,283,291,292],life:[139,141,261,275,276,281,282,285],lifecycl:[8,38],lifetim:[171,172],lift:[226,227,228],light:314,lightpath:10,like:[1,8,10,13,22,26,29,36,39,42,43,44,50,51,58,70,76,90,93,103,106,117,125,131,133,134,135,139,141,146,147,148,162,171,172,174,178,182,183,184,185,189,193,194,201,202,203,215,217,220,224,226,227,228,229,230,231,232,233,246,247,248,254,256,258,261,271,272,273,274,275,276,277,278,279,281,282,283,284,285,291,292,311,313],limit:[2,15,35,50,51,70,75,88,109,110,131,132,139,147,149,160,164,165,171,172,179,182,183,202,203,207,208,217,220,221,226,227,231,232,233,236,243,246,247,258,265,279,282,283,284,285,305,313,316],line:[12,62,76,102,127,138,140,147,148,153,161,164,172,173,174,182,184,185,187,193,195,203,227,232,265,266,273,274,276,281,282,283,287,291,292,303,306,316],line_len:127,linear:[171,172,226,227,282,285],linimon:229,link0:[246,247],link1:[246,247],link:[22,27,29,35,41,121,135,136,144,146,147,148,151,153,159,162,168,171,172,178,180,182,183,193,196,201,202,203,213,214,215,217,220,221,224,226,227,228,229,230,231,232,233,234,236,239,240,246,247,250,251,258,261,268,269,271,273,274,275,276,277,279,281,282,283,284,285,287,288,291,292,311],linker:[182,183,282,285],linkstat:[213,220],linkstatu:84,linsym:[225,226,227],linux:[2,4,5,7,8,9,10,15,19,20,21,22,23,27,31,32,34,35,36,40,41,42,43,45,50,71,78,81,106,108,130,132,133,134,136,138,139,140,146,147,148,151,153,154,164,165,166,168,171,172,175,182,183,193,194,201,202,203,204,217,219,220,222,224,225,226,227,228,229,230,231,232,233,236,238,246,247,248,251,255,257,260,261,267,272,273,274,275,276,277,278,281,282,283,285,291,292,316],lippert:[171,229,231],lirq:316,list:[2,8,10,13,14,21,22,24,35,37,38,42,47,50,67,76,77,107,118,130,131,132,138,139,140,144,146,159,165,168,171,172,173,175,178,182,183,191,192,202,203,220,221,224,226,227,229,230,231,232,233,246,247,258,271,275,276,278,279,282,284,291,292,310,311,312,316],list_check:[273,274],list_check_nod:[273,274],list_del:[278,288],list_head:311,list_nod:35,list_pop:278,list_top:[171,172,278],listen:[250,273,274],listinfo:138,lite:[231,232,267,273,274],liter:81,littl:[132,161,171,172,193,229,230,246,247,248,256,273,275,276,278,282,283,287,291,292,298],little_endian:298,live:[133,231,232,298],llll:35,llx:126,lnksta:220,load:[0,7,13,17,40,70,71,93,99,132,133,144,146,157,171,172,173,174,178,182,183,187,193,202,203,204,220,226,227,229,230,231,232,234,236,241,246,247,250,254,261,272,273,274,275,276,277,281,282,283,286,287,291,292,306,311,313],load_and_boot_kernel:[171,174,225,246,247,261,273,274,280,281,282,283],load_capp_cod:[250,275,276],load_capp_ucod:[250,275,276],load_initramf:[246,247],load_kernel:[246,247],load_pm_complex:[171,172],load_reg_addr:[282,285],load_result:[226,227],load_wait:[171,172,241],loader:[17,132,291,292],loc:[26,34,171,172,182,183,246,247,249,272,275,276,282,285],loc_cod:[68,282,283],local:[68,162,171,172,182,215,231,232,241,251,275,276],local_alloc:[275,276],localhost:[231,232],locat:[1,5,10,22,28,34,37,40,68,88,103,133,134,135,147,148,171,172,187,193,220,221,226,227,229,230,231,232,241,246,247,249,268,273,274,275,276,281,282,283,285,291,292,311,316,317],lock:[61,113,122,133,145,146,160,161,162,171,172,178,181,182,183,193,207,208,211,212,214,220,225,226,227,229,231,232,233,238,243,245,246,247,255,256,261,266,273,274,275,276,278,279,282,283,286,291,292,306,316],lock_cal:[273,274,275,276],lock_depth:[171,172],lock_error:[256,278],lockabl:312,locks_held:278,lockup:[134,162,169,182,183,213,215,220,226,227,228,231,232,233,246,247,248,282,283],lof:220,log2:316,log:[2,5,32,38,42,44,50,68,83,117,123,125,126,134,144,145,146,147,148,149,153,155,156,157,158,162,166,171,172,173,175,182,183,184,186,187,191,193,195,196,198,200,201,202,203,214,215,217,220,224,226,227,228,229,230,231,232,233,236,246,247,248,249,251,254,261,263,272,273,275,276,277,281,282,283,284,287,291,292,296,297,305,314],log_add:[226,227],log_add_sect:35,log_append_data:35,log_append_msg:35,log_commit:35,log_data:288,log_id:35,log_po:[226,227],log_simple_error:[35,273,274],log_siz:35,logger:184,logic:[17,28,37,40,58,157,159,171,172,182,183,187,191,193,196,202,204,220,226,227,229,230,231,236,242,246,247,258,275,276,279,282,283,285,289,291,292,311,313,316],login:[226,227],lombard:[171,226,231,275],longer:[42,50,108,130,140,146,171,172,174,178,182,183,184,185,193,194,202,204,220,224,226,227,228,229,230,231,232,246,247,248,250,273,274,275,276,279,282,283,288,291,292,316],look:[4,5,6,12,29,35,68,70,76,134,136,141,162,171,172,174,182,183,184,185,202,203,204,215,217,220,224,225,226,227,229,230,231,233,246,247,248,251,256,258,271,272,273,274,275,276,278,279,282,283,291,292],lookup:[73,171,172,202,203,225,246,247,275,276,282,283],loop:[43,44,125,153,161,171,172,175,180,182,183,226,227,241,246,247,254,261,271,272,273,274,275,276,278,281,282,283],loos:[171,172,181,208,231,232,267,273,274],lop:[257,282,283],lopapr:[22,76],lose:[133,171,172,220,231,232,236,291,292,316],loss:[13,35,123,224,231,232,313,316],lost:[58,60,151,157,171,172,187,202,204,221,224,238,242,246,247,257,278,282,283,313,316],lot:[133,157,165,171,172,176,187,202,203,221,246,247,255,274,275,276,282,283,291,292,298],loudli:252,low:[13,69,70,103,123,128,133,144,146,202,203,226,227,231,232,275,276,282,285,288,291,292],lower:[2,101,162,171,172,174,214,226,228,240,243,271,273,274,275,276,282,284,316],lowercas:[273,274],lowest:[75,121,226,227,229,230,273,274,282,284,291,292],lpar:[73,182,183,282,283],lparid:[73,282,283],lparshort:[182,183],lparshortid:[178,182,183],lpc:[2,52,69,75,147,148,164,171,172,193,196,202,203,220,226,227,228,231,232,245,246,247,250,258,273,274,275,276,279,282,283,284,285,291,292,295,317],lpcr:[73,220],lpcr_pecedh:[257,278,282,283],lpes1:220,lpfc:[162,215,226,227],lpid:[28,73,229,230,246,247,282,283,287,291,292],lsb0:21,lseek:[291,292],lsi:[41,220,316],lspci:[150,154,164,213,220,282,285],lsprop:[171,172,174,229,230,231,232],lsu:[182,183],ltc:[145,171,172],ltssm:[134,229,230,287,291,292],luck:[271,275,276],lucki:[171,172,202,203,287,291,292,298],luckili:[202,204,246,247],lunch:[162,214,224],lxpvd:[282,283],lxvpd:[282,283],lying:[14,282,283],m32:[171,172,238,246,247],m64:[30,147,149,202,204,246,247],mabi:[147,149],machin:[2,4,12,22,30,35,36,38,40,42,44,50,68,94,96,124,127,132,133,134,135,136,144,145,146,152,154,161,165,171,172,173,178,182,183,184,185,189,195,197,202,203,204,206,211,213,220,222,224,226,227,228,229,230,231,232,239,246,247,248,250,251,255,257,258,259,261,271,273,274,275,276,278,279,280,282,283,285,287,291,292,316],machine_kexec:[231,233],macro:[35,171,172,226,227,246,247,273,288,289,291,292],macronix:[1,147,148,171,172],made:[2,5,13,19,22,48,50,74,96,113,123,132,133,139,148,171,172,182,183,217,220,224,231,232,233,253,255,258,259,261,272,275,276,279,280,281,282,283,285],madhavan:[171,226,231,275],magic:[47,133,171,172,202,203,226,227,246,247,250,275,276,291,292,313],mahesh:[147,148,164,171,184,185,187,193,202,203,219,220,226,229,231,275],mai:[0,1,4,8,14,15,16,17,20,21,22,29,31,35,36,41,42,43,44,47,50,51,54,55,58,61,70,73,77,79,88,93,105,109,110,114,115,117,118,121,122,124,126,131,132,133,134,135,137,138,140,151,157,161,162,171,172,173,174,175,177,181,182,183,184,185,187,188,189,194,205,208,213,215,217,219,220,223,224,225,226,227,228,229,230,231,232,233,238,243,245,246,247,248,249,255,258,260,261,266,267,268,271,272,273,274,275,276,279,281,282,283,284,285,286,288,291,292,293,308,310,311,312,313,316],mail:[138,139,144],mailbox:[35,250,258,275,276,279,282,283,284],main:[28,37,119,132,133,140,141,171,173,175,181,182,203,226,228,229,230,246,247,304,311],main_cpu_entri:[133,182,224,226,227,272,273,274,275,276,281,282,283,306],mainli:[133,171,173,219,220,221,222,224,225,227,230,273],maintain:[1,5,15,35,54,68,129,133,138,139,140,141,157,171,172,173,174,175,182,183,187,202,203,204,205,206,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,268,273,274,275,276,277,282,283,284,285,291,292,316],mainten:[38,42,70,139,157,164,169,182,183,187,231,232,246,247,261,281,282,285],major:[132,147,148,182,183,201,202,204,248,257,278,282,283,310,313],make:[2,21,22,36,40,44,58,62,63,64,65,109,113,129,130,132,138,139,141,145,146,147,149,151,154,158,161,162,171,172,173,175,179,182,183,184,185,189,190,193,202,203,204,212,215,220,224,226,227,228,229,230,231,232,233,241,246,247,248,250,253,257,258,259,261,263,266,267,273,274,275,276,279,280,281,282,283,285,286,291,292,297,298,307,309,314,316],makefil:[145,147,149,160,171,174,187,191,194,202,203,212,220,246,248,273,275,277,287,291,292],makr:[147,149],malform:[17,229,230,258,279,282,283,311,312],malfunct:[58,154,157,187,193,220,226,228,272,275,276,282,283],malici:[0,182,183],malloc:[39,165,282,285],mamatha:[187,193],mambo:[36,144,145,146,147,148,161,171,172,173,182,183,194,219,220,221,224,225,226,227,231,232,246,247,248,273,274,282,283,285,291,292],mambo_binari:220,mambo_numa:[171,172],mambo_util:[146,220,246,247],man:[171,172],manag:[14,16,20,22,35,38,47,58,109,132,134,135,171,173,181,202,203,208,220,221,231,232,255,267,273,274,275,291,292,310,316],mandatori:[2,171,172,241],mangl:[57,121,220,316],mani:[2,20,22,50,52,69,94,96,114,128,139,146,147,148,165,178,182,183,184,185,199,202,203,226,228,231,232,246,247,250,274,275,276,291,292],manifest:[171,226,228,229,230,268,273],manipul:[133,171,172,193,224,240,273,274],manner:[21,226,227,246,247,311,313],manual:[115,133,171,172,182,183,220,229,230,258,273,274,275,276,277,279,282,283],manufactur:[23,26,34,128,136,141,171,172,196,202,203],map32:88,map:[1,8,19,30,36,38,41,88,89,90,97,100,105,121,133,134,135,144,146,147,149,155,171,172,182,183,184,185,193,194,198,202,203,220,222,225,226,227,229,230,238,246,247,250,273,274,275,276,282,283,285,287,291,292,299,316,317],map_pci_dev_to_slot:[182,183],map_pe_dma_window:88,map_pe_mmio_window:90,mar:[139,287],march:[155,156,157,176,177,178,183,184,185,186,190,192,193,220,258,259,263,279,280,283,296,297],margin:[134,182,183,251,275,276],mark:[81,160,171,172,181,182,183,198,202,203,208,219,220,226,227,229,230,231,233,241,246,247,248,261,267,273,274,275,276,277,281,282,283,284,285,287,291,292],mark_write_eras:[226,227],martha:[171,172],mask:[5,21,22,27,29,30,58,68,75,82,121,134,137,157,171,172,174,182,183,187,220,226,227,231,232,241,246,247,248,249,251,271,275,276,282,283,287,291,292,316],master:[0,2,58,60,133,139,140,141,153,162,171,172,214,219,223,225,226,227,229,231,232,233,236,238,245,246,247,266,273,274,291,292],mata:[229,230],match:[2,9,28,51,52,88,103,105,118,129,145,146,161,166,171,172,174,175,182,183,189,193,201,220,224,226,227,228,229,230,231,232,235,237,246,247,248,254,261,268,273,274,275,276,277,281,282,283,286,291,292,313,316],math:[22,171,173],matrix:[246,247],matt:[219,220,226],matter:[4,171,172,202,204,258,279,282,283],matur:[202,204],mavinakayanah:[147,148,171,184,185,219,220,224,226,229],max:[15,17,54,60,70,134,147,148,171,172,173,182,183,220,221,229,230,251,258,266,273,274,275,276,279,282,283,287,289,291,292],max_eq_count:[171,172],max_led_typ:68,max_lin:275,maxim:220,maximis:[41,275,276],maximum:[13,14,15,17,52,54,55,68,75,102,110,118,171,173,182,183,193,201,229,230,246,247,268,269,273,275,276,282,283,311],maxmimum:316,maxpayloads:[261,281,286,291,292],mayb:[81,202,204,248],mbedtls_sha512:[171,172],mbox:[35,47,68,157,162,163,171,172,187,193,215,216,217,220,224,231,232,233,250,273,274,275,276,279,282,283],mbox_default_poll_m:[171,172],mbox_protocol:[226,227],mboxbridg:[226,227],mboxd:[258,279,282,283],mbt:[246,247,268,273],mca:[26,171,172],mca_id:[26,171,172],mcbist:[26,171,172,257,275,276],mcbist_id:[26,171,172],mcd:[171,172,226,227,238],mce:[22,171,172,173,182,183,246,247,272,275,276,282,283],mclemor:[171,193],mconfig:[291,292],mcs3:24,mcs:[24,26,171,172],mcs_id:[26,171,172],mddt:[40,71],mdelai:[217,231,233],mdrt:40,mdst:[40,71,194],mdt:[171,172,238],mean:[2,19,22,50,58,62,70,86,106,121,132,139,140,141,146,147,149,154,171,172,178,182,183,217,219,220,224,226,227,229,230,231,232,233,241,246,247,250,254,260,272,273,274,275,276,277,278,282,283,287,291,292,298,311,316],meaning:[246,247,275,276,282],meant:[125,159,189,196,246,247,275,276,316],meantim:[171,172,202,204,220],measur:[13,171,172,173,202,203,204,205,275,277,314],mechan:[2,41,51,146,171,172,220,224,226,227,229,230,231,234,282,283,311,313],media:[171,172],medium:130,mellanox:[102,147,148,182,183,193,220,226,227,258,269,275,276,279,282,283,287,291,292],mem:[19,109,133,182,183,202,203,220,226,229],mem_addr:89,mem_high_addr:134,mem_low_addr:134,mem_map:39,mem_region:[182,183,202,203,220,224,226,228,275,276],mem_region_init:[226,227],mem_siz:[171,172],member:[70,194,288,291,292],memblock_reserv:[181,208,267,273,274],memboot:146,memcon:5,memcpi:[70,76,246,247,281],memcpy_mcsaf:[246,247],memori:[1,2,3,5,7,17,21,22,23,24,25,28,32,34,36,38,40,49,50,51,60,61,67,69,70,71,74,75,76,77,85,86,88,89,90,93,103,104,107,115,118,119,127,131,132,134,146,147,148,156,165,168,171,172,173,174,175,180,181,182,183,184,185,193,194,199,200,202,203,208,213,220,221,224,226,227,228,229,230,231,232,233,234,238,246,247,248,261,267,269,271,272,273,274,275,276,281,282,283,284,285,287,291,292,293,296,299,306,307,309,310,311,314,316],memory_pars:[171,172],memreserv:[2,226,227],memset:[147,148,182,202,203,271,275,276],memwin32:103,memzero:182,mendoza:[147,148,161,171,184,185,193,202,203,229,231,275],meng:[202,203,275],mention:[68,123,132,206,220,282,283],merg:[139,140,206,220,224,254,275,276,277,291,292,316],mess:261,messag:[1,35,38,45,49,52,54,55,56,58,67,70,97,98,104,109,110,111,114,119,120,127,131,132,134,135,140,141,144,146,147,148,153,154,155,160,162,163,165,166,167,171,172,173,178,182,183,184,185,189,195,199,201,202,203,204,206,208,209,213,214,215,216,217,220,224,226,227,228,231,232,233,236,243,246,247,249,250,254,257,258,261,268,272,273,274,275,276,278,279,282,283,284,286,287,291,292,298],message_data:[56,134],messi:[231,232,246,247],met:[261,281,282,283,289],meta:[229,230],metadata:[7,21,22,40,71],metal:[0,220,282,283,285,287,291,292],method:[1,22,48,51,106,171,172,202,203,226,227,231,232,246,247,275,277,313],metric:[145,146],mezz:220,mfcr:225,mfg:[23,313],mflr:[282,285],mfrr:65,mfspr:[246,247],mftb:[220,275,276],mgmt:[171,174,282,283],mgt:[5,110,137,171,172,174,182,183],mib:24,michael:[147,148,161,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275,276],michel:171,micro:146,microcod:[8,37,61,133,146,171,172,226,227,231,232,233,246,248],microcontrol:37,micron:[184,185],microsecond:229,mid:[185,186],middl:[246,247,258,279,282,283],midrang:136,migh:[246,247],might:[2,51,121,135,164,171,172,182,183,188,189,202,203,226,227,228,238,282,285,316],migrat:[282,283],mihawk:[136,288,293,295,299,300],mikei:[275,276,282,283],mileston:[219,220,221,222,224,225,226,227,228],miller:[202,203,219,220],milliecond:108,million:[291,292],millisecond:[52,94,96,117,229,230,291,292],milton:[202,203],min:[15,197,202,203,229,230,258,279,282,283,289],mind:219,minda:171,mini:[133,231,232],minim:[88,132,267,273,274,310,311],minimium:110,minimm:[246,247],minimum:[13,15,19,39,41,76,110,118,258,273,274,279,282,283,289,316],minor:[21,147,148,150,151,156,158,159,160,161,162,164,166,167,168,169,170,195,196,199,200,248,275,276,283,298],minski:136,minu:[22,88,89,90,97,100,105],minus1:[97,98],minut:[0,117,229,230,231,232,261,281,282,283],mirror:[14,223,258,279,282,283],mis:[282,285],misalign:[229,230,246,247],misbehav:[291,292],misc:[17,35,146,161,171,172,202,203,268,269,273,275,276,282,285,291,292,311],miscacul:[176,182,183],miscalcul:[176,182,183],miscellan:[2,35,226],misguid:[261,281,286,291,292],mislead:[229,230,250,275,276,282,283],mismatch:[171,172,175,213,220,243,268,273,274],mispredict:[282,285],misrout:[231,232],miss:[21,46,84,146,147,148,153,171,172,173,181,182,183,202,203,220,221,226,227,231,232,234,246,247,257,273,274,275,276,277,278,282,283,285,291,292],mistak:[229,230,246,248],mistyp:[275,276],mit:139,mitig:[162,171,172,213,226,228,239],mix:[171,172,273,274,275,276,282,283,284],mixtur:29,mktime:229,mmap:[24,61,246,247,273,291,292],mmape:[291,292],mme:56,mmio0:[275,276],mmio:[30,38,84,88,90,93,103,107,150,171,172,174,179,182,224,226,227,229,230,231,232,236,238,243,246,247,268,272,273,275,276,282,283,287,291,292,298,306,316,317],mmio_addr:317,mmio_invalid:[246,247],mmio_invalidate_wait:[246,247],mmio_window:134,mmioerrorlog0:84,mmioerrorlog1:84,mmioerrorstatu:84,mmiofirsterrorstatu:84,mmu:[2,22,72,73,202,203,220,221,224,226,227,282,285],mnopqrstuvwxyz:35,mod:[217,231,232],mod_secure_verify_compon:[171,174],mode:[10,13,21,22,23,38,41,73,99,102,115,132,147,148,149,150,161,171,172,173,174,182,183,193,194,196,202,203,204,205,220,222,224,226,227,228,229,230,231,232,233,234,238,246,247,266,268,269,271,273,274,275,276,277,282,283,285,287,291,292,299,311,312,314,316],model:[2,35,62,63,64,65,106,107,182,183,193,220,222,226,227,273,274,275,279,282,283,291,292],modern:[138,161,205,229,230],modif:[16,138,141],modifi:[134,138,139,140,171,172,182,183,226,227,229,251,253,275,276,282,283,285,316],modul:[2,25,26,38,129,132,139,151,162,171,172,202,203,215,226,227,246,247,268,273,274,282,283,314],moduleid:[171,174],moment:[102,179,182,220,226,227,228,229,246,247,273,274,275,276,282,283,291,292],mondai:[160,181,193,203,208,212,221,227,233,236,245,252,255,267,276,287,292,295],monitor:[2,37,282,285,291,292],month:[117,141],more:[2,16,17,19,21,22,35,49,50,62,68,70,73,74,84,88,130,131,132,133,135,139,144,146,154,158,160,161,164,171,172,173,174,175,178,182,183,190,193,202,203,205,207,213,220,224,226,227,228,229,230,231,232,241,246,247,248,250,253,254,256,258,275,276,277,278,279,282,283,284,285,291,292,293,298,311,313,314,316],moreov:[267,273,274],most:[14,17,29,60,140,141,147,148,161,162,164,172,182,183,184,185,187,193,202,203,204,215,227,230,258,273,274,279,282,283,284,285,287,291,292,311,316],mostli:[2,29,202,204,224,226,227,231,282,283,285,291,292,316],motherboard:0,motiv:[5,220],mount:220,move:[35,37,70,71,163,171,172,173,182,183,203,204,216,217,219,220,221,222,224,225,226,227,228,231,232,238,241,246,247,248,252,255,273,275,276,282,283,285,287,291,292,306,316],mover:34,mowgli:[136,304,305],mpipl:[5,38,42,44,182,226,228,246,247,293,294,296,300,301],mpipl_op:71,mple:35,mprintf:220,mrl:[213,220],mrw:[171,172,246,247],msarea:[282,283,299],msg:[5,55,67,70,111,171,172,226,227,229,230,231,232,258,261,279,281,282,283,287,288,291,292],msg_len:67,msg_type:70,msglog:[133,141,146,162,171,172,182,183,214,224],msgq:[67,163,216,226,227],msi:[30,38,56,97,98,105,121,153,213,220,226,227,271,275,276],msi_address:[56,134],msi_data:56,msi_rang:[56,134],msr:[73,122,162,171,173,178,182,183,215,226,227,231,232,233,246,247,261,272,275,276,281,282,283],msr_sf:[226,227],mt27700:[258,279,282,283],mtd:[171,172,184,185,202,204,206,212,220,224,229,230,231,232,282,285],mtd_no_eras:[231,232],mtlr:[282,285],mtspr:[246,247],much:[22,71,95,117,160,165,171,172,174,178,180,182,183,195,205,219,220,224,229,230,246,247,273,274,275,276,282,283,287,291,292,316],mukesh:[193,202,203,204,231],mult:88,multi:[0,58,182,183,184,186,220,222,224,246,247,304],multicast:[231,232],multicor:193,multipl:[2,4,35,49,52,56,61,73,88,89,117,146,147,171,172,175,182,183,202,203,217,220,224,226,227,229,230,231,232,233,246,247,257,258,269,271,275,276,278,279,282,283,291,292],multiplex:37,multipli:21,multithread:[184,186],munmap:[182,183],munsi:[161,184,185,193],murano:[136,226,228],murthi:[147,148],musl:194,must:[2,4,5,9,13,17,21,22,41,49,51,52,55,56,58,59,61,62,63,64,65,70,75,88,89,100,101,103,105,110,113,115,117,118,123,124,126,131,132,134,140,141,157,171,172,173,182,183,187,220,226,228,229,230,231,232,243,246,248,254,275,277,282,291,292,311,312,313,314,316],mustard:141,mutipl:[41,226,227],mutual:311,mux:[171,172,237,246,247],mve:[56,97,98,105,134],mve_numb:[56,97,98,134],mx66l1g45g:[202,203],mxxxl51235f:[1,171,172],mydisk:[246,247],myneni:229,mynetwork:[231,232],mysim:[36,246,247],mysteri:[171,172,239,240,286,291,292],n110:84,n120:84,n25q256ax:[184,185],n25qx256ax:[184,185],nack:[60,271,275,276],nageswara:[202,203,204],nak:[271,275,276,282,283],name:[1,2,8,13,15,16,17,18,19,20,21,22,24,26,34,42,49,69,118,131,132,133,134,136,138,141,154,161,164,171,172,175,178,182,183,187,204,220,222,224,226,227,229,230,246,247,250,259,273,274,275,276,280,282,283,284,285,291,292,304,317],namli:[246,247],nap:[13,202,203,220,226,227],napl:[27,41,136,147,148,184,185,186,193,258,279,282,283],narrow:[171,175,226,228],nasti:[275,276],nathan:146,nativ:[246,248,282,283,316],natur:[55,110,178,182,183,246,247,287,291,292,312,316],nbw:[182,183],nc00:84,nc18:84,nc40:84,nc80:84,nc88:84,ncc0:84,ncc8:84,ncu:[171,172,243,246,248],ncu_darn_bar:[171,172],ncu_spec_bar:[171,172,246,248],nd00:84,nd08:84,nd1:[272,275,276,282,283],nd40:84,nd48:84,nd80:84,nd88:84,ndc0:84,ndc8:84,ndev:[268,273],ndl:[269,275,276],ne00:84,ne08:84,ne40:84,ne48:84,neagtiv:[226,227],nearli:[171,172],neat:[155,184,185],neaten:[226,228],necessari:[35,41,171,172,174,182,183,221,241,246,248,258,261,273,279,281,282,283,291,292,311,316],necessarili:[229,230,252,275],necessit:[182,183],need:[2,4,5,7,13,20,35,36,41,44,48,51,58,68,69,77,102,104,109,115,118,120,121,124,127,128,129,131,132,133,134,135,138,140,141,147,148,149,151,154,157,171,172,173,174,175,176,178,180,182,183,187,189,193,201,202,203,204,219,220,221,222,224,226,227,229,230,231,232,238,241,246,247,248,255,256,257,266,269,271,273,274,275,276,277,282,283,285,286,287,288,291,292,294,298,311,312,315,316],needless:[184,185,258,279,282,283],needlessli:[1,220],neelesh:[147,148,161,164,184,185],neg:[22,131,171,172,299,316],negoti:[171,172,182,183,229,230],neither:[50,76,121,139,171,172],nest:[24,25,38,61,72,73,171,172,201,202,203,220,221,224,226,227,231,232,233,246,247],nest_imc:306,nest_pmu:[231,232],nestfir:[171,172],net:[35,291,292],net_mac:[291,292],netfn:[67,184,186,231,232,261,275,281],network:[171,172,220],netxtrem:164,neul:[147,148,161,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275,276],never:[41,42,43,44,81,113,131,139,151,157,171,172,173,187,224,226,227,231,232,235,237,246,247,248,249,259,261,275,276,280,281,282,283,284,285,287,288,291,292,316],new_properti:[171,174,224],newcpu:22,newel:136,newer:[44,68,171,172,182,183,189,224,226,227,229,275,276,282,283,291,292,316],newinsn:21,newli:[58,316],newlin:[171,172,226,227,291],next:[2,20,22,35,41,50,55,118,139,153,157,171,172,187,217,220,226,227,228,231,232,233,236,273,274,283,284,285,291,298,313],next_error:[282,284],next_in:[226,227],next_out:[162,215,226,227],next_ungarded_primari:305,nfir:[84,182,226,228,275,276],nfir_cach:[275,276],nfirmask:84,nfirwof:84,nguyen:[184,185],nia:[261,281,282,283],nibbl:[171,172],nice:[160,178,182,183,220,224,226,227,291,292],nich:[246,248,282,283],nichola:[171,202,203,219,220,224,226,229,231,275],nick:298,nicol:[136,291,292],nimbu:[26,134,136,226,227,231,232,270,273,274,275,276,291,292],nip:[162,171,173,178,182,183,215,226,227,246,247,254,275,276],nmi:[162,215,220,226,227,246,247,282,283],nmmu:[73,182,183,268,273],nobodi:[282,283],noboot:[202,203],nodal:[269,275,276],node0:[26,171,172,182,183,249,282,285],node:[3,6,8,9,10,14,15,16,18,20,22,23,25,26,27,28,29,32,33,34,35,38,40,52,53,56,67,69,70,71,76,87,88,89,90,93,97,98,99,100,101,103,104,105,114,130,132,135,154,165,171,172,174,175,180,182,183,193,194,202,203,204,220,221,224,226,227,228,229,230,231,232,246,247,250,257,268,269,273,274,275,276,282,283,284,285,291,292,304,311,313,316,317],noisi:[193,272],noitifi:[229,230],nolibc:36,nomcount:[275,276],nomin:[226,227],non:[2,4,56,61,76,87,100,131,146,147,148,156,159,171,172,174,182,183,184,185,193,196,202,203,205,213,220,224,226,227,231,232,238,241,246,247,248,260,261,268,272,273,274,275,276,281,282,283,285,286,291,292,301,311,314],none:[17,108,122,131,171,172,182,183,261,273,274,282,285,291,292,311,316],nonfatalerr:164,nop:[41,97,134,226,227],nor:[50,121,184,185,217,231,232,246,247,248,291,292,316],normal:[0,28,43,44,52,113,122,128,129,134,135,147,149,150,162,163,166,171,172,202,204,213,215,216,217,220,224,226,227,228,229,230,231,232,233,241,246,247,251,258,261,275,276,279,281,282,283,285,287,291,292,316],normand:171,nornmal:28,north:236,notabal:[231,232],notabl:[50,188,202,229,230,231,232],note:[1,2,4,6,15,42,47,49,51,54,68,70,73,76,95,100,101,136,146,171,172,182,183,184,185,192,202,203,204,205,208,220,226,227,229,230,231,232,246,247,248,275,276,282,283,288,291,292,313,316],noth:[49,171,172,182,183,189,202,203,204,220,226,227,228,231,232,246,247,248,273,274,287,288,291,292],notic:[1,193,202,204,224,226,228,258,279,282,283],notif:[0,35,50,51,68,70,125,159,171,172,191,193,208,226,227,231,275,276,316],notifi:[28,35,70,159,162,171,172,191,201,202,203,214,224,229,230,237,282,284,316],novemb:[143,151,152,153,202,203,204,205,206,207,219,220,221,222,237,238,239,240,251,252,253,254,276,277,304,308],now:[2,4,24,36,39,42,51,70,110,117,130,132,133,141,144,146,147,149,161,162,164,170,171,172,173,174,180,182,183,184,185,186,187,188,189,190,191,202,203,204,205,206,215,220,224,226,227,228,229,230,231,232,238,246,247,254,255,261,270,272,273,274,275,276,277,281,282,283,284,285,287,288,291,292,298,312,313,316],npage:106,npcq:[27,29],npct601:[32,171,172],npct650:[32,171,172],npu0:273,npu1:273,npu2:[29,38,42,171,172,173,174,176,178,180,221,224,229,230,231,232,234,237,238,239,240,249,255,262,264,269,272,275,276,277,282,283,284,285,287,295,296],npu2_:[226,227],npu2_dev_bind_pci_dev:[246,247],npu2_dev_fence_brick:[180,246,247,268,273],npu2_map_pe_dma_window:[255,275],npu2_misc_fence_st:[268,273],npu2_ntl_misc_cfg1:[268,273],npu2_ntl_misc_cfg2_brick_en:[275,276],npu2_otl_config1_tx_temp2_en:[272,275,276],npu2_tce_kil:[255,272,275,276],npu2_xts_bdf_map_s:[282,283],npu2_xts_bdf_map_valid:[246,247],npu2dev:[171,172,246,247],npu3:293,npu6:[171,172,246,247],npu:[27,41,58,75,171,172,178,180,182,183,187,193,195,197,201,224,226,227,231,232,246,247,249,255,268,269,272,273,274,275,276,282,283,284,285,287,291,292],npu_err_inject:[202,203],npu_num_of_p:201,npu_sm_config0:[246,247],ns16550:2,ntl:[41,171,172,239,268,269,273,275,276],ntupl:220,num:[5,20,30,97,98,100,105,146],num_lin:127,num_lsi:105,num_seg:103,numa:[27,171,172,226,227,228],number:[1,2,4,13,18,19,21,22,26,27,28,29,33,34,35,41,46,47,49,50,56,57,68,69,70,74,75,88,89,90,93,99,100,101,102,103,113,114,120,121,122,123,129,134,135,139,141,143,147,148,149,150,158,160,162,166,171,172,173,178,180,182,183,184,185,189,190,191,193,195,198,202,203,207,208,212,213,214,215,217,220,224,226,227,229,230,231,232,233,234,236,238,241,243,246,247,248,253,268,272,273,274,275,276,282,283,284,287,291,292,298,313,314,316,317],numinstruct:[282,283],nuvoton:[32,171,172,202,203,207,211,220],nv_zcal_overrid:[226,227],nvdimm:[282,283],nvidia:[171,246,247,273,274,275,276],nvidia_uvm:[246,247],nvlink1:221,nvlink2:[73,178,220,226,227,229,237,238,239,240,269,285,291,292],nvlink:[25,29,37,38,136,176,178,182,183,184,185,193,195,198,201,206,226,227,229,231,232,246,247,261,273,274,275,276,281,282,283,284,285,287,291,292],nvme:[213,220,221,275,276],nvram:[1,5,20,38,42,44,77,134,137,147,148,171,172,182,183,204,205,210,217,220,221,224,226,227,228,229,230,231,232,246,247,248,251,261,275,276,281,282,283,285,287,291,292,298,302,315],nvram_imag:76,nvram_init:[171,172,173,275,276],nvram_pstore_writ:[261,281,282,283],nvram_reformat:[182,183],nvram_valid:[182,183],nvram_write_os_partit:[261,281,282,283],nvt:[222,231,232,282,283,316],nx842:[268,273,274],nx_addr:[28,229,230],nx_coproc_init:[268,273,274],obei:[205,282],object:[182,183,275],oblivi:[171,173],obnoxi:[226,227],obscur:[162,214,226,227,282,283],observ:[166,171,172,182,183,195,202,203,220,231,232,235,246,247,257,261,266,273,274,278,281,282,283,285,287,291,292],obsolet:50,obtain:[35,70,121,143,273,316],obu:[171,172,226,227,229,282,283],obus_index:[282,283],obviou:[153,226,227,254,275,276],obvious:[140,180,226,227,246,247,273,274],ocapi:[273,274],ocapi_mem:299,occ:[2,4,13,15,18,37,44,70,119,132,141,144,146,147,148,165,171,172,173,174,175,178,182,183,184,185,186,189,193,201,202,203,208,220,221,224,229,230,231,232,235,238,242,243,246,247,248,250,255,258,261,268,273,274,275,276,279,280,281,282,283,291,292,299,310],occ_error:70,occ_get_gpu_pres:[273,275,276],occ_gpe1:[231,232],occ_load:[70,226,227],occ_max_throttle_statu:70,occ_misc:224,occ_p9_interrupt:[231,233],occ_pstates_init:[171,174,273,274,280,282,283],occ_reset:[70,171,172,201,202,203,226,227,229,230],occ_sensor_id_to_chip:[229,230],occ_sensor_loc_cor:[273,274],occ_sensors_init:[273,274],occ_throttl:70,occache_di:229,occasion:[171,172,241,273,274,291,292],occupi:133,occur:[0,4,17,70,102,114,121,134,157,171,172,182,183,187,219,220,229,230,241,242,246,247,249,251,261,266,272,273,274,275,276,281,282,283,285,286,287,288,291,292,312],occurr:[182,183,316],oct:[42,139,210,289,302,310],octob:[151,166,167,168,169,170,171,172,173,174,175,201,203,204,217,231,232,233,234,235,236,250,272,294],ocxl:[182,183],odd:[197,202,204,224,246,247,275,276,287,291,292],oddli:250,odl0:[246,247],odl1:[246,247],odl:[246,247,282,283],oem:[0,206,226,249,250,273,274,286,288,291,292],oemhandl:226,of_pmem:[246,247],off:[0,13,38,42,43,73,96,104,109,113,135,138,139,140,146,147,149,151,171,172,173,182,183,201,202,203,204,216,217,226,227,229,230,231,233,240,261,269,273,275,276,279,281,282,283,285,298],off_dt_str:[226,227],off_dt_struct:[226,227],off_mem_rsvmap:[226,227],offb:[155,184,185],offer:[22,287,291,292],offet:316,offic:304,offici:146,offlin:[77,104,128,171,172,181,198,202,203,208,231,232,267,273,274],offload:37,offset:[3,9,24,27,29,52,76,78,88,108,129,135,171,172,213,219,220,221,222,224,225,226,227,228,268,271,273,274,275,276,316],often:[5,139,165,168,246,247,282,285,291,292],ointer:288,ojha:[193,202,203,204,231],okai:[2,5,17,26,30,32,132,140,171,172,248,250,273,274,275,276,282,283,291,292],old:[2,4,5,42,56,58,88,89,90,93,97,98,100,101,103,105,134,147,149,162,171,172,175,215,220,224,226,227,231,232,238,241,246,247,248,250,261,273,274,275,276,281,282,285,291,292,295,313,316],older:[22,43,68,70,140,155,171,172,175,208,224,229,230,231,273,274,275,276,282,283,315],oliv:[171,184,185,187,193,202,203,219,220,224,226,229,231,275],oll:[246,247],olog:220,ommit:2,on1:35,onc:[0,27,35,36,37,39,41,50,81,117,134,135,136,139,147,149,162,168,171,172,215,217,220,224,226,227,228,229,230,231,233,238,246,247,248,250,258,273,274,275,276,279,282,283,284,286,291,292,311,312,314,316],one:[0,2,4,10,16,21,22,23,26,33,35,41,49,50,56,59,68,69,70,75,86,95,100,102,104,106,108,113,117,121,124,127,132,133,135,136,139,140,145,146,147,149,152,156,163,165,168,171,172,173,176,177,179,180,182,183,188,189,193,195,200,201,202,203,204,206,217,218,220,224,226,227,228,229,230,231,232,233,238,239,240,241,242,244,246,247,253,258,260,266,267,269,273,274,275,276,279,282,283,285,287,291,292,311,313,314,316,317],ones:[2,68,171,172,184,186,196,202,203,220,226,227,231,232,250,258,259,268,273,274,275,279,280],ongo:[171,172,246,247,275,276],onli:[1,2,5,8,17,19,20,22,23,24,34,35,41,42,43,44,46,47,49,50,52,54,55,58,60,61,68,70,73,75,77,81,83,88,91,100,101,102,103,105,115,117,118,122,127,128,130,131,132,133,134,135,136,139,140,141,146,147,148,149,154,161,162,165,168,171,172,173,174,175,182,183,188,193,195,196,199,200,202,203,204,205,214,215,217,220,221,224,226,227,228,229,230,231,232,233,235,238,241,246,247,248,250,251,252,255,257,258,259,260,267,268,273,274,275,276,278,279,280,282,283,284,285,287,288,291,292,298,300,304,306,311,313,314,316],onlin:104,ontim:[258,279],onto:[133,182,183,220,226,228],onward:[70,106,193,273,274,317],ooc:[231,232],op9_v1:[171,174],op_displai:[160,282,285],opal:[7,8,10,11,12,15,16,20,21,22,24,25,27,30,31,40,43,44,45,46,47,48,51,54,55,56,58,59,60,61,62,63,64,65,66,67,68,70,72,74,75,77,79,81,82,84,87,88,89,90,93,95,97,98,99,100,101,102,103,105,106,108,111,112,113,115,120,121,122,123,124,125,126,127,128,129,133,134,135,136,137,138,139,141,143,144,145,146,147,148,149,151,154,157,158,159,160,162,166,169,170,173,174,175,178,181,182,183,185,187,191,195,196,198,201,202,203,204,205,206,207,208,213,214,215,217,220,221,222,224,228,231,232,233,236,242,245,248,250,251,254,255,257,258,261,267,268,272,273,274,275,276,277,278,279,281,282,283,284,285,286,287,291,292,293,295,296,298,305,311],opal_:[146,226,227],opal_abnormal_power_off:35,opal_add_pe_to_domain:101,opal_addr_valid:[202,203],opal_assert_reset:96,opal_async_complet:[52,60,77,104,109,110,119,120,127,220],opal_async_exampl:131,opal_async_get_token:131,opal_async_wait:131,opal_attn:35,opal_busi:[43,44,45,49,50,52,75,76,102,109,110,113,117,119,125,128,162,178,182,183,213,214,217,225,231,233,282,283,316],opal_busy_ev:[43,44,49,50,76,108,117,120,125,162,215,217,226,227,231,233],opal_cal:[46,291,292],opal_capacity_upgrade_ev:35,opal_cec_hardwar:35,opal_cec_power_down:[38,42,217,231,233],opal_cec_reboot2:[38,40,42,58,147,149,202,204,229,230],opal_cec_reboot:[38,40,42,147,149],opal_check_async_complet:[38,42],opal_check_complet:45,opal_check_token:[38,42,44,50,51,120,131,132,291,292],opal_chip:35,opal_clos:[49,83,160],opal_concurrent_maintenance_ev:35,opal_config_cpu_idle_st:[38,42],opal_console_flush:[42,154,246,247],opal_console_read:42,opal_console_writ:[42,226,227],opal_console_write_buffer_spac:42,opal_constrain:[74,122],opal_deassert_reset:96,opal_disable_mv:98,opal_dump_ack:42,opal_dump_info2:42,opal_dump_info:42,opal_dump_init:42,opal_dump_read:42,opal_dump_region_host_end:50,opal_dump_region_host_start:50,opal_dump_region_log_buf:50,opal_dump_resend:42,opal_dump_resend_notif:50,opal_dynamic_reconfig_ev:35,opal_eeh_action_clear_freeze_al:[79,80],opal_eeh_action_clear_freeze_dma:[79,80],opal_eeh_action_clear_freeze_mmio:[79,80],opal_eeh_action_set_freeze_al:[79,80],opal_eeh_action_set_freeze_dma:[79,80],opal_eeh_action_set_freeze_mmio:[79,80],opal_eeh_ioc_error:[81,83,92],opal_eeh_no_error:[81,92],opal_eeh_pe_dma_error:[81,92],opal_eeh_pe_error:[81,92],opal_eeh_pe_mmio_error:[81,92],opal_eeh_phb_error:[81,92],opal_eeh_sev_inf:[83,92],opal_eeh_sev_ioc_dead:92,opal_eeh_sev_no_error:92,opal_eeh_sev_pe_:92,opal_eeh_sev_phb_dead:92,opal_eeh_sev_phb_fenc:92,opal_eeh_stopped_dma_freez:81,opal_eeh_stopped_mmio_dma_freez:81,opal_eeh_stopped_mmio_freez:81,opal_eeh_stopped_not_frozen:81,opal_eeh_stopped_perm_unavail:81,opal_eeh_stopped_reset:81,opal_eeh_stopped_temp_unavail:81,opal_elog:[38,42],opal_elog_ack:42,opal_elog_cr:35,opal_elog_read:[42,288],opal_elog_resend:42,opal_elog_s:42,opal_elog_writ:51,opal_empti:[17,53,67,118,311],opal_enable_mv:98,opal_entri:[132,246,247,261,281,282,283],opal_epow_non:54,opal_epow_over_ambient_temp:54,opal_epow_over_internal_temp:54,opal_epow_up:54,opal_err_info:35,opal_err_inject_func_ioa_dma_rd_addr:82,opal_err_inject_func_ioa_dma_rd_data:82,opal_err_inject_func_ioa_dma_rd_mast:82,opal_err_inject_func_ioa_dma_rd_target:82,opal_err_inject_func_ioa_dma_wr_addr:82,opal_err_inject_func_ioa_dma_wr_data:82,opal_err_inject_func_ioa_dma_wr_mast:82,opal_err_inject_func_ioa_dma_wr_target:82,opal_err_inject_func_ioa_ld_cfg_addr:82,opal_err_inject_func_ioa_ld_cfg_data:82,opal_err_inject_func_ioa_ld_io_addr:82,opal_err_inject_func_ioa_ld_io_data:82,opal_err_inject_func_ioa_ld_mem_addr:82,opal_err_inject_func_ioa_ld_mem_data:82,opal_err_inject_func_ioa_st_cfg_addr:82,opal_err_inject_func_ioa_st_cfg_data:82,opal_err_inject_func_ioa_st_io_addr:82,opal_err_inject_func_ioa_st_io_data:82,opal_err_inject_func_ioa_st_mem_addr:82,opal_err_inject_func_ioa_st_mem_data:82,opal_err_inject_type_ioa_bus_err64:82,opal_err_inject_type_ioa_bus_err:82,opal_error_event_typ:35,opal_error_pan:35,opal_errorlog:35,opal_event_console_input:[193,202,203],opal_event_dump_avail:50,opal_event_msg_pend:70,opal_event_pci_error:[147,148],opal_event_rtc:117,opal_except:42,opal_external_env:35,opal_flash_:[9,52,146,205],opal_flash_eras:42,opal_flash_manag:42,opal_flash_read:42,opal_flash_upd:42,opal_flash_valid:42,opal_flash_writ:42,opal_flash_xxx:9,opal_flush_consol:[291,292],opal_get:220,opal_get_device_tre:[38,42,135],opal_get_dpo_statu:[42,70],opal_get_epow_statu:[38,42,70],opal_get_messag:70,opal_get_msg:[38,42,70,165,291,292],opal_get_msi_32:[38,42],opal_get_msi_64:[38,42,134],opal_get_param:[20,42],opal_get_power_shift_ratio:42,opal_get_powercap:[15,42],opal_get_x:[38,42,134,316],opal_get_xive_sourc:[291,292],opal_handle_hmi2:[38,42,182,183,246,247,282,283],opal_handle_hmi:[38,42],opal_handle_interrupt:[38,42,133,231,233],opal_hardwar:[17,52,61,67,71,76,77,78,79,80,81,84,91,95,102,109,110,116,117,118,119,120,122,128,160,162,215,226,227,311],opal_hmi_flags_dec_lost:58,opal_hmi_flags_hdec_lost:58,opal_hmi_flags_new_ev:58,opal_hmi_flags_tb_resync:58,opal_hmi_flags_tod_tb_fail:58,opal_i2c_addr_10:60,opal_i2c_arbt_lost:60,opal_i2c_bkend_access:60,opal_i2c_bkend_overrun:60,opal_i2c_invalid:60,opal_i2c_invalid_cmd:131,opal_i2c_lbus_par:60,opal_i2c_nack_rcvd:60,opal_i2c_raw_read:60,opal_i2c_raw_writ:60,opal_i2c_request:[38,42,143],opal_i2c_sm_read:60,opal_i2c_sm_writ:60,opal_i2c_stop_err:60,opal_i2c_timeout:60,opal_id:106,opal_imc_counter_stop:61,opal_imc_counters_cor:61,opal_imc_counters_init:[37,38,42,231,233],opal_imc_counters_nest:61,opal_imc_counters_start:[38,42,231,233],opal_imc_counters_stop:[38,42,171,172,231,233],opal_imc_counters_trac:[61,282,283],opal_info:35,opal_input_output_err_evt:35,opal_int_eoi:[38,42],opal_int_get_xirr:[38,42],opal_int_set_cppr:[38,42],opal_int_set_mfrr:[38,42],opal_internal_error:[43,50,51,53,77,83,109,110,117,119,120,123,124,127,178,182,183,217,231,233],opal_invalid_cal:[38,42],opal_io_devic:35,opal_io_subsystem:35,opal_ipmi_msg:67,opal_ipmi_msg_format_version_1:67,opal_ipmi_recv:[38,42,131,143,147,149,231,232],opal_ipmi_send:[38,42,143,231,232],opal_leds_:[10,146],opal_leds_get_ind:42,opal_leds_set_ind:42,opal_lpc_:2,opal_lpc_fw:69,opal_lpc_io:69,opal_lpc_mem:69,opal_lpc_read:[2,38,42],opal_lpc_writ:[38,42],opal_map_p:100,opal_memory_subsystem:35,opal_messag:[38,42,45,55],opal_misc:35,opal_misc_err_evt:35,opal_miscellaneous_info_onli:35,opal_mpipl_add_rang:71,opal_mpipl_fadump:294,opal_mpipl_free_preserved_memori:71,opal_mpipl_query_tag:[38,40,42],opal_mpipl_register_tag:[38,42],opal_mpipl_remove_al:71,opal_mpipl_remove_rang:71,opal_mpipl_tag:71,opal_mpipl_tag_boot_mem:71,opal_mpipl_tag_cpu:71,opal_mpipl_tag_kernel:71,opal_mpipl_tag_op:71,opal_mpipl_upd:[38,40,42],opal_msg:[70,111,291,292],opal_msg_async_comp:135,opal_msg_dpo:114,opal_msg_entri:[291,292],opal_msg_epow:54,opal_msg_hmi_evt:58,opal_msg_occ:165,opal_msg_typ:70,opal_na:35,opal_nmmu_set_ptcr:[38,42,220],opal_no_mem:[17,53,60,77,118,120,127,311],opal_nod:[171,172],opal_normal_sys_platform_shutdown:35,opal_npu_destroy_context:[42,182,183,221],opal_npu_get_relaxed_ord:[38,42],opal_npu_init_context:[42,182,183,221],opal_npu_lpc_alloc:[282,284],opal_npu_lpc_releas:[282,284],opal_npu_map_lpar:[42,221,226,227,282,283],opal_npu_mem_alloc:[38,42,291,292],opal_npu_mem_releas:[38,42,291,292],opal_npu_set_relaxed_ord:[38,42],opal_npu_spa_clear_cach:[38,42,182,183],opal_npu_spa_setup:[38,42,182,183],opal_npu_tl_set:[38,42,182,183,272,275,276],opal_nvram_writ:[261,281,282,283],opal_nx_coproc_init:[38,42],opal_occ_msg:70,opal_p7ioc_num_pest_reg:84,opal_paramet:[17,42,43,45,46,48,49,50,51,52,53,55,56,60,61,66,67,69,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,95,96,97,98,99,100,101,102,103,104,105,106,107,109,110,112,113,117,118,120,122,124,127,129,160,246,247,261,281,282,285,311,316],opal_parti:[49,50,55,113,118,120,122,291,292],opal_pci_config_read_byt:42,opal_pci_config_read_half_word:42,opal_pci_config_read_word:42,opal_pci_config_write_byt:42,opal_pci_config_write_half_word:42,opal_pci_config_write_word:42,opal_pci_eeh_freeze_clear:[38,42],opal_pci_eeh_freeze_set:[38,42],opal_pci_eeh_freeze_statu:[38,42,275,282,283],opal_pci_eeh_freeze_status2:[38,42,291,292],opal_pci_err_inject:[38,42],opal_pci_get_hub_diag_data:[38,42],opal_pci_get_pbcq_tunnel_bar:[38,42],opal_pci_get_phb_diag_data2:[38,42],opal_pci_get_phb_diag_data:[84,291,292],opal_pci_get_power_st:[38,42],opal_pci_get_presence_st:[38,42],opal_pci_get_xive_reissu:[291,292],opal_pci_map_pe_dma_window:[38,42,134],opal_pci_map_pe_dma_window_r:[38,42,134],opal_pci_map_pe_mmio_window:[38,42,134],opal_pci_msi_eoi:[38,42],opal_pci_next_error:[38,42,83,147,148],opal_pci_p2p_en:99,opal_pci_p2p_load:99,opal_pci_p2p_stor:99,opal_pci_phb_mmio_en:[38,42,134],opal_pci_pol:[38,42,96],opal_pci_reinit:[38,42],opal_pci_reset:[38,42],opal_pci_set_hub_tce_memori:[291,292],opal_pci_set_mv:[38,42,134],opal_pci_set_mve_en:[38,42,134],opal_pci_set_p2p:[38,42],opal_pci_set_p:[38,42,134],opal_pci_set_pbcq_tunnel_bar:[38,42],opal_pci_set_peltv:[38,42,134],opal_pci_set_phb_capi_mod:[38,42,193],opal_pci_set_phb_mem_window:[38,42],opal_pci_set_phb_mmio_window:134,opal_pci_set_phb_table_memori:[134,291,292],opal_pci_set_phb_tce_memori:[291,292],opal_pci_set_power_st:[38,42,135,181,208,245,246,247],opal_pci_set_xive_p:[38,42,134],opal_pci_set_xive_reissu:[291,292],opal_pci_slot_:104,opal_pci_slot_empti:[226,227],opal_pci_slot_offlin:[104,135],opal_pci_slot_onlin:[104,135],opal_pci_slot_power_:[104,135],opal_pci_slot_pres:[226,227],opal_pci_tce_kil:[38,42,272,275,276],opal_pci_tce_kill_al:[106,272,275,276],opal_pci_tce_kill_p:[106,272,275,276],opal_pci_tce_kill_pag:[106,272,275,276],opal_permiss:[17,77,109,110,119,311],opal_phb3_num_pest_reg:84,opal_phb4_num_pest_reg:84,opal_phb_capi_mode_capi:102,opal_phb_capi_mode_dma:102,opal_phb_capi_mode_dma_tvt1:102,opal_phb_capi_mode_pci:102,opal_phb_capi_mode_snoop_off:102,opal_phb_capi_mode_snoop_on:102,opal_phb_error_data_type_p7ioc:84,opal_phb_error_data_type_phb3:84,opal_phb_error_data_type_phb4:84,opal_phb_error_data_version_1:84,opal_phb_get_opt:[38,42,298],opal_phb_option_mmio_eeh_dis:107,opal_phb_option_tve1_4gb:107,opal_phb_set_opt:[38,42,298],opal_platform_err_evt:[35,193],opal_platform_firmwar:35,opal_pm_dec_stop:[231,232],opal_pm_sleep_enabled_er1:48,opal_pm_timebase_stop:[231,232],opal_pol:[171,172,246],opal_poll_ev:[38,42,43,44,49,50,59,76,117,125,131,217,231,233,246,247,258,275,276,279,282,283],opal_power_cool:35,opal_prd:[147,161],opal_prd_msg:[38,42,70,226,227],opal_prd_msg_typ:70,opal_prd_msg_type_attn:70,opal_prd_msg_type_attn_ack:70,opal_prd_msg_type_fini:70,opal_prd_msg_type_init:70,opal_prd_msg_type_occ_error:70,opal_prd_msg_type_occ_reset:70,opal_predictive_err_degraded_perf:35,opal_predictive_err_fault_rectify_boot_degrade_perf:35,opal_predictive_err_fault_rectify_reboot:35,opal_predictive_err_gener:35,opal_predictive_err_loss_of_redund:35,opal_prev_reported_err_rectifi:35,opal_processor_subsystem:35,opal_query_cpu_statu:[38,42],opal_quiesc:[38,42,122,171,172],opal_rc_attn:35,opal_rc_cu_flash:35,opal_rc_cu_init:35,opal_rc_surve_statu:35,opal_read_nvram:42,opal_read_tpo:42,opal_reboot_full_ipl:[44,220],opal_reboot_mpipl:44,opal_reboot_norm:44,opal_reboot_platform_error:[44,58,202,204],opal_recovered_err_gener:35,opal_register_dump_region:42,opal_register_exc_handl:42,opal_register_opal_exception_handl:[291,292],opal_reinit_cpu:[38,42,124,146,147,148,177,182,183,226,227,228,260,273,274],opal_reinit_cpus_hile_b:115,opal_reinit_cpus_hile_l:115,opal_reinit_cpus_tm_suspend_dis:[177,182,183,231,234],opal_reinit_pci_dev:95,opal_remove_pe_from_domain:101,opal_reset_pci_fundament:96,opal_reset_pci_hot:96,opal_reset_pci_ioda_t:96,opal_reset_pci_link:96,opal_reset_phb_complet:96,opal_reset_phb_error:96,opal_resourc:[17,55,67,71,73,74,75,102,118,217,231,233,311],opal_resource_dealloc_err_evt:35,opal_resource_dealloc_event_notifi:35,opal_resource_sparing_ev:35,opal_resync_timebas:[38,42,275,276],opal_return:[162,215,226,227,282,285],opal_return_cpu:[42,112,115],opal_rtc_read:[42,108],opal_rtc_writ:[42,108],opal_run_pol:[246,247,261,281,282,283],opal_secvar_enqueu:118,opal_secvar_enqueue_upd:[38,42,311],opal_secvar_get:[38,42],opal_secvar_get_next:[38,42],opal_sensor_group_clear:42,opal_sensor_group_en:42,opal_sensor_read:[19,38,42],opal_sensor_read_u64:[38,42],opal_set:[220,316],opal_set_irq_config:316,opal_set_param:[20,42],opal_set_power_shift_ratio:42,opal_set_powercap:[15,42],opal_set_rtc_tim:[162,215,226,227],opal_set_x:[38,42,57,134,316],opal_sg_list:[47,50],opal_signal_system_reset:[38,42,113,220,231,232],opal_slw_set_reg:[38,42,231,232,246,247],opal_softwar:35,opal_src_type_error:35,opal_srctyp:35,opal_start_cpu:[42,112,131],opal_start_cpu_thread:124,opal_success:[17,43,44,45,48,49,50,51,53,54,55,60,61,67,69,71,72,74,75,76,78,79,81,82,83,84,85,86,87,91,92,93,94,97,99,100,102,104,107,108,109,110,112,113,114,115,116,117,118,119,120,122,123,124,125,127,128,129,135,160,162,215,220,226,227,231,232,246,247,275,311],opal_surveillance_err:35,opal_sync_host_reboot:[38,42,220],opal_sys_resource_deconfig_prior_err:35,opal_sys_resources_deconfig_by_us:35,opal_syscool_insf:54,opal_sysepow_cool:54,opal_sysepow_max:54,opal_sysepow_pow:54,opal_sysepow_temp:54,opal_sysparam_read:20,opal_sysparam_rw:20,opal_sysparam_writ:20,opal_syspower_chng:[54,70],opal_syspower_fail:[54,70],opal_syspower_inc:70,opal_syspower_incl:54,opal_syspower_up:54,opal_systemp_amb:54,opal_systemp_hmd:54,opal_systemp_int:54,opal_test:[38,42],opal_test_func:126,opal_thread_inact:112,opal_thread_start:112,opal_thread_unavail:112,opal_timeout:[109,110,119],opal_token_abs:46,opal_token_pres:46,opal_tpo_writ:[226,227],opal_trace_entri:[246,247],opal_unmap_p:100,opal_unrecoverable_err_degrade_perf:35,opal_unrecoverable_err_gener:35,opal_unrecoverable_err_loss_of_funct:35,opal_unrecoverable_err_loss_redund:35,opal_unrecoverable_err_loss_redundancy_perf:35,opal_unregister_dump_region:42,opal_unsupport:[42,43,44,49,50,60,67,73,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,95,96,97,98,99,100,101,102,103,104,105,106,107,109,110,115,118,119,120,122,123,129,130,134,177,182,183,226,228],opal_unsuppsort:93,opal_write_nvram:[42,261,275,276,281,282,283],opal_write_oppanel_async:[38,42],opal_write_tpo:42,opal_wrong_st:[51,114,124,128,158,187,191],opal_xive_alloc_vp:316,opal_xive_alloc_vp_block:[231,233,316],opal_xive_allocate_irq:[42,231,232,289,294],opal_xive_allocate_vp_block:42,opal_xive_any_chip:[231,232],opal_xive_donate_pag:42,opal_xive_dump:[42,224],opal_xive_dump_tm:[231,232],opal_xive_eoi:220,opal_xive_eq_always_notifi:316,opal_xive_eq_en:316,opal_xive_eq_escal:316,opal_xive_free_act:316,opal_xive_free_irq:42,opal_xive_free_vp_block:[42,231,233],opal_xive_get:220,opal_xive_get_irq_config:42,opal_xive_get_irq_info:[42,220],opal_xive_get_queue_info:42,opal_xive_get_queue_st:42,opal_xive_get_vp_info:42,opal_xive_get_vp_st:42,opal_xive_get_xirr:220,opal_xive_irq_eoi_via_fw:316,opal_xive_irq_lsi:316,opal_xive_irq_mask_via_fw:316,opal_xive_irq_shift_bug:316,opal_xive_irq_store_eoi:316,opal_xive_irq_trigger_pag:316,opal_xive_provis:316,opal_xive_reset:[42,220,224],opal_xive_set:316,opal_xive_set_irq_config:42,opal_xive_set_queue_info:42,opal_xive_set_queue_st:42,opal_xive_set_vp_info:[42,182,183],opal_xive_sync:42,opal_xive_vp_en:316,opal_xive_vp_single_escal:316,opal_xscom_addr_error:128,opal_xscom_busi:128,opal_xscom_chiplet_off:128,opal_xscom_clock_error:128,opal_xscom_ctr_offlin:128,opal_xscom_parity_error:128,opal_xscom_partial_good:[128,275,276],opal_xscom_read:[38,42],opal_xscom_timeout:128,opal_xscom_writ:[38,42],opalchecktokenstatu:46,opaleehfreezeactiontoken:[79,80],opalepowstatu:54,opalerrinjectfunc:82,opalerrinjecttyp:82,opalfreezest:81,opalhmi_error_malfunc_alert:70,opalhmi_xstoptyp:70,opalhmiev:70,opalio:84,opaliop7iocphberrordata:84,opaliophb3errordata:[84,282,283],opaliophb4errordata:84,opaliophberrorcommon:84,opallpcaddresstyp:69,opalmsg:165,opalmveenableact:98,opalpcierrorsever:92,opalpcireinitscop:95,opalpciresetscop:[95,96],opalpciresetst:96,opalpcistatustoken:[81,92],opalpeact:100,opalpeltvact:101,opalphbopt:107,opalsyscool:54,opalsysepow:54,opalsysparamperm:20,opalsyspow:54,opalsystemp:54,opalthreadstatu:112,opalv3:[42,56,88,89,90,93,97,98,101,103,105,291,292],opaqu:[19,120,226,227,316],opb:2,opdirti:4,opel_pci_set_mv:134,open:[2,4,19,36,132,138,139,140,144,159,171,172,176,196,202,203,205,208,219,220,221,222,224,225,226,227,228,231,232,252,256,261,268,273,274,275,276,278,281,282,283,284,291,292,311],openbmc:[171,172,182,183,187,206,226,227,249,250,253,255,273,274,275,288,291,292],opencapi:[25,38,75,171,172,178,231,232,272,277,284,285,291,292,295,296,298,299,310],opencomput:220,openpow:[52,132,133,138,141,146,161,164,165,171,172,182,183,201,203,220,221,222,224,226,256,268,273,275,291,292],openpower1:[4,178,182,183,231,233],openssl:[225,275],oper:[0,5,13,18,21,35,37,38,42,43,44,47,50,51,52,55,60,61,68,71,76,78,79,80,81,87,92,95,96,99,100,108,110,113,122,124,125,127,128,131,132,146,171,172,173,174,179,180,182,183,201,202,203,205,207,217,224,226,227,229,230,231,232,233,241,242,246,247,248,250,254,258,261,271,273,274,275,276,279,281,282,283,284,286,291,292,304,311,314],operand:[212,220],opfr:221,opp:[182,183],oppanel:[5,127],oppanel_lin:127,oppanel_line_t:127,opportun:[58,70,130,171,172,181,208,217,229,231,233,258,267,273,274,279,282,283],oppos:[246,247],ops:[18,88,90,97,98,101,103,105,158,187,191,202,203,220,226,228,229,230,281,282,283],opt:[36,107,171,172,273,274,275,298],optesthmihandl:182,optim:[13,134,147,148,171,172,184,185,202,203,226,227,231,232,251,275,276,287,291,292],optimis:[182,183,226,227,228,229,230,258,270,275,276,279,282,283],option:[0,2,4,5,17,19,21,22,43,50,58,71,77,107,114,115,132,134,141,146,150,161,171,172,184,193,202,203,204,205,217,220,224,226,227,228,229,230,231,232,233,238,246,247,253,258,273,274,275,276,279,282,283,285,286,287,291,292,298,311,314,316,317],order:[2,4,6,13,21,22,41,51,58,74,100,103,109,115,118,133,154,161,171,172,174,179,182,184,185,188,189,193,202,203,204,220,226,227,228,229,230,231,232,233,246,247,257,258,271,273,275,276,277,279,282,283,287,291,292,298,312,314,316],oreq:60,org:[133,138,140,220,229,246,247,275,276,282,291,292],organ:135,organis:[246,247],origin:[38,39,44,133,171,172,188,189,229,230,231,232,242,246,247,249,273,275,276,279,281,282,283],originagt:[147,149],orphan:[282,285],oss:[131,267,273,274],other:[2,10,13,21,41,43,44,50,51,52,54,77,78,92,100,101,102,103,110,113,115,127,131,132,133,135,136,138,139,140,145,147,148,151,154,159,161,162,169,171,172,173,178,193,196,203,215,217,220,221,226,227,229,230,231,232,233,236,246,247,248,250,258,261,272,273,275,276,279,281,282,283,286,288,291,292,311,312,313,316,317],otherwis:[36,70,86,129,135,141,171,172,181,184,185,201,202,203,207,208,213,216,220,221,226,227,228,231,232,243,245,246,247,257,261,273,274,275,276,278,279,281,282,283,285,291,292,316],otl:[75,246,247,291,292],our:[39,41,108,139,147,149,160,162,166,171,172,173,178,180,182,183,193,202,203,206,207,212,215,217,219,220,226,227,228,229,230,231,232,233,246,247,250,257,269,273,274,275,276,278,282,283,291,292],ourselv:[226,227,246,247],out:[1,2,5,17,21,35,36,40,41,44,49,50,54,60,68,71,74,84,87,107,112,114,122,133,134,135,136,141,147,148,150,154,160,162,165,167,171,172,173,174,175,176,180,181,182,183,189,202,203,206,207,208,214,215,219,220,224,226,227,228,229,230,231,232,233,235,236,241,246,247,248,251,259,261,267,268,273,274,275,276,277,280,281,282,283,284,285,287,291,292,299,307,309,311,314],out_eoi_pag:316,out_epow:54,out_esb_shift:316,out_escalate_irq:316,out_flag:[58,316],out_lirq:316,out_prio:316,out_qeoi_pag:316,out_qflag:316,out_qindex:316,out_qpag:316,out_qsiz:316,out_qtoggl:316,out_src_chip:316,out_stat:316,out_trig_pag:316,out_vp:316,out_xirr:63,outbound:[229,230],outdat:[231,233],outgo:189,outlast:140,outlin:35,output:[1,19,37,38,59,132,134,151,154,162,171,172,173,174,184,186,202,203,215,219,220,224,226,227,228,229,230,231,232,246,247,273,274,275,276,281,282,283,288,291,292,316],outsid:[42,56,103,229,230],outstand:[51,59,108,163,165,171,172,216,226,227],outstanding_event_mask:59,ov32:[246,248],over:[0,1,20,40,41,54,70,76,77,81,109,130,131,132,133,139,147,148,149,150,151,152,155,161,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,257,258,260,261,266,267,268,269,273,274,275,276,277,278,279,281,282,283,284,285,291,292,313,316],overal:[2,21,68,88,184,185,246,247,311,316],overflow:[37,171,173,202,203,224,226,227,228,246,248,269,275,276,288,291,292],overhaul:[258,279,282,283],overhead:[13,37,182,183,231,232],overid:[231,232],overidden:[282,283],overlai:84,overlap:[95,103,224,226,227,231,232,246,247,282,283],overread:[307,309],overrid:[135,161,171,172,202,203,204,220,221,224,226,227,231,232,246,247,261,275,276,281,282,283,285],overridden:221,overrun:[60,145,171,172,231,232,295],overview:7,overwit:[272,275,276],overwrit:[7,146,168,184,185,246,247,257,278,282,283,291,292],overwritten:[2,275,276,282,283,287,291,292],overwrriten:[268,273],own:[2,14,21,35,58,112,133,139,171,172,173,180,184,185,189,212,217,220,226,231,233,246,247,275,276,282,283,285,287,316],owner:[17,23,171,172,275,276,278,314,316],ownership:[112,226,227,275,276],ozlab:[138,140,220,229,246,247,282,291,292],ozrom1:[287,291,292],p00:[224,275],p10:[282,283],p2p:[99,229,230],p344fb62:[231,232],p5ioc2:[184,185],p5ioc:[42,291,292],p7ioc:[42,84,90,93,103,135,160,171,175,224,282,283,291,292],p7ioccsr:84,p7iocplssr:84,p89:[231,233],p8_i2c_check_initial_statu:[162,214,225],p8_i2c_check_statu:229,p8_i2c_recov:[231,233],p8_i2c_reset_engin:[266,273,274],p8_i2c_reset_port:[266,273,274],p8_pore_gen_cpufreq_fix:123,p8_pore_table_gen_api:123,p8dnu:136,p8dtu1u:[136,202],p8dtu2u:[136,202,213,220],p8dtu:[4,136,202,206],p8e:[257,278,282,283],p8i2c:[207,220],p98b6d83:[231,232],p9_cont_thread:[246,248],p9_darn_init:[282,283],p9_i2c_bus_owner_chang:[226,227,231,233],p9_sbe_msg:288,p9_sbe_msg_send:288,p9_sbe_termin:40,p9_stop_api:[123,133,171,172,231,232,242],p9_stop_save_cpureg:123,p9_stop_thread:[246,248],p9dsu2u:[259,280],p9dsu:[134,136,224,231,232,248,251,254,256,259,275,276,278,280],p9mambo:220,p9n:[177,182,183,226,227,275],p9p:[282,284,285],p9sdu:136,p_str:220,pa_featur:[229,230],pa_features_p9:[231,232],paca:[231,233],pack:[140,288,291,292,294,313],packag:[4,37,138,147,148,171,172,184,185,246,247,273,274,275],packet:[189,229,230],pad:[70,313],page:[2,72,88,115,171,172,173,175,181,202,203,208,220,224,226,227,228,241,255,267,269,273,274,275,276,291,292,316],pai:4,paidipeddi:[171,193,202,203,204,219,220,224,226,229,231,275],pain:[220,282,283,291],pair:[111,171,172,221,222,229,230,241,316],palmetto:[39,136,145,220,226,227,279,282,283],panda:[147,149],panel:[5,127],panic:[58,154,171,172,184,226,228,261,263,281,282,283,285,297],panic_flush_kmsg_end:[261,281,282,283],paper:[171,172],papr:[2,35,62,63,64,65,68,193,282],par:229,paragraph:100,parallel:[58,182,183,189,273,274,275,276,282,283],parallelis:[182,183,273,275,276],param:[20,70,130,146,171,173,220,224,273,274,291,292],param_id:77,paramet:[0,9,20,35,38,42,43,45,46,47,49,50,51,52,56,59,68,70,71,72,73,78,80,81,88,98,100,103,113,119,122,131,132,171,172,218,220,221,224,231,233,244,246,247,248,275,282,283,286,291,292,296,311,314,316],parametr:[171,172],paranoia:[171,172],parashar:[147,148,161,184,185,193,202,203],parent:[2,30,33,34,101,103,130,134,135,146,171,174,182,183,189,202,203,246,247,282,285,316,317],parent_p:[101,134],pariti:[58,60,128,146,171,172,182,183,231,236,246,247,261,269,272,275,276,281,282,285],paritit:[287,291,292],pars:[21,22,34,36,47,133,144,146,171,172,173,174,180,182,183,189,202,203,204,218,219,220,221,224,226,227,229,230,231,232,233,244,246,247,248,257,268,273,278,280,282,283,285],parse_arg:[273,274],parse_hdat:224,parse_i2c_dev:224,parser:[2,21,171,172,224,226,246,247,250],part:[2,4,22,26,28,34,35,37,39,44,50,58,60,68,71,88,113,114,130,132,135,138,139,141,145,171,172,180,181,182,184,185,187,194,202,203,204,208,219,220,221,226,227,228,229,230,231,232,235,240,246,247,256,257,267,273,274,275,276,278,282,283,291,292,298,316],parti:[220,314],partial:[49,128,131,135,146,157,187,189,193,200,202,203,204,226,227,249,261,281,282,284,287,291,292,316],particip:138,particular:[5,21,22,28,35,46,56,68,73,88,90,93,97,118,134,135,141,171,172,178,182,183,221,222,226,266,273,274,282,283,284,314],particularli:[171,172,182,183,275,276],partid:128,partit:[9,28,37,93,133,146,147,148,154,161,171,172,173,202,203,204,205,220,221,226,227,229,230,231,232,246,247,248,250,252,253,254,273,274,275,276,277,282,283,285,287,291,292,294,313],partition:[275,276],partner:141,pasid:[73,75],pass:[0,2,7,12,17,22,34,35,40,47,50,54,55,59,68,70,71,81,89,110,111,118,127,132,133,161,171,172,174,194,202,203,204,205,220,226,227,228,229,230,231,232,246,247,261,273,274,275,281,282,283,284,285,287,291,292,311,316],passthrough:[68,226,227],passthru:161,password:[291,292],past:[33,121,171,172,224,229,230,238,246,247,259,279,280,282,283,315],patch:[38,134,138,144,146,154,159,162,163,164,166,171,172,173,174,175,180,181,182,183,184,185,195,196,201,202,203,204,208,209,214,215,216,217,219,220,221,224,226,227,228,229,230,231,232,233,238,241,246,247,250,251,254,255,256,258,259,261,266,267,268,271,272,273,274,275,276,277,279,280,281,282,283,284,285,286,287,288,291,292],patchwork:[220,246,247,282,291,292],path:[6,13,20,39,41,43,58,86,104,113,130,147,148,149,156,161,162,163,171,172,173,174,176,181,182,183,184,198,202,203,204,208,211,215,216,217,220,222,224,226,227,231,232,233,241,245,246,247,252,256,257,258,261,273,275,276,278,279,281,282,283,286,287,291,292,295,316],path_max:275,patrick:[161,184,185,187,193,202,203,219,220],patrit:[246,247],pattern:[19,22,39,182,183,216,220,226,227,231,233,311],paul:[184,185],paus:[0,180,231,233,246,247,286,291,292],pause_microcod:306,pause_microcode_at_boot:[180,246,247],pavaman:229,pave:[171,172],payload:[0,38,39,133,146,154,171,172,174,202,204,220,229,230,271,275,276,291,292,311,314],payload_addr:[282,283],pb_cent_cresp_addr_error:197,pba:[2,221],pbcq:[2,27,87,171,172,174,182,183,226,228,246,247,282,283,285],pbi:[226,228],pcap:110,pcb:[2,317],pcb_addr:[128,275,317],pci0000:150,pci:[0,2,25,37,38,42,53,84,85,86,88,89,90,93,96,99,101,103,104,106,130,146,147,148,150,155,158,160,164,175,184,185,189,201,206,213,216,228,229,230,231,232,234,236,238,243,256,258,261,271,273,274,275,276,278,279,281,282,283,285,286,287,289,291,292,298],pci_addr:103,pci_bridge_power_on:[226,227],pci_bridge_wait_link:[226,227],pci_cfg_reg_filt:206,pci_command_mast:[231,236],pci_devic:[220,226,261,281,286,291,292],pci_device_id:[268,273,274],pci_enable_bridg:[226,227],pci_error_typ:[81,92,275],pci_get_slot_info:135,pci_mem_s:89,pci_mem_typ:88,pci_reset:[171,173],pci_scan_bu:[182,183,275,276],pci_scan_on:[182,183],pci_scan_phb:[182,183],pci_setup_phb:135,pci_slot:226,pci_slot_flag_enforc:[226,227],pci_slot_op:135,pci_slot_power_off:[201,202,203],pci_slot_set_power_st:[275,276],pci_start_addr:[88,89,134],pcicap_exp_cap_slot:221,pcicap_exp_devctl:220,pcicap_exp_slotctl:[226,227],pcie:[41,56,92,100,101,134,135,147,148,164,171,182,183,187,189,202,203,213,220,221,226,227,229,230,231,232,234,235,236,246,247,251,256,269,275,276,287,291,292],pcie_cap:221,pcie_slot_get_presence_st:[213,220],pciecap_exp_devctl:220,pciecap_sriov_ctrl_vf:220,pciex:[27,29,30,282,285],pciutil:[231,232],pcix:135,pcr:[171,172,173,260,273,274,291,292,314],pct:[258,279,282,283],pdbar:[37,171,172],pdbg:[246,248,282,283],pdc:[135,220],pdf:[202,203],pe_act:100,pe_handl:75,pe_mask:75,pe_numb:[79,80,81,82,88,89,90,97,99,100,102,105,106,134],pec0:[226,227,305],pec2:[102,226,227,250,268,269,271,273,275,276],pec:[30,171,172,174,226,228,268,271,273,275,276,282,283],peek:1,peer:[99,171,172,178,182,183,229,230,282,283,291],pegasu:[184,185,275],pel:[38,51,145,147,149],pelt:[97,134,275,276],peltv:[30,101],peltv_addr:134,penalti:[229,230],pend:[4,35,45,55,62,83,108,114,120,160,162,171,172,214,220,224,226,227,238,245,282,283],peopl:[1,136,139,141,202,204,220,229,230,261,273,274,281,282,285],per:[2,14,24,26,37,41,56,58,75,88,89,129,147,149,153,162,171,172,178,182,183,194,202,203,214,224,225,226,227,229,230,231,232,238,246,247,257,271,273,274,275,276,278,282,283,284,287,291,292,298,316,317],percentag:226,perf:[37,275,282,283],perfect:[246,247,275,276,282],perfectli:[2,43],perform:[0,2,13,22,35,37,41,47,50,96,102,131,132,133,134,153,166,171,172,173,174,176,178,179,182,183,201,202,203,220,224,226,227,228,229,230,231,232,236,238,246,247,258,261,267,269,270,272,273,274,275,276,279,281,282,283,285,291,292,311,314,316],peridoci:37,period:[35,37,42,58,124,219,220,221,222,224,225,226,227,228,229,230,246,247,258,275,276,279,282,283],perl:[36,275],perm:[20,273,274],perman:[41,76,78,117,131,135,171,172,173,178,182,183,220,226,228,241,250,266,273,274,275,276,296],permanantli:[226,227],permernantli:[266,273,274],permiss:[20,131],permit:[17,138,229,230],persist:[17,118,246,247,258,279,282,283,310,311],person:[134,138,139],perspect:139,perst:[134,135,202,203,226,228,229,230,268,273,282,283,287,289,291,292],pertain:201,pes:[30,97,100,105],pest:[30,272,275,276],pesta:84,pestb:84,petikernel:[171,172],petitboot:[0,4,36,71,132,145,154,166,171,172,195,202,203,220,221,231,232,260,275,276],pex8718:220,pex9733:220,pex9797:[275,276],pex:[213,220],pexpect:[178,182,183],pfir:[226,228,275,276],pfir_cach:[275,276],pflash:[147,148,161,166,174,176,184,185,190,191,193,202,203,205,206,219,220,224,229,230,231,232,246,247,253,273,274,275,276,282,283],pflash_to_copi:226,pgood:[246,247],pgreset:[226,227],ph2:[275,276],ph3:[275,276],phandl:[2,3,4,5,7,8,9,10,13,14,18,20,21,22,23,24,26,27,29,30,32,33,34,53,104,135,171,172,193,226,227,268,273,282,283],phase:[1,275,276,282,283],phb0:[146,154,226,227,305],phb1:220,phb3:[84,91,135,147,148,149,150,153,159,160,161,166,168,171,172,175,184,185,188,193,194,196,202,203,212,220,221,224,226,227,238,282,283,285,291,292],phb3_init:[147,148],phb3_init_capp_error:150,phb3_init_hw:[147,148],phb3_pci_msi_check_q:161,phb3_set_capi_mod:150,phb3_state_creset_wait_cq:[160,220],phb3_state_fenc:[160,220],phb3_state_freset_start:168,phb4:[78,84,106,134,174,175,179,182,183,193,220,221,224,235,236,238,243,246,247,248,250,251,255,256,258,265,269,271,272,273,279,282,283,285,287,289,298,301,303,306],phb4_:[287,291,292],phb4_assert_perst:[287,291,292],phb4_capp_recoveri:[282,283],phb4_check_reg:226,phb4_creset:[171,172,182,229,230,275,276,282,283],phb4_dump_app_err_reg:[171,172],phb4_eeh_dump_reg:[272,275,276],phb4_freset:[282,283,287,291,292],phb4_get_presence_st:[226,227],phb4_host_sync_reset:[282,283],phb4_hw_init:[287,291,292],phb4_init_capp_reg:[250,271,275,276],phb4_init_hw:[287,291,292],phb4_init_ioda3:[182,183,282,283],phb4_link_trac:[291,292],phb4_probe_stack:[182,272,275,276],phb4_root_port_init:[226,227,231,236],phb4_set_capi_mod:[182,183,282,283],phb4_slot_creset_wait_cq:[171,172,226,228],phb4_tce_kil:[272,275,276],phb4_training_trac:[291,292],phb5:310,phb:[2,27,29,30,41,42,56,74,75,79,81,82,84,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,105,106,107,134,135,147,148,150,154,160,161,168,171,172,174,179,182,183,184,185,193,201,202,203,204,212,220,221,224,226,227,228,229,230,231,232,236,246,247,251,259,261,269,271,272,273,274,275,276,280,281,282,283,284,285,287,291,292,298,316],phb_ffi_lock:161,phb_id:[42,56,73,74,75,78,79,80,81,82,84,87,88,89,90,91,92,93,95,97,98,100,101,102,103,105,106,107,134],phb_statu:[81,282,283],phbcsr:84,phberr:[226,228],phberrorlog0:84,phberrorlog1:84,phberrorstatu:84,phbfirsterrorstatu:84,phbid:[30,56,87,88,89,90,93,97,98,99,100,101,103,105],phbid_init:99,phbid_target:99,phbpblerrorlog0:84,phbpblerrorlog1:84,phbpblerrorstatu:[84,229,230],phbpblfirsterrorstatu:84,phbpciedlperrorlog1:84,phbpciedlperrorlog2:84,phbpciedlperrorstatu:84,phbplssr:84,phbregberrorlog0:84,phbregberrorlog1:84,phbregberrorstatu:84,phbregbfirsterrorstatu:84,phbrxearberrorlog0:84,phbrxearberrorlog1:84,phbrxearberrorstatu:84,phbrxearbfirsterrorstatu:84,phbrxemrgerrorlog0:84,phbrxemrgerrorlog1:84,phbrxemrgerrorstatu:84,phbrxemrgfirsterrorstatu:84,phbrxetceerrorlog0:84,phbrxetceerrorlog1:84,phbrxetceerrorstatu:84,phbrxetcefirsterrorstatu:84,phbtxeerrorlog0:84,phbtxeerrorlog1:84,phbtxeerrorstatu:84,phbtxefirsterrorstatu:84,phbver:84,philipp:[147,148,184,185,193],phosphor:[291,292],phy:[2,27,29,41,134,171,172,174,182,183,226,228,229,231,232,240,246,247,251,275,276,282,283,299],phy_map:[275,276],phy_reset:[171,172,229,231,232,240],phy_rx_clock_sel:[171,172,237,240],phy_rx_dccal:[171,172,240],phyp:[229,230],physic:[2,12,23,31,41,61,75,127,135,171,172,220,226,227,231,232,261,281,282,285,286,291,292,316],pib:[2,231],piccoli:[171,219,220,231],pick:[140,153,189,191,220,250,275,276,291,292,316],pid:[28,73,129,162,178,182,183,215,226,227,229,230,231,233,246,247,282,283,287,291,292],pie:[275,276],piec:[35,132,231,236],piggin:[171,202,203,219,220,224,226,229,231,275],pile:2,pin:[69,135,273,274,289,291,292],pir:[2,14,19,61,70,123,147,148,157,171,172,178,182,183,187,220,229,230,257,272,273,274,275,276,278,282,283,291,292,316],pkcs7:[307,309],pkcs7_get_content_info_typ:[307,309],place:[141,171,172,173,220,224,226,227,246,268,273,274,275,276,282,285,291,292,314],placehold:[131,273,274],placement:[182,183],plai:[171,172,282,284],plain:[133,171,175,203,254,275,276],plan:[172,173,174,175,183,184,185,186,193,194,202,203,204,205,220,221,222,224,225,227,228,230,232,233,234,235,236,246,247,248],planar:[171,172,231,232,259,273,274,275,276,280],plat:[20,146,273,274,275,291,292],platform:[0,2,4,5,17,20,23,25,33,35,38,41,43,44,46,47,50,51,71,77,106,114,116,118,120,122,123,124,132,133,135,141,145,146,147,148,149,151,158,159,161,162,164,166,173,174,175,178,185,188,201,206,214,215,216,217,221,222,225,227,228,229,230,233,234,235,236,238,248,251,261,277,279,281,285,286,287,288,289,293,294,295,298,299,300,304,305,310,311,314],platformw:23,plausibl:43,pldd:35,ple:35,pleas:[25,140,171],plid:[171,174,224],pll:[282,283],plu:[76,108,141],plug:[171,172,184,185,226,227,268,273,275,276,291,292],pluggabl:[135,171,175,220,256,278,282,285],plugin:[291,292],plumb:[171,172],plx:[135,213,220,221,226,227,282,285],pm_complex_reset:[231,232],pm_gp1:13,pm_mcs3_:24,pmax:[189,226,227],pmc:[202,203,221],pmcr:14,pmem0:[246,247],pmem1:[246,247],pmem:[273,282,283],pmem_disk:[246,247,273,275,276],pmem_volatil:[273,275,276],pmi:37,pmin:[189,226,227],pmu:37,pnor:[7,133,146,161,171,172,173,174,202,203,204,220,226,227,229,230,231,232,246,247,250,273,274,275,276,282,283,285,311,312,314],pnor_avail:[246,247],pnor_init:[246,247],pnppnp:2,pnv_ioda_p:106,pnv_ioda_reserve_p:201,pnv_pci_ioda2_tce_invalidate_p:106,pnv_pci_phb3_tce_invalid:106,pnv_pci_phb3_tce_invalidate_p:106,pnv_phb:106,pnv_phb_model_phb3:106,pnv_platform_error_reboot:[261,281,282,283],pnv_power_off:[217,231,233],pnv_prepare_going_down:[217,231,233],point:[1,2,3,5,13,15,21,22,24,27,35,36,37,39,56,61,68,72,75,84,85,86,88,89,90,93,97,98,101,103,104,105,108,133,141,159,162,171,172,174,178,182,183,193,196,215,217,220,226,227,228,229,230,231,233,245,246,247,248,258,261,273,274,275,276,279,281,282,284,285,287,291,292,316],pointer:[35,45,49,60,67,71,75,81,85,86,87,104,109,110,146,162,171,172,175,182,183,194,202,203,215,220,224,225,226,227,275,276,277,282,283,288,316],pointless:[182,183,226,231,232,246,247],poison:[202,203,226,227],poke:1,polic:88,polici:[20,22,47,182,183,220],poll:[41,108,134,135,154,171,172,173,182,220,226,227,229,230,254,275,276,282,283,286,287,291,292],poll_interv:[207,220],poll_link:135,poll_recurs:246,poller:[140,146,147,148,154,160,167,202,203,207,217,220,231,233,246,247,255,261,275,276,281,282,283],poller_recurs:246,pool:[35,181,208,267,273,274,316],poor:[281,282,283],poorli:[150,182,183,229,273],poppl:[147,148,171,184,185,187,193,202,203,219,220,224,226,229,231,275],popul:[2,15,35,135,144,145,171,172,180,182,183,195,202,203,220,221,222,224,226,227,229,230,231,232,246,247,268,269,271,272,273,274,275,276,282,283,316],popular:[291,292],pore:[123,133],port80:295,port80h:[291,292],port:[1,2,20,26,33,97,98,132,135,146,155,160,171,172,178,182,183,184,185,188,202,203,213,220,221,226,227,231,232,246,247,266,273,274,275,276,282,283,285,291,292,317],portabl:130,portion:[139,182,183,220,275,276],portstatusreg:84,posit:[21,22,46,62,114,171,172,221,226,227,231,233,246,247,254,261,275,276,277,291,292],possibl:[2,5,15,17,22,39,55,56,77,84,88,89,90,93,97,98,101,102,103,105,109,110,115,117,125,127,139,140,145,146,147,148,159,162,168,171,172,174,181,182,183,189,191,193,202,204,206,208,215,220,224,226,227,228,229,230,231,232,246,247,248,257,259,267,268,269,273,274,275,276,280,282,283,285,286,291,292,305,311,313,316],post:[7,37,44,71,139,201,226,228,296,316],postcondit:279,postfix:22,potenti:[146,157,171,172,181,187,208,224,226,227,229,230,240,245,246,247,267,273,274,316],power10:136,power7:[42,50,83,90,93,103,115,130,136,145,146,184,185,231,291,292,317],power8:[2,4,5,8,12,13,14,19,22,27,34,42,48,49,91,115,123,130,131,132,133,136,141,144,145,146,147,148,171,172,173,174,175,182,183,202,203,220,221,222,224,225,226,227,228,230,233,234,235,236,247,248,286,291,292,317],power8nvl:[136,257,278,282,283],power9:[4,5,8,13,14,22,29,30,33,37,38,41,42,44,49,58,106,115,120,123,131,133,136,173,174,175,182,183,204,219,222,223,225,233,234,235,236,238,246,247,248,270,272,285,291,292,298,317],power9c:136,power9n:[136,282,283],power9p:136,power:[0,2,4,5,19,21,22,28,33,34,35,36,38,40,41,42,43,54,56,70,85,102,104,118,122,123,130,132,133,134,135,136,138,140,147,148,151,153,166,174,175,176,184,185,201,202,203,204,205,213,216,217,219,220,221,222,224,225,228,229,230,231,232,233,246,247,256,258,266,273,274,275,276,278,279,282,283,284,291,292,302,310,312,313,316],power_ctl:[202,203],power_st:220,powerbu:[102,171,174,180,220,231,236,246,247],powercap:[13,110,229,230,282,283],powerflt:[213,220],powerkvm:[50,132,141,143,291,292],powermac:[202,204],powernv8:[291,292],powernv9:[291,292],powernv:[2,35,106,132,136,184,185,193,273,274,275,282,283,287,291,292],powernv_defconfig:[246,247],powernv_flash:[246,247],powernv_op_panel:[162,215,226,227],powernv_rng:[162,215,226,227],poweroff:[70,146],powerpc64:[36,138],powerpc64l:138,powerpc:[2,25,38,106,139,150,171,172,175,226,227,231,236,257,278,282,283],powersav:[13,282,283],powervm:[132,246,247],ppaidip:224,ppc405:132,ppc64:[138,202,204,246,248],ppc64el:[147,148,246,247],ppc64le:[138,246,247,248],ppc:[2,316],ppc_featur:22,ppc_feature2_darn:[180,182],ppc_feature2_scv:[180,182],ppc_stk_lroff:[282,285],ppm_special_wkup_hyp_reg:221,ppr:[246,247],pr_alert:1,pr_crit:1,pr_debug:[1,226,227],pr_emerg:[1,182,183],pr_err:[1,182,183,226,278],pr_error:[195,291,292],pr_fmt:[171,172,288],pr_info:[1,171,173,195,229,230,275,276],pr_insan:1,pr_notic:[1,171,172,173,275,276,291,292,299],pr_printf:1,pr_trace:1,pr_warn:[1,288],prabhu:[184,185,193],practic:[2,38,43,133,139,171,172,217,231,232,233,273,274,275],pradeep:[184,185],pradipta:[219,220],pratic:[282,283],prbs31:[182,183],prd:[6,31,128,146,147,148,149,164,166,170,173,178,181,185,193,198,201,205,208,220,224,231,232,233,251,254,255,267,273,274,275,276,282,285,287],prd_fw_msg:[171,172],prd_purge_cmd_reg_busi:275,prd_purge_cmd_trigg:275,prd_purge_cmd_typ:275,pre:[4,35,42,171,172,202,226,227,229,230,246,247,248,291,292,316],precis:[2,22,171,172,258,279,282,283,314],preconfigur:[226,227],predecessor:88,predict:[13,35,154,157,182,183,187,229,285],predictor:[282,285],preempt:306,preeti:[147,148],pref:188,prefac:22,prefer:[22,109,139,171,172,221,229,230,231,233,275,276,316],preferenti:[226,227],prefetch:[171,172,238,246,247,268,273],prefix:[2,24,219,226,227,228,246,247,273,274,291],prefr:[226,227],prehistor:[291,292],preliminari:[147,171,172,202],preload:[146,147,148,171,173,182,183],prem:[171,275],prepar:[55,125,135,226,229,230,231,273,274,279,282,283,287,291,292],prepare_hbrt_upd:[273,274],prepare_link_chang:[135,202,203],prereq:[282,283],prerequisit:140,prerror:[35,144,220,299],prescript:22,presdet:[213,220],presenc:[2,6,21,22,23,46,51,58,86,132,134,135,213,220,221,224,226,227,228,229,230,246,247,252,273,274,275,276,282,283,287,291,292],present:[2,4,5,8,12,13,22,28,29,32,33,34,41,42,46,48,50,51,67,70,75,84,102,106,114,120,121,127,132,139,141,145,147,148,157,162,171,172,173,177,182,183,187,193,201,202,203,206,213,215,217,220,224,226,227,228,229,230,231,233,246,247,258,266,268,270,272,273,274,275,276,279,282,283,291,292,313,316],preserv:[2,7,40,71,132,293,313],preset:[171,172],pressur:[231,232],presum:[42,246,247,273,274],pretermin:41,pretti:[1,108,117,171,172,202,203,220,231,232,246,247,286,291,292],prettier:[147,149],prev:[146,171,174],preval:151,prevent:[77,79,95,147,148,160,161,171,172,174,182,183,202,204,226,227,229,230,231,232,246,247,250,251,254,266,268,273,274,275,276,277,282,283,285,287,288,289,291,292,311,313,316],previou:[109,110,118,119,120,138,143,147,171,172,173,174,178,179,180,181,182,203,204,217,226,231,232,233,246,247,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,278,279,280,281,282,283,288,289,290,291,292,312,316],previous:[73,75,81,147,148,154,162,171,172,220,224,226,227,231,232,234,271,272,275,276,287,291,292,316],prevous:221,price:[282,283],pridhiviraj:[171,193,202,203,204,219,220,224,226,229,231,275],primari:[2,35,58,171,172,193,202,203,246,247,272,275,276],primarili:56,principl:39,print:[0,1,39,126,134,147,149,154,160,162,171,172,173,178,182,183,199,200,202,203,207,215,220,221,224,226,227,228,229,230,231,232,236,246,247,253,257,261,268,273,274,275,276,278,281,282,283,284,287,288,291,292,306],print_:145,printf:[1,35,36,44,126,220,224,226,227],printk:[217,231,233],prio:[220,316],prior:[5,8,42,43,100,106,120,134,146,147,149,165,180,202,204,224,231,232,246,247,258,261,279,281,282,283,286,291,292,311,312,313],prioriti:[1,28,57,62,68,121,129,132,134,147,148,171,172,174,182,183,200,226,227,229,230,316],privat:[35,139,313],privileg:[21,22,171,175],prlog:[1,164,171,172,226,227,246,247,278,288],pro:161,proactiv:[166,182,183],probabl:[58,133,155,171,172,184,185,231,232,250,259,261,273,274,275,276,280,308],probe:[0,86,135,182,183,189,220,221,226,227,246,247,261,272,273,274,275,276,279,281,282,283,285],probe_phb4:[272,275,276],problem:[21,50,68,78,134,139,140,145,160,171,172,173,176,178,181,182,183,202,203,204,208,212,219,220,224,226,227,228,229,230,231,232,236,238,245,246,247,250,251,252,257,258,266,273,274,275,276,278,279,282,283,285,287,288,291,292],problemat:[2,246,247,282,283],proc0:[171,172,182,183,249,282,285],proc1:[171,172],proc:[2,36,37,70,109,110,119,141,171,174,220,226,227],proc_chip:[171,172,246,247],proc_gen:146,proc_init_data:220,proc_int_lin:220,proce:[131,182,261,281,282,283],procedur:[40,41,171,172,174,180,182,183,202,203,226,227,228,229,231,232,237,239,240,246,247,262,268,269,273,274,275,276,282,283,291,292,295,311,313],proceed:[182,183,246,248],process:[0,17,23,28,35,37,71,73,75,77,118,122,133,134,147,148,161,162,164,171,172,173,182,183,184,185,187,193,197,202,203,204,215,217,219,220,221,224,226,227,229,230,231,233,258,266,273,274,275,276,279,282,283,287,291,292,306,312,313,315,317],process_occ_reset:[226,227,231,232],process_one_work:[217,231,233,261,281,282,283],processor:[2,5,6,14,26,28,33,34,35,40,43,44,50,51,57,58,67,68,70,73,77,93,103,110,114,115,120,121,122,130,132,134,170,171,172,180,182,183,184,185,194,219,220,226,227,231,232,234,241,246,247,257,268,271,273,274,275,276,278,282,283,285,304,308,316],procudur:41,produc:[2,134,141,178,182,183,220,226,257,275,276,277,282,283,291,292],product:[25,26,38,140,141,171,172,202,203,204,205,206,220,226,228,282,283,304,314,316],profil:[229,230],prog:[213,220,282,285],progif:41,program:[37,40,41,56,71,171,172,197,202,203,220,226,227,229,230,231,232,237,260,273,274,275,276,282,283,316],programm:[246,247],progress:[0,35,41,96,109,110,113,119,127,146,184,186,204,206,220,229,230,263,268,273,275,276,282,283,285,286,291,292],prohibit:81,project:[22,138,171,172,182,183,202,203,220,282],promin:[202,203],promot:295,prompt:[171,172,195,202,203,220,221],prone:220,prop:21,propag:[229,230,291,292],proper:[7,171,172,175,193,220,226,227,257,271,275,276,282,284],properli:[2,17,118,133,161,162,171,172,173,182,183,193,197,202,203,206,212,213,215,220,222,226,227,228,229,230,231,232,233,238,275,276,282,283,287,291,292,306,311,312,314],properti:[2,6,7,8,9,10,13,14,15,16,17,18,19,20,21,22,24,29,34,38,44,56,59,69,70,84,87,88,89,90,93,97,98,99,100,101,103,105,110,114,121,130,132,134,145,151,155,171,172,173,174,175,182,183,184,185,187,194,201,202,203,204,220,222,226,227,228,229,230,231,232,234,246,247,250,255,257,258,268,273,274,275,276,279,282,283,285,287,291,292,312,315,316,317],propos:[182,183,231,232,261,291,292,311],propreti:[114,204],proprietari:28,protect:[171,172,202,203,240,246,247,254,256,275,276,277,282,283,311,313],protector:[144,160,171,172,184,185,202,203,212,220],protocol:[22,35,171,172,182,183,220,226,227,231,232,250,251,258,275,276,279,282,283,285,291,292],protoocol:[250,275,276],prove:[140,226,228,291,314],proven:[171,172,273,274,291,292],provid:[0,2,9,21,22,23,28,34,35,37,41,44,51,58,71,75,118,119,120,121,123,132,133,138,139,157,161,171,172,182,183,187,189,202,203,220,221,224,225,226,227,229,230,231,232,233,246,247,251,257,258,273,274,275,276,277,279,282,283,285,291,292,298,304,311,312,314,315,316],provis:316,proxi:[231,232],prsv:[171,172],psafe:[201,202,203],pseri:132,pseudo:[131,273,274],psi:[2,144,146,151,153,171,172,202,203,217,220,226,227,231,233,299],psihb:2,psl:[102,171,172,182,183,231,232],psr:[13,109,171,172,229,230],psscr:[220,231,232],pstate:[70,145,171,172,173,174,178,182,183,189,201,202,203,226,227,248,280,282,283,310],pstore_dump:[261,281,282,283],ptcr:72,pte:193,pter:[231,232],ptr:[41,171,172],publicis:[226,227],publicli:[136,273],publish:[40,226,227,314],pull:[122,171,172,175,220,231,232],pump:[220,269,275,276],punish:[291,292],punt:[182,183],pure:[2,66,132,133,140,143,206,275,276],purg:[275,287,291,292],purpos:[2,4,41,42,83,133,134,140,171,172,173,182,183,220,231,232,246,247,250,275,276,291,292,304,316],purr:[2,58,146],push:[35,171,172,220,224,241,258,279,282,283],put:[2,13,35,56,58,133,171,172,174,179,182,183,193,202,203,204,205,206,216,220,226,227,228,229,238,246,247,258,275,279,282,283,287,291,292],putmemproc:224,putscom:[182,202,203,229,230],putspi:275,pvr:[136,161,171,172,182,220,226,227,229,230,257,275,276,278,282,283],pvr_type_p9p:[282,283],pwc:115,pwr:135,pwrctl:[282,283],python:[202,203,273,274],qemu:[132,147,148,184,185,202,203,220,221,226,228,273,274,279,282,283,286,287,291,292],qemu_bin:273,qflag:316,qindex:316,qpage:316,qsize:316,qtoggl:316,qtrace:[171,172,202,203],qtracer:[171,172],quad:[14,171,172,275,276,282,283],quadrat:[275,276],qualiti:139,queri:[54,57,70,71,74,118,158,171,172,184,185,190,191,193,231,234,246,247,256,273,274,275,276,278,282,283,284,316],question:[229,230],queu:[62,67,70,129,162,202,203,215,220,268,272,273,274,275,276],queue:[35,38,62,67,68,118,131,146,162,165,171,172,201,202,203,213,215,220,224,226,227,228,229,230,231,232,258,275,279,282,283,312],quick:[171,172,254,275,276],quicker:[171,172],quickli:[182,183,268,273,286,291,292],quiesc:[113,180,182,231,232,246,247,248],quiescd:[246,248],quiesce_hold:113,quiesce_lock_break:113,quiesce_reject:113,quiesce_resum:113,quiesce_resume_fast_reboot:113,quiescent:316,quiet:[1,273],quieten:[171,172,246,247,248,252,272,273,274,275,276],quirk:[146,193,202,203,211,220,268,273,274],quirk_no_chiptod:[275,276],quirk_no_rng:[291,292],quit:[44,150,171,172,182,183,220,229,230,250,273,274,275,276,282,284,291,292,314],quiten:[246,247],r10:132,r11:[275,276,282,285],r12:[132,225,275,276],r13:[132,160,212,220,246,247,282,283],race:[146,147,148,157,159,162,171,172,187,191,194,196,202,203,215,217,220,229,231,233,241,246,247,257,278,282,283,316],rach:241,raci:[246,247],racili:[171,172],rack:[275,276],rackspac:136,radix:[72,115,194,202,203,220,226,227,282,285],rafael:202,raid:[282,283,287,291,292],rainier:[136,310],rais:[19,108,122,160,171,172,182,183,193,220,226,227,229,230,231,232,240,246,247,275,276,291,292,311,315],ram:[45,147,148,273,274,275,276,282,283],ramanna:[184,185],ran:[71,162,165,215,224,226,227],random:[28,171,172,180,182,198,202,203,220,226,227,229,231,232,241,259,280],rang:[2,7,13,15,24,30,31,40,50,56,74,88,89,93,100,103,107,134,147,149,155,165,171,172,174,181,182,183,184,185,202,203,208,220,221,222,224,226,227,229,230,242,254,257,258,267,273,274,275,276,277,279,282,283,284,291,292,316,317],ranganathprasad:[171,275],raptor:136,rare:[153,159,169,170,196,226,227,241,246,247,248,279,282,283],rashmica:275,rate:[2,52,75,145,165,182,183,184,185,265,305],rate_phi:75,rate_sz:75,rather:[1,42,44,76,110,115,117,130,131,132,144,150,152,171,172,173,177,178,182,183,184,185,193,198,202,203,206,220,221,222,224,226,227,229,230,231,232,238,239,240,246,247,250,251,253,254,257,258,259,261,272,273,274,275,276,278,279,280,281,282,283,285,287,291,292,298,311,312],ratio:[16,38,42,229,230],raw:[2,182,183,202,203,275,276,281,282,283,287,291,292],rawhid:[220,224,275],rbr:[231,232],rc1:[5,38,42,81,139,142,146,153,171,173,182,186,192,194,202,204,217,219,221,223,225,226,228,229,231,233,246,248,268,273,275,277,282,284,291],rc2:[8,38,139,142,146,171,174,192,202,205,219,222,223,226,231,234,246,275,282,285],rc3:[38,139,142,146,171,175,202,206,231,235,236,282],rc4:[4,38,139,142,171,202,231,268,273],rc5:[38,142,231],rc_rom_verifi:[171,174],rcs:136,rcu:[193,208,217,231,233],rcu_dynticks_eqs_exit:37,rcu_idle_ent:37,rcu_sch:[217,231,233],rcx:139,rdy:[171,174,246,248,261,281,282,283],reach:[0,50,101,118,171,172,226,227,258,279,282,283,287,291,292,316],reaction:51,reactiv:[182,183],read:[0,2,9,12,20,28,35,37,41,50,51,52,67,68,69,70,76,77,78,87,102,107,108,109,110,117,120,128,129,132,133,146,161,162,171,172,175,176,182,183,184,185,188,193,194,202,203,204,205,208,215,217,220,221,222,224,226,227,229,230,231,232,246,247,250,251,252,253,254,258,261,268,269,271,272,273,274,275,276,277,279,281,282,283,285,287,291,292],read_core_fir:[275,276],read_prd_msg:287,readabl:[21,22,35,132,134,171,172,202,203,226],reader:[132,291,292],readi:[35,202,203,258,261,279,281,282,283,284,291,292],readlin:[273,274,282,285],readm:[291,292],readoffset:[129,268,273,274],readonli:[220,282,285],real:[36,37,38,41,42,47,60,88,89,93,103,132,134,140,153,171,172,178,182,183,193,202,203,220,227,231,232,273,274,287,291,292,316],realist:[229,230],realiti:[246,247],realli:[165,171,172,202,204,226,227,228,229,230,246,247,261,273,274,275,276,281,282,283,285],realloc:[269,275,276,287],reap:13,rearrang:[231,232],reason:[5,17,35,42,46,50,51,58,70,121,122,132,139,171,172,182,183,220,224,226,227,228,238,246,247,250,253,258,268,272,273,274,275,276,279,282,283,291,292,304,311,312],reason_cod:35,reasoncod:[171,174],reassoci:[217,231,233],rebalanc:[291,292],reboot2:40,reboot:[0,35,40,47,51,70,102,113,145,146,147,148,149,151,152,154,162,173,174,178,184,185,202,203,204,214,224,226,231,232,246,247,250,257,258,261,263,268,272,273,274,278,279,280,281,282,283,285,286,289,291,292,294,296,297,298,305,313],reboot_typ:44,rebuild:[224,246,247,291,292],recal:[275,276],recalcul:313,receipt:54,receiv:[28,35,57,60,70,75,104,121,129,131,133,144,153,162,166,171,172,173,182,183,187,189,215,220,226,227,229,230,231,232,246,247,248,258,268,272,273,274,275,276,279,282,283,284,288,314],recent:[14,139,140,171,172,182,183,194,195,202,203,219,220,224,229,230,231,232,246,247,257,268,273,275,277,279,282,283,291,292],reciev:[226,227,228,261,281,282,285],recip:[22,246,248],recipi:[273,274],recogn:[229,230,316],recognis:[171,172,220,250,275,276],recommend:[2,44,88,132,138,147,148,157,165,171,172,178,179,180,181,226,227,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,278,279,280,281,286,287,288,289,290,294,295,296,297,299,300,301,302,303,305,306,307,309,311,316],reconfigur:[171,172,242],reconstitut:316,record:[51,84,138,154,161,171,172,182,183,219,221,231,232,282,283,291,292,294,314,316],record_id:[182,183],record_typ:35,recov:[58,70,150,157,159,162,166,171,172,178,182,183,187,193,196,215,226,227,229,230,240,246,247,258,261,279,281,282,283,285,287,291,292,313],recover:[58,122,159,171,172,196,202,203,231,232,272,275,276,282,283],recoveri:[6,58,70,102,134,146,150,161,164,169,170,171,172,181,182,183,208,226,227,228,229,230,231,232,236,242,246,247,251,258,267,271,272,273,274,275,276,279,282,283,284,287,291,292],recurs:[146,160,171,172,207,220,246,247,273,274],redbud:[282,283],redefin:313,redirect:[155,226,228],redistribut:138,redo:168,redon:[282,283],reduc:[102,144,147,148,153,171,172,182,183,193,220,226,227,231,232,236,254,258,273,274,275,276,279,281,282,283,287,291,292],reduct:[182,183],redund:[35,162,215,246,247,258,279,282,283],ref:[35,58,67],refactor:[146,161,171,172,182,183,226,227,237,282,283,298],refcount:[182,183,246,247,282,283,287,291,292],refer:[5,9,10,13,21,24,25,35,37,41,68,70,73,107,118,126,131,132,141,171,172,217,220,221,226,228,231,232,233,246,247,273,274,287,291,292,311],referenc:[2,31,311],reflect:[35,88,171,172,182,183,213,220,226,227,246,247,259,280],reformat:[275,276,313],refresh:136,refus:[213,220],reg:[2,3,9,13,24,26,27,28,29,30,31,32,33,69,84,106,130,162,171,172,178,182,183,197,202,203,215,220,226,227,241,245,246,247,257,273,274,275,276,288,301,316,317],reg_format:[130,257,275,276],regard:[35,68,86,135,188,189],regardless:[182,183,229,230,258,279,282,283,316],regb:[84,229,230],regex:[224,226,227],region:[2,3,27,31,33,38,39,50,89,103,171,172,173,175,180,182,183,184,185,202,203,220,221,224,226,227,228,231,235,238,246,247,254,261,275,276,277,281,282,283,311,313,314],regist:[2,13,21,22,28,40,42,50,51,58,69,70,71,84,87,115,122,129,132,135,146,147,148,149,150,159,162,171,172,173,174,176,178,182,183,188,193,195,196,197,199,200,202,203,213,214,219,220,221,224,226,227,228,229,230,231,232,236,238,242,245,246,247,248,251,255,257,261,268,269,271,272,273,274,275,276,278,281,282,283,284,285,287,289,291,292,302,314,316,317],register_consol:[291,292],register_dump_region:146,register_early_udbg_consol:[291,292],registr:[7,38,71,208,231],regress:[13,220,246,247,282,285,287,291,292],regular:[4,29,219,220,221,222,223,224,225,226,227,228,246,247,275,276,311],reimplement:135,reinit:[95,115,133,171,174,231,234],reinit_scop:95,reiniti:[115,221],reinstat:[229,230],reject:[17,47,171,172,178,182,183,246,247,261,281,282,285],rel:[133,147,148,184,185,292],relai:131,relat:[17,22,35,41,49,58,61,68,69,70,76,131,159,171,172,182,183,195,196,202,203,205,220,226,227,229,231,232,246,247,257,266,269,273,275,276,291,292,310,311,316],relationship:[34,146],relax:[41,74,182,183,275,276],releas:[4,35,42,49,67,71,75,81,113,131,132,136,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310],relev:[13,29,35,42,44,246,247,248,291,292,316],reli:[5,58,101,106,131,132,135,171,172,182,183,193,202,204,229,230,238,246,247,273,275,276,277,282,283,287,291,292,316],reliabl:[70,147,148,213,220,226,228,246,247,273,274,282,293],relianc:[164,246,247,282,285],relic:[132,229,230],relief:[231,232],reliev:[182,183],reload:[43,129,151,162,163,209,213,214,215,216,217,220,224,229,231,233,268,273,274,275,276],reloc:[103,193],remain:[1,37,39,41,70,108,114,171,172,173,182,183,202,203,217,222,226,227,231,232,246,247,248,258,275,276,279,282,283,287,291,292,313,316],remaind:[4,182,183],remap:[171,172,238,273,274],remian:[201,202,203],remind:[287,291,292],remnant:[42,291,292],remot:[144,171,172,222,259,280,314],remov:[0,2,22,38,44,61,71,81,90,93,101,103,104,130,134,135,136,137,144,146,147,148,161,162,164,172,174,179,182,183,187,193,202,203,204,206,215,221,226,228,229,230,232,241,246,247,254,258,261,262,266,267,268,273,274,276,277,279,281,286,287,295,305,306,311,315,316],renam:[130,147,148,171,172,182,183,220,226,227,246,247,250,275,276,291,292],render:[246,247,313],rendez:[246,247,272,275,276],rendezv:[246,247],renegoci:220,rent:220,renumb:[226,227],reorder:[273,274],repeat:[291,292],repeatedli:[282,283],repetit:306,replac:[1,8,34,42,50,68,130,132,146,147,148,149,154,171,172,176,177,178,179,180,181,188,189,190,195,196,197,198,199,200,201,202,204,207,208,209,210,211,212,213,214,215,216,217,218,237,238,239,240,241,242,243,244,245,246,247,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,279,280,281,282,285,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,305,306,307,309],replai:[121,314,316],repli:[139,256,278,282,283,284],repo:36,report:[17,35,36,41,58,70,117,127,130,132,139,147,148,149,153,157,161,164,169,172,174,175,177,181,182,183,184,185,187,193,202,203,204,208,230,232,242,246,247,248,250,251,258,261,267,268,271,272,273,274,276,279,281,282,283,284,285,291,292,301,311,312,316],report_cl_pair:316,report_error:35,repositori:[171,172,275],repost:[162,215,291,292],repres:[2,4,14,15,16,18,19,21,28,31,33,34,49,56,76,77,88,89,90,93,97,98,103,105,121,135,171,172,175,202,203,220,282,283,291,292,314,316,317],represent:[2,24,132,267,273,274],reproduc:[246,247,282,283],reprogram:58,requent:131,request:[14,23,28,37,41,43,44,47,50,58,60,67,68,70,71,73,74,75,76,77,78,84,96,97,102,108,109,110,115,117,118,119,120,121,122,127,129,131,135,139,146,147,149,162,166,171,172,182,183,189,193,201,202,203,208,213,215,217,220,226,227,229,230,231,232,234,246,248,255,258,261,265,269,271,273,274,275,276,277,279,281,282,283,285,286,291,292,305,315,316],request_en:74,requeu:[273,274],requi:[226,228],requir:[0,2,4,17,21,22,28,35,41,42,46,49,52,56,58,70,76,84,91,117,118,122,126,130,131,132,135,147,149,150,161,162,171,172,174,179,182,183,193,201,202,203,214,217,221,224,225,226,227,229,230,231,232,233,246,247,248,251,258,266,267,273,274,275,276,279,282,283,284,285,286,287,289,291,292,298,304,310,311,314,316],requisit:40,requr:23,requri:73,rerun:41,rescu:134,resend:[35,50,51,159,171,172,191,258,279,282,283],reserv:[0,3,7,15,16,21,23,24,25,30,32,35,38,39,41,42,60,103,117,131,132,133,139,147,148,149,165,171,172,175,181,182,183,193,201,202,203,208,220,221,222,224,226,227,228,229,230,231,232,246,247,248,250,261,267,273,274,275,276,281,282,284,286,291,292,296,314,316],reserved2:60,reserved_1:70,reset:[0,1,4,41,43,50,68,70,87,96,100,113,122,129,133,134,135,144,150,151,158,160,162,163,167,168,171,172,173,174,175,178,180,182,183,184,185,190,191,193,201,202,203,205,209,211,212,213,214,215,216,217,220,221,224,226,227,228,229,230,231,232,233,236,238,241,245,246,247,251,255,258,261,264,266,268,273,274,275,276,279,280,281,282,283,287,288,289,291,292,296,298,307,309,311,316],reset_ntl:[171,172,237,240,291,292],reset_ntl_releas:[291,292],reset_partit:[231,232,287,291,292],reset_pm_complex:[226,227,231,232],reset_scop:96,resev:[224,226],resid:[13,145,171,172,182,183,229,231,236],residu:[58,146,246,247],resili:[158,190,205],resist:[118,311,313],resolut:[281,282,283,291,292],resolv:[171,172,191,194,224,226,227],resons:209,resort:[5,182,183,282,283,313],resourc:[0,19,37,67,68,100,131,134,139,146,147,148,171,172,173,204,229,230,231,232,261,267,273,274,275,276,281,282,283,286,291,292],resource_dealloc:35,resource_id:[26,171,172],resp_siz:[231,232],respect:[5,34,58,171,172,224,252,258,268,269,273,275,276,279,282,283,285,311,316],respond:[98,162,171,172,215,226,227,229,230,242,258,266,273,274,279,282,283,287,291,292,313],respons:[35,67,70,73,108,109,110,117,119,157,161,162,167,168,171,172,182,183,187,193,202,203,209,215,217,226,227,228,229,230,231,233,238,246,247,256,258,261,266,268,269,273,274,275,276,279,281,282,283,286,288,291,292,311,314,316],respos:[163,216,226,227],respresent:[246,247],rest:[51,220,226,227,246,247,261,275,276,281,282,283,287,291,292,311],restart:[162,193,215,220,226,227,261,281,282,283,287,291,292],restor:[13,123,171,172,201,202,203,226,227,229,230,231,232,236,246,247,248,251,258,275,276,277,279,282,283,316],restrict:[171,174,246,247,291,292],restructur:[202,203],result:[4,14,40,43,47,56,101,108,131,139,150,157,171,172,174,182,183,187,197,201,202,203,204,208,213,220,226,227,229,230,231,232,233,243,246,247,254,257,258,261,266,268,271,273,274,275,276,277,278,279,281,282,283,285,286,287,288,291,292,314,316],resum:[0,113,226,227,231,232,246,248],resvp:[261,281,286,291,292],resync:[58,116],resynchronis:116,ret:[231,232],ret_from_kernel_thread:[217,231,233,261,281,282,283],retain:[171,172,231,232,275,276],retrain:[226,228,231,232,251,275,276,282,283],retreiv:[50,54,77,81,83,84,92,110,112,117,125],retri:[43,44,58,76,125,134,153,158,160,162,168,171,172,190,191,193,202,203,208,213,215,217,220,226,227,228,229,230,231,232,233,236,242,243,258,261,269,271,273,274,275,276,279,281,282,283,287,291,292],retriev:[7,38,40,51,53,71,84,85,86,117,118,135,220,221,226,272,273,275,276,282,283,300,316],retrigg:316,retriv:[70,135],returend:42,reus:[41,226,227,246,247],rev:[41,134,164,213,220,251,273,274,275,276],reveal:[201,202,203],revers:[171,172,193],revert:[145,146,171,172,175,182,183,202,204,229,230,231,234,305],review:[2,132,139,147,148,161,164,184,185,187,193,202,203,204,259,280],revis:[21,26,27,30,41,134,141,159,171,172,174,182,183,196,202,203,224,226,227,229,230,231,232,273,274],revisit:[171,172,273,274],revolv:[275,276],reword:[195,202,203],rework:[146,171,172,184,186,193,202,203,204,220,226,227,231,232,246,247,258,273,274,275,276,279,282,283,296],rewrit:[220,226,227,231,232,246,247,275,277],reza:[171,219,226,229,231,275],rfc:[139,220],rhel6:150,rhesu:[2,136,151],rick:[229,230],rid:[16,97,100,134,147,149,182,183,189,202,203,226,228,273],right:[2,28,37,138,152,171,173,178,182,183,184,185,226,227,228,246,247,258,268,272,273,275,276,279,282,283],ring:316,riser:[246,247,259,280],riser_id:[256,278,282,283],risk:[224,273,281,282,283],rlen:225,rmw:[226,227],rng:[171,172,229,230,241],road:231,rob:229,robert:[171,231],robust:[168,171,172,231,258,279,282,283],role:[153,282,284],roll:[224,275,277],rollov:164,rom:[23,171,172,202,203,291,292,314],romcod:[202,203],romem:[275,276],romulu:[136,171,172,220,246,247,250,273,274,279,282,283,285,291,292],room:[53,226,228,258,279,282,283,291,292],root:[33,34,38,53,88,132,135,160,167,171,172,174,188,202,203,221,224,226,227,231,232,246,247,258,275,276,279,282,283,285,291,292,314],rootcmplxstatu:84,rooterrorstatu:84,rootf:[246,247],ror:35,rough:[22,171,172],roughli:[36,76,139,141,168,184,185,217,229,231,233,258,279,282,283,313],round:229,rout:[2,41,58,171,172,189,202,203,316],routin:[67,171,172,220,226,227,246,247,271,275,276],rpm:[4,184,185],rpr:[147,148,226,227],rr_queue:[163,216,226,227],rrba_addr:134,rsrc:34,rst0027:10,rst:[202,203,231,233,311,314],rsv3:84,rsync:[226,227],rta:76,rtc:[38,42,108,114,144,145,146,147,148,162,184,185,215,226,227],rtc_dev_ioctl:[162,215,226,227],rtc_read_timeout_m:108,rtc_set_tim:[162,215,226,227],rtt:[30,101],rtt_addr:134,rule:[2,4,38,139,171,172,173,174,175,179,182,183,184,185,186,187,188,189,190,191,192,193,195,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,273,274,275,276,277,282,283,284,285,291,292,316],run:[6,8,13,17,21,27,35,36,37,39,41,42,47,58,61,70,73,131,132,133,139,140,141,144,145,146,147,148,153,161,164,165,166,167,168,171,172,174,180,182,183,184,185,193,205,207,217,220,221,226,227,229,230,231,232,233,235,236,240,246,247,248,257,258,260,261,268,272,273,274,275,276,277,279,281,282,283,285,286,287,288,291,292,307,309,314],run_command:[273,274],run_sm:[182,183,282,283],runtim:[0,1,4,5,6,38,39,51,133,138,145,161,168,171,172,175,182,183,206,246,247,254,273,274,275,276,286,291,292,316],russel:[171,184,185,187,193,202,203,219,220,224,226,229,231,275],rx_dccal:41,rx_fifo_address:28,rx_pr_phase_step:[231,232],rx_rc_enable_auto_rec:[275,276],rx_train:41,rxe:[231,232],rxe_arb:[231,232],rxerr:164,rxfifo:[28,129,229,230,268,273,274],ryan:275,s002204:[213,220],s1014:136,s1022:136,s1024:136,s64:120,s812l:136,s821lc:136,s822l:136,s822lc:136,sad:[147,149],safe:[42,44,55,70,81,132,171,172,202,203,204,224,226,227,229,230,246,247,248,273,274,275,281,282,283,291,292,313],safeguard:[171,172,239],safer:[171,173,193],safeti:131,sai:[35,70,150,171,172,182,183,226,228,246,247,255,275,276,282,285,291,292,316],said:[139,220,275,276],salgaonkar:[147,148,164,171,184,185,187,193,202,203,219,220,226,229,231,275],sam:[35,184,185,193,202,203,231],same:[0,2,14,17,22,28,37,44,52,70,72,88,95,100,103,108,117,120,122,131,134,138,140,141,146,154,157,160,171,172,173,174,178,182,183,184,185,187,188,195,202,203,207,217,220,221,222,226,227,228,229,230,231,232,233,241,246,247,248,250,257,266,269,271,273,274,275,276,277,282,283,284,285,287,291,292,311,313,316],sampl:[24,37,38,162,171,172,174,215,217,220,226,227,231,232,246,247,261,273,274,281,282,284,287],sampsel:24,samsung:221,samuel:[147,148,161,171,184,185,229,231,275],san:138,sandwich:4,sane:[171,172,254,275,276,277],sanit:[224,226,227,268,273],saniti:[61,180,182,183,193,226,227,246,247,291,292],sapphir:2,sastri:[202,203,204],sata:[275,276,282,285],saturdai:[200,299],save:[1,13,44,50,122,133,162,214,229,231,232,236,273,274,275,276,282,283,285,291,292,302,314,316],saw:275,sb_verifi:[171,172],sbe:[38,40,164,182,226,227,231,232,246,247,265,275,276,286,288,291,292,305],sbin:182,scalabl:[275,277],scale:[24,134,136,189,226,227,231,232],scan:[58,171,172,182,183,184,185,201,273,274,275,276,291,292],scare:[202,231,232],scari:[220,231,232,246,247],scatter:47,scenario:[0,51,113,135,151,171,172,202,217,221,231,233,258,261,275,276,279,281,282,283,301,313],schedul:[114,133,171,172,202,204,229,230,265,275,276,305],scheel:224,scheme:[4,38,120,132,143,144,226,227,246,247,311,316],schreiter:219,scl:[266,273,274],scom:[2,13,27,29,37,61,171,172,178,182,183,201,220,221,224,226,227,228,231,232,238,242,246,247,273,274,275,276,282,283,284,287,291,292,317],scom_read:[201,202,203],scom_writ:[201,202,203],scomc:[246,247],scomd:[246,247],scome:[246,247],scope:[35,95,171,172,193,220,269,275,276],score:226,scp:[226,227],scratch:[132,273,274],screen:[127,220,229,230,231,232],scribbl:[275,276],script:[6,133,161,170,171,172,184,185,202,203,205,220,226,227,246,247,275,282,285,291,292],scrub:[171,172,181,208,220,231,232,241,267,273,274],scsi_transport_fc:[162,215,226,227],scsi_transport_sa:[162,215,226,227],scv:[21,180,182],sda:[266,273,274],sdr1:219,search:[171,172,174,182,183,203,226,227],sec:[52,217,231,233,246,247],secboot_tpmnv_control_index:313,secboot_tpmnv_vars_index:313,second:[1,2,70,113,114,117,127,146,147,148,149,150,162,171,172,173,182,183,184,185,186,187,188,189,190,191,202,203,204,215,217,220,221,225,226,227,228,229,230,231,232,233,246,247,248,254,258,266,268,273,274,275,276,277,279,282,283,284,287,289,291,292,316],secondari:[2,38,42,58,113,133,171,172,202,203,257,272,275,276,278,282,283,287,291,292],secondary_cpu_entri:[182,183],secondary_wait:[182,183],secondli:[182,183,226,227,229],secti:35,sectio:35,section1:35,section:[4,17,35,39,58,76,132,171,174,202,203,226,227,231,232,275,276,282,283,285,291,292,311,313],sector:[229,230],secur:[23,38,42,133,173,174,182,183,202,203,205,220,226,227,231,232,245,253,257,266,273,274,275,276,278,282,283,294,304,311,313],secure_boot_headers_s:[275,276],secureboot:[3,17,25,38,171,172,174,182,183,202,203,311,313,314],secureboot_init:314,secureboot_tpm_info:[171,172,246,247],secureboot_verifi:[171,172,314],secvar:[5,306,307,309],secvar_backend_driv:311,secvar_flag_protect:[311,313],secvar_flag_volatil:311,secvar_nod:311,secvar_storage_driv:311,secvar_update_bank:311,secvar_util:306,secvar_variable_bank:311,see:[1,2,4,5,7,17,19,24,27,29,37,40,41,44,45,47,50,52,55,56,57,58,59,62,63,64,65,67,68,70,71,76,77,78,108,110,115,119,122,127,132,133,134,137,138,139,141,144,151,155,171,172,173,174,175,182,183,184,185,186,187,188,189,190,191,192,193,195,202,203,204,205,206,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,246,247,248,272,273,274,275,276,277,281,282,283,284,285,286,291,292,298,311,313,314,315,316],seem:[81,140,165,171,172,202,204,220,224,226,227,229,231,234,246,247,255,257,258,259,261,273,274,275,276,278,279,280,281,282,283,285,287,291,292,311],seen:[24,135,157,164,171,182,183,187,220,229,230],seeprom:[0,219],segment:[2,30,90,103,134,147,149,171,172,238,282,285],segment_num:90,segment_numb:134,segment_s:[103,134],sel:[0,24,35,37,147,148,149,161,166,184,191,193,220,226,227,288],sel_head:35,select:[17,20,22,28,56,88,90,93,97,103,105,171,172,175,226,229,246,247,268,273,282,283],self:[123,182,183,231,232,246,247,248,311],semant:316,send:[0,35,47,51,58,67,68,70,71,139,140,150,161,162,165,166,171,172,174,181,184,185,189,193,202,203,205,208,209,215,217,220,224,226,227,229,230,231,232,233,246,247,248,249,258,261,267,272,273,274,275,276,279,281,282,283,284,288,291,292,313,314,315],senichev:275,sens:[171,172,229,230,246,247,248,275,276,282,283,291,292,316],sensibl:[55,141,160,226,228,246,247,275,311],sensist:23,sensit:[13,121,161,246,247,316],sensor:[5,15,16,38,42,54,110,120,146,151,162,167,175,182,183,184,186,206,213,220,226,228,231,235,242,246,247,273,274,299],sensor_data:120,sensor_group:[178,182,183],sensor_handl:120,sensor_hndl:120,sensor_num:35,sensor_typ:35,senstiv:23,sent:[0,35,41,52,68,104,109,110,114,119,120,134,135,139,144,163,171,172,182,183,201,202,203,216,226,227,231,232,246,247,258,261,263,275,276,279,281,282,283,284,288,297],sep:[231,233,301],separ:[2,4,35,51,108,132,171,172,208,222,226,227,231,246,247,258,275,276,279,282,284,291,292,316],seper:[224,226],septemb:[161,163,164,165,166,197,198,199,200,216,265,303],seq:[231,232,275],sequenc:[38,118,133,135,159,162,166,171,172,173,182,183,196,202,203,205,209,215,226,231,232,241,246,247,258,271,273,274,275,276,279,281,282,283,285],sequenti:[56,134,312],sequoia:[231,232,282,283],ser_buffer_out_timeout:[217,231,233],seredynski:275,seri:[35,130,139,162,163,171,176,177,178,179,180,181,184,187,188,189,192,202,208,209,210,213,214,215,216,217,218,221,231,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,278,279,280,281,282,286,287,288,289,290,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311],serial:[1,2,26,34,35,68,132,147,148,152,171,172,180,209,217,220,231,233,246,247,273,274,275,276,282,283],serialis:226,seriou:[178,182,183],serirq:[202,203,220,226,227],serv:[68,282,283],server:[2,57,113,121,122,134,136,161,171,172,220,231,232,275,291,292,316],server_no:[112,124],server_numb:[57,121,134],servic:[0,3,5,34,35,38,42,43,44,50,51,67,73,77,110,114,120,133,140,147,149,171,172,220,221,231,232,246,247,261,281,282,283,291,292],ses:[162,215,226,227],session:[217,231,233,275,276],set:[0,1,2,4,10,14,15,16,17,18,19,20,21,22,35,38,41,42,47,48,50,56,57,58,61,68,70,72,73,74,75,78,87,88,89,93,98,99,101,103,104,105,107,108,109,110,112,114,115,118,121,122,123,124,127,130,131,134,135,136,137,146,147,148,150,157,160,161,162,164,169,171,172,173,177,178,179,180,182,183,184,185,187,193,195,201,202,203,204,205,206,215,216,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,234,236,237,238,244,245,246,247,248,250,251,256,261,266,268,269,271,272,273,274,275,276,278,281,282,283,284,285,286,287,291,292,298,299,311,313,316],set_attention_st:135,set_capi_mod:[282,283],set_irq_config:220,set_mv:97,set_mve_en:98,set_opal_consol:[273,274],set_p:[100,282,284],set_peltv:101,set_phb_mem_window:103,set_power_st:135,set_queue_info:220,set_vp_info:220,set_wdt:[273,274],set_xiv:[160,212,220,316],set_xive_p:105,setpci:220,setter:[246,247],settl:[226,227],setup:[22,38,41,48,52,71,73,75,150,159,161,178,182,183,196,202,203,220,221,226,227,229,230,246,247,273,274,275,281,282,283,285,287,291,292,312],setup_arch:[291,292],sever:[35,58,70,83,92,130,132,141,147,149,156,171,172,178,182,183,202,203,221,226,227,229,230,246,247,258,261,263,268,269,275,279,281,282,283,285,291,292,297],sevic:40,sgpe:[171,172],sha1:[140,141,143,314],sha1sum:141,sha256:[313,314],sha512:[3,171,172,173],shake:202,shall:316,shallow:[231,232],shan:[147,148,164,184,185,193,202,203,204,219,220,224,226],shanker:[171,275],shape:[22,273,274],share:[14,22,32,52,75,139,147,149,171,172,173,175,182,183,221,224,226,227,229,230,238,273,274,275,282,283,284,285,291,292,314],shave:[171,172],shenoi:229,shield:314,shift:[2,16,38,42,106,121,171,173,175,226,227,229,230,282,284,304,308,316],shift_bug:[179,182],shilpasri:[147,148,171,184,185,193,202,203,219,220,224,226,229,231,275],ship:[42,44,139,140,141,147,148,150,171,172,253,257,259,274,275,277,280,282,283],shoot:[108,171,172,205],shortcut:220,shorten:133,shorter:[171,172,220],shortli:[114,171,172,182,236,239,282,283],shot:[246,247],shoul:310,should:[1,2,3,4,5,7,16,17,19,21,22,24,28,32,33,35,36,39,41,42,43,44,45,49,50,51,55,56,58,59,61,70,72,73,76,78,83,84,88,89,90,93,97,98,101,103,105,110,113,121,122,123,128,131,132,133,134,135,136,138,140,141,145,147,148,149,150,155,162,167,171,172,173,174,179,182,183,184,185,189,195,201,202,203,204,205,206,213,214,216,217,220,221,224,225,226,227,228,229,230,231,232,233,241,243,246,247,248,250,251,252,257,260,261,269,270,273,274,275,276,277,281,282,283,285,286,287,291,292,298,307,309,311,313,316],shouldn:[2,221,226,227,229,230,231,232,234,273,274,316],show:[4,162,164,167,168,171,172,182,183,195,214,224,229,230,246,247,260,261,273,274,275,276,281,282,285,286,291,292],shown:[2,70,246,273,274],shreya:[184,185,193],shriya:231,shrunk:[182,183],shudown:[258,279,282,283],shuffl:[275,276],shut:[51,152,166,171,174,217,231,233],shutdown:[0,43,47,70,113,114,122,151,152,153,171,172,193,217,231,233,258,273,274,279,282,283,291,292],sibl:[2,122,171,174,267,273,274],side:[4,8,26,39,47,52,130,162,171,172,173,182,183,193,205,213,215,216,224,226,227,229,230,231,232,241,246,247,250,251,258,261,268,272,273,274,275,276,279,281,282,283,285,287,288,291,292],sigbu:[181,208,267,273,274],sigil:260,sign:[3,13,17,23,138,139,140,171,172,219,231,232,250,274,275,276,304,312],signal:[17,56,58,97,105,108,117,131,134,170,171,172,173,181,201,208,226,227,229,230,231,232,254,267,273,274,275,276,282,283,296,311,312],signal_system_reset:122,signatur:[17,35,182,183,219,225,311,312,314],signifi:[31,56,100,108,132],signific:[29,171,172,182,183,224,282,284,316],significantli:[171,172,221,229,230,254,275,276],signifig:[266,273,274],signoff:[140,147,148,161,164,184,185,187,193,202,203,204],silenc:[220,226,227,228],silent:[171,172,224],silva:226,sim:[231,232,275,291,292],simic:[193,282,283,291,292],similar:[22,29,41,44,106,114,122,124,127,132,136,147,149,182,183,219,220,221,222,224,225,226,227,228,246,247,273,274,275,276,282,283,291,292,312,313],similarli:[2,21,182,183,246,247,273,274,282,283,291,292],simpl:[35,37,39,46,76,171,172,182,183,202,203,220,226,227,228,246,247,273,274,275,276,287,291,292,311,314,316],simpler:[21,246,247,248,291,292],simpli:[49,108,121,171,172,182,183,199,246,247],simplic:[68,282,283],simplifi:[171,172,246,247],simul:[36,43,132,133,144,145,146,147,148,185,204,246,248,275],simultan:[171,172,291,292,316],sinc:[2,14,37,42,58,81,117,131,133,146,147,151,152,171,172,174,180,182,183,193,203,204,205,206,220,224,226,227,228,229,230,231,232,233,246,247,248,250,266,267,273,274,275,276,282,283,284,285,287,288,291,292,304],singh:[171,193,202,203,226,231],singl:[4,14,30,39,41,78,132,133,169,170,171,172,178,182,183,220,226,227,231,232,246,247,261,269,273,275,276,282,283,285,291,292,294,311,316,317],sit:[2,231,232],site:[202,203],situat:[13,43,122,131,153,157,169,171,173,187,207,208,217,220,224,229,230,231,233,260,261,266,273,274,281,282,283,285,291,292,311],situr:[182,183],six:[139,141,219,220,221,222,223,224,225,226,227,228,268,273],size:[2,3,5,8,9,11,12,14,17,23,24,26,28,30,31,32,34,35,36,39,45,47,50,51,52,53,55,60,67,69,70,71,75,76,78,84,88,89,103,118,130,132,133,134,147,148,171,172,173,174,175,182,183,184,186,194,202,203,204,217,219,220,222,224,226,227,229,230,231,232,233,238,246,247,255,257,258,261,268,271,273,274,275,276,277,278,279,281,282,283,284,287,291,292,294,307,309,311,313,314,316,317],size_dt_str:[226,227],size_dt_struct:[226,227],size_t:[35,314],sizeof:[35,45,171,172],skeleton:[145,171,172,193],skiboot:[0,2,3,4,8,19,21,22,24,27,30,32,34,42,43,44,46,49,50,56,81,88,89,90,93,97,98,101,103,105,112,126,131,132,134,135,136,137,139,142,313,314,315],skiboot_bas:[133,275,276],skiboot_boot_test:[226,227],skiboot_gcov:[36,291,292],skiboot_initrd:[226,227],skiboot_map:[225,291,292],skiboot_part_hdr:[182,183],skiboot_s:133,skiboot_vers:141,skip:[36,113,160,171,172,174,182,220,226,227,229,230,242,246,247,250,253,257,275,276,278,280,282,283,287,291,292,300,311],skip_perst:[229,230,282,283,287,291,292],skiroot:[132,291,292],skisym:[225,226,227],slave:[139,184,185,226,227],slb:2,slca:[146,171,172],sleep:[13,48,94,133,158,171,172,190,191,193,220,231,235,246,247,273,274,291,292],slight:[161,182,183],slightli:[19,21,166,171,172,202,204,219,220,221,222,224,225,226,227,228,250,273,275,276,282,285,291,292],slof:133,slot0:[282,285],slot1:305,slot3:[184,185],slot5:[256,278],slot:[2,38,85,86,104,154,161,164,171,172,175,182,183,184,185,187,201,202,203,204,213,216,220,221,224,226,227,229,230,231,232,246,247,256,259,261,268,269,273,275,276,277,278,280,281,282,283,285,287,289,291,292],slot_ctl:[213,220],slot_norm:[282,283],slotclk:220,slotn:154,slotstatu:84,slottabl:220,slow:[44,108,117,134,193,207,217,220,231,232,233,251,275,276,291,292],slower:[229,230,246,247],slowli:[229,230,261],sltsta:[213,220],slw:[2,165,171,172,182,183,184,185,199,200,202,203,207,220,221,226,228,229,231,232,246,247,248,267,273,274,282,283,295],slw_init:[246,248],slw_late_init:[171,172],slw_reinit:[226,228,295],small:[12,84,127,131,133,136,171,172,178,182,183,202,203,212,213,214,215,220,224,229,230,246,247,272,274,275,276,313],smaller:[2,171,172,226,227,269,273,274,275,276,282,283,313],smallest:[139,171,175],smart:[176,182,183,193,202,203,204,219,220,246,247,267,273,274],smart_writ:294,smarter:[202,203,282,283],smbus_writ:[184,186],smc:[0,220,226,227,246,247,279,282,283],smith:[132,147,148,161,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],sml:32,smoothli:151,smp:[226,227,231,233,301],smp_handle_nmi_ipi:[261,281,282,283],sms_atn:0,smt4:[226,227],smt8:[226,227],smt:[147,148,171,172,221,226,227,246,248,267,273,274],smt_medium:[202,203],snapshot:[37,246,247],snarf:[282,285],snip:[182,201,224,272,275,276,282,283],snippet:[35,37,59],snoop:[102,171,172,173],snooz:229,soc:[273,274],sock:[182,183],socket:[39,58,145,147,171,172,231,232,238,273,275,276,282,283],sodium:285,soft:[15,162,166,169,178,181,182,183,208,213,215,220,226,227,231,233,246,247,258,267,273,274,279,282,283],softrom:[171,172],softwar:[21,22,44,131,171,172,219,220,226,227,229,230,237,261,266,273,274,281,282,285,314,316],sol:[217,231,233],solicit:139,solid:182,solut:[139,171,172,178,226,227,231,242,253,254,258,275,276,279,282,283],solv:[202,203,211,246,247,275,276],some:[0,1,2,5,6,16,17,19,20,21,22,35,41,42,43,50,51,58,70,73,76,77,93,95,100,113,115,118,122,124,125,131,132,133,134,135,138,139,140,141,144,145,147,148,151,153,157,160,162,171,172,173,174,177,178,181,182,183,184,185,187,189,190,193,194,195,201,202,203,204,206,207,208,214,215,217,220,222,224,226,227,228,229,230,231,232,233,234,235,236,237,238,241,246,247,248,250,251,256,258,259,260,261,266,267,268,270,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,291,292,298,311,316],somebodi:[275,276],somehow:291,someon:[171,172,224,275,276],someth:[1,2,20,42,43,83,117,124,125,130,131,132,140,141,171,172,174,178,182,183,217,226,227,231,233,246,247,248,266,272,273,274,275,276,282,283,311],sometim:[58,109,139,151,171,172,226,227,231,232,241,250,273,274,275,276,291,292],somewhat:[13,226,227,231,236,291,292,316],somewher:[81,131,202,203,220,236,246,247,254,275,277,311],sonam:192,soon:[44,90,93,103,131,134,139,171,172,189,202,203,217,226,231,233,282,283,286,291,292],soonaft:139,sort:[2,4,154,171,172,181,208,245,246,247,291,292],sourc:[22,31,35,38,40,56,57,71,74,88,89,90,93,97,98,100,101,103,105,121,138,144,159,171,172,179,182,183,184,186,189,194,196,202,203,220,226,227,241,275,276,291,292,314,316],sourceid:84,spa:[75,182,183],space:[1,2,17,27,30,36,38,42,49,50,71,83,88,89,90,93,103,133,134,147,149,150,154,162,171,172,174,181,182,183,202,203,204,208,215,217,220,221,224,226,227,229,230,231,233,234,236,246,247,248,258,261,267,268,273,274,275,276,279,281,282,283,286,287,291,292,304,311,313,315,316,317],spam:[198,246,247,248,282,283],span:88,spap:75,sparingli:133,spars:[146,181,184,185,220,291,292],spcn:[68,162,213,220],spd:[171,172,220,250],speak:[43,133,139,140],spec:[25,49,68,71,114,132,147,149,182,183,184,185,189,213,220,226,227,228,231,233,261,268,271,273,275,276,281,282,285,286,287,291,292],special:[4,13,70,171,172,182,183,193,205,226,227,231,235,255,275,316],special_wakeup_count:[231,235],special_wkup_:221,specif:[0,1,2,4,17,18,21,22,28,29,31,38,42,43,51,58,70,82,83,90,93,103,106,107,115,118,123,131,133,134,139,140,145,157,173,175,182,183,187,193,198,202,203,220,226,227,229,230,231,232,234,246,247,248,251,258,261,266,273,274,275,276,277,279,281,282,283,284,286,291,292,298,311,316,317],specifi:[13,21,22,27,29,37,40,51,52,55,56,61,71,75,78,88,89,90,93,103,105,118,122,123,124,141,147,149,171,172,182,183,202,203,216,220,226,227,229,230,231,232,246,247,253,258,272,275,276,279,282,283,287,291,292,316,317],specific:[61,103,123],specifii:[246,247,249],specul:[171,172,180,241,246,247],speed:[2,27,41,182,183,184,186,202,203,220,221,226,228,229,230,231,232,246,247,282,283,287,291,292,305],spell:155,spend:[52,160,171,207,220,254,275,276,282,283,316],spent:[171,175,254,275,276],sphinx:[202,203],spi:[273,274],spin:[43,44,76,124,171,172,182,183,217,226,227,231,233,275,276],spinlock:133,spinloop:133,spira:[171,172,174,180,193,220,224,229,230,246,247],spirah:40,spiral:[160,207,220],spit:[182,183],spl:[182,183],spl_wakeup:[182,183],splat:[273,274],split:[30,47,146,171,172,220,224,226,227,231,233,258,275,276,279,282,283,284,313],spot:[258,279,282,283],sppcrd_chip_info:220,spr:[13,37,123,133,226,227,231,232,246,247,260,273,274,282,285],sprintf:144,sprn:123,sptr:[272,275,276],spuriou:[171,172,195,202,203,229,230,231,236,291,292],spurr:[2,58,146],spurriou:[231,232,246,247],squash:[161,171,172,282,285,295],sram:[182,183,193,275,276],src:[35,71,153,157,182,183,187,231,232],srci_priority_high:[171,174],sreset:[171,172,178,220,231,235,246,247,248,282,283],sreset_all_oth:[171,172],sreset_all_prepar:[171,172],sreset_kernel:[171,172],sreset_world:[171,172,220],srinivasan:[147,148,161,171,184,185,193,202,203,219,220,224,226,229,231,275],sriov:220,srr0:[162,171,173,182,183,214,224],srr1:[122,162,171,173,182,183,214,224,282,283],ssd:[282,283],ssh:[140,162,215,226,227,231,232],ssl:[275,277],stabil:[134,171,172,221,246,248,251,269,275,276],stabilis:[139,219,220,221,222,224,225,226,227,228],stabilti:[287,291,292],stabl:[38,139,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310],stack0:[269,275,276],stack1:[269,275,276],stack:[2,22,23,30,102,133,144,147,148,160,162,171,172,173,175,178,182,183,212,214,215,219,220,226,227,228,231,232,246,247,257,258,261,271,273,274,275,276,278,279,281,282,283,285,291,292,314],stack_check:144,stacktrac:[182,183],stage:[0,135,171,173,204,226,227,231,232,258,272,275,276,279,282,283,313],stai:[35,182,183,246,247,273,274,282,283,291,292],stale:[291,292,316],stall:[193,208,217,231,232,233,268,273,275,276],stand:[32,202,204],standalon:[275,276,314],standard:[2,28,35,41,50,132,133,171,172,220,226,227,241,246,247,256,273,274,278,289],standardis:[171,172,246,247],standbi:[266,273,274],stanlei:[147,148,164,184,185,187,193,202,203,219,220,226,231,275],start:[2,4,8,22,24,33,37,38,39,41,42,47,50,52,56,58,61,70,71,88,89,90,93,96,97,98,101,103,105,112,113,122,131,132,133,134,141,162,171,172,173,174,182,183,184,185,193,201,202,203,208,214,215,217,220,222,224,226,227,229,230,231,232,233,236,238,239,240,241,243,246,247,248,254,258,261,272,273,274,275,276,277,279,281,282,283,287,291,292,316],start_address:124,start_here_common:[291,292],start_kernel:[291,292],start_pm_complex:[171,172],start_preload_resourc:[226,227],starting_pci_address:[103,134],starting_real_address:[103,134],startup:[58,291,292],stash:[246,247],stat:[184,185,202,275],state:[0,17,19,21,35,40,42,44,48,50,54,58,68,74,78,80,84,85,86,94,96,98,101,103,104,108,109,110,112,115,119,123,124,131,132,133,134,135,139,145,146,150,152,154,160,162,163,164,168,171,172,175,179,180,182,184,185,191,201,202,203,204,213,215,216,220,221,224,226,227,228,229,230,231,232,234,235,242,246,247,248,251,256,258,261,264,265,266,267,272,273,274,275,276,278,279,281,282,283,284,285,286,287,289,291,292,305,310,311,312,313,314,316],statement:[171,172,291,306],statist:[184,185,193,210,217,231,232,302],statr:14,statu:[2,19,26,30,32,35,41,47,54,58,68,70,81,97,103,104,109,110,112,119,134,135,146,147,148,157,162,171,172,174,180,182,183,187,193,198,202,203,206,213,215,220,224,226,227,228,229,230,231,232,234,242,245,246,247,272,273,274,275,276,282,283,285,287,291,292,314],status2:220,stb:[133,171,172,173,174,202,204,220,245,246,247,253,275,276],stb_final:[171,172],std:[246,247,282,285],stdio:[171,172,220],stdout:[130,220,275,276],steal:[165,273],step:[35,44,58,147,148,171,172,220,226,227,246,247,273,274,275,276,282,283,286,291,292,311],stephani:275,stewart:[132,141,147,148,161,164,171,172,184,185,187,193,202,203,204,219,220,224,226,229,231,259,275,280],stick:[2,222],sticki:[268,273,275,276],still:[1,35,45,120,121,130,146,171,172,182,199,200,202,204,205,217,220,224,226,227,228,231,232,233,236,241,246,247,261,272,273,274,275,276,281,282,283,285,291,292,298,316],stinfo:[246,247],stipul:[271,275,276],stock:34,stofer:[171,275],stomp:[133,182],stop0:[231,232,246,248],stop0_lit:[229,267,273,274],stop11:[171,172,246,248],stop1:[273,274],stop1_lit:[267,273,274],stop2:[267,273,274],stop2_lit:[267,273,274],stop3:[273,274],stop4:[182,183,231,232,246,247,248],stop5:[171,172,246,248],stop:[13,21,37,38,39,42,43,48,51,58,60,61,113,133,146,157,171,172,181,184,185,187,193,208,212,217,220,231,232,233,242,246,247,248,256,261,266,267,268,273,274,275,276,278,282,283,285,310],stop_api:[171,172],stope:61,stopocc:144,stopreg:[231,232],storag:[17,50,51,76,118,282,283,291,292],store:[2,3,17,23,37,50,51,58,69,76,84,85,86,87,93,99,104,118,132,162,171,172,175,178,179,182,183,202,203,214,219,220,229,230,231,232,241,246,247,271,275,276,282,283,291,292,304,311,312,313,314,316],store_eoi:[179,182],storeeoi:[226,227,316],stq:[250,268,271,273,275,276],strai:206,straight:220,straightforward:[275,276],strang:[162,214],strategi:[14,68,162,214,225,258,279,282,283],stratton:[136,259,280],stream:[171,174,226,227],strech:[266,273,274],street:138,stress:[171,172,282],stretch:[226,229],strict:22,stride:231,string:[2,4,5,17,18,21,22,31,35,44,70,126,132,135,141,145,158,171,172,182,183,202,203,220,226,227,246,247,250,256,273,275,276,278,281,282,283,288,291,292,295,313,314,316],strip:[4,171,172,220,275,276],strong:[171,172,184,185,202,203],strongli:[132,139,165,182,183,219,223,311],strtoul:[229,230],struct:[35,47,50,60,67,70,84,106,111,127,133,135,182,183,193,194,206,220,224,225,226,227,229,230,273,274,275,276,278,282,283,288,291,292,294,311],structur:[34,35,36,40,58,67,70,84,133,134,137,171,172,193,220,224,226,227,231,232,246,247,250,261,275,276,277,281,282,283,286,288,291,292,311,312,316],sts:220,stub:[171,172],stuck:[58,134,153,161,162,169,171,172,175,199,202,203,211,215,226,227,231,233,246,247,248,251,257,261,273,274,275,276,278,281,282,283,285],stuff:[146,182,183,212,220],stupid:2,stw:[162,214],style:[2,4,50,202,203],suart:[231,232],sub:[9,31,35,53,60,135,136,162,171,172,215,224,317],subaddr:60,subaddr_sz:60,subcmd:[217,231,232],subcommand:[171,172],subdivid:[282,285],subesqu:[229,230],subject:[140,311,316],submit:[38,77,118,127,138,182,183,224],submitt:138,subnod:31,subordin:[160,256,278],subpartit:[1,202,204,231,232],subramaniyam:229,subscrib:138,subsect:311,subsequ:[2,22,117,153,171,172,181,182,183,189,208,209,226,227,228,229,230,242,258,267,273,274,279,282,283,311,314],subset:[22,54,182,183,229,230,246,247],subsi:35,substanti:231,substitut:[171,172],subsystem:[35,171,172],subsystem_id:35,subtl:[286,291,292],succe:[115,131,171,172,178,182,183,208,231,232,243,275],succeed:[131,171,172,239,291,292],succesfulli:[61,316],success:[40,43,47,51,52,54,61,69,71,72,73,74,79,87,91,99,100,107,109,110,113,115,119,120,122,123,125,127,128,129,131,157,160,162,167,171,172,181,182,183,187,208,215,217,226,227,231,232,233,267,273,274],successfulli:[17,41,45,50,51,53,54,55,60,61,67,70,75,76,78,82,83,84,85,86,92,102,104,112,113,116,118,131,171,172,182,202,203,224,231,235,261,275,276,281,282,283,311,312,316],sucess:[258,279,282,283],sudhakar:[226,231],sudo:[282,285],sue:[180,246,247],suffic:[246,247],suffici:[22,49,231,232,287,316],suggest:[171,172,219,223,269,275,276,281,282,283],suit:[5,108,138,195,202,203,220,226,227,250,275,276],suitabl:[139,182,183,193,202,220,226,228,231,246,247,268,273,275,276,282,283,316],sukadev:[171,229,231],summari:[22,58,70,130,261,281,282,283,291,292,311],superio:[273,274,279],supermicro:[4,136,202,213,219,220,224,246,247,259,280],supersed:[23,58,171,172],superset:22,suport:115,supplement:[282,285],suppli:[34,36,55,70,73,81,118,135,193,202,203,220,221,231,232,291,292],support:[2,4,5,6,10,11,17,19,20,21,22,24,26,28,30,36,37,38,41,42,43,46,49,50,51,52,58,60,61,67,68,69,70,71,73,78,79,81,82,83,84,85,86,87,90,93,99,100,102,103,104,106,107,109,110,114,115,118,119,120,121,122,123,129,130,131,135,139,141,145,146,147,148,149,150,153,155,161,164,166,171,172,174,175,179,180,182,183,186,189,193,202,203,204,205,206,209,210,213,219,220,221,223,224,226,227,228,229,230,231,232,233,238,241,242,246,247,248,250,251,255,261,266,272,273,274,275,276,279,281,282,283,284,286,288,291,292,293,296,298,301,304,310,311,314,315,316],suppos:[171,172,182,183,226,227,229,230,238,266,273,274],suppress:[231,275,276],supriou:245,supris:[282,283],suraj:[171,193,202,203,226,231],sure:[2,58,129,171,172,173,179,182,183,212,220,226,227,228,229,230,231,232,236,241,246,247,257,263,275,276,282,283,291,292,297,316],surpris:[2,135,202,203,220,221],surv:[35,162,215,226,227,231,232],surveil:[20,35,171,172],surviel:[162,215,226,227],surviv:[139,182,183],suspend:[115,177,182,183,231,234,282,284],sv830_027:39,sw288484:145,sw_driver:[171,172],swanson:275,swap:[47,171,172,182,183,226,228,291,292,313],swdn:[282,283],swich:221,swift:[136,293],swirchboard:28,switchboard:[25,38],swtich:221,sxm2:[273,275,276],sychron:220,sylvia:275,symbol:[8,133,144,146,147,149,171,173,222,225,226,227,291,292],symbol_map:222,symptom:35,sync:[30,58,147,148,171,172,179,182,183,193,196,202,203,226,227,231,232,233,258,275,276,279,291,292,295],sync_msg:[261,281,282,283],sync_tim:[231,233],syncer:[282,283],synchon:220,synchron:[58,76,171,172,182,183,184,202,203,224,246,247,254,258,271,275,276,279,282,283,286,291,292,316],synchronis:[157,171,172,175,187],synchrou:[258,279,282,283],syncron:[246,247],syncronis:41,syndrom:[171,172],syntax:[44,282,283],sys:[47,133,141,150,162,171,172,178,182,183,195,202,203,213,214,220,222,224,231,232],sys_ioctl:[162,215,226,227],sys_reboot:[231,233],sys_reset_al:122,sys_reset_all_oth:122,syscal:[146,180,182],sysdump:[194,300],sysf:[19,133,171,172,182,183,222,224,291,292],syslog:[226,227],sysparam:[5,77,273,274],system:[0,1,2,4,5,10,12,15,16,17,18,19,20,21,22,24,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,50,51,52,54,55,58,62,63,64,65,68,70,76,83,88,89,91,93,103,106,108,109,110,113,114,118,122,127,131,132,133,135,136,141,145,146,147,148,153,154,156,160,161,162,164,168,173,174,175,178,180,182,183,184,185,186,188,195,196,201,202,203,204,205,206,210,215,217,221,222,225,228,230,233,234,235,236,239,240,246,247,248,250,258,259,261,266,268,270,273,274,275,276,279,280,281,282,283,284,285,286,287,291,292,295,304,310,312,313,314,316],system_cal:[162,215,226,227,231,233],system_reset:[231,232],systemd:[6,184,185,205,220,229,230],systemsim:[147,148,171,172,220,225,226,227,246,247,273,275,291,292],sytsem:103,tabl:[4,14,30,35,40,71,72,88,97,134,157,171,172,173,174,178,182,183,187,189,220,226,227,246,247,248,256,259,268,273,275,276,278,280,282,283,285,287,291,292,311],tack:[226,227],tag:[7,35,40,71,139,141,152,171,172,173,174,206,220,226,227,253,283,284,285,287,291,292],tag_val:71,tail:[4,258,279,291,292],taint:[162,178,182,183,215,226,227,246,247],take:[7,9,14,15,35,40,43,50,52,54,58,59,70,100,108,109,110,119,124,139,153,171,172,173,174,180,181,182,183,184,187,188,189,192,202,203,204,207,219,220,221,223,226,227,229,230,231,233,238,246,247,248,255,258,260,261,273,274,275,276,277,279,281,282,283,284,285,288,291,292,311],taken:[14,41,67,115,166,171,172,224,226,228,231,232,233,273,274,282,283,291,292,316],tale:[259,280],talk:[44,133,171,172,220,226,227,229,230,246,247],talo:[136,282,283,285],talosii:[282,285],tamper:[118,311,313],tap:[291,292],tapn:[291,292],target:[5,23,28,41,44,58,61,99,103,113,120,121,122,134,140,147,149,150,171,172,173,174,175,182,183,188,202,203,205,220,221,222,224,225,227,229,230,231,232,233,234,235,236,246,247,271,275,276,282,283,287,291,292,316],task:[133,162,215,217,226,227,231,233,246,247],tatlin:[291,292],tb_cmpval:[271,275,276],tb_compar:[271,275,276],tb_measur:[171,172],tb_residue_err:144,tbd:[2,316],tbl:106,tce:[30,88,89,106,134,171,173,174,175,194,226,227,255,265,272,275,276,303,306],tce_kil:[171,173],tce_level:[88,134],tce_mem_addr:42,tce_mem_s:42,tce_page_s:[88,134],tce_siz:106,tce_tabl:88,tce_table_addr:[88,134],tce_table_s:[88,134],tcg:[171,172,291,292,314],tcl:[144,146,161,182,183,202,203,226,227,246,247,282,283,291,292],tclreadlin:[273,274],tcp:[231,232],team:[141,171,172,173,182,183,184,185,226,227,228,231,232,246,247,269,275,276,282,283,284,291,292,298],tear:[226,227,246,248],technic:[42,291,292],technolog:[182,183,213,220,258,279,282,283],tediou:[182,183],tell:[51,99,141,171,172,182,183,202,204,217,220,224,226,227,231,232,233,246,247,268,273,275,276,282,283,291,292],temp:[19,171,172,272,275,276],temperatur:[13,19,54,70,146,171,172,226,227,229,230,246,247],templat:[75,135,182,183,272,275,276],temporari:[7,47,131,145,146,220,231,232,315,316],temporarili:[205,287,291,292,316],temporarli:[267,273,274],ten:[202,203,231,232],tenant:0,tend:[282,283],tendolkar:275,term:[138,147,149,226,227,258,273,274,279,282,283,287,291,292],term_numb:49,termin:[41,44,49,152,157,160,161,184,186,187,193,275,291,292],terribl:[275,276],test:[2,5,19,38,66,82,126,130,132,133,134,136,139,140,141,145,147,148,149,161,162,164,170,172,178,184,185,186,187,195,204,205,207,215,232,234,248,250,252,257,258,268,271,272,274,276,278,279,282,283,284,285,287,288,291,292,304],testcas:[162,182,215,226,227],text:[35,127,132,139,202,203,226,227,275,276,282,285,291,292],textual:[1,12,132],tfac:[70,144,246,247,261,281,282,285],tfmr:[58,70,146,171,172,231,236,246,247,261,272,275,276,281,282,285],tfmr_pariti:70,tg3:[162,215,226,227],than:[4,16,17,42,44,50,52,55,68,70,76,78,88,101,108,115,117,118,130,131,132,133,139,140,144,147,148,150,152,162,171,172,173,174,177,178,182,183,184,185,193,198,201,202,203,204,205,206,215,217,220,221,222,224,226,227,229,230,231,232,233,238,239,240,241,243,246,247,248,250,251,253,254,257,258,259,261,271,273,274,275,276,278,279,280,281,282,283,284,285,287,291,292,298,311,312,316],thank:[146,148,224,298],thankfulli:[171,172,231,232,241],thei:[1,2,4,19,21,22,28,35,37,41,50,106,122,123,128,131,134,135,138,150,162,165,171,172,175,182,183,189,202,203,215,219,220,226,227,228,229,230,231,232,233,239,241,242,243,245,246,247,248,250,251,258,261,266,268,272,273,274,275,276,279,281,282,283,285,287,291,292,298,311,312,313,316],them:[2,13,42,58,93,110,115,117,124,132,134,135,147,149,157,171,172,174,175,178,181,182,183,187,193,202,203,204,208,220,221,224,226,227,228,229,230,231,232,233,238,241,246,247,248,257,267,272,273,274,275,276,277,282,283,285,287,291,292,316],themselv:[41,184,185],theoret:[140,246,248],theori:[2,44,171,172,241,275,276],therefor:[88,150,171,172,174,229,230,246,247,269,275,276,282,283,285,311,313,317],thermal:[51,109,132,258,279,282,283],thet:316,thi:[0,1,2,3,4,5,7,9,12,13,14,15,17,18,19,20,21,22,23,24,26,27,28,29,31,33,35,36,37,39,40,41,42,43,44,46,47,48,49,50,51,52,54,55,56,57,58,61,62,63,64,65,68,69,70,71,72,73,74,76,77,79,81,83,84,87,88,89,90,91,92,93,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,131,132,133,134,136,138,139,140,141,143,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316],thin:[182,183],thing:[1,2,36,77,130,133,141,165,171,172,173,178,180,182,183,193,202,203,220,224,226,227,228,229,230,231,232,236,239,246,247,248,259,260,267,273,274,275,276,280,282,291,292,316],think:[2,81,139,147,149,162,171,172,202,203,207,215,217,220,226,227,229,231,233,261,273,274,275,276,287,291,292],third:[161,174,188,205,222,234,282,283,285],this_cpu:[268,273,274,278],thoe:[226,228],thoma:219,those:[2,4,21,22,29,31,35,37,100,103,131,135,141,150,160,162,164,171,172,182,183,189,202,203,214,219,220,224,226,227,228,231,232,241,246,247,250,258,273,275,276,279,282,283,284,287,291,292,316],though:[2,50,131,132,133,139,146,157,162,171,172,177,182,183,187,203,204,213,231,232,246,247,248,250,261,273,274,275,276,281,282,283,284,285,286,288,291,292,316],thought:[132,146,162,215,226,227,282,285],thousand:[275,276],thrash:[275,276],thread0:[257,272,275,276,278,282,283],thread:[2,14,28,37,40,58,112,116,122,124,133,147,148,169,171,172,182,183,184,186,193,202,203,208,217,226,227,229,230,231,232,233,242,243,246,247,248,257,258,261,267,272,273,274,275,276,278,279,281,282,283,285,316],thread_statu:112,three:[4,23,47,52,73,171,172,182,183,221,229,230,238,275,282,283,285,291,292,312,314],threshold:[13,134,251,275,276],thrill:219,throttl:[16,70,109,147,148,224],throttle_statu:70,through:[1,9,10,20,26,31,41,50,58,60,70,77,78,88,101,118,120,122,124,133,134,135,146,161,171,172,175,180,202,203,204,220,224,226,227,229,230,231,232,246,247,250,255,257,259,271,273,274,275,276,277,280,282,283,285,287,291,292,307,309,311],throughout:161,throughput:[171,172,182,183],thu:[2,14,41,44,54,110,153,160,171,172,189,226,227,231,232,238,252,256,259,271,273,275,276,279,280,282,283,291,292,316],thunk:[193,226,227],thursdai:[158,174,176,178,188,189,191,194,210,228,229,235,238,261,269,271,277,281,284,285,289,290,294,301,302,307,309],tick:[58,201,202,203,229,273,274,282,283],tick_nohz_idle_stop_tick:37,tid:[28,229,230,246,247],tie:[171,172,177,182,183],ties:[177,182,183],tighten:[246,247],tild:4,till:[231,246,247,268,273,287,291,292],tima:316,time:[1,5,13,35,37,38,40,41,42,44,54,58,60,69,77,88,103,108,115,124,129,131,133,134,137,139,140,141,145,146,147,148,150,153,157,160,162,164,165,167,168,171,172,173,175,178,180,182,183,187,193,201,202,203,204,207,209,213,215,217,218,220,224,226,227,228,229,230,231,232,233,235,236,238,244,246,247,248,254,255,256,258,260,261,266,267,269,271,273,274,275,276,277,278,279,281,282,283,284,285,287,291,292,308,311,316],time_wait:[146,147,148,193,202,203,261,275,276,281,282,283],time_wait_m:[202,203,261,281,282,283],time_wait_pol:[261,281,282,283],timebas:[1,2,30,58,108,116,147,148,164,169,171,172,182,183,193,202,203,229,231,232,246,247,275,276,282,283],timefram:[250,273,274],timeout:[35,109,110,113,114,119,128,146,147,148,160,162,164,166,167,169,171,172,182,183,184,185,201,202,203,207,215,217,220,226,227,229,230,231,232,233,235,236,242,243,246,247,248,258,266,268,271,272,273,274,275,276,279,282,283,287,291,292],timer:[5,58,70,146,164,171,172,173,193,199,202,203,207,217,220,226,227,229,230,231,233,241,243,246,247,255,258,261,265,272,273,274,275,276,279,281,282,285,286,291,292,305,306],timer_pol:[207,220],timestamp:[35,171,172,291,292],tini:[133,145],tlb:[2,115,226,227,228],tlbi:[171,172,173,268,273],tlbie:[226,227],tlp:[226,229,230],tlphdr1:84,tlphdr2:84,tlphdr3:84,tlphdr4:84,tm_suspend_en:[177,182,183],tmp:[182,183],tn71:[136,226,227],toc:[220,246,247,275,276,277,282,283],tod:[2,58,147,148,159,162,164,171,172,182,183,196,202,203,215,226,227,246,247,261,281,282,283],todai:[42,171,172,226,228,246,247,257,275,276,282,285,291,292],todo:[49,51,101,108,117,131,132,146,312],togeth:[22,171,172,174,177,182,183,275,276,316],toggl:[182,183,316],token:[31,42,45,46,47,49,51,52,70,104,109,110,119,120,126,131,132,135,171,172,178,182,183,208,243,246,247,272,273,274,275,276,316],told:[155,184,185,202,204,246,247],tonn:165,too:[22,84,128,130,171,172,182,183,184,186,195,202,203,221,224,226,227,228,229,230,231,235,246,247,273,274,275,276,277,282,283,291,292],took:[275,276,291,292],tool:[0,17,36,128,133,146,161,171,172,219,224,231,232,233,246,247,248,275,276,287,291,292,314],toolchain:[153,182,183,229,275,276],top:[14,17,31,37,45,140,147,148,161,164,171,174,182,183,202,203,217,220,226,227,231,233,246,247,258,268,273,274,279,298,317],topic:[273,274],topolog:[2,58,178,182,183,202,203,213,220,221,229,230,231,232,275,276,282,283],topology_add_dev:[231,233],tortur:[162,215,226,227],total:[24,35,88,89,103,147,148,161,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231,261,275,276],totals:[202,204,226,227],touch:[162,215,220,226,227,229,230,291,292],toward:[193,204,220,221,222,224,225,227,230,261,273,281,282,283,304,306,308],tpm:[2,25,38,171,172,202,203,205,207,211,246,247,266,273,274,295,311,312,314],tpm_check_statu:220,tpm_chip:[171,172,173],tpm_i2c_interfac:220,tpm_i2c_nuvoton:[171,172,220,224],tpm_not_pres:[246,247],tpm_read_burst_count:220,tpm_read_fifo:220,tpm_register_chip:224,tpm_statu:[246,247],tpm_status_read_byt:220,tpm_timeout_d:220,tpm_write_fifo:220,tpmlogmgr:[171,172,314],tpmlogmgr_addev:314,tpmrel:[171,172,246,247],tpmrel_idata_hash_verif_offset:[171,172],tpo:[114,226,227],trace:[1,5,38,61,133,134,162,171,172,174,178,182,183,215,217,220,224,226,227,228,229,230,231,232,233,246,247,273,274,282,283,287,291,292],trace_:24,trace_cycl:37,trace_imc:[24,37],trace_imc_scom:24,trace_info:[291,292],trace_repeat:[291,292],tracepoint:[291,292],track:[113,146,171,172,217,219,220,221,222,224,225,226,227,228,229,230,231,233,258,261,270,275,276,279,281,282,283,286,287,291,292],tracker:[270,275,276],trade:[109,291,292],tradit:[2,171,172,316],tradition:[275,276],traffic:[102,171,172,239,258,268,273,279,282,283],trail:[268,273],train:[171,172,180,182,183,220,224,226,227,228,229,230,231,232,239,240,246,247,251,261,268,269,273,274,275,276,277,281,282,283,287,291,292],trajectori:[184,185],trampl:[246,248],transact:[21,102,115,160,162,171,172,182,183,208,214,220,225,226,228,229,231,232,234,238,243,266,273,274,282,283],transat:[226,228,231,232],transfer:[41,52,67,202,203],transit:[133,144,171,172,226,227,228,275,282,283,291,292],translat:[31,73,88,89,107,115,134,182,183,221,226,227,246,247],transmitt:[171,172],transpar:[132,134,251,275,276,316],transpend:164,transport:[171,172,246,247,250,258,275,276,279,282,283],trap:[162,178,182,183,215,226,227,246,247,273,274],travers:26,travi:[171,172,184,185,220,224,226,228,229,246,247,248,275,276,277,291,292],treat:[51,97,134,162,214,215,225,226,227,231,232,261,269,275,276,281,282,284,286,288,291,292,311],tree:[3,5,12,16,17,20,21,22,26,33,34,37,38,39,42,44,49,50,52,53,55,59,62,63,64,65,68,70,71,76,77,84,104,109,110,114,119,120,121,127,129,132,133,135,137,139,141,144,145,146,147,148,154,155,171,172,173,174,175,177,182,183,184,185,186,187,188,189,190,191,194,195,201,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,242,246,247,248,250,259,268,273,274,275,276,277,280,282,283,284,285,287,291,292,311,313,314],trend:[171,193,202,203,219,226,231],trerr:220,tri:[171,172,182,183,198,217,220,231,233,236,246,248,251,255,266,272,273,274,275,276,287,291,292],trick:[155,184,185,220],tricki:[220,316],trig:[162,214,224],trigger:[0,44,52,120,150,171,172,174,178,182,183,202,204,217,220,224,226,227,228,229,230,231,232,233,241,246,247,248,268,272,273,274,275,276,282,283,284,291,292,295,316],trigger_pag:[179,182],trim:[226,227],tring:224,trip:[171,172,241,275,276],tritz:226,trivial:[140,273],troubl:220,troublesom:[231,236],truncat:[147,149,193,281,282,283],trust:[23,25,38,133,173,202,203,205,220,231,232,245,253,257,275,276,278,282,283,284],trustedboot:[171,172,275,276,291,292,314],trustedboot_exit_boot_servic:[171,172,246,247],trustedboot_measur:[171,172,314],trustedbootcmd:314,try_lock:[171,172],try_lock_cal:[273,274,275,276],tscr:[226,227],tss:[171,172,314],tss_nv_writelock:313,tucson:236,tuesdai:[163,172,177,180,190,192,198,206,207,216,220,224,226,230,231,237,247,254,256,259,262,264,280,291,296,304,308,310],tuleta:[39,42,136,226,227],tunabl:[178,182,183],tune:[178,182,183,229,230,299],tunnel:[87,182,183,246,247],tupl:14,turn:[1,13,35,56,133,171,172,219,221,224,226,229,230,231,232,240,246,247,261,266,273,274,281,282,283,285,291,292,316],tve:[107,220,226,227,271,275,276],tvt1:[246,247],tvt:[171,173,174,226,227,229,230,246,247],tweak:[182,183,246,247],twi:[171,172,241],twice:[36,226,227,246,247,273,274,275,276,291,292,311],two:[1,2,4,14,31,35,37,41,44,59,68,100,108,127,132,133,139,140,141,147,149,150,161,171,172,173,174,182,183,184,185,188,197,199,211,216,222,224,226,227,228,229,230,231,232,233,235,237,238,240,243,245,246,247,248,249,258,267,268,273,275,276,279,282,283,298,311,313,314,316,317],tx_rxcal_dis:41,tx_rxcal_en:41,tx_zcal:41,txt:[21,22,31,171,172,289],tyan:[136,145],tyler:275,type:[0,2,10,16,17,18,19,21,22,24,26,27,28,29,30,34,35,37,40,43,50,51,54,60,61,67,68,69,70,82,83,84,106,109,111,119,120,129,132,135,147,148,149,151,171,172,174,178,182,183,189,193,202,204,220,221,225,226,227,229,230,231,232,242,246,247,250,269,272,273,274,275,276,282,283,291,292,311,316,317],typedef:127,typic:[2,16,22,50,52,53,60,76,86,104,127,131,133,134,147,148,182,183,229,230,254,275,276,282,283,285,316],typo:[158,182,183,189,201,202,203,206,220,226,227,272,273,275,276,282,283],u32:[21,109,110,119,120,171,175,313],u64:[17,68,71,120,171,175,313],u78c9:[10,34],u78d3:[246,247,272,275,276,282,283],uart:[1,2,151,154,164,184,186,220,224,231,232,246,247,275,276,290,299],uart_con_flush:[246,247],uart_opal_flush:[246,247],uav:[231,232],ubuntu:[162,171,172,173,215,220,226,227,275,276,277,291,292],ucod:[4,102,171,172,180,182,183,193,231,232,233,246,247,250,254,275,276,277,281,282,283],udbg_opal_putc:[291,292],udbg_writ:[291,292],udelai:[58,282,283],uefi:[291,292],ugli:[266,273,274],uglier:[226,227],uint16_t:[35,57,74,78,81,88,89,90,92,93,99,103,121],uint32_t:[35,44,47,50,53,56,57,59,60,61,62,63,65,69,75,77,78,82,91,97,98,101,105,106,113,114,117,120,121,128,129,202,203,226,227,316],uint64:[43,72],uint64_t:[42,45,46,47,48,50,51,52,53,55,56,59,60,61,67,68,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,112,114,115,117,118,123,124,126,127,128,202,203,311,316],uint8_t:[35,47,49,50,56,57,60,64,65,67,70,78,81,96,100,101,112,121,171,172,238,314,316],uio:[162,215,226,227],uio_pdrv_genirq:[162,215,226,227],ultim:[182,183,282,283],ultra_turbo:13,ultravisor:316,umac:[28,229,230],umask:220,unabl:[43,49,58,109,110,118,119,246,247,282,283,286,291,292,298],unaccess:[287,291,292],unalign:[229,230,231,232,246,247,288,294],unannounc:139,unassign:21,unassoci:[217,231,233],unauthor:311,unavail:[112,217,231,233],unavoid:22,unawar:[246,247],unbal:[282,285],unchang:[273,274,275,276,316],unclear:[246,247],uncompress:132,uncondit:[171,172,237],uncondition:[147,148,171,172,202,203,204,226,228,231,232,270,272,275,276,311],unconnect:[246,247],uncorr:[256,275,276],uncorrect:[254,275,277],uncorrerr:164,uncorrerrorstatu:84,undefi:[246,248],undefin:[70,171,172,287,291,292,313],under:[2,6,8,9,10,13,22,28,31,42,58,70,113,114,132,138,139,144,153,169,171,172,174,175,178,182,183,187,193,194,203,204,220,222,226,227,228,229,230,231,232,236,241,246,247,275,282,283,285,286,287,291,292,313],underflow:[171,172,307,309],underli:[162,171,172,214,231,232,241,246,247,255,275,316],underneath:[22,44],understand:[40,68,138,139,141,162,171,172,215,220,266,273,274,291,292],undertand:220,undesir:[122,171,174,231,233],undo:[113,259,280],unexpect:[17,51,162,171,172,173,184,185,195,202,203,214,224,255,275,281,282,283,311,314],unexpectedli:[275,282,283,284,291,292],unfilt:[182,183,287,291,292],unfinish:205,unflatten:135,unfortun:[0,157,162,171,172,187,193,214,221,224,225,226,227,228,229,230,231,232,235,236,241,246,247,275,276,282,285,286,291,292],unfreez:182,ungat:[267,273,274],unhandl:[162,214,217,224,231,232,254,275,276,291,292],unhappi:[231,232],unifi:[2,145,147,149,182,183],unimpl:42,uniniti:[146,275],uninitialis:[182,183,226,227,273,274],unintend:[182,183],unintent:[251,275,276],union:70,uniqu:[18,19,22,28,33,35,56,88,120,134,178,182,183,282,316],unit:[2,22,34,38,61,145,154,157,159,170,171,172,182,183,184,185,187,193,196,224,226,231,232,246,247,257,275,276,277,282,284,291,292],unittest:229,unknown:[22,35,61,107,131,147,162,171,172,214,219,222,224,226,228,231,233,245,246,247,248,250,273,275,276,288,295],unless:[2,15,17,88,134,138,140,154,155,171,172,173,204,220,231,232,246,247,275,276,282,283,316],unlik:[43,96,120,127,141,182,183,224,229,230,231,232,274,275,276,282,284,291,292,311,313,316],unlink:50,unlock:[145,162,171,172,181,182,183,214,225,246,247,256,275,276,278,279,313],unlock_check:278,unlucki:[226,227],unmask:[121,171,172,220,245,316],unmodifi:316,unnam:[226,227],unnecessari:[160,226,227,275,276,316],unnecessarili:[231,232,246,247],unneed:[268,273],unnot:[231,232,282,283,291],unpack:[226,227],unpatch:193,unplug:[27,213,220],unrecover:[17,35,171,172,178,182,183,196,202,203,204,261,281,282,283,285],unregist:[40,50,71],unrel:203,unreli:[162,171,172,215,217,226,227,231,233,273,274],unreproduc:[246,248],unrespons:[162,191,193,208,215,217,226,227,231,233,290,299],unsaf:[81,144,171,172],unset:[268,273],unsign:[35,106,171,172,220,226,227],unspecifi:316,unstabl:[171,173,226,275],unsupport:[22,29,41,44,50,60,61,70,73,78,80,91,92,95,96,131,132,146,171,172,226,227,282,283,316],unsuppreq:164,unsuspect:[291,292],untest:[291,292],unthrottl:70,until:[0,4,17,42,44,50,62,74,108,113,117,125,135,153,163,165,171,172,174,175,179,182,183,201,202,203,204,205,208,216,217,220,221,224,226,227,229,230,231,232,233,240,241,243,245,255,257,258,261,266,272,273,274,275,276,279,281,282,283,286,291,292,316],untim:[171,174],untouch:[118,221],untranls:134,untransl:89,unus:[42,45,51,108,220,229,230,258,261,279,281,282,283,291,292,311,313],unusu:231,unwind:[246,247,282,285],uopwr:[26,171,172,182,183,249,282,285],upcom:139,updat:[0,1,2,4,24,35,37,38,42,44,53,62,63,64,65,68,70,71,72,75,100,101,108,118,124,134,137,146,153,154,156,157,159,161,162,165,171,172,173,174,182,183,187,193,194,196,201,202,203,204,213,215,220,221,224,226,227,228,229,230,231,232,233,236,237,238,242,246,247,248,250,251,253,254,256,257,258,259,268,271,273,274,275,276,277,278,279,280,282,283,285,286,287,291,292,296,298,304,311,313,315],update_bank:311,upgrad:[22,157,171,172,226,253,273,274,275,276,291,292],upload:146,upon:[13,14,48,84,138,153,154,171,172,178,182,183,204,246,247],upper:[88,162,214,220,226,227,282,284,285],uppercas:[273,274],ups:[231,232,282,283],upstream:[50,101,139,140,141,164,171,172,182,183,189,195,202,203,246,247,248,259,275,280,282,283,284,291,292],uptick:219,upto:[35,120,171,175,291,292],urgent:134,usa:138,usabl:[21,22,27,50,147,149,171,172,184,185,201,220,226,227,231,232,316],usag:[4,17,21,22,39,130,144,171,172,226,227,231,233,273,274,275,276,311],usb:[34,282,285],use:[0,1,2,7,13,17,19,21,22,28,31,39,40,42,43,44,50,51,52,53,62,63,64,65,68,70,71,75,86,88,101,104,106,113,115,120,130,131,132,133,134,137,138,139,144,146,147,148,155,162,164,168,171,172,173,174,175,178,181,182,183,184,185,186,189,193,194,202,203,204,208,212,214,220,222,224,226,227,228,229,230,231,232,238,241,246,247,248,249,250,255,257,261,263,267,271,272,273,274,275,276,277,278,279,281,282,283,284,285,286,287,290,291,292,294,298,311,316],used:[2,7,9,13,14,16,19,21,22,23,24,27,28,29,31,35,36,37,41,42,44,45,49,50,51,56,58,67,69,70,71,73,75,81,82,83,84,88,89,90,93,95,97,98,102,103,104,105,109,110,111,113,117,118,119,120,121,122,123,127,128,132,133,134,135,171,172,173,174,175,178,179,180,181,182,183,184,185,193,202,203,213,220,221,222,224,225,226,227,228,229,230,231,232,233,236,238,239,241,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,304,305,306,307,309,311,314,316],useful:[50,113,134,139,171,172,173,178,182,183,184,185,193,202,203,220,224,226,227,229,230,231,232,235,246,247,257,273,274,275,276,278,282,283,285,291,292],useless:[171,172,182,183,202,203,226,227,231,232,282,283],user:[0,1,2,17,21,22,23,33,35,36,68,104,115,132,139,141,147,148,158,161,162,171,172,173,181,182,183,184,186,189,198,202,203,204,208,215,220,225,226,227,228,229,230,231,232,246,247,248,253,258,267,268,273,274,275,276,279,282,283,285,287,291,292,298,304,312,315,316],user_map:[291,292],userdata1:[171,174],userdata2:[171,174],userspac:[6,17,21,22,132,133,146,161,180,182,183,224,231,232,246,247,252,260,273,274,282,283],uses:[0,3,15,16,28,35,40,55,56,70,97,107,123,134,171,172,182,183,193,201,206,226,227,228,229,230,231,232,235,236,241,246,247,250,258,268,271,272,273,274,275,276,279,282,283,291,292,313,314,316],using:[0,1,2,7,13,14,19,22,28,29,35,37,39,40,44,50,54,58,60,68,70,109,110,119,120,134,136,147,149,162,171,172,173,177,181,182,183,184,185,193,202,203,204,205,208,212,213,215,219,220,221,222,224,225,226,227,228,229,230,231,232,233,238,241,246,247,254,255,258,261,267,268,271,272,273,274,275,276,279,281,282,283,285,286,287,291,292,311,314,315,316],usr:[182,183,225,287],usual:[2,58,70,77,135,154,171,172,202,203,219,226,227,246,247,268,272,273,275,276,287,291,292,316],utc:[231,233],util:[36,135,146,147,148,149,161,166,185,193,197,219,224,246,247,257,311,313,314],utilis:37,utin64_t:134,utl:[84,159,196],v100:[282,283,285,287,291,292],v10:[231,233],vagu:[287,291,292],vaibhav:[171,184,185,187,193,226,231,275],vaidyanathan:[147,148,161,171,184,185,193,202,203,219,220,224,229,231,275],val:[123,128],valeev:193,valgrind:[171,172,220],valid:[9,17,23,35,38,41,43,47,49,50,56,70,97,100,102,103,117,134,144,145,146,162,171,172,178,182,183,193,202,203,215,220,226,227,229,230,231,232,239,241,246,247,258,271,275,276,279,282,283,286,287,291,292,294,312,316],validate_esl:[307,309],validate_esl_list:[307,309],validate_mask:134,valu:[1,2,4,5,13,14,15,17,19,21,23,24,28,31,35,37,41,52,56,58,61,62,68,69,70,88,89,90,93,95,96,97,98,100,101,102,103,105,107,108,110,114,117,121,123,126,128,129,132,134,145,146,147,148,161,162,166,171,172,173,175,178,182,183,184,186,188,194,198,201,202,203,204,213,215,220,221,224,226,227,228,229,230,231,232,233,238,239,240,241,246,247,248,250,251,257,258,261,268,271,272,273,274,275,276,278,279,281,282,283,284,285,288,289,291,292,294,299,311,313,314,316],valuabl:133,vari:[1,35,153,259,275,276,280],variabl:[1,17,23,38,42,44,69,75,76,141,162,182,183,204,215,219,220,225,226,227,231,232,246,247,258,275,276,279,282,285,287,291,292,304,311],variable_bank:311,variant:[231,232,246,247,248,256,278,282,283,312],variat:132,varieti:[275,276,283],variou:[2,4,27,29,35,37,43,68,144,171,172,173,218,226,227,229,231,232,244,245,246,247,258,273,274,275,276,279,282,283,311,314,316],vas:[33,171,174,229,230,315],vas_addr:33,vasant:[147,148,161,171,184,185,193,202,203,204,219,220,224,226,229,231,258,275,279,282,283],vcpu:316,vcs:145,vcss:13,vdd:[13,145,171,172],vdid:[275,276],vdn:[171,172],vector:[21,22,134,157,171,173,187,202,203,220,231,232,233,272,275,276,282,283],vendor:[2,26,27,30,34,139,140,171,172,220,224,226,227,231,232,234,268,273,274,287,291,292],venic:136,ver:35,verbatim:138,verbos:[171,172,175,205,226,228,282,283,291,292],veri:[1,4,5,22,41,42,58,146,171,172,182,202,203,217,226,227,229,231,232,233,236,246,247,261,271,272,273,274,275,276,281,282,283,285,286,291,292,313],verif:[3,23,38,134,171,172],verifi:[3,23,150,171,172,173,182,183,204,257,259,275,276,278,280,282,283,287,291,292,301,304],verify_signatur:[307,309],versa:[109,282,283],version:[1,2,3,8,21,22,24,25,26,35,38,41,42,43,46,47,50,67,70,84,115,130,131,132,138,140,143,144,147,148,149,150,171,172,173,174,175,178,179,180,181,188,189,190,192,193,195,196,197,198,199,200,201,202,203,219,220,221,224,226,227,229,230,231,232,233,241,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,305,306,307,309,310,313,316],versu:[16,202],vesnin:[136,182,183],vga:[155,184,185,220,251,268,273,274],via:[2,13,17,20,35,37,40,41,47,61,68,70,77,93,109,119,120,132,134,137,138,139,140,144,151,163,171,172,182,183,193,202,203,216,219,220,221,224,226,227,228,229,230,231,232,238,246,247,268,269,273,275,276,282,283,285,287,288,291,292,312,313,316],vice:[109,282,283],vid:[14,171,175],view:[12,171,172,220,275,276],vini:221,violat:[282,285],vipin:[147,148,161,184,185,193,202,203],virt:[182,183],virtual:[2,25,28,35,38,132,171,172,182,183,202,203,221,229,230,261,275,276,281,282,283,285,286,291,292,316],visibil:[226,227],visibl:[0,2,141,158,171,172,189,220,273,291,292,298,316],vital:[25,38,220],vmalloc:[202,203],vmlinux:132,vmlinux_map:[225,291,292],vmx:2,vmx_crypto:[162,215,226,227],vnet:224,vnvram:[210,217,231,232,302],volatil:[76,171,172,213,220,273,282,283,311],voltag:[13,14,182,183,229,230],volum:139,voluntarili:[114,151,171,172],vou:[246,247,272,275,276],vp_id:316,vpd:[2,25,38,135,146,171,172,180,194,219,220,221,222,231,232,234,246,247,273,282,283,288,295,301,316],vpd_data_pars:288,vpd_valid:220,vpd_vini_pars:288,vpnor:[171,172],vpodc:155,vprintk_emit:[217,231,233],vprlog:[273,274],vrm:[171,172],vrml:[171,172],vsd:222,vsnprintf:220,vsu:[157,187],vsx2:21,vsx:[2,22],vtpm:32,vvs:[164,213,220],w25q256bv:[184,185],waddress:[291,292],wafer:[231,232,317],wai:[20,22,36,37,44,58,61,77,117,121,138,139,140,160,171,172,173,178,180,182,183,193,201,205,213,220,224,226,227,228,229,230,231,232,234,238,246,247,250,261,273,274,275,276,279,281,282,283,285,286,291,292,298,316],wait:[0,35,43,96,108,109,110,113,117,119,120,131,160,161,162,163,171,172,174,175,182,183,184,185,202,203,208,209,213,216,220,226,227,228,229,230,231,233,241,243,246,247,248,255,258,261,271,272,273,274,275,276,279,281,282,283,286,287,289,291,292],wait_for_all_occ_init:299,wait_for_resource_load:[220,226,227],wait_tim:[287,291,292],waiter:[275,276],waitin:[287,291,292],wake:[122,171,172,202,203,246,247,257,273,274,275,276,278,282,283],wakeup:[122,171,172,182,183,231,232,235,242,255,275,276,302],wakup:[182,183],walk:[115,171,172,174,182,183],walthour:[164,184,185,231],want:[1,2,17,35,50,84,124,127,133,155,157,171,172,175,178,182,183,187,204,217,220,226,227,229,230,231,232,233,246,247,250,261,273,274,275,276,281,282,283,285,286,291,292,316],warkenti:[202,204],warkentin:[147,148],warn:[1,19,54,56,70,88,89,90,93,97,98,101,103,105,108,121,130,132,134,146,147,160,161,165,171,172,175,182,183,184,185,189,193,195,202,203,205,220,224,226,227,228,229,230,231,232,252,257,275,276,277,278,281,282,283,285,288,291,292,299],warrant:[21,256,275,276],wart:[226,227],wasn:[145,165,226,227,254,275,277,282,283],wast:[1,147,149,224,229,230],watch:[155,171,172,220,229,230,231,232,241],watchdog:[5,38,146,162,215,226,227,246,247,248],watermark:[171,172,238],wd_power_cycle_act:[273,274],wd_reset_act:[273,274],weather:70,web:12,wed:[154,155,156,231,233],wedg:[258,279,282,283],wednesdai:[175,179,183,184,186,187,192,195,199,201,204,205,209,213,215,217,222,223,232,234,239,240,241,248,249,250,253,257,258,265,266,268,273,278,279,288,298,303,304,305,306],week:[139,203,204,205,206,219,220,221,222,223,224,225,226,227,228,283,284,285],wei:171,weird:[182,220],welcom:[132,202,203],well:[1,39,50,125,132,133,145,171,172,174,182,183,203,217,219,224,226,227,229,230,231,232,233,246,247,248,252,254,261,272,273,275,276,277,281,282,283,291,292],went:[43,83,117,124,151,195,202,203,217,231,232,233,246,259,280,282,283,287,291,292],were:[4,17,39,42,46,58,75,131,141,143,159,160,161,171,174,175,184,185,195,196,202,203,219,220,229,230,231,232,246,247,250,258,259,272,273,274,275,276,277,279,280,282,283,284,285,287,291,292,311,312,316],weren:[167,171,172,238,282],werner:[219,220],werror:[144,171,173,184,185,288],wformat:[184,185],what:[1,2,4,15,17,22,38,47,51,84,109,110,130,133,141,157,171,172,182,183,187,193,202,203,204,205,220,226,227,228,229,230,231,232,238,246,247,248,257,258,266,267,273,274,275,276,277,279,282,283,284,285,287,291,292,307,309,311,314,316],whatev:[139,171,172,226,227,228,261,272,275,276,281,286,287,291,292],wheel:132,when:[0,2,4,13,19,21,22,23,24,33,35,37,41,47,50,51,52,53,58,59,68,70,88,89,101,104,108,113,115,120,121,122,123,124,130,131,132,133,134,139,140,141,144,145,146,147,148,149,153,154,156,157,158,159,160,162,164,165,166,167,168,171,172,173,174,177,178,182,183,184,185,186,187,189,190,191,193,196,198,201,202,203,204,205,207,214,215,216,217,220,221,222,224,225,226,227,228,229,230,231,232,233,234,238,240,241,245,246,247,248,251,253,255,256,258,261,266,268,269,271,272,273,274,275,276,277,278,279,281,282,283,284,285,286,287,288,289,291,292,294,298,299,306,311,312,313,314,315,316],whenev:[40,182,183,217,226,228,229,230,231,233,239,268,273,274,275,276],where:[0,1,3,4,21,22,28,33,35,36,39,40,42,50,58,62,63,64,65,68,69,70,75,87,88,89,103,106,109,110,114,119,124,130,131,132,133,134,144,146,147,148,151,153,157,162,163,166,168,169,171,172,173,174,175,176,178,182,183,187,193,195,202,203,204,205,208,215,216,217,220,221,224,226,227,228,229,230,231,232,233,235,238,242,246,247,249,251,257,258,260,269,272,273,274,275,276,278,279,282,283,287,291,292,311,316,317],wherea:13,whether:[2,24,32,37,58,68,70,88,99,121,132,135,138,171,172,202,203,220,226,227,229,230,246,247,250,273,275,276,282,283,311,314,316],which:[0,1,2,3,9,13,14,15,16,17,19,21,22,24,27,28,29,33,35,37,41,44,50,52,56,58,62,67,68,69,70,73,76,84,88,93,100,102,104,106,108,109,118,119,120,122,123,129,133,134,135,140,141,145,146,147,148,149,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,195,196,201,202,203,204,205,206,208,214,215,217,218,219,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,238,241,242,244,245,246,247,248,250,251,254,255,256,257,258,261,267,268,269,271,272,273,274,275,276,277,278,279,281,282,283,284,285,287,288,291,292,293,298,304,308,310,311,313,314,316,317],whichev:224,whih:[282,283],whilst:[171,174],white:311,whitehorn:146,whitelist:[134,171,231,232,250,275,276],whitespac:[171,226,227,231],who:[1,4,72,95,138,141,147,148,160,161,164,172,184,185,187,193,202,203,204,246,247,259,280],whoever:133,whole:[138,147,148,154,161,171,172,204,206,226,227,229,230,231,261,273,274,275,276,282,283,291,292,313,316],wholesal:[291,292],whose:[68,182,183,231,232,246,247],whta:1,why:[70,140,171,172,220,224,226,246,247,268,273,274,287,291,292],wide:[14,20,171,172,282,283],width:[134,135,220,226,228,229,230,231,232,250,268,271,273,274,275,276,287,291,292],wild:[141,166,261,281,282,283,285],wildcard:[171,175,182,183,282,283,287,291,292],willi:[219,220],william:[161,184,185,187,193,202,203,219,220,231],wimplicit:224,win:[254,275,276],win_siz:88,win_size32:88,win_size_32:88,win_size_64:88,winbond:[184,185],window:[30,33,41,88,89,90,93,103,134,171,172,182,183,188,229,246,247,251,252,258,268,273,274,275,276,279,282,283,285],window_id:[88,89],window_num:[90,93,103,134],window_numb:[88,89],window_s:89,window_typ:[90,93,103,134],winkl:13,wio:[256,278],wipe:[161,171,172,316],wire:[27,29,135,189,226,229,230,282,283],wise:[14,282,283],wish:[140,204,258,279,282,283],wistron:[136,304],witherspoon:[41,134,136,174,182,183,220,226,227,231,232,246,247,250,273,274,279,285,291],within:[35,58,88,89,90,93,97,100,101,103,109,132,134,171,172,182,183,206,217,226,231,233,246,247,254,258,268,273,275,276,277,279,282,283,316],without:[5,21,22,37,42,61,89,100,104,122,135,161,169,171,172,173,174,180,182,183,189,195,201,202,203,204,207,208,220,221,224,226,227,228,229,231,232,238,241,246,247,253,254,258,261,266,272,273,274,275,276,279,281,282,283,285,291,292,312,316],witti:127,wkup:[171,172],wno:[275,276],woefulli:134,wof:[13,171,172,173,182,183,184,185,246,247],woken:[182,183],won:[121,150,168,171,172,182,183,220,226,227,238,258,273,274,275,276,279,282,283,287,291,292,316],wont:[182,282,283],word0:[162,215,226,227],word1:[162,215,226,227],word:[13,35,78,226,227,261,281,282,283,286,291,292,316],work:[2,5,13,17,22,39,42,44,49,50,84,130,138,139,144,145,151,162,164,171,172,173,174,175,178,182,183,193,195,202,203,204,205,206,207,208,209,215,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,240,246,247,248,250,259,261,266,272,273,274,275,276,277,279,280,282,283,284,285,287,291,292,316],workaround:[48,145,146,147,148,162,171,172,182,183,193,208,215,217,220,224,226,227,228,231,232,233,236,241,246,247,250,257,266,270,272,273,274,275,276,277,282,283,286,287,291,292],workaroundi:250,workbook:[171,172,180,182,183,226,228,231,232,236,246,247,248,255,275,282,284],worker_thread:[217,231,233,261,281,282,283],workflow:[184,185],workload:[13,109,153,157,184,185,187],workqueu:[217,231,233],world:[20,171,172,184,185,202,204,220,246,247,275,276,282],worri:219,wors:[150,182,183,246,248],worst:[169,220],worth:[171,172],would:[2,4,5,14,21,22,42,46,58,81,132,133,141,146,147,148,152,153,154,162,164,165,166,168,171,172,174,178,179,182,183,189,202,203,204,207,214,220,224,226,227,229,230,231,232,233,234,240,246,247,248,249,253,257,258,261,266,273,274,275,276,278,279,281,282,283,287,291,292],wouldn:[159,168,196,279,282,283],wrap:[133,171,172,220,246,247,275,276,291,292],wrapper:[35,50,120,171,172,198,202,203,282,285,314],wreck:[182,183,226,227],writ:220,writabl:[188,282,283],write:[1,2,9,12,13,24,28,37,39,40,41,47,49,52,54,61,69,76,77,78,107,108,117,118,127,128,139,146,158,161,162,171,172,173,174,176,182,183,188,189,193,202,203,205,215,217,219,220,224,226,227,228,229,230,231,232,233,238,242,246,247,248,252,258,261,268,271,272,273,274,275,276,279,281,282,283,284,285,287,288,290,291,292,294,299,311,313],write_reg:[287,291,292],writelock:313,writer:[291,292],written:[0,1,41,52,69,78,171,172,188,219,220,226,227,229,230,231,232,246,247,251,275,276,287,291,292,311,313],wrong:[43,51,83,117,124,129,131,166,171,172,182,183,193,194,201,213,220,226,227,228,229,230,231,232,238,246,250,259,271,272,273,274,275,276,280,282,285],wrongli:[202,203],wrote:[171,172],wrprotect:[202,204],wsp:[231,232],wspoon:[171,172],wstack:144,www:[136,155],wzs004a:[246,247,272,275,276,282,283],wzs007x:34,x08:[134,229,230,287,291,292],x16:[134,220,226,227,229,230,268,273,282,283,287,291,292],x86:[138,282,285],x86_64:[246,247],x8x8:[282,283],x_tabl:[162,215,226,227],xer:[162,171,173,178,182,183,214,215,224,226,227,246,247,248,282,284],xhci:[282,285],xic:[62,63,64,65,121,193,224,316],xicp:2,xirr:[62,316],xive2:310,xive:[38,56,62,97,105,134,179,181,182,183,193,220,222,224,226,227,228,229,230,233,237,241,246,247,270,275,276,282,283,289,294,305],xive_cpu_st:[226,227],xive_dump_emu:316,xive_dump_tm_hyp:316,xive_dump_tm_o:316,xive_dump_tm_pool:316,xive_dump_tm_us:316,xive_dump_vp:316,xive_eq_for_target:[231,232,305],xive_get:220,xive_get_:220,xive_get_ir_target:220,xive_get_vp:220,xive_num:[56,105,134],xive_numb:[56,105,134],xive_provision_cpu:220,xive_reset:[171,172,220,241],xive_set_eq_info:220,xive_source_interrupt:[231,233],xive_source_set_x:220,xive_sync_ea:316,xive_sync_queu:316,xivr:[56,105,134],xlink:37,xml:[4,171,172,275,287,291,292],xmon:[171,172,178,182,183,246,247,291,292],xor:[171,172],xpec_nest_capp_cntl:[271,275,276],xpec_nest_read_stack_overrid:[269,275,276],xpec_pci_prdstkovr:[269,275,276],xscom:[2,26,27,28,29,30,38,128,146,158,166,171,172,174,180,182,187,190,191,193,198,199,202,203,207,220,226,227,228,229,230,231,232,242,246,247,257,261,272,273,274,275,276,281,282,285,287,291,292,296,305],xscom_addr:[28,229,230],xscom_read:[128,171,174,198,202,203,231,232,275,276],xscom_read_cfam_chipid:[226,227],xscom_reset:[171,172],xscom_writ:[128,171,174,272,275,276,288],xscom_write_mask:[171,174],xsl:[193,291,292],xslo:75,xstop:[44,171,172,238,251,261,268,272,273,274,275,276,281,282,285],xstop_error:70,xstop_reason:[70,291,292],xstop_typ:70,xts_bdf:[182,183,246,247],xts_bdf_map:[282,283],xts_pid:[182,183],xup:[162,214,224],xxx2:[171,174],xxx:[84,291,292],xxxx:2,xyz:[231,232],xz_embed:133,y_m_d:[114,117,226,227],yadro:[136,182,183,275,291,292],year:[117,229,261,273,274,281,286,288,291,292],year_month_dai:117,yes:[226,268,273],yet:[35,41,60,125,146,166,171,172,178,182,183,219,220,224,226,229,230,237,246,247,273,274,275,276,282,283,284,287,291,292,316],yield:[14,282,283],yl10113bj001:34,yocto:[187,193],yolo:[268,273],york:138,you:[1,2,36,44,58,81,84,110,124,127,131,132,133,138,139,140,141,146,147,148,155,171,172,182,183,184,185,193,195,202,203,204,205,217,219,220,223,224,226,227,229,230,231,232,233,246,247,248,253,260,275,276,282,283,291,292,316],young:[155,184,185],your:[49,138,139,140,141,184,185,224,226,227,228,231,232,246,248,291,292],your_email:138,yourself:205,youtub:155,yuan:[202,224],zaiu:[136,171,172,220,246,247,273,274,285],zalloc:[272,275,276,306],zcal:[226,227,282,283],zero:[1,4,21,61,87,88,89,100,101,114,118,127,171,172,182,183,193,195,201,202,203,221,224,226,227,229,231,235,246,247,260,261,273,274,275,276,281,282,283,285,286,291,292,299,311,313,314],zeroiz:311,zlib:28,zone:[246,247],zork:132,zz24p1:287},titles:["OPAL &lt;\u2013&gt; BMC interactions","SkiBoot Console Log","Device Tree","ibm,cvc","ibm,firmware-versions node","ibm,opal","ibm,opal/diagnostics device tree entries","Dump (MPIPL) Device Tree Binding","System Firmware","ibm,opal/flash device tree entries","Service Indicators (LEDS)","nvram Device Tree Node","Operator Panel (oppanel)","ibm,opal/power-mgt device tree entries","ibm,opal/power-mgt/occ device tree entries","power-mgt/powercap","power-mgt/psr","Secvar Binding","ibm,opal/sensor-groups","ibm,opal/sensors/ device tree nodes","sysparams","ibm,powerpc-cpu-features Binding","ibm,powerpc-cpu-features Design","ibm,secureboot","IMC Device Tree Bindings","Device Tree","P9 memory hierarchy","Nvlink Device Tree Bindings","Nest (NX) Accelerator Coprocessor","OpenCAPI Device Tree Bindings","PCI Device Tree Bindings","reserved-memory device tree nodes","Trusted Platform Module (TPM)","Virtual Accelerator Switchboard (VAS)","VPD (Vital Product Data)","How to log errors on OPAL","GCOV for skiboot","OPAL/Skiboot In-Memory Collection (IMC) interface Documentation","SkiBoot Documentation","Memory in skiboot","MPIPL (aka FADUMP) Overview","OPAL/Skiboot Nvlink Interface Documentation","OPAL API Documentation","OPAL_CEC_POWER_DOWN","OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2","OPAL_CHECK_ASYNC_COMPLETION","OPAL_CHECK_TOKEN","Code Update on FSP based machine","OPAL_CONFIG_CPU_IDLE_STATE","OPAL Console calls","OPAL Dumps","OPAL_ELOG: Error logging","OPAL Flash calls","OPAL_GET_DEVICE_TREE","OPAL_GET_EPOW_STATUS","OPAL_GET_MSG","OPAL_GET_MSI_32 and OPAL_GET_MSI_64","OPAL_GET_XIVE","Hypervisor Maintenance Interrupt (HMI)","OPAL_HANDLE_INTERRUPT","OPAL_I2C_REQUEST","OPAL_IMC_COUNTERS_INIT","OPAL_INT_EOI","OPAL_INT_GET_XIRR","OPAL_INT_SET_CPPR","OPAL_INT_SET_MFRR","OPAL_INVALID_CALL","OPAL_IPMI_SEND","Service Indicators (LEDS)","OPAL_LPC_READ","OPAL_MESSAGE","OPAL MPIPL APIs","OPAL_NMMU_SET_PTCR","OPAL NPU2 calls","OPAL_NPU_SET_RELAXED_ORDER","OPAL_NPU_SPA_SETUP","OPAL NVRAM","Get/Set System Parameters","OPAL PCI Config Space Access","OPAL_PCI_EEH_FREEZE_CLEAR","OPAL_PCI_EEH_FREEZE_SET","OPAL_PCI_EEH_FREEZE_STATUS","OPAL_PCI_ERR_INJECT","OPAL_PCI_GET_HUB_DIAG_DATA","OPAL_PCI_GET_PHB_DIAG_DATA2","OPAL_PCI_GET_POWER_STATE","OPAL_PCI_GET_PRESENCE_STATE","OPAL_PCI_GET_PBCQ_TUNNEL_BAR","OPAL_PCI_MAP_PE_DMA_WINDOW","OPAL_PCI_MAP_PE_DMA_WINDOW_REAL","OPAL_PCI_MAP_PE_MMIO_WINDOW","OPAL_PCI_MSI_EOI","OPAL_PCI_NEXT_ERROR","OPAL_PCI_PHB_MMIO_ENABLE","OPAL_PCI_POLL","OPAL_PCI_REINIT","OPAL_PCI_RESET","OPAL_PCI_SET_MVE","OPAL_PCI_SET_MVE_ENABLE","OPAL_PCI_SET_P2P","OPAL_PCI_SET_PE","OPAL_PCI_SET_PELTV","OPAL_PCI_SET_PHB_CAPI_MODE","OPAL_PCI_SET_PHB_MEM_WINDOW","OPAL_PCI_SET_POWER_STATE","OPAL_PCI_SET_XIVE_PE","OPAL_PCI_TCE_KILL","OPAL_PHB_SET_OPTION","OPAL_POLL_EVENTS","OPAL Power Shift Ratio","OPAL Power Caps","OPAL_PRD_MSG","OPAL_QUERY_CPU_STATUS","OPAL_QUIESCE","OPAL Timed Power On and Delayed Power Off","OPAL_REINIT_CPUS","OPAL_RESYNC_TIMEBASE","OPAL Real Time Clock (RTC) APIs","OPAL Secure Variable API","OPAL Sensor Groups","OPAL_SENSOR_READ","OPAL_SET_XIVE","OPAL_SIGNAL_SYSTEM_RESET","OPAL_SLW_SET_REG","Starting and stopping secondary CPUs","OPAL_SYNC_HOST_REBOOT","OPAL_TEST","OPAL_WRITE_OPPANEL_ASYNC","OPAL_XSCOM_READ","OPAL_NX_COPROC_INIT","POWER9 Changes to OPAL API","OPAL API Return Codes","OPAL Specification","Skiboot overview","PCI","PCI Slots","Supported platforms &amp; CPUs","Power Management","Contributing to skiboot","Development and Release Process","Skiboot stable tree rules and releases","Versioning Scheme of skiboot","Release Notes","skiboot 4.0","skiboot 4.1","skiboot 4.1.1","skiboot 5.0","skiboot-5.1.0","skiboot-5.1.0-beta1","skiboot-5.1.0-beta2","skiboot-5.1.1","skiboot-5.1.10","skiboot-5.1.11","skiboot-5.1.12","skiboot-5.1.13","skiboot-5.1.14","skiboot-5.1.15","skiboot-5.1.16","skiboot-5.1.17","skiboot-5.1.18","skiboot-5.1.19","skiboot-5.1.2","skiboot-5.1.20","skiboot-5.1.21","skiboot-5.1.3","skiboot-5.1.4","skiboot-5.1.5","skiboot-5.1.6","skiboot-5.1.7","skiboot-5.1.8","skiboot-5.1.9","skiboot-5.10","skiboot-5.10-rc1","skiboot-5.10-rc2","skiboot-5.10-rc3","skiboot-5.10-rc4","skiboot-5.10.1","skiboot-5.10.2","skiboot-5.10.3","skiboot-5.10.4","skiboot-5.10.5","skiboot-5.10.6","skiboot-5.11","skiboot-5.11-rc1","skiboot-5.2.0","skiboot-5.2.0-rc1","skiboot-5.2.0-rc2","skiboot-5.2.1","skiboot-5.2.2","skiboot-5.2.3","skiboot-5.2.4","skiboot-5.2.5","skiboot-5.3.0","skiboot-5.3.0-rc1","skiboot-5.3.0-rc2","skiboot-5.3.1","skiboot-5.3.2","skiboot-5.3.3","skiboot-5.3.4","skiboot-5.3.5","skiboot-5.3.6","skiboot-5.3.7","skiboot-5.4.0","skiboot-5.4.0-rc1","skiboot-5.4.0-rc2","skiboot-5.4.0-rc3","skiboot-5.4.0-rc4","skiboot-5.4.1","skiboot-5.4.10","skiboot-5.4.11","skiboot-5.4.12","skiboot-5.4.2","skiboot-5.4.3","skiboot-5.4.4","skiboot-5.4.5","skiboot-5.4.6","skiboot-5.4.7","skiboot-5.4.8","skiboot-5.4.9","skiboot-5.5.0","skiboot-5.5.0-rc1","skiboot-5.5.0-rc2","skiboot-5.5.0-rc3","skiboot-5.6.0","skiboot-5.6.0-rc1","skiboot-5.6.0-rc2","skiboot-5.7","skiboot-5.7-rc1","skiboot-5.7-rc2","skiboot-5.8","skiboot-5.8-rc1","skiboot-5.9","skiboot-5.9-rc1","skiboot-5.9-rc2","skiboot-5.9-rc3","skiboot-5.9-rc4","skiboot-5.9-rc5","skiboot-5.9.1","skiboot-5.9.2","skiboot-5.9.3","skiboot-5.9.4","skiboot-5.9.5","skiboot-5.9.6","skiboot-5.9.7","skiboot-5.9.8","skiboot-5.9.9","skiboot-6.0","skiboot-6.0-rc1","skiboot-6.0-rc2","skiboot-6.0.1","skiboot-6.0.10","skiboot-6.0.11","skiboot-6.0.12","skiboot-6.0.13","skiboot-6.0.14","skiboot-6.0.15","skiboot-6.0.16","skiboot-6.0.17","skiboot-6.0.18","skiboot-6.0.19","skiboot-6.0.2","skiboot-6.0.20","skiboot-6.0.21","skiboot-6.0.22","skiboot-6.0.23","skiboot-6.0.24","skiboot-6.0.3","skiboot-6.0.4","skiboot-6.0.5","skiboot-6.0.6","skiboot-6.0.7","skiboot-6.0.8","skiboot-6.0.9","skiboot-6.1","skiboot-6.1-rc1","skiboot-6.2","skiboot-6.2-rc1","skiboot-6.2-rc2","skiboot-6.2.1","skiboot-6.2.2","skiboot-6.2.3","skiboot-6.2.4","skiboot-6.3","skiboot-6.3-rc1","skiboot-6.3-rc2","skiboot-6.3-rc3","skiboot-6.3.1","skiboot-6.3.2","skiboot-6.3.3","skiboot-6.3.4","skiboot-6.3.5","skiboot-6.4","skiboot-6.4-rc1","skiboot-6.5","skiboot-6.5.1","skiboot-6.5.2","skiboot-6.5.3","skiboot-6.5.4","skiboot-6.6","skiboot-6.6.1","skiboot-6.6.2","skiboot-6.6.3","skiboot-6.6.4","skiboot-6.6.6","skiboot-6.7","skiboot-6.7.1","skiboot-6.7.2","skiboot-6.7.3","skiboot-6.8","skiboot-6.8.1","skiboot-7.0","Secvar Drivers","Skiboot edk2-compatible Secure Variable Backend","secboot_tpm secvar storage driver for P9 platforms","Secure and Trusted Boot Library (LibSTB) Documentation","Virtual Accelerator Switchboard (VAS)","P9 XIVE Exploitation","XSCOM Bindings"],titleterms:{"0x1":108,"0x10":108,"0x100":108,"0x2":108,"0x20":108,"0x200":108,"0x4":108,"0x40":108,"0x400":108,"0x8":108,"0x80":108,"0x800":108,"case":312,"function":126,"new":[147,148,149,171,172,182,183,184,185,186,202,203,220,224,226,227,229,230,231,232,246,247,282,283,291,292,293,298,304,310],"return":[43,44,45,47,48,50,53,54,55,60,61,67,69,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,91,92,94,95,96,99,100,102,104,106,107,109,110,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,131,312],"var":313,The:147,VAS:[33,268,315],abi:38,acceler:[28,33,315],accept:140,access:78,after:134,aka:40,all:[157,187,190],ami:[147,148],api:[37,42,71,117,118,130,131,193,311,316],apollo:135,argument:[43,113,115,122,126,129,202,204],ast:[166,167,184,186,273,274],astbmc:[226,227,279],author:132,backend:[311,312],background:22,bank:313,barreley:[275,276],base:[13,47,147,148,153,182,183,184,186,193,202,203,220,226,231,232,273,274,275,276,282,283],been:147,behavior:[184,185],beta1:148,beta2:149,binari:133,bind:[7,17,21,24,27,29,30,41,134,312,317],bmc:[0,147,148,166,167,184,186,193,220,231,232,258,273,274,279],boot:[40,132,133,171,172,204,246,247,291,292,314],bootkernel:[202,204],branch:139,bug:[50,147,148,149,182,183,184,185,246,247,273,274],build:[36,291,292],call:[42,49,52,73,84,85,86,102,104,117],candid:202,cap:110,capabl:41,capi2:[275,276,282,283],capi:[154,171,172,182,183,193,194,202,203,220,231,232,246,247,268],caus:58,certif:138,chang:[130,149,150,157,158,161,164,165,166,167,171,184,185,187,202,204,219,220,223,224,226,229,231,246,247,273,274,275],changeset:[171,219,220,224,226,229,231,275],chassi:0,check:134,chip:[14,37],chiplet:317,clock:[0,117],close:139,code:[17,44,47,53,60,69,78,84,85,86,102,104,117,131,182,183,311,312,314],collect:[37,40],command:[202,204],comment:2,commun:[258,279],compat:[2,311,312],compress:28,config:78,configur:41,consider:141,consol:[1,49],constraint:35,contain:314,contribut:138,contributor:[147,148,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],control:[0,313],coprocessor:28,core:[13,37,220],counter:24,coverag:[182,183],cpu:[13,21,22,124,136],credit:[171,219,220,224,226,229,231,275],current:141,cvc:[3,314],data:[34,36],dd2:[229,230],debug:[1,44,134,137,171,172,182,183,202,203,226,246,247,275,276,282,283,291,292],defin:22,definit:132,degrad:134,delai:114,deprec:[282,283],design:[22,35,68],detect:132,develop:[38,138,139,171,219,220,224,226,228,229,231,275,276],devic:[2,6,7,9,11,13,14,19,24,25,27,29,30,31,40,41,130,134,193,312,316],diagnost:6,disabl:[134,137],dma:134,document:[37,38,41,42,202,203,314],domain:14,driver:[311,313],drop:136,dump:[7,35,40,50],ecid:317,edk2:312,eeh:134,employ:[171,219,224,231,275],emul:[27,41],endpoint:317,enforc:17,entri:[6,9,13,14],environ:[132,138],error:[35,51,58,134],event:[24,316],exampl:[2,3,4,17,21,23,32],exploit:316,extract:36,fadump:40,fast:[5,171,172,182,183,204,220,275,276],featur:[21,22,147,148,149,171,172,182,183,184,185,202,203,220,226,227,229,230,231,232,246,247,282,283,291,292,293,298,304,310],ffspart:[246,247],firenz:[135,275,276],fireston:154,firmwar:[4,8,314],fix:[147,148,149,171,172,182,183,184,185,227,246,247,273,274,291],flag:[13,311],flash:[9,52,202,226,227],follow:147,fork:139,format:[8,313],freq:14,frequenc:13,from:35,fsp:[35,47,147,148,151,153,157,171,172,184,186,187,193,194,202,203,220,224,226,227,229,231,232,273,274,275,276,282,283],futur:42,gard:[154,171,172],garrison:[187,188,193],gave:[171,219,220,224,226,229,231,275],gcov:36,gen:41,gener:[2,41,147,148,151,153,154,157,166,167,171,172,184,186,187,189,193,194,202,203,226,227,229,230,231,232,273,274,275,276,282,283,291,316],get:77,getscom:[184,186],got:35,gpu:27,group:[18,119],guid:38,guidelin:22,hacker:[219,224,275],handl:[58,246,247],have:147,heap:39,heartbeat:5,hierarchi:26,hiomap:[258,279,282,283],histori:141,hmi:[58,171,172,193,246,247],hotplug:135,how:35,howto:140,hypervisor:58,i2c:[220,224,273,274],ibm:[3,4,5,6,9,13,14,17,18,19,21,22,23,151,153,171,172,202,203,226,227,229,231,232,282,283],idl:13,ids:13,iii:316,imc:[24,37],improv:[147,148,171,172,182,183,184,185,246,247],improvemen:[182,183],indic:[10,68,313],initi:40,input:[44,47],interact:0,interfac:[22,35,37,41,133],intern:38,interrupt:[41,58,133],ioda:134,ipmi:[0,184,186,203,258,273,274,279,291,292],kei:312,layout:[133,313],led:[10,68],level:[1,5,24],libff:[220,226],libflash:[171,172,227,246,247],librari:314,libstb:314,licens:139,lifecycl:139,line:[171,202,204,219,220,224,226,229,231,275],link:134,list:58,load_bank:311,lock:[311,313],log:[1,35,51,132,133],machin:[47,147,148,151,153,166,167],mainten:58,mambo:[184,186,193,202,203,275,276],manag:[137,182,183,226,227],map:2,mask:[13,14],mata:134,max:13,max_var_s:311,maximum:134,mbox:[182,183,226,227],memori:[26,27,31,37,39,133],messag:0,mgt:[13,14,15,16],mhz:13,min:13,misc:224,mmio:134,mode:[17,24,37,134],modul:32,most:[171,219,220,224,226,229,231,275],mpipl:[7,40,71],msi:134,nest:[28,37],node:[2,4,5,7,11,17,19,21,24,31],nomin:13,note:[35,38,102,142,311],npu2:[73,182,183,226,227,246,247,268,273,274,291,292],npu:[29,202,203],nvlink2:[171,172,182,183,221,231,232,246,247,268,273,274,275,276,282,283],nvlink:[27,41,202,203],nvram:[11,76,202,203],obsolet:23,occ:[14,226,227],off:[37,114],opal:[0,5,6,9,13,14,17,18,19,35,37,38,41,42,49,50,52,71,73,76,78,109,110,114,117,118,119,130,131,132,153,171,172,184,186,193,226,227,229,230,246,247,316],opal_async_complet:131,opal_busi:131,opal_busy_ev:131,opal_cec_power_down:43,opal_cec_reboot2:44,opal_cec_reboot:44,opal_check_async_complet:45,opal_check_token:46,opal_clos:131,opal_config_cpu_idle_st:48,opal_console_flush:49,opal_console_read:49,opal_console_writ:49,opal_console_write_buffer_spac:49,opal_constrain:131,opal_dump_ack:50,opal_dump_info2:50,opal_dump_info:50,opal_dump_init:50,opal_dump_read:50,opal_dump_resend:50,opal_elog:51,opal_elog_ack:51,opal_elog_read:51,opal_elog_resend:51,opal_elog_s:51,opal_elog_send:42,opal_elog_writ:42,opal_empti:131,opal_event_console_input:108,opal_event_console_output:108,opal_event_dump_avail:108,opal_event_epow:108,opal_event_error_log:108,opal_event_error_log_avail:108,opal_event_led_statu:108,opal_event_msg_pend:108,opal_event_nvram:108,opal_event_opal_intern:108,opal_event_pci_error:108,opal_event_rtc:108,opal_flash_eras:52,opal_flash_manag:47,opal_flash_read:52,opal_flash_upd:47,opal_flash_valid:47,opal_flash_writ:52,opal_get_completion_token_statu:42,opal_get_device_tre:53,opal_get_dpo_statu:114,opal_get_epow_statu:54,opal_get_msg:55,opal_get_msi_32:56,opal_get_msi_64:56,opal_get_param:77,opal_get_power_shift_ratio:109,opal_get_powercap:110,opal_get_x:57,opal_get_xive_sourc:42,opal_handle_hmi2:58,opal_handle_hmi:58,opal_handle_interrupt:59,opal_hardwar:131,opal_hardware_frozen:131,opal_i2c_arbt_lost:131,opal_i2c_bkend_access:131,opal_i2c_bkend_overrun:131,opal_i2c_invalid:131,opal_i2c_lbus_par:131,opal_i2c_nack_rcvd:131,opal_i2c_request:60,opal_i2c_stop_err:131,opal_i2c_timeout:131,opal_imc_counters_init:61,opal_imc_counters_start:61,opal_imc_counters_stop:61,opal_int_eoi:62,opal_int_get_xirr:63,opal_int_set_cppr:64,opal_int_set_mfrr:65,opal_internal_error:131,opal_invalid_cal:66,opal_ipmi_recv:67,opal_ipmi_send:67,opal_leds_get_ind:68,opal_leds_set_ind:68,opal_lpc_read:69,opal_lpc_writ:69,opal_messag:70,opal_mpipl_query_tag:71,opal_mpipl_register_tag:71,opal_mpipl_upd:71,opal_msg_async_comp:70,opal_msg_dpo:70,opal_msg_epow:70,opal_msg_hmi_evt:70,opal_msg_mem_err:70,opal_msg_occ:70,opal_msg_prd2:70,opal_msg_prd:70,opal_msg_shutdown:70,opal_nmmu_set_ptcr:72,opal_no_mem:131,opal_npu_destroy_context:73,opal_npu_get_relaxed_ord:74,opal_npu_init_context:73,opal_npu_map_lpar:73,opal_npu_mem_alloc:75,opal_npu_mem_releas:75,opal_npu_set_relaxed_ord:74,opal_npu_spa_clear_cach:75,opal_npu_spa_setup:75,opal_npu_tl_set:75,opal_nx_coproc_init:129,opal_old_i2c_request:42,opal_paramet:131,opal_parti:131,opal_pci_config_:78,opal_pci_config_read_byt:78,opal_pci_config_read_half_word:78,opal_pci_config_read_word:78,opal_pci_config_write_byt:78,opal_pci_config_write_half_word:78,opal_pci_config_write_word:78,opal_pci_eeh_freeze_clear:79,opal_pci_eeh_freeze_set:80,opal_pci_eeh_freeze_statu:81,opal_pci_eeh_freeze_status2:81,opal_pci_err_inject:82,opal_pci_fence_phb:42,opal_pci_get_hub_diag_data:83,opal_pci_get_pbcq_tunnel_bar:87,opal_pci_get_phb_diag_data2:84,opal_pci_get_phb_diag_data:42,opal_pci_get_power_st:85,opal_pci_get_presence_st:86,opal_pci_get_xive_reissu:42,opal_pci_map_pe_dma_window:88,opal_pci_map_pe_dma_window_r:89,opal_pci_map_pe_mmio_window:90,opal_pci_mask_pe_error:42,opal_pci_msi_eoi:91,opal_pci_next_error:92,opal_pci_phb_mmio_en:93,opal_pci_pol:94,opal_pci_reinit:95,opal_pci_reset:96,opal_pci_set_hub_tce_memori:42,opal_pci_set_mv:97,opal_pci_set_mve_en:98,opal_pci_set_p2p:99,opal_pci_set_p:100,opal_pci_set_pbcq_tunnel_bar:87,opal_pci_set_peltv:101,opal_pci_set_phb_capi_mod:102,opal_pci_set_phb_mem_window:103,opal_pci_set_phb_table_memori:42,opal_pci_set_phb_tce_memori:42,opal_pci_set_power_st:104,opal_pci_set_xive_p:105,opal_pci_set_xive_reissu:42,opal_pci_shpc:42,opal_pci_tce_kil:106,opal_permiss:131,opal_phb_get_opt:107,opal_phb_set_opt:107,opal_poll_ev:108,opal_prd_msg:111,opal_query_cpu_statu:112,opal_quiesc:113,opal_read_nvram:76,opal_read_tpo:114,opal_register_dump_region:50,opal_register_opal_exception_handl:42,opal_reinit_cpu:[115,130],opal_reinit_cpus_mmu_hash:115,opal_reinit_cpus_mmu_radix:115,opal_reinit_cpus_tm_suspend_dis:115,opal_reserved1:42,opal_reserved2:42,opal_resourc:131,opal_resync_timebas:116,opal_return_cpu:124,opal_rtc_read:117,opal_rtc_writ:117,opal_secvar_enqueue_upd:118,opal_secvar_get:118,opal_secvar_get_next:118,opal_sensor_group_clear:119,opal_sensor_group_en:119,opal_sensor_read:120,opal_sensor_read_u64:120,opal_set_param:77,opal_set_power_shift_ratio:109,opal_set_powercap:110,opal_set_slot_led_statu:42,opal_set_system_attention_l:42,opal_set_x:121,opal_signal_system_reset:122,opal_slw_set_reg:123,opal_start_cpu:124,opal_success:131,opal_sync_host_reboot:125,opal_test:126,opal_timeout:131,opal_unregister_dump_region:50,opal_unsupport:131,opal_write_nvram:76,opal_write_oppanel:42,opal_write_oppanel_async:127,opal_write_tpo:114,opal_wrong_st:131,opal_xive_allocate_irq:316,opal_xive_allocate_vp_block:316,opal_xive_donate_pag:316,opal_xive_dump:316,opal_xive_eoi:316,opal_xive_free_act:131,opal_xive_free_irq:316,opal_xive_free_vp_block:316,opal_xive_get_irq_config:316,opal_xive_get_irq_info:316,opal_xive_get_queue_info:316,opal_xive_get_queue_st:316,opal_xive_get_vp_info:316,opal_xive_get_vp_st:316,opal_xive_provis:131,opal_xive_reset:316,opal_xive_set_irq_config:316,opal_xive_set_queue_info:316,opal_xive_set_queue_st:316,opal_xive_set_vp_info:316,opal_xive_sync:316,opal_xscom_addr_error:131,opal_xscom_busi:131,opal_xscom_chiplet_off:131,opal_xscom_clock_error:131,opal_xscom_ctr_offlin:131,opal_xscom_parity_error:131,opal_xscom_partial_good:131,opal_xscom_read:128,opal_xscom_timeout:131,opal_xscom_writ:128,opencapi:[29,182,183,246,247,273,274,275,276,282,283],openpow:[166,189,202,204],oper:[12,135,316],oppanel:12,ops:71,option:32,origin:138,other:[149,182,183,184,185,202,204],output:[35,47],overview:[22,37,38,40,41,118,133,312,313],p8dnu:220,p8dtu:[279,282,283],p8nvl:188,p9dsu:[246,247,282,283],panel:12,paramet:[41,44,57,58,61,67,69,74,75,76,77,84,85,86,87,99,102,104,109,110,111,117,118,120,121,123],patch:[139,140],payload:132,pci:[27,29,30,41,78,134,135,171,172,182,183,193,202,203,204,220,221,224,226,227,246,247,268],pcie:[153,282,283],pel:35,persist:313,pflash:[153,171,172,187,194,204,226,227],phb3:[157,187,258,279],phb4:[171,172,226,227,228,229,230,231,232,268,275,276,291,292],phb:153,physic:313,platform:[32,136,154,157,171,172,182,183,184,186,187,189,190,193,194,202,203,204,220,224,226,231,232,246,247,273,274,275,276,282,283,291,292,312,313],pmicr:13,pnor:313,post_process:311,power10:310,power8:[153,157,187,231,232,273,274,275,276,282,283],power9:[130,171,172,193,194,202,203,220,221,224,226,227,228,229,230,231,232,268,273,274,275,276,282,283],power:[13,14,15,16,109,110,114,137,171,172,182,183,226,227],powercap:[15,258,279],powerpc:[21,22],practic:141,prd:[153,171,172,184,186,202,203,226,227,229,230,246,247],pre_process:311,presenc:313,previou:202,process:[38,139,311],product:34,properti:[3,4,5,23,32,135],psr:16,psscr:13,pstate:[13,14],qemu:[275,276],queue:316,quick:311,quiesc:[171,172],quiesce_typ:113,ratio:109,rc1:[172,183,184,185,193,203,220,224,227,230,232,247,274,276,283,292],rc2:[173,184,186,194,204,221,225,228,233,248,277,284],rc3:[174,205,219,222,234,285],rc4:[175,206,235],rc5:236,real:[0,117],reboot:[5,44,171,172,182,183,220,275,276],reg:14,region:317,regist:41,registr:40,releas:[38,139,140,142,202],reliabl:[171,172],remov:[42,171,184,185,219,220,224,231,275,282,283,291,292,298],report:[171,219,220,224,226,229,231,275],requir:[3,23,32],reserv:[2,31],reset:[204,313],retrain:134,retriev:35,review:[171,219,220,224,226,229,231,275],ric:134,rng:28,root:2,rtc:117,rule:140,run:14,runtim:132,sampl:35,save:[171,172],sbe:0,scheme:141,scom:24,secboot:313,secboot_tpm:313,secondari:124,secur:[17,118,171,172,204,246,247,291,292,312,314],secureboot:23,secvar:[17,311,313],sensor:[0,18,19,119,171,172,229,230,268,291,292],sequenc:134,servic:[10,68,132,314],set:77,setup:134,sha512:314,shift:109,sign:314,signoff:[171,219,220,224,226,229,231,275],simic:[184,186,202,203],simul:[184,186,193,202,203,226,227,231,232,273,274,282,283,291,292],sinc:[184,202,219],skiboot:[1,36,37,38,39,41,133,138,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312],slot:135,sourc:[133,139],space:[41,78],special:312,specif:[41,132,137,147,148,153,171,172],speed:134,sreset:[182,183],stabl:140,start:124,stat:161,state:[13,137],statu:[17,311,312],stop:[124,137],storag:[311,313],store_init:311,submit:140,support:[0,44,132,136,184,185],switchboard:[33,315],sysparam:20,system:[8,77,171,172,220,224,226,227,229,231,232],tabl:17,target_cpu:113,test:[36,171,182,183,193,202,203,219,220,221,224,226,227,228,229,230,231,246,247,273,275,277],time:[0,114,117],todo:130,tool:193,top:[5,24,219,224],tpm:[32,220,313],trace:[24,37],train:134,tree:[2,6,7,9,11,13,14,19,24,25,27,29,30,31,40,41,130,134,140,193,312,316],trust:[32,171,172,204,246,247,291,292,314],turbo:13,type:44,ultra:13,unit:[24,36,37],updat:[17,47,312,316],userspac:190,util:[154,171,172,184,186,189,190,202,203,204,220,229,230,231,232,273,274,275,276,277,282,283,291,292],valid:[0,311],valu:[43,45,47,55,67,71,72,74,75,76,87,99,118,120],variabl:[118,312,313],vcss:14,vdd:14,vendor:41,verbos:134,verif:314,verifi:314,version:[4,141],vesnin:[275,276,282,283,291,292],virtual:[33,315],vital:34,vpd:[34,268],watchdog:[0,273,274],what:[132,140],who:[171,219,220,224,226,229,231,275],witherspoon:[171,172,275,276,282,283],write_bank:311,xive:[171,172,231,232,316],xscom:317,zaiu:[275,276,282,283]}}) \ No newline at end of file
+Search.setIndex({docnames:["bmc","console-log","device-tree","device-tree/ibm,cvc","device-tree/ibm,firmware-versions","device-tree/ibm,opal","device-tree/ibm,opal/diagnostics","device-tree/ibm,opal/dump","device-tree/ibm,opal/firmware","device-tree/ibm,opal/flash","device-tree/ibm,opal/led","device-tree/ibm,opal/nvram","device-tree/ibm,opal/oppanel","device-tree/ibm,opal/power-mgt","device-tree/ibm,opal/power-mgt/occ","device-tree/ibm,opal/power-mgt/powercap","device-tree/ibm,opal/power-mgt/psr","device-tree/ibm,opal/secvar","device-tree/ibm,opal/sensor-groups","device-tree/ibm,opal/sensors","device-tree/ibm,opal/sysparams","device-tree/ibm,powerpc-cpu-features/binding","device-tree/ibm,powerpc-cpu-features/design","device-tree/ibm,secureboot","device-tree/imc","device-tree/index","device-tree/memory-hierarchy","device-tree/nvlink","device-tree/nx","device-tree/opencapi","device-tree/pci","device-tree/reserved-memory","device-tree/tpm","device-tree/vas","device-tree/vpd","error-logging","gcov","imc","index","memory","mpipl","nvlink","opal-api/index","opal-api/opal-cec-power-down-5","opal-api/opal-cec-reboot-6-116","opal-api/opal-check-async-completion-86","opal-api/opal-check-token-80","opal-api/opal-code-update-76-77-78","opal-api/opal-config-cpu-idle-state-99","opal-api/opal-console-read-write-1-2","opal-api/opal-dump-81-82-83-84-94-101-102","opal-api/opal-elog-71-72-73-74-75","opal-api/opal-flash-110-111-112","opal-api/opal-get-device-tree-118","opal-api/opal-get-epow-status-56","opal-api/opal-get-msg-85","opal-api/opal-get-msi-39-40","opal-api/opal-get-xive-20","opal-api/opal-handle-hmi-98-166","opal-api/opal-handle-interrupt","opal-api/opal-i2c-request-109","opal-api/opal-imc-counters","opal-api/opal-int-eoi-124","opal-api/opal-int-get-xirr-122","opal-api/opal-int-set-cppr-123","opal-api/opal-int-set-mfrr-125","opal-api/opal-invalid-call--1","opal-api/opal-ipmi-send-recv-107-108","opal-api/opal-led-get-set-114-115","opal-api/opal-lpc-read-write-67-68","opal-api/opal-messages","opal-api/opal-mpipl-173-174","opal-api/opal-nmmu-set-ptcr-127","opal-api/opal-npu2-146-147-148","opal-api/opal-npu2-get-set-relaxed-order-168-169","opal-api/opal-npu2-opencapi-159-160-161-171-172","opal-api/opal-nvram-read-write-7-8","opal-api/opal-param-89-90","opal-api/opal-pci-config-read-write-13-14-15-16-17-18","opal-api/opal-pci-eeh-freeze-clear-26","opal-api/opal-pci-eeh-freeze-set-97","opal-api/opal-pci-eeh-freeze-status-23","opal-api/opal-pci-err-inject-96","opal-api/opal-pci-get-hub-diag-data-50","opal-api/opal-pci-get-phb-diag-data2-64","opal-api/opal-pci-get-power-state-120","opal-api/opal-pci-get-presence-state-119","opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165","opal-api/opal-pci-map-pe-dma-window-44","opal-api/opal-pci-map-pe-dma-window-real-45","opal-api/opal-pci-map-pe-mmio-window-29","opal-api/opal-pci-msi-eoi-63","opal-api/opal-pci-next-error-60","opal-api/opal-pci-phb-mmio-enable-27","opal-api/opal-pci-poll-62","opal-api/opal-pci-reinit-53","opal-api/opal-pci-reset-49","opal-api/opal-pci-set-mve-33","opal-api/opal-pci-set-mve-enable-34","opal-api/opal-pci-set-p2p-157","opal-api/opal-pci-set-pe-31","opal-api/opal-pci-set-peltv-32","opal-api/opal-pci-set-phb-capi-mode-93","opal-api/opal-pci-set-phb-mem-window-28","opal-api/opal-pci-set-power-state-121","opal-api/opal-pci-set-xive-pe-37","opal-api/opal-pci-tce-kill-126","opal-api/opal-phb-flag-set-get-179-180","opal-api/opal-poll-events","opal-api/opal-power-shift-ratio","opal-api/opal-powercap","opal-api/opal-prd-msg-113","opal-api/opal-query-cpu-status-42","opal-api/opal-quiesce-158","opal-api/opal-read-write-tpo-dpo-103-104-105","opal-api/opal-reinit-cpus-70","opal-api/opal-resync-timebase-79","opal-api/opal-rtc-read-write-3-4","opal-api/opal-secvar","opal-api/opal-sensor-group-enable-clear-163-156","opal-api/opal-sensor-read-88","opal-api/opal-set-xive-19","opal-api/opal-signal-system-reset-145","opal-api/opal-slw-set-reg-100","opal-api/opal-start-return-cpu-41-69","opal-api/opal-sync-host-reboot-87","opal-api/opal-test-0","opal-api/opal-write-oppanel-async-95","opal-api/opal-xscom-read-write-65-66","opal-api/opal_nx_coproc_init-167","opal-api/power9-changes","opal-api/return-codes","opal-spec","overview","pci","pci-slot","platforms-and-cpus","power-management","process/CONTRIBUTING","process/dev-release-process","process/stable-skiboot-rules","process/versioning","release-notes/index","release-notes/skiboot-4.0","release-notes/skiboot-4.1","release-notes/skiboot-4.1.1","release-notes/skiboot-5.0","release-notes/skiboot-5.1.0","release-notes/skiboot-5.1.0-beta1","release-notes/skiboot-5.1.0-beta2","release-notes/skiboot-5.1.1","release-notes/skiboot-5.1.10","release-notes/skiboot-5.1.11","release-notes/skiboot-5.1.12","release-notes/skiboot-5.1.13","release-notes/skiboot-5.1.14","release-notes/skiboot-5.1.15","release-notes/skiboot-5.1.16","release-notes/skiboot-5.1.17","release-notes/skiboot-5.1.18","release-notes/skiboot-5.1.19","release-notes/skiboot-5.1.2","release-notes/skiboot-5.1.20","release-notes/skiboot-5.1.21","release-notes/skiboot-5.1.3","release-notes/skiboot-5.1.4","release-notes/skiboot-5.1.5","release-notes/skiboot-5.1.6","release-notes/skiboot-5.1.7","release-notes/skiboot-5.1.8","release-notes/skiboot-5.1.9","release-notes/skiboot-5.10","release-notes/skiboot-5.10-rc1","release-notes/skiboot-5.10-rc2","release-notes/skiboot-5.10-rc3","release-notes/skiboot-5.10-rc4","release-notes/skiboot-5.10.1","release-notes/skiboot-5.10.2","release-notes/skiboot-5.10.3","release-notes/skiboot-5.10.4","release-notes/skiboot-5.10.5","release-notes/skiboot-5.10.6","release-notes/skiboot-5.11","release-notes/skiboot-5.11-rc1","release-notes/skiboot-5.2.0","release-notes/skiboot-5.2.0-rc1","release-notes/skiboot-5.2.0-rc2","release-notes/skiboot-5.2.1","release-notes/skiboot-5.2.2","release-notes/skiboot-5.2.3","release-notes/skiboot-5.2.4","release-notes/skiboot-5.2.5","release-notes/skiboot-5.3.0","release-notes/skiboot-5.3.0-rc1","release-notes/skiboot-5.3.0-rc2","release-notes/skiboot-5.3.1","release-notes/skiboot-5.3.2","release-notes/skiboot-5.3.3","release-notes/skiboot-5.3.4","release-notes/skiboot-5.3.5","release-notes/skiboot-5.3.6","release-notes/skiboot-5.3.7","release-notes/skiboot-5.4.0","release-notes/skiboot-5.4.0-rc1","release-notes/skiboot-5.4.0-rc2","release-notes/skiboot-5.4.0-rc3","release-notes/skiboot-5.4.0-rc4","release-notes/skiboot-5.4.1","release-notes/skiboot-5.4.10","release-notes/skiboot-5.4.11","release-notes/skiboot-5.4.12","release-notes/skiboot-5.4.2","release-notes/skiboot-5.4.3","release-notes/skiboot-5.4.4","release-notes/skiboot-5.4.5","release-notes/skiboot-5.4.6","release-notes/skiboot-5.4.7","release-notes/skiboot-5.4.8","release-notes/skiboot-5.4.9","release-notes/skiboot-5.5.0","release-notes/skiboot-5.5.0-rc1","release-notes/skiboot-5.5.0-rc2","release-notes/skiboot-5.5.0-rc3","release-notes/skiboot-5.6.0","release-notes/skiboot-5.6.0-rc1","release-notes/skiboot-5.6.0-rc2","release-notes/skiboot-5.7","release-notes/skiboot-5.7-rc1","release-notes/skiboot-5.7-rc2","release-notes/skiboot-5.8","release-notes/skiboot-5.8-rc1","release-notes/skiboot-5.9","release-notes/skiboot-5.9-rc1","release-notes/skiboot-5.9-rc2","release-notes/skiboot-5.9-rc3","release-notes/skiboot-5.9-rc4","release-notes/skiboot-5.9-rc5","release-notes/skiboot-5.9.1","release-notes/skiboot-5.9.2","release-notes/skiboot-5.9.3","release-notes/skiboot-5.9.4","release-notes/skiboot-5.9.5","release-notes/skiboot-5.9.6","release-notes/skiboot-5.9.7","release-notes/skiboot-5.9.8","release-notes/skiboot-5.9.9","release-notes/skiboot-6.0","release-notes/skiboot-6.0-rc1","release-notes/skiboot-6.0-rc2","release-notes/skiboot-6.0.1","release-notes/skiboot-6.0.10","release-notes/skiboot-6.0.11","release-notes/skiboot-6.0.12","release-notes/skiboot-6.0.13","release-notes/skiboot-6.0.14","release-notes/skiboot-6.0.15","release-notes/skiboot-6.0.16","release-notes/skiboot-6.0.17","release-notes/skiboot-6.0.18","release-notes/skiboot-6.0.19","release-notes/skiboot-6.0.2","release-notes/skiboot-6.0.20","release-notes/skiboot-6.0.21","release-notes/skiboot-6.0.22","release-notes/skiboot-6.0.23","release-notes/skiboot-6.0.24","release-notes/skiboot-6.0.3","release-notes/skiboot-6.0.4","release-notes/skiboot-6.0.5","release-notes/skiboot-6.0.6","release-notes/skiboot-6.0.7","release-notes/skiboot-6.0.8","release-notes/skiboot-6.0.9","release-notes/skiboot-6.1","release-notes/skiboot-6.1-rc1","release-notes/skiboot-6.2","release-notes/skiboot-6.2-rc1","release-notes/skiboot-6.2-rc2","release-notes/skiboot-6.2.1","release-notes/skiboot-6.2.2","release-notes/skiboot-6.2.3","release-notes/skiboot-6.2.4","release-notes/skiboot-6.3","release-notes/skiboot-6.3-rc1","release-notes/skiboot-6.3-rc2","release-notes/skiboot-6.3-rc3","release-notes/skiboot-6.3.1","release-notes/skiboot-6.3.2","release-notes/skiboot-6.3.3","release-notes/skiboot-6.3.4","release-notes/skiboot-6.3.5","release-notes/skiboot-6.4","release-notes/skiboot-6.4-rc1","release-notes/skiboot-6.5","release-notes/skiboot-6.5.1","release-notes/skiboot-6.5.2","release-notes/skiboot-6.5.3","release-notes/skiboot-6.5.4","release-notes/skiboot-6.6","release-notes/skiboot-6.6.1","release-notes/skiboot-6.6.2","release-notes/skiboot-6.6.3","release-notes/skiboot-6.6.4","release-notes/skiboot-6.6.6","release-notes/skiboot-6.7","release-notes/skiboot-6.7.1","release-notes/skiboot-6.7.2","release-notes/skiboot-6.7.3","release-notes/skiboot-6.8","release-notes/skiboot-6.8.1","release-notes/skiboot-7.0","secvar/driver-api","secvar/edk2","secvar/secboot_tpm","stb","vas","xive","xscom-node-bindings"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["bmc.rst","console-log.rst","device-tree.rst","device-tree/ibm,cvc.rst","device-tree/ibm,firmware-versions.rst","device-tree/ibm,opal.rst","device-tree/ibm,opal/diagnostics.rst","device-tree/ibm,opal/dump.rst","device-tree/ibm,opal/firmware.rst","device-tree/ibm,opal/flash.rst","device-tree/ibm,opal/led.rst","device-tree/ibm,opal/nvram.rst","device-tree/ibm,opal/oppanel.rst","device-tree/ibm,opal/power-mgt.rst","device-tree/ibm,opal/power-mgt/occ.rst","device-tree/ibm,opal/power-mgt/powercap.rst","device-tree/ibm,opal/power-mgt/psr.rst","device-tree/ibm,opal/secvar.rst","device-tree/ibm,opal/sensor-groups.rst","device-tree/ibm,opal/sensors.rst","device-tree/ibm,opal/sysparams.rst","device-tree/ibm,powerpc-cpu-features/binding.rst","device-tree/ibm,powerpc-cpu-features/design.rst","device-tree/ibm,secureboot.rst","device-tree/imc.rst","device-tree/index.rst","device-tree/memory-hierarchy.rst","device-tree/nvlink.rst","device-tree/nx.rst","device-tree/opencapi.rst","device-tree/pci.rst","device-tree/reserved-memory.rst","device-tree/tpm.rst","device-tree/vas.rst","device-tree/vpd.rst","error-logging.rst","gcov.rst","imc.rst","index.rst","memory.rst","mpipl.rst","nvlink.rst","opal-api/index.rst","opal-api/opal-cec-power-down-5.rst","opal-api/opal-cec-reboot-6-116.rst","opal-api/opal-check-async-completion-86.rst","opal-api/opal-check-token-80.rst","opal-api/opal-code-update-76-77-78.rst","opal-api/opal-config-cpu-idle-state-99.rst","opal-api/opal-console-read-write-1-2.rst","opal-api/opal-dump-81-82-83-84-94-101-102.rst","opal-api/opal-elog-71-72-73-74-75.rst","opal-api/opal-flash-110-111-112.rst","opal-api/opal-get-device-tree-118.rst","opal-api/opal-get-epow-status-56.rst","opal-api/opal-get-msg-85.rst","opal-api/opal-get-msi-39-40.rst","opal-api/opal-get-xive-20.rst","opal-api/opal-handle-hmi-98-166.rst","opal-api/opal-handle-interrupt.rst","opal-api/opal-i2c-request-109.rst","opal-api/opal-imc-counters.rst","opal-api/opal-int-eoi-124.rst","opal-api/opal-int-get-xirr-122.rst","opal-api/opal-int-set-cppr-123.rst","opal-api/opal-int-set-mfrr-125.rst","opal-api/opal-invalid-call--1.rst","opal-api/opal-ipmi-send-recv-107-108.rst","opal-api/opal-led-get-set-114-115.rst","opal-api/opal-lpc-read-write-67-68.rst","opal-api/opal-messages.rst","opal-api/opal-mpipl-173-174.rst","opal-api/opal-nmmu-set-ptcr-127.rst","opal-api/opal-npu2-146-147-148.rst","opal-api/opal-npu2-get-set-relaxed-order-168-169.rst","opal-api/opal-npu2-opencapi-159-160-161-171-172.rst","opal-api/opal-nvram-read-write-7-8.rst","opal-api/opal-param-89-90.rst","opal-api/opal-pci-config-read-write-13-14-15-16-17-18.rst","opal-api/opal-pci-eeh-freeze-clear-26.rst","opal-api/opal-pci-eeh-freeze-set-97.rst","opal-api/opal-pci-eeh-freeze-status-23.rst","opal-api/opal-pci-err-inject-96.rst","opal-api/opal-pci-get-hub-diag-data-50.rst","opal-api/opal-pci-get-phb-diag-data2-64.rst","opal-api/opal-pci-get-power-state-120.rst","opal-api/opal-pci-get-presence-state-119.rst","opal-api/opal-pci-get-set-pbcq-tunnel-bar-164-165.rst","opal-api/opal-pci-map-pe-dma-window-44.rst","opal-api/opal-pci-map-pe-dma-window-real-45.rst","opal-api/opal-pci-map-pe-mmio-window-29.rst","opal-api/opal-pci-msi-eoi-63.rst","opal-api/opal-pci-next-error-60.rst","opal-api/opal-pci-phb-mmio-enable-27.rst","opal-api/opal-pci-poll-62.rst","opal-api/opal-pci-reinit-53.rst","opal-api/opal-pci-reset-49.rst","opal-api/opal-pci-set-mve-33.rst","opal-api/opal-pci-set-mve-enable-34.rst","opal-api/opal-pci-set-p2p-157.rst","opal-api/opal-pci-set-pe-31.rst","opal-api/opal-pci-set-peltv-32.rst","opal-api/opal-pci-set-phb-capi-mode-93.rst","opal-api/opal-pci-set-phb-mem-window-28.rst","opal-api/opal-pci-set-power-state-121.rst","opal-api/opal-pci-set-xive-pe-37.rst","opal-api/opal-pci-tce-kill-126.rst","opal-api/opal-phb-flag-set-get-179-180.rst","opal-api/opal-poll-events.rst","opal-api/opal-power-shift-ratio.rst","opal-api/opal-powercap.rst","opal-api/opal-prd-msg-113.rst","opal-api/opal-query-cpu-status-42.rst","opal-api/opal-quiesce-158.rst","opal-api/opal-read-write-tpo-dpo-103-104-105.rst","opal-api/opal-reinit-cpus-70.rst","opal-api/opal-resync-timebase-79.rst","opal-api/opal-rtc-read-write-3-4.rst","opal-api/opal-secvar.rst","opal-api/opal-sensor-group-enable-clear-163-156.rst","opal-api/opal-sensor-read-88.rst","opal-api/opal-set-xive-19.rst","opal-api/opal-signal-system-reset-145.rst","opal-api/opal-slw-set-reg-100.rst","opal-api/opal-start-return-cpu-41-69.rst","opal-api/opal-sync-host-reboot-87.rst","opal-api/opal-test-0.rst","opal-api/opal-write-oppanel-async-95.rst","opal-api/opal-xscom-read-write-65-66.rst","opal-api/opal_nx_coproc_init-167.rst","opal-api/power9-changes.rst","opal-api/return-codes.rst","opal-spec.rst","overview.rst","pci.rst","pci-slot.rst","platforms-and-cpus.rst","power-management.rst","process/CONTRIBUTING.md","process/dev-release-process.rst","process/stable-skiboot-rules.rst","process/versioning.rst","release-notes/index.rst","release-notes/skiboot-4.0.rst","release-notes/skiboot-4.1.rst","release-notes/skiboot-4.1.1.rst","release-notes/skiboot-5.0.rst","release-notes/skiboot-5.1.0.rst","release-notes/skiboot-5.1.0-beta1.rst","release-notes/skiboot-5.1.0-beta2.rst","release-notes/skiboot-5.1.1.rst","release-notes/skiboot-5.1.10.rst","release-notes/skiboot-5.1.11.rst","release-notes/skiboot-5.1.12.rst","release-notes/skiboot-5.1.13.rst","release-notes/skiboot-5.1.14.rst","release-notes/skiboot-5.1.15.rst","release-notes/skiboot-5.1.16.rst","release-notes/skiboot-5.1.17.rst","release-notes/skiboot-5.1.18.rst","release-notes/skiboot-5.1.19.rst","release-notes/skiboot-5.1.2.rst","release-notes/skiboot-5.1.20.rst","release-notes/skiboot-5.1.21.rst","release-notes/skiboot-5.1.3.rst","release-notes/skiboot-5.1.4.rst","release-notes/skiboot-5.1.5.rst","release-notes/skiboot-5.1.6.rst","release-notes/skiboot-5.1.7.rst","release-notes/skiboot-5.1.8.rst","release-notes/skiboot-5.1.9.rst","release-notes/skiboot-5.10.rst","release-notes/skiboot-5.10-rc1.rst","release-notes/skiboot-5.10-rc2.rst","release-notes/skiboot-5.10-rc3.rst","release-notes/skiboot-5.10-rc4.rst","release-notes/skiboot-5.10.1.rst","release-notes/skiboot-5.10.2.rst","release-notes/skiboot-5.10.3.rst","release-notes/skiboot-5.10.4.rst","release-notes/skiboot-5.10.5.rst","release-notes/skiboot-5.10.6.rst","release-notes/skiboot-5.11.rst","release-notes/skiboot-5.11-rc1.rst","release-notes/skiboot-5.2.0.rst","release-notes/skiboot-5.2.0-rc1.rst","release-notes/skiboot-5.2.0-rc2.rst","release-notes/skiboot-5.2.1.rst","release-notes/skiboot-5.2.2.rst","release-notes/skiboot-5.2.3.rst","release-notes/skiboot-5.2.4.rst","release-notes/skiboot-5.2.5.rst","release-notes/skiboot-5.3.0.rst","release-notes/skiboot-5.3.0-rc1.rst","release-notes/skiboot-5.3.0-rc2.rst","release-notes/skiboot-5.3.1.rst","release-notes/skiboot-5.3.2.rst","release-notes/skiboot-5.3.3.rst","release-notes/skiboot-5.3.4.rst","release-notes/skiboot-5.3.5.rst","release-notes/skiboot-5.3.6.rst","release-notes/skiboot-5.3.7.rst","release-notes/skiboot-5.4.0.rst","release-notes/skiboot-5.4.0-rc1.rst","release-notes/skiboot-5.4.0-rc2.rst","release-notes/skiboot-5.4.0-rc3.rst","release-notes/skiboot-5.4.0-rc4.rst","release-notes/skiboot-5.4.1.rst","release-notes/skiboot-5.4.10.rst","release-notes/skiboot-5.4.11.rst","release-notes/skiboot-5.4.12.rst","release-notes/skiboot-5.4.2.rst","release-notes/skiboot-5.4.3.rst","release-notes/skiboot-5.4.4.rst","release-notes/skiboot-5.4.5.rst","release-notes/skiboot-5.4.6.rst","release-notes/skiboot-5.4.7.rst","release-notes/skiboot-5.4.8.rst","release-notes/skiboot-5.4.9.rst","release-notes/skiboot-5.5.0.rst","release-notes/skiboot-5.5.0-rc1.rst","release-notes/skiboot-5.5.0-rc2.rst","release-notes/skiboot-5.5.0-rc3.rst","release-notes/skiboot-5.6.0.rst","release-notes/skiboot-5.6.0-rc1.rst","release-notes/skiboot-5.6.0-rc2.rst","release-notes/skiboot-5.7.rst","release-notes/skiboot-5.7-rc1.rst","release-notes/skiboot-5.7-rc2.rst","release-notes/skiboot-5.8.rst","release-notes/skiboot-5.8-rc1.rst","release-notes/skiboot-5.9.rst","release-notes/skiboot-5.9-rc1.rst","release-notes/skiboot-5.9-rc2.rst","release-notes/skiboot-5.9-rc3.rst","release-notes/skiboot-5.9-rc4.rst","release-notes/skiboot-5.9-rc5.rst","release-notes/skiboot-5.9.1.rst","release-notes/skiboot-5.9.2.rst","release-notes/skiboot-5.9.3.rst","release-notes/skiboot-5.9.4.rst","release-notes/skiboot-5.9.5.rst","release-notes/skiboot-5.9.6.rst","release-notes/skiboot-5.9.7.rst","release-notes/skiboot-5.9.8.rst","release-notes/skiboot-5.9.9.rst","release-notes/skiboot-6.0.rst","release-notes/skiboot-6.0-rc1.rst","release-notes/skiboot-6.0-rc2.rst","release-notes/skiboot-6.0.1.rst","release-notes/skiboot-6.0.10.rst","release-notes/skiboot-6.0.11.rst","release-notes/skiboot-6.0.12.rst","release-notes/skiboot-6.0.13.rst","release-notes/skiboot-6.0.14.rst","release-notes/skiboot-6.0.15.rst","release-notes/skiboot-6.0.16.rst","release-notes/skiboot-6.0.17.rst","release-notes/skiboot-6.0.18.rst","release-notes/skiboot-6.0.19.rst","release-notes/skiboot-6.0.2.rst","release-notes/skiboot-6.0.20.rst","release-notes/skiboot-6.0.21.rst","release-notes/skiboot-6.0.22.rst","release-notes/skiboot-6.0.23.rst","release-notes/skiboot-6.0.24.rst","release-notes/skiboot-6.0.3.rst","release-notes/skiboot-6.0.4.rst","release-notes/skiboot-6.0.5.rst","release-notes/skiboot-6.0.6.rst","release-notes/skiboot-6.0.7.rst","release-notes/skiboot-6.0.8.rst","release-notes/skiboot-6.0.9.rst","release-notes/skiboot-6.1.rst","release-notes/skiboot-6.1-rc1.rst","release-notes/skiboot-6.2.rst","release-notes/skiboot-6.2-rc1.rst","release-notes/skiboot-6.2-rc2.rst","release-notes/skiboot-6.2.1.rst","release-notes/skiboot-6.2.2.rst","release-notes/skiboot-6.2.3.rst","release-notes/skiboot-6.2.4.rst","release-notes/skiboot-6.3.rst","release-notes/skiboot-6.3-rc1.rst","release-notes/skiboot-6.3-rc2.rst","release-notes/skiboot-6.3-rc3.rst","release-notes/skiboot-6.3.1.rst","release-notes/skiboot-6.3.2.rst","release-notes/skiboot-6.3.3.rst","release-notes/skiboot-6.3.4.rst","release-notes/skiboot-6.3.5.rst","release-notes/skiboot-6.4.rst","release-notes/skiboot-6.4-rc1.rst","release-notes/skiboot-6.5.rst","release-notes/skiboot-6.5.1.rst","release-notes/skiboot-6.5.2.rst","release-notes/skiboot-6.5.3.rst","release-notes/skiboot-6.5.4.rst","release-notes/skiboot-6.6.rst","release-notes/skiboot-6.6.1.rst","release-notes/skiboot-6.6.2.rst","release-notes/skiboot-6.6.3.rst","release-notes/skiboot-6.6.4.rst","release-notes/skiboot-6.6.6.rst","release-notes/skiboot-6.7.rst","release-notes/skiboot-6.7.1.rst","release-notes/skiboot-6.7.2.rst","release-notes/skiboot-6.7.3.rst","release-notes/skiboot-6.8.rst","release-notes/skiboot-6.8.1.rst","release-notes/skiboot-7.0.rst","secvar/driver-api.rst","secvar/edk2.rst","secvar/secboot_tpm.rst","stb.rst","vas.rst","xive.rst","xscom-node-bindings.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,2,4,8,9,16,21,22,24,27,28,29,30,33,35,36,38,39,41,42,43,44,46,47,48,49,51,54,56,58,60,69,70,71,73,81,82,87,88,89,90,92,93,96,97,98,100,101,102,103,105,106,107,113,115,117,121,122,126,130,131,132,133,134,137,139,141,142,150,153,161,162,164,171,172,173,174,177,181,182,183,187,189,190,195,196,197,198,199,200,201,207,213,214,215,217,226,227,228,229,230,231,232,233,237,273,274,275,276,277,278,280,281,282,283,284,285,287,288,289,291,292,298,313,316,317],"00":[4,30,35,39,117,164,182,183,206,213,220,231,232,235,236,246,247,282,283,285,288,316],"000":[1,24,84,171,172,245],"0000":[134,171,173,182,229,230,246,247,256,273,274,278,281,282,283,285],"00000":[27,254,275,276],"000000":[117,201],"0000000":[26,171,172,182,183,249,282,285],"00000000":[35,157,162,171,173,182,183,187,201,214,224,226,228,273,274,282,285],"0000000000000000":[162,171,173,182,183,215,226,227,246,247],"0000000000000001":[246,247],"0000000000000010":[182,183,224],"0000000000000028":[182,183],"0000000000000080":[246,247],"0000000000000180":[162,214],"0000000000001f00":224,"0000000000001f10":[182,183,272,275,276],"0000000000008000":[246,247],"0000000000029320":[254,275,276],"0000000002000000":[246,247],"0000000020004208":[182,183],"0000000028024442":[162,215,226,227],"0000000030002648":224,"0000000030002700":[182,272,273,274,275,276],"0000000030002718":[281,282,283],"0000000030002770":[182,183],"00000000300027b4":[171,173],"00000000300029f4":[171,174],"0000000030002a4c":[261,281,282,283],"0000000030005128":[162,215,226,227],"00000000300051c4":[182,183],"00000000300051dc":[246,247],"0000000030012c70":[273,274],"00000000300130cc":[273,274],"000000003001362c":[182,183],"000000003001364c":224,"000000003001367c":[171,174],"0000000030013b0c":182,"0000000030013bbc":182,"00000000300142d8":[171,174],"000000003001447c":[182,183],"00000000300144c8":[182,183,224],"00000000300146d8":[261,281,282,283],"000000003001480c":[273,274],"0000000030014814":[281,282,283],"00000000300149e8":[171,173],"0000000030014ca4":[272,275,276],"0000000030014cb0":[182,183],"0000000030014d04":[182,183],"0000000030015050":182,"0000000030015164":[281,282,283],"000000003001571c":[273,274],"00000000300168fc":[162,214],"0000000030016968":[162,214],"0000000030017ff0":[182,183],"0000000030018db8":224,"00000000300190ac":[273,274],"00000000300192e0":[273,274],"0000000030019aa8":182,"0000000030019c70":[256,278],"0000000030019e38":[182,183],"000000003001a03c":[171,174],"000000003001a040":[256,278],"000000003001a0c4":[256,278],"000000003001a51c":[272,275,276],"000000003001a548":[246,247],"000000003001af60":[261,281,282,283],"000000003001afdc":[261,281,282,283],"000000003001b274":[281,282,283],"000000003001b2f0":[281,282,283],"000000003001b520":182,"000000003001baac":[246,247],"000000003001bcbc":[246,247],"000000003001bd18":182,"000000003001d840":[256,278],"000000003001e27c":[182,183],"000000003001e588":[182,183],"000000003001ee74":[182,183],"0000000030024804":224,"00000000300248b8":224,"0000000030024b50":224,"000000003002586c":[171,174],"0000000030025c6c":224,"000000003002602c":[182,183],"0000000030026040":[182,183],"0000000030026054":[182,183],"00000000300267d8":[171,174],"000000003002682c":[182,183],"0000000030026a28":[171,174],"0000000030026cf0":[261,281,282,283],"000000003002760c":[182,183],"0000000030028170":[272,275,276],"000000003002ad68":[171,173],"000000003002ad80":[171,173],"0000000030030240":[178,182,183],"0000000030030258":[178,182,183],"000000003003025c":[178,182,183],"0000000030030e08":[182,183],"00000000300347bc":[273,274],"0000000030034844":[273,274],"00000000300364a4":[273,274],"000000003003e434":[178,182,183],"000000003003ea3c":[171,174],"000000003004ab48":[273,274],"000000003006dd70":[162,215,226,227],"000000003006ecb0":[272,275,276],"000000003006ecd4":[272,275,276],"0000000030090c28":224,"000000003009102c":[182,183],"0000000030091054":[182,183],"0000000030093d80":[171,173],"0000000030093ffc":224,"000000003009abec":224,"00000000300b3dc6":[182,183],"00000000300b4f3e":[182,183],"00000000300b58bc":[171,173],"00000000300b5964":[171,173],"00000000300b98a0":[272,275,276],"00000000300bb6d2":[182,183],"00000000300be6fb":[182,183],"00000000300c5b70":182,"00000000300cb808":[273,274],"00000000300cb910":[273,274],"00000000300fd500":[182,183],"0000000030767d38":[182,183],"0000000031c03370":[273,274],"0000000031c03410":[273,274],"0000000031c034b0":[273,274],"0000000031c03540":[273,274],"0000000031c03600":[273,274],"0000000031c036d0":[273,274],"0000000031c03780":[273,274],"0000000031c03930":[256,278],"0000000031c03970":[273,274],"0000000031c039c0":[256,278],"0000000031c03a00":[273,274],"0000000031c03a50":[256,278],"0000000031c03af0":[256,278],"0000000031c03b90":[273,274],"0000000031c03ba0":[246,247],"0000000031c03bc0":[171,173],"0000000031c03bd0":[171,173],"0000000031c03c20":[246,247],"0000000031c03ca0":[246,247],"0000000031c03d20":[246,247],"0000000031c03d50":[273,274],"0000000031c03e30":[273,274],"0000000031c03f00":[273,274],"0000000031c13ab0":182,"0000000031c13b50":182,"0000000031c13be0":182,"0000000031c13c60":182,"0000000031c13d00":182,"0000000031c13d90":182,"0000000031c13e30":182,"0000000031c13f00":182,"0000000031c20000":[182,183],"0000000031c23670":[182,183],"0000000031c23910":[182,183],"0000000031c23930":[182,183],"0000000031cc37e0":[272,275,276],"0000000031cc3860":[272,275,276],"0000000031cc3a40":[272,275,276],"0000000031cc3c20":[272,275,276],"0000000031cc3e30":[272,275,276],"0000000031cc3f00":[272,275,276],"0000000031cd3370":[182,183],"0000000031cd3410":[182,183],"0000000031cd3490":[182,183],"0000000031cd3670":[182,183],"0000000031cd36a0":224,"0000000031cd3730":224,"0000000031cd37b0":224,"0000000031cd3840":224,"0000000031cd3850":[182,183],"0000000031cd38e0":[182,183],"0000000031cd3960":[182,183],"0000000031cd3a10":224,"0000000031cd3a30":[182,183],"0000000031cd3aa0":224,"0000000031cd3ab0":224,"0000000031cd3ac0":[182,183],"0000000031cd3b30":224,"0000000031cd3ba0":[182,183],"0000000031cd3bd0":224,"0000000031cd3cb0":[182,183],"0000000031cd3cf0":224,"0000000031cd3d40":[182,183],"0000000031cd3e00":[182,183],"0000000031cd3e30":224,"0000000031cd3e80":[182,183],"0000000031cd3f00":[182,183,224],"0000000031d43c60":[281,282,283],"0000000031d43ce0":[281,282,283],"0000000031d43d60":[281,282,283],"0000000031d43e30":[281,282,283],"0000000031d43f00":[281,282,283],"0000000031d639d0":[171,174],"0000000031d63a60":[171,174],"0000000031d63ae0":[171,174],"0000000031d63b70":[171,174],"0000000031d63c10":[171,174],"0000000031d63d90":[171,174],"0000000031d63e70":[171,174],"0000000031d63f00":[171,174],"0000000031e03ca0":[261,281,282,283],"0000000031e03d20":[261,281,282,283],"0000000031e03da0":[261,281,282,283],"0000000031e03e70":[261,281,282,283],"0000000031e03f00":[261,281,282,283],"0000000031fc4000":[162,215,226,227],"0000000102016890":[254,275,276],"00000008":[178,182,183,273,274],"0000000c":[171,172,226,228],"00000010":35,"0000001f":[229,230],"00000020":35,"0000002c":[231,232],"00000030":35,"00000032":[171,172],"00000040":35,"00000048":35,"00000050":35,"00000060":35,"00000070":35,"00000080":35,"00000085":[231,232],"00000090":35,"000000a0":35,"000000b0":35,"000000bd":[171,172],"000000c0":35,"000000d0":35,"000000e0":35,"000000f0":35,"00000100":35,"00000110":35,"00000120":35,"00000130":35,"00000140":35,"00000150":35,"00000160":35,"00000170":35,"00000180":35,"00000190":35,"000001a0":35,"000001b0":35,"000001c0":35,"000001d0":35,"000001e0":35,"0000080000000000":182,"000008e8":[157,187],"00000fff":[282,285],"00002000":35,"00002fffffff":[182,183],"0000303fffff":[182,183],"000030ffffff":[182,183],"000031bfffff":[182,183],"000031c0ffff":[182,183],"00004000":[171,172],"000051d01fff":[182,183],"00006":[231,233],"00007fffffff":[182,183],"0000802c":[171,172],"000080b3cdff":[182,183],"000080b7cdff":[182,183],"0000ccc1":[272,275,276],"0000ccc2":[272,275,276],"0000ccc3":[272,275,276],"0000d007":[171,172],"0000ffffffff":[182,183],"0001":[134,164,226,229,230,282,283,287,291,292],"000173140":[256,278],"0003080000000000":182,"0004":[182,220],"0004100026000000":[246,247],"0005":[201,202,203],"0006":[246,247],"0007":193,"000ft":236,"001":[10,24,34,246,247],"00102012830":[254,275,276],"0018":[272,275,276],"0022":[213,220],"0023":221,"0028":[281,282,283],"003":84,"0032":[182,183],"0032768":34,"003287941":[171,173],"0034":[182,183,224],"00340000":35,"003561769":[171,173],"003579628":[171,173],"003584268":[171,173],"003590812":[171,173],"003597355":[171,173],"003603480":[171,173],"003609930":[171,173],"003615698":[171,173],"003622799":[171,173],"003893084":[226,227],"0040":[226,227,261,281,282,283],"0048":[226,227],"0054":[226,227],"0058":[171,174],"005968779":[171,173],"005974102":[171,173],"005978696":[171,173],"005985239":[171,173],"005991782":[171,173],"005998130":[171,173],"006002769":[171,173],"006008069":[171,173],"006015170":[171,173],"007197688":[182,183],"008":84,"008757768":[275,276],"008762937":[275,276],"008768171":[275,276],"008779241":[275,276],"009f0000":35,"00e2147":34,"00e2148":34,"00fd7911":[231,232],"01":[20,117,213,220,246,247,316],"010":24,"0100":117,"01004154":35,"01005300":35,"011":24,"0123":[213,220],"0131f0fc08":[246,247],"014035267":[182,183],"014042254":[182,183],"014042685":[182,183],"014049556":[182,183],"014054237":[182,183],"014060472":[182,183],"014069947":[182,183],"014085574":[182,183],"014090118":[182,183],"014096243":[182,183],"014102546":[182,183],"014108538":[182,183],"014114756":[182,183],"014120301":[182,183],"016947149":[182,183],"017047348":[275,276],"017054251":[275,276],"017059054":[275,276],"017065371":[275,276],"017073254":[182,183],"017138048":[182,183],"017198375":[182,183],"017263210":[182,183],"017352517":[182,183],"017419778":[182,183],"017502425":[182,183],"017586924":[182,183],"017643873":[182,183],"017767091":[182,183],"017855707":[182,183],"017943944":[182,183],"018024709":[182,183],"018117716":[182,183],"018195974":[182,183],"018278350":[182,183],"018353795":[182,183],"018424362":[182,183],"018533159":[182,183],"018642725":[182,183],"018737925":[182,183],"018794428":[182,183],"019971181":[178,182,183],"019a00d4":[231,232],"01f977c3":[282,283],"02":[20,35,201,202,203,213,220,231,232,282,283],"0200":[178,182,183],"02000008":35,"02000500":35,"02000566":35,"020098392":[178,182,183],"02021c6":[231,232],"022302604":[275,276],"027252763":[246,248],"027261959":[182,183],"027265573":[182,183],"028c":[287,291,292],"03":[20,213,220,287,300],"03100718":[231,232],"036327572":[231,232],"03dc":220,"04":[89,171,173,213,220,275,276,291,292],"044921238":[171,172],"046347408":[272,275,276],"048578101":[171,172],"04c1":[282,285],"05":[35,213,220,231,233],"05012000":[229,230],"051049676":[171,172],"051160609":[272,275,276],"053":[226,227],"053503542":[171,172],"053560375":[171,172,245],"053564560":[171,172,245],"055359021":[272,275,276],"055361439":[272,275,276],"057182864":[171,172],"059666137":[171,172],"06":[164,213,220,299,305],"062930145":[246,248],"063":[226,227],"0679f61244b":231,"07":[21,35,213,220],"0700":193,"073820164":[272,275,276],"074707590":[261,281,282,283],"075198880":[261,281,282,283],"075201618":[261,281,282,283],"07b":22,"07fb":[226,227],"08":[213,220,231,233],"0800":[281,282,283],"083d":[178,182,183],"0840000000000000":[246,247,261,281,282,285],"084846885":291,"086164489":291,"086235699":[261,281,282,283],"0901":[162,215,226,227,246,247],"09090953":35,"092274807":[272,275,276],"092689829":[231,232],"096834019":[134,229,230],"096995141":[134,229,230],"09cfacb":4,"0b00":[171,172],"0b01":[171,172],"0b10":[171,172],"0b11":[171,172],"0beta":4,"0bxx00xx00":[216,226,227],"0bxx11xx11":[216,226,227],"0f":201,"0ff7":[281,282,283],"0ff8":[281,282,283],"0fff":[281,282,283],"0m":[134,226,229,230,287,291,292],"0u":229,"0x":[36,126,202,203,229,230],"0x0":[0,2,3,5,7,8,9,13,24,27,29,30,34,41,112,134,171,172,173,182,183,226,227,231,233,245,275,276,291,292],"0x00":[35,41,70,217,231,232,288],"0x0000":[287,291,292],"0x00000000":[15,16,35,171,172,242,245,282,283],"0x000000000000":[182,183],"0x0000000000000000":[171,174,282,283],"0x0000000000000001":[256,278],"0x0000000000000100":[246,247],"0x0000000000000104":[246,247],"0x0000000000000108":[246,247],"0x000000000000010c":[246,247],"0x0000000000000e40":[282,283],"0x000000000000a83c":[272,275,276],"0x0000000000100000":[2,246,247],"0x00000000003e0000":2,"0x0000000000400000":2,"0x000000000041fae0":[291,292],"0x000000000041fb50":[291,292],"0x000000000041fbd0":[291,292],"0x000000000041fc00":[291,292],"0x000000000041fc40":[291,292],"0x000000000041fc80":[291,292],"0x000000000041fd80":[291,292],"0x000000000041fe10":[291,292],"0x000000000041fe80":[291,292],"0x000000000041fef0":[291,292],"0x000000000041ff90":[291,292],"0x0000000000600450":2,"0x0000000000c00000":2,"0x0000000000e00000":2,"0x000000003":15,"0x0000000030000000":2,"0x0000000030000010":[282,283],"0x00000000300051e4":[261,281,282,283],"0x0000000030013a08":225,"0x000000003001dce4":[261,281,282,283],"0x000000003001dd3c":[261,281,282,283],"0x000000003002c128":[261,281,282,283],"0x000000003002ecf8":[261,281,282,283],"0x0000000030030be0":[261,281,282,283],"0x00000000300a7b18":[261,281,282,283],"0x00000000300a7c34":[261,281,282,283],"0x00000000300aa5f8":[261,281,282,283],"0x00000000300aaadc":[261,281,282,283],"0x00000000300ab1d8":[261,281,282,283],"0x0000000030400000":2,"0x0000000031000000":2,"0x0000000031c236e0":[261,281,282,283],"0x0000000031c23760":[261,281,282,283],"0x0000000031c237f0":[261,281,282,283],"0x0000000031c23880":[261,281,282,283],"0x0000000031c23950":[261,281,282,283],"0x0000000031c23a90":[261,281,282,283],"0x0000000031c23b30":[261,281,282,283],"0x0000000031c23bf0":[261,281,282,283],"0x0000000031c23c90":[261,281,282,283],"0x0000000031c23d20":[261,281,282,283],"0x0000000031e00000":2,"0x00000000deadbeef":224,"0x00000001":[15,226,227],"0x0000000101000000":226,"0x00000002":15,"0x00000003":[226,227],"0x0000000400000000":2,"0x0000000410000000":[182,183],"0x00000007fe200000":2,"0x00000007fe600000":2,"0x00000008":18,"0x0000001101000000":[134,229,230,287,291,292],"0x00000100":16,"0x00000103070f1f3f":[226,227],"0x00000175":18,"0x00000176":18,"0x00000177":18,"0x00000178":18,"0x00000179":18,"0x0000017a":18,"0x0000017b":18,"0x0000017c":18,"0x00000884":[217,231,233],"0x0000100000000000":249,"0x0000100101000000":226,"0x0000102101000000":[134,229,230,287,291,292],"0x0000105101000000":[287,291,292],"0x0000144083000000":[134,229,230],"0x0000144104000000":[134,229,230],"0x0000144883000000":[287,291,292],"0x0000154883000000":[134,229,230,287,291,292],"0x0000154904000000":[134,229,230],"0x0000180101000000":226,"0x0000182101000000":[134,229,230],"0x0000183101000000":[134,229,230,287,291,292],"0x00001c5081000000":[134,229,230],"0x00001c5083000000":[134,229,230],"0x00001c5101000000":[134,229,230],"0x00001c5103000000":[134,229,230],"0x00001c5104000000":[134,229,230],"0x00001c5881000000":[287,291,292],"0x00001c5883000000":[287,291,292],"0x00001d0811000000":226,"0x000030000000":[182,183],"0x000030400000":[182,183],"0x000031000000":[182,183],"0x000031c00000":[182,183],"0x0000400000000000":[246,248],"0x000051c00000":[182,183],"0x000051d02000":[182,183],"0x000080000000":[182,183],"0x000080b3ce00":[182,183],"0x000080b7ce00":[182,183],"0x0000909101000000":[287,291,292],"0x0001":[19,54],"0x0002":[19,54],"0x0003":19,"0x0004":[54,182],"0x0008":54,"0x00080000":48,"0x000f":220,"0x00100000":[180,182],"0x0017d907":23,"0x00200000":[180,182],"0x004bxxxx":136,"0x004c0100":[257,278,282,283],"0x004cxxxx":136,"0x004dxxxx":136,"0x004e0xxx":136,"0x004e1200":182,"0x004e1xxx":136,"0x004e2xxx":136,"0x004e3xxx":136,"0x004fxxxx":136,"0x00800020":19,"0x0080100000000000":249,"0x0080xxxx":136,"0x00810001":19,"0x009a48180f01ffff":249,"0x009a48180f03ffff":249,"0x00e4":[171,172],"0x01":[0,35,50,60,70,231,233],"0x01963000":291,"0x01964000":291,"0x01965000":291,"0x01c00020":18,"0x01c10190":313,"0x01c10191":313,"0x02":[0,35,41,50,70,231,232],"0x03":[35,50,70],"0x04":[0,35,70],"0x04ea":41,"0x05":[70,217,231,232],"0x06":275,"0x068000":41,"0x068001":41,"0x08":35,"0x0840000000000000":[171,172,272,275,276],"0x0841":[272,275,276],"0x0842":[272,275,276],"0x0843":[272,275,276],"0x0844":[272,275,276],"0x0845":[272,275,276],"0x0846":[272,275,276],"0x0847":[272,275,276],"0x09":[41,171,174],"0x0f":0,"0x0f000004":2,"0x0ff0":220,"0x1":[0,2,3,9,13,14,20,24,27,29,30,41,99,107,112,134,171,172,273,274,311],"0x10":[2,5,12,24,30,35,59,231,232,291,292],"0x100":[2,27,122,182,183,202,203,231,232,246,247],"0x1000":[2,9,17,30,231,232,254,275,277,282,285],"0x10000":[2,32],"0x100000":2,"0x10000000":30,"0x100000000":[27,226,227],"0x10000003":5,"0x1000000a":27,"0x1000000b":27,"0x10000017":32,"0x10000032":20,"0x1000006b":10,"0x1000006f":10,"0x100000fd":23,"0x1000012e":4,"0x1000023a":24,"0x1000023d":24,"0x10000241":24,"0x10000242":24,"0x100002a0":13,"0x100002bc":27,"0x100002bd":27,"0x100002be":27,"0x100002bf":[9,27],"0x100002c0":27,"0x100002f5":27,"0x100002f7":27,"0x100002fc":27,"0x100002fd":27,"0x100002fe":27,"0x100002ff":27,"0x100003b8":14,"0x10000abc":27,"0x10000def":27,"0x1000a7":5,"0x10077":5,"0x1014":[27,30,41],"0x1017":[231,232],"0x10200000":24,"0x1020013":275,"0x104":[246,247],"0x10414e43":34,"0x10f":3,"0x11":[5,59],"0x110":[2,3,217,231,233],"0x11000":13,"0x111":3,"0x114":224,"0x118":24,"0x11c":[231,233],"0x11e1a300":13,"0x11e4":224,"0x12":[5,59],"0x120":2,"0x126":30,"0x12c":[182,246,247],"0x13":[0,5,59],"0x130":[217,231,233],"0x134":[261,273,274,281,282,283],"0x138":224,"0x14":[0,5,59,221],"0x140":[261,281,282,283],"0x142":34,"0x14233":34,"0x15":[2,30],"0x150":[261,281,282,283],"0x158":[246,247],"0x15d9ad1c":26,"0x164":[261,281,282,283],"0x164d3322":34,"0x168":[231,233],"0x169626d2c":[226,227],"0x16c":[182,183],"0x170":[231,233],"0x17fe":[5,59],"0x17ff":[5,59],"0x18":[2,213,220],"0x180":[182,183,272,275,276],"0x180000":24,"0x1801010":5,"0x184":[273,274],"0x186a0":13,"0x188":182,"0x18c":[217,231,233],"0x1903010":5,"0x198":[217,224,231,233],"0x1a0000000000":[226,227],"0x1a00001f":[275,276],"0x1a05010":5,"0x1b0":[162,215,226,227],"0x1b07010":5,"0x1b3f5":8,"0x1b8":[261,272,275,276,281,282,283],"0x1c":[2,273,274,291,292],"0x1c0":[182,273,274,281,282,283],"0x1c09010":5,"0x1c8":[231,233],"0x1d01d6d1":23,"0x1d0b010":5,"0x1d4":[261,281,282,283],"0x1d4d3142":34,"0x1d8":[261,281,282,283],"0x1d9e":[182,183],"0x1e":30,"0x1e00":[171,174],"0x1e07":[171,174],"0x1e0d010":5,"0x1e848000":2,"0x1f":[1,30],"0x1f00":224,"0x1f0f010":5,"0x1f4":[231,233],"0x1fc":[231,233],"0x1ff":30,"0x1fffffff":[137,246,248],"0x2":[2,5,12,13,20,24,27,29,30,88,99,107,112,221,226,228,311],"0x20":[2,13,19,35,182,183,231,232,233,268,273,291,292],"0x200":[30,282,283],"0x2000":30,"0x20000":[30,202,203],"0x2000000":30,"0x20000000":[7,261,275,276,281,282,283],"0x20000020":2,"0x20010":[5,59],"0x20010800":[171,172,242],"0x20011":[5,59],"0x20011000":[246,248],"0x20012":[5,59],"0x20013":[5,59],"0x20014":[5,59],"0x2010000":2,"0x2010900":2,"0x2011010":5,"0x2012000":2,"0x2012400":2,"0x20202020":34,"0x202d1":[182,183],"0x2040000000000000":[171,172,182,183],"0x20434501":34,"0x205a4c37":8,"0x20e65f75":23,"0x20ffe":[5,59],"0x20fff":[5,59],"0x21":[2,35],"0x2113010":5,"0x217fe":59,"0x217ff":59,"0x2180":30,"0x22":[2,35,147,149],"0x22071917":34,"0x2215010":5,"0x22ffe":[5,59],"0x22fff":[5,59],"0x23":[2,35],"0x2317010":5,"0x237fe":[5,59],"0x237ff":[5,59],"0x238":[217,231,233],"0x24":[2,35,157,171,173,187,193,291,292],"0x240000":36,"0x2419010":5,"0x25":2,"0x250":[217,231,233],"0x251b010":5,"0x26":2,"0x261d010":5,"0x27":2,"0x274":[231,233],"0x28":[2,182,183],"0x28000000":7,"0x2ac":[182,183],"0x2b010a84":182,"0x2c":[27,29,171,174,224,231,233,261,281,282,283],"0x2cac0a94":34,"0x2f4":[217,231,233],"0x2ffe":[5,59],"0x2fff":[5,59],"0x2x":35,"0x3":[2,5,13,27,29,30,88,171,172,226,228,273,274],"0x30":[2,13,20,35,171,174,182,183,224,226,227,231,233],"0x300000":34,"0x30000000":[2,5,36,226,227],"0x300000004":[226,227],"0x30000020":2,"0x300050c0":5,"0x3003e434":[178,182,183],"0x3007a000":5,"0x3007b010":5,"0x3008c3f0":5,"0x300ac650":8,"0x300d4b98":[281,282,283],"0x300d4bc8":[281,282,283],"0x3023ec40":36,"0x30313133":34,"0x3031464e":34,"0x304":[231,233],"0x30400000":2,"0x3044ad90":[182,183],"0x3044b230":[275,276],"0x30453231":34,"0x30493d20":[256,278],"0x3052b9d8":[281,282,283],"0x305ed930":[171,173],"0x30800a88":[261,281,282,283],"0x30ae0530":[246,248],"0x31":275,"0x31000000":2,"0x31304354":34,"0x31434304":34,"0x31565a02":34,"0x31e00000":2,"0x32":[26,250,273,274],"0x320":[291,292],"0x32313437":34,"0x32a902cb":34,"0x3300000001":[226,227],"0x33cf4000":[178,182,183],"0x34":[2,182,183,261,281,282,283],"0x34010042":34,"0x340b157c":34,"0x3438534e":34,"0x35":2,"0x350":224,"0x35324645":34,"0x358":[171,174],"0x370":[246,247],"0x370c0000":34,"0x37305f30":8,"0x3735205a":8,"0x37fe":[5,59],"0x37ff":[5,59],"0x38":[2,162,215,226,227,273,274],"0x38c":[273,274],"0x39c":[261,281,282,283],"0x3a":[231,232,246,247,249,250,273,274],"0x3b":[226,227,231,232],"0x3b001010":5,"0x3b103010":5,"0x3b205010":5,"0x3b307010":5,"0x3b409010":5,"0x3b9aca00":13,"0x3c":[246,247],"0x3c435333":34,"0x3e":202,"0x3e0000":2,"0x3f":2,"0x3f8":2,"0x3fc00":2,"0x3ffff":2,"0x4":[2,5,20,27,30,99,117,171,172,226,228,242],"0x40":[3,23,30,35,182,226,227,231,233],"0x400":[17,50],"0x4000":[2,26],"0x40000":[2,24],"0x400000":2,"0x4000000":9,"0x40030":58,"0x4011400":30,"0x4011440":30,"0x40d487ff":23,"0x41":35,"0x42010":[261,281,282,284],"0x42018":[261,281,282,284],"0x4239":34,"0x424a3030":34,"0x44":[35,182,183],"0x440b400":34,"0x45":35,"0x45000020":[231,233],"0x45000040":[231,233],"0x45000060":[231,233],"0x45000080":[231,233],"0x45043030":34,"0x454":[162,215,226,227],"0x466a42a3":23,"0x47003":13,"0x47c":[291,292],"0x48":[5,34,35,55,70,162,171,174,182,183,215,226,227],"0x484f5220":34,"0x485702":34,"0x4b0":[217,231,233],"0x4b4b4b4b":35,"0x4c":[162,171,174,182,183,215,224,226,227,246,247,261,272,275,276,281,282,283],"0x4c1":30,"0x4c373730":8,"0x4c4c4c4c":35,"0x4d49205a":8,"0x4d6ee0c9":23,"0x4e494452":34,"0x4ea":27,"0x4x":35,"0x5":[2,27,171,172],"0x50":[3,35,231,233,273,274],"0x5011000":29,"0x504e0730":34,"0x50520881":34,"0x5053424b":313,"0x50973c87":34,"0x515dc2a5":23,"0x533c9b37":35,"0x54":[171,172,182,231,233,256,278],"0x54045649":34,"0x54380000":30,"0x543c0000":30,"0x543e2000":30,"0x54545454":30,"0x54c":[272,275,276],"0x57":32,"0x570":[217,231,233,272,275,276],"0x58":[231,233],"0x5a":220,"0x5a0":[217,231,233],"0x5a618f4d":34,"0x5b0":[272,275,276],"0x5c":[182,217,231,233,261,281,282,283],"0x5c0":[217,231,233],"0x5cb3614d":34,"0x5f303735":8,"0x6":[2,19],"0x60":[35,182,256,278],"0x600":[217,231,233],"0x6000000":34,"0x60000000":30,"0x600450":2,"0x600c1":30,"0x600c3":30,"0x60200":30,"0x60400":[27,30],"0x617":30,"0x62":[0,286,291,292],"0x622":30,"0x62c":[273,274],"0x630":[162,215,226,227],"0x64":[27,256,261,278,281,282,283],"0x6504603":34,"0x68":[217,231,233,261,273,274,281,282,283,291,292],"0x680":[281,282,283],"0x6c":[231,233],"0x7":[2,30],"0x70":[35,182,183],"0x706369652d736c6f":[226,227],"0x71f9c40":34,"0x7303045":34,"0x7380ed6a":23,"0x74":[273,274,291,292],"0x7473000000000003":[226,227],"0x75":1,"0x77":[1,171,172],"0x77777777":30,"0x78":[34,291,292],"0x788":[226,227],"0x78f":29,"0x795fea0d":23,"0x7a":35,"0x7b8":[226,227],"0x7c":[261,281,282,283,291,292],"0x7c8":[226,227],"0x7d0":5,"0x7d800026":225,"0x7f":[14,32],"0x7f3":[226,227],"0x7fff0000":30,"0x8":[2,5,24,27],"0x80":[2,35,50,135,261,273,274,281,282,283],"0x800":[2,27],"0x8000":2,"0x80000":2,"0x800000":2,"0x8000000":7,"0x80000000":[27,29,30,226,227],"0x8000000000000000":150,"0x80000001":19,"0x80020000":2,"0x80021000":2,"0x80022000":2,"0x80023000":2,"0x80024000":2,"0x80025000":2,"0x80026000":2,"0x80027000":2,"0x8010c3f":27,"0x8010c7f":27,"0x8013c00":27,"0x802c":26,"0x803":[226,227],"0x80d":13,"0x80f00103":[246,247],"0x81003":13,"0x82e":13,"0x84":[217,231,233],"0x844":[272,275,276],"0x84cc0052":34,"0x850":13,"0x86c":[171,174],"0x871":13,"0x88":[231,233,261,281,282,283,291,292],"0x892":13,"0x8b3":13,"0x8c":[182,183],"0x8c0":[162,215,226,227],"0x8d":34,"0x8d5":13,"0x8e":8,"0x8f6":13,"0x9":27,"0x90":[35,224,246,247],"0x900":27,"0x90000":[11,76],"0x9000000000000000":[282,283],"0x9000000002803002":[261,281,282,283],"0x90000755":[171,174],"0x9010c3f":29,"0x9012000":2,"0x9012400":2,"0x9013c00":2,"0x9013c40":2,"0x917":13,"0x938":13,"0x94":[261,281,282,283],"0x95":1,"0x95a":13,"0x97b":13,"0x98":[7,24,217,231,233,291,292],"0x984":[171,174],"0x985e80f1":34,"0x989680":13,"0x99999999":[226,227],"0x99c":13,"0x9a00000":5,"0x9bd":13,"0x9c":18,"0x9c40":13,"0x9d":275,"0x9df":13,"0x9e":275,"0x9f":275,"0x9f0":[246,247],"0xa":[246,247],"0xa0":[35,275],"0xa00":13,"0xa011":220,"0xa21":13,"0xa42":13,"0xa64":13,"0xa64ab07d":[246,247],"0xa64bb17d":[246,247],"0xa6e2207d":[246,247],"0xa85":13,"0xa9db06b8":23,"0xaa":3,"0xaa6":13,"0xac7":13,"0xae4":[281,282,283],"0xae9":13,"0xb0":[162,215,226,227,261,281,282,283],"0xb0000002":35,"0xb0020":2,"0xb0a":13,"0xb2b":13,"0xb30":[261,281,282,283],"0xb4":[231,233],"0xb4866546":23,"0xb4c":13,"0xb67d219d":23,"0xb6e":13,"0xb8":[162,215,226,227,231,233,273,274],"0xb8f":13,"0xb98":14,"0xbb0":13,"0xbc":[261,281,282,283],"0xbd1":13,"0xbf3":13,"0xc":[2,20,26,30,162,171,172,202,203,215,226,227,261,281,282,283],"0xc0":[0,2,246,247],"0xc00":316,"0xc000":316,"0xc00000":2,"0xc00000000000ac60":[291,292],"0xc00000000000b65c":[261,281,282,283],"0xc000000000020e78":[291,292],"0xc000000000027890":[226,227],"0xc000000000028e5c":[261,281,282,283],"0xc000000000030b84":[261,281,282,283],"0xc0000000000310b0":[261,281,282,283],"0xc00000000004e0f4":[291,292],"0xc00000000004f054":[291,292],"0xc0000000000500cc":[291,292],"0xc000000000050bf8":[291,292],"0xc0000000000a7168":[261,281,282,283],"0xc0000000000a9060":[261,281,282,283],"0xc0000000000ac9b8":[261,281,282,283],"0xc0000000000b1c44":[291,292],"0xc0000000000b2424":[291,292],"0xc00000000012d6c8":[261,281,282,283],"0xc00000000012da28":[261,281,282,283],"0xc0000000001366f4":[261,281,282,283],"0xc00000000018a570":[261,281,282,283],"0xc0000000001f9510":[291,292],"0xc0000000002a68f8":[291,292],"0xc0000000002bf3d4":[291,292],"0xc0000000003a0880":[291,292],"0xc0000000003a4f14":[291,292],"0xc0000000003a5328":[291,292],"0xc0000000004792d4":[261,281,282,283],"0xc0000000006d3b90":[246,247],"0xc000000000aa8054":[226,227],"0xc00000000fe00000":[231,233],"0xc0000003f9f41000":[231,233],"0xc000001fea6e7870":[261,281,282,283],"0xc000001fea6e78c0":[261,281,282,283],"0xc000001fea6e7960":[261,281,282,283],"0xc000001fea6e7990":[261,281,282,283],"0xc000001fea6e7ad0":[261,281,282,283],"0xc000001fea6e7b40":[261,281,282,283],"0xc000001fea6e7b60":[261,281,282,283],"0xc000001fea6e7bd0":[261,281,282,283],"0xc000001fea6e7c80":[261,281,282,283],"0xc000001fea6e7d20":[261,281,282,283],"0xc000001fea6e7db0":[261,281,282,283],"0xc000001fea6e7e20":[261,281,282,283],"0xc0300000":30,"0xc14":13,"0xc3":0,"0xc35":13,"0xc4":[246,247],"0xc56":13,"0xc594c31":34,"0xc7":2,"0xc78":13,"0xc8":[273,274],"0xc99":13,"0xcba":13,"0xcc":[261,281,282,283],"0xcdb":13,"0xce0900":[162,214,224],"0xcfd":13,"0xd":[24,202,203],"0xd0":[35,182,261,281,282,283],"0xd00":316,"0xd000":316,"0xd00dfeed":[226,227],"0xd00e":26,"0xd1569c53":34,"0xd1e":13,"0xd2":26,"0xd3f":13,"0xd4":[162,215,226,227,261,281,282,283],"0xd54775d5":23,"0xd60":13,"0xd8":[30,171,174],"0xd82":13,"0xd9d714ab":34,"0xda3":13,"0xdc":[182,183],"0xdda4f986":34,"0xe0":[35,162,215,226,227],"0xe00000":2,"0xe0000000":[137,246,247,248],"0xe2f541f":23,"0xe40":[182,183],"0xe6":29,"0xe7":29,"0xe8":29,"0xeb":[217,231,232],"0xec":[261,281,282,283],"0xf0":[162,215,226,227,231,232],"0xf000":[282,285],"0xf0000000":30,"0xf0000001":20,"0xf0000003":20,"0xf0000007":[273,274],"0xf0000012":20,"0xf0000016":20,"0xf000001d":20,"0xf0000023":20,"0xf0000024":20,"0xf0000025":20,"0xf0000026":20,"0xf0000027":20,"0xf0092df9":[246,247],"0xf010800":30,"0xf010840":30,"0xf010900":30,"0xf1e000":29,"0xf4":[256,278],"0xf5552d00":2,"0xf6":2,"0xf9fc5095":23,"0xfa0":13,"0xfb708535":23,"0xfc":[261,281,282,283],"0xfc000":30,"0xfcff8":30,"0xfcff9":30,"0xfcffa":30,"0xfcffb":30,"0xfd450000":32,"0xfddf8000":14,"0xfe200000":2,"0xfe600000":2,"0xfeedf00d":126,"0xff":[27,30,50,121,171,172,184,220,226,227,231,233,316],"0xff00":27,"0xff8":30,"0xffe":[5,59],"0xfff":[5,28,59,229,230],"0xfff0":[14,282,283],"0xfff8":[14,282,283],"0xffffff":[171,172],"0xffffffd5":13,"0xffffffd6":13,"0xffffffd7":13,"0xffffffd8":13,"0xffffffd9":13,"0xffffffda":13,"0xffffffdb":13,"0xffffffdc":13,"0xffffffdd":13,"0xffffffde":13,"0xffffffdf":13,"0xffffffe0":13,"0xffffffe1":13,"0xffffffe2":13,"0xffffffe3":13,"0xffffffe4":13,"0xffffffe5":13,"0xffffffe6":13,"0xffffffe7":13,"0xffffffe8":13,"0xffffffe9":13,"0xffffffea":13,"0xffffffeb":13,"0xffffffec":13,"0xffffffed":13,"0xffffffee":13,"0xffffffef":13,"0xfffffff":[246,247],"0xfffffff0":13,"0xfffffff1":13,"0xfffffff2":13,"0xfffffff3":13,"0xfffffff4":13,"0xfffffff5":13,"0xfffffff6":13,"0xfffffff7":13,"0xfffffff8":13,"0xfffffff9":13,"0xfffffffa":13,"0xfffffffb":13,"0xfffffffc":13,"0xfffffffd":13,"0xfffffffe":13,"0xffffffff":[2,13,171,172,182,183,316],"0xffffffffffffffff":182,"0xffffxxxx":[271,275,276],"1":[1,2,4,5,9,14,16,19,21,24,27,28,33,35,36,38,39,41,42,43,44,46,47,48,49,51,52,54,56,58,60,66,67,69,70,71,76,79,80,81,82,84,88,89,90,92,93,96,97,98,100,101,102,103,105,107,113,115,122,131,132,133,134,136,137,138,140,141,142,146,171,172,174,177,178,182,183,184,185,186,188,189,190,191,192,193,196,202,203,204,205,206,211,213,215,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,246,247,248,251,254,257,260,261,268,269,272,275,276,277,279,281,282,283,285,287,291,292,295,298,300,306,313,316,317],"10":[37,38,42,60,82,131,135,136,139,142,147,148,152,161,162,164,182,183,184,185,193,198,202,203,209,215,217,219,220,226,227,229,231,233,246,247,248,251,254,261,268,273,275,276,277,281,282,283,301,316],"100":[24,42,123,146,147,148,161,164,171,172,187,202,204,224,229,230,231,254,275,276,287,291,292,316],"1000":[21,34,95,201,202,203],"100000000":27,"1000m":[201,202,203,229,230,275,277],"1001":34,"10022":[231,232],"1004":135,"1005":[135,203],"1006":135,"100kb":[282,285],"100m":[171,172,229,230,231,235,275,277,282,283,287,289,291,292],"101":[42,50,148,275],"1013":[258,279,282,283],"1016b":313,"102":[42,50,138],"10200000":24,"1024":[144,226,227,313],"102849137":[134,229,230],"102m":[171,172],"103":[42,114],"104":[42,114,225],"104341838":[134,229,230],"104357444":[134,229,230],"104580394":[134,229,230],"1046":275,"105":[42,114,147,148,202],"10526":226,"105578525":[134,229,230],"1056786":[291,292],"105d80f85b":[287,291,292],"106":42,"107":[42,67],"1072":37,"10784at":35,"108":[42,67],"10814856":39,"1089":229,"109":[42,60],"109239162":[162,214,224],"10942":148,"109790675":[246,248],"109792716":[246,248],"109794695":[246,248],"109796689":[246,248],"10b5":221,"10k":[275,276],"10m":[182,183,202,229,254,275,276],"10th":[144,146,170,195,286,296],"10u":229,"10x":[182,183],"11":[37,38,42,58,82,131,136,139,142,147,153,161,171,173,184,185,187,193,201,202,203,210,217,219,220,224,226,229,231,233,246,247,248,252,254,268,273,274,275,276,282,283,291,292],"110":[42,52,84,162,214,224],"1100":[275,276],"110728970":[272,275,276],"111":[42,52,184,185],"111280784":[217,231,232],"11133":171,"112":[42,52],"112763075":[134,229,230],"112778956":[134,229,230],"113":[42,111,226],"113002083":[134,229,230],"114":[42,68],"114833873":[134,229,230],"114848832":[134,229,230],"114854650":[134,229,230],"115":[42,68,202,203],"115200":2,"116":[42,44],"117":[42,49,147,178,182,183],"1172a6c57ff3c66f6361e572a1790cbcc0e5ff37":[171,175],"11768":[273,274],"118":[42,53],"1185":202,"119":[42,275,276],"11f8":221,"11m":[134,229,230],"11th":[151,202,217,219,220,221,222,232,246,268,273,274,275,276,277,284],"12":[28,37,38,42,82,117,131,136,142,147,148,154,171,172,184,185,187,193,202,219,220,226,227,229,230,231,253,275,282,288,316],"120":[42,84,85,275,276],"120562":145,"121":[42,104,203],"122":[42,63,273],"123":[42,64],"123021":[157,187],"12307":203,"123259359":[134,229,230],"124":[42,62,229],"1242":171,"125":[42,65,231],"12509":147,"1258":37,"12582912":39,"126":[42,193,219,220,273],"127":[42,72,171,172,219,220,229],"127a7dac":193,"128":[35,37,42,84,229,230,231,232],"128k":41,"128kb":41,"128kbit":250,"128mb":[88,202,203],"128mbit":[147,148],"129":42,"1294":193,"12c":136,"12k":[275,276],"12m":226,"12mb":[275,276],"12th":[152,190,201,220,221,222,227,228,252,272],"13":[38,42,49,78,82,131,136,142,148,155,161,171,184,185,187,193,202,203,204,205,206,219,220,224,226,231,233,254,276,282,283],"130":42,"13029":[182,183],"1302lfa":[171,172],"13043":226,"13049":[182,183],"1306":37,"1307":148,"131":42,"132":[42,202],"133":[42,193],"134":42,"1348":226,"135":[42,161,184,185,231,232],"1355":231,"1356":[231,232],"136":42,"13631488":39,"1369":256,"136949696":[282,283],"13696":148,"137":42,"137049753":[282,283],"137152335":[282,283],"137251218":[282,283],"138":[42,220,275],"13836":[256,278],"139":[42,219],"13th":[151,152,153,168,169,198,228,241],"14":[4,38,42,78,82,131,142,148,156,162,164,171,184,185,186,193,203,215,219,220,224,226,227,229,231,232,246,247,255,275,277,289],"140":[42,184,185,187],"140976918":182,"140976993":182,"141":42,"141737656":[134,229,230],"141752318":[134,229,230],"141757964":[134,229,230],"142":[42,171,172],"143":42,"14309":148,"14339":[275,276],"14363":202,"144":[42,171,172],"145":42,"146":[42,73,184,185],"147":[42,73],"1474":161,"1475":171,"148":[42,73],"149":42,"1490":171,"14ed2b842f61":[291,292],"14kb":[291,292],"14m":[134,229,230],"14th":[147,148,149,154,199,215,237,253,275,282,283,284,285],"15":[4,38,42,78,82,117,131,142,146,157,171,173,178,182,183,184,185,187,193,202,203,219,220,224,226,231,256,268,273,274,275,282,283],"150":42,"151":[42,147,176,224],"1512":231,"152":[42,275],"153":[42,184,185],"154":42,"15404383291":39,"155":[42,184,185],"156":[42,119,229,282,283],"157":[42,99,171,231],"157050283":[171,172],"1572864":36,"158":[42,113,219,220],"15868":147,"159":42,"15919":171,"15b3":[258,279,282,283],"15cec493804ff14e6246eb1b65e9d0c7cb469a81":191,"15d9acb6":[171,172],"15th":[139,155,164,165,174,242],"16":[38,42,78,82,88,102,117,127,131,142,158,160,162,171,172,173,182,183,184,185,188,189,190,193,202,203,204,213,215,217,219,220,221,222,224,226,227,229,231,233,246,247,248,257,268,269,273,274,275,276,282,283,284,316],"160":42,"1602":37,"1606":220,"161":[42,275],"1612":231,"162":[42,120],"163":[42,119,161,164],"16347":193,"16384":[171,172],"164":[42,87],"1644":37,"1649":220,"16497":147,"16499":220,"165":[42,87,147,148],"1654":147,"166":[42,58,231],"167":[42,226],"16759":219,"168":[42,229,275],"168m":[182,271,275,276],"169":[42,171],"16944":[217,231,232],"16945":[217,231,232],"16bit":[229,230],"16gb":[275,276],"16k":[24,35,133],"16kb":[246,247],"16m":[255,275],"16mb":89,"16th":[156,157,160,162,184,190,192,193,212,224,233,238,249,271,291,293,298],"16x2":12,"17":[38,42,78,82,117,131,142,147,148,159,171,172,184,185,191,192,193,202,213,220,224,225,226,227,229,231,232,238,246,247,248,258,261,272,275,276,281,282,283,288],"170":[42,193,231,246,248],"17052":203,"170m":[254,275,276],"171":[42,147,148,246,248],"172":[42,231],"1727":[162,215,226,227],"173":[42,71,204],"17396":171,"174":[42,71,254,275,277],"175":[42,71,148,224],"175196744":[171,172],"175200449":[171,172],"176":[118,148,273],"177":118,"178":118,"179":[42,107],"17920":[184,185],"17961":220,"17m":[134,229,230],"17th":[147,157,184,185,186,187,188,189,200,203,232,233,255],"18":[38,42,78,82,131,142,160,161,164,171,173,184,185,187,193,202,203,204,205,206,219,220,226,227,228,231,259,275,276,291,292],"180":[42,107,231],"18105":220,"182":275,"1826":226,"18278":219,"183":224,"184":231,"1843200":2,"185":282,"1855":224,"1867mhz":[246,248],"1868":229,"187":224,"188":[162,184,185,214,224],"1887":147,"188811484":[171,172],"189":[171,172],"1891":275,"18th":[150,158,161,162,163,232,233,234,235,236,260],"19":[38,42,82,121,131,142,146,148,161,162,164,171,202,203,219,220,221,222,223,224,225,226,227,228,229,230,261,275,283,284,285],"190":[184,185],"1900":84,"1908":84,"191":[136,275],"1918":148,"1935":229,"194":203,"1940":84,"1948":84,"19533":[184,185],"1961":37,"196442259":[273,274],"196444501":[273,274],"196445389":[273,274],"198":219,"19_1":[171,174],"19e5":[213,220],"19th":[143,159,163,169,170,216,225,235,259,269,276,280],"1aa0":84,"1aa8":84,"1ab0":84,"1b":313,"1bb7503":4,"1c00":[34,84],"1c00020":18,"1c00040":[171,172],"1c08":84,"1c40":84,"1c48":84,"1c58":221,"1e00":34,"1eb":103,"1fb10de164d3ca034193df81c1f5d007aec37781":191,"1g":[255,275],"1k":313,"1kb":[144,291,292],"1m":[24,182,183,207,220,275,276],"1mb":[133,182,183],"1s":[224,275,276,282,283],"1s4u":136,"1sec":[246,247],"1second":275,"1st":[35,166,167,176,193,194,247,287],"1u":[106,136,229,246,247],"1ull":[58,72],"1x":220,"2":[1,2,4,13,14,21,24,29,30,31,33,34,35,37,38,41,42,44,49,54,56,58,60,69,70,71,76,79,80,81,82,84,90,92,93,96,100,102,103,115,121,122,131,133,134,136,137,139,140,142,147,148,164,171,172,178,182,183,192,193,197,201,202,203,204,212,217,219,220,224,226,227,229,230,231,232,233,239,241,246,247,248,257,258,266,268,269,272,273,274,282,283,284,285,288,291,292,296,298,301,307,316],"20":[2,8,19,27,37,38,42,57,73,131,142,146,147,163,171,172,174,184,185,193,202,203,219,220,224,226,229,230,231,232,233,234,235,236,245,258,262,279,282,283,291,292],"200":[34,157,162,171,173,187,214,224],"20000000":[162,171,173,215,226,227],"20000020":2,"20004204":[182,183],"20010a80":[171,172,242],"20010abf":[171,172,242],"2004":138,"20040000":[178,182,183,246,247],"2006":138,"200ea":[281,282,283],"200m":[171,172,254,275,276],"200n":229,"201":226,"2010000":2,"2010900":2,"201140a":[202,203],"2012":[291,292],"2012000":2,"2012400":2,"2013":[291,292],"2014":[42,143,144],"2015":[35,145,146,147,148,149,150,151,152,153,154,161,164,165,166,167,168,169,170,184,185,186,187,188,189,275,276],"20150728":35,"2016":[154,155,156,157,158,159,160,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,211,219,220,221,222,275],"20161028":4,"2017":[139,160,162,163,171,172,173,174,175,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243],"20170217":4,"2018":[139,171,172,173,174,175,176,177,178,179,180,181,182,183,208,218,244,245,246,247,248,249,250,251,252,253,254,255,260,266,267,268,269,270,271,272,273,274,275,276,277,282,283,284,285],"2019":[209,256,257,258,259,261,278,279,280,281,282,283,284,285,286,287,288,289,291,292,293,294,295,298],"201d1":[254,275,277],"201ffe000000":[261,281,282,283],"201fff800000":[261,281,282,283],"2020":[210,262,263,264,290,296,297,298,299,300,301,302,304,308],"20202020":35,"20206":202,"2021":[265,303,305,306,307,308,309,310],"2028":[184,185],"2035":[226,227],"204":[204,246,247],"2040000000000000":[182,183],"2048":224,"205":275,"2050":[246,247],"2051":[226,227],"2053616d":35,"206":[202,275],"20657272":35,"20697320":35,"207":220,"2070":21,"20757365":35,"208":231,"2082":[217,231,233],"20887":193,"209":[171,184,185,231],"20m":[226,227,254,275,276,291,292],"20th":[160,234,235,257,278,297],"20x":[275,276],"21":[38,42,131,142,148,171,172,173,174,175,193,202,203,204,219,224,226,231,232,233,234,235,236,238,242,263],"210612":[171,172],"210660":[171,172],"211":[171,173,202],"211bd05":4,"212":273,"212366090":[202,203],"213":[171,288],"214":148,"2149":[184,185],"215":187,"2154":[184,185],"216":[246,247],"216942479":[281,282,283],"217051132":[281,282,283],"217127508":[281,282,283],"217249886":[281,282,283],"218":278,"219":[203,220],"21st":[139,148,158,159,162,175],"22":[37,38,42,131,142,147,148,171,172,183,193,202,204,220,229,231,232,238,246,247,264,273,275,276,307,309],"221":275,"221294487":[281,282,283],"221397429":[281,282,283],"221471414":[281,282,283],"222":219,"222791151":[171,172],"222977933":[171,172],"223466021":1,"2237":[246,247],"225":171,"2258":161,"226":203,"226860117":[162,215,226,227],"226901445":[162,215,226,227],"226903251":[162,215,226,227],"227":[202,203],"227994012":[217,231,233],"227997540":[217,231,233],"228":[219,220],"2281":161,"22898":[184,185],"229":193,"22c":136,"22nd":[163,210,224,225,230,239,243,274,298,302,304],"23":[38,42,81,117,131,142,148,162,164,171,172,182,183,187,202,203,204,215,219,226,227,229,231,242,246,247,265,268,273,274],"2302":[261,281,282,285],"231":171,"23153":[217,231,233],"23154":[217,231,233],"232":[171,226,231],"232114723":[162,214,224],"232183823":[272,275,276],"23274":[184,185],"233":[282,284],"234":[171,172],"236":[161,171,173,193,202],"238270428":[246,248],"23m":[287,291,292],"23rd":[139,171,182,183,203,204,205,206,236,266],"24":[2,29,38,42,117,131,136,142,147,148,161,171,172,193,202,225,226,227,228,231,246,247,275,276,316],"240":[220,275],"2400":[34,220],"2401":34,"24073":219,"242":226,"243176c":[291,292],"245":[184,185],"24748502575":39,"2476":171,"249":[147,193],"2496":224,"24m":[287,291,292],"24th":[180,223,224,225,226,227,228,294],"25":[27,37,42,49,117,131,147,148,171,193,203,226,231,275],"250":[226,275],"2500":220,"250638683":[272,275,276],"250m":[229,230,282,283,289],"251240444":224,"251300274":224,"251339330":224,"251363654":224,"251409207":224,"251444114":224,"251478314":224,"251500346":224,"2517":226,"2519":275,"252083372":224,"253":[147,219],"254089525":[261,281,282,283],"254159668":[261,281,282,283],"254769":[217,231,233],"255":[134,147,149,171,172,173,204,251,275,276],"256":[84,147,149,171,172,182,183,272,275,276],"256gb":[275,276],"256k":24,"256kb":88,"256m":[220,255,275],"256mb":[88,226,227],"256tb":88,"2572":[231,233],"2576":224,"2586":[202,203],"259":[272,275,276],"259689526":[171,172],"259695649":[171,172],"25th":[193,226,229,230],"26":[42,79,131,148,161,203,226,228,229],"261":[184,185],"2610":275,"262":171,"264":171,"267271":[261,281,282,285],"267305":[261,281,282,285],"267320":[261,281,282,285],"267330":[261,281,282,285],"268":202,"269":[202,261,281,282,283],"269092904":[272,275,276],"26th":[159,160,165,166,185,196,204,310],"27":[42,93,131,147,148,171,184,185,187,193,220,226,228,229,231,275,317],"270":288,"273":171,"2731":231,"2745":[178,182,183],"2754":148,"2757":219,"278":[202,203,275],"27th":[154,155,187,188,254,263],"28":[35,42,103,131,148,164,171,193,202,219,220,224,226,229,231,275,276,287,317],"2800":34,"28004484":[246,247],"2801":[34,220],"28024442":[162,215,226,227],"280u":[291,292],"283182881":[281,282,283],"283184335":[281,282,283],"283185513":[281,282,283],"283664":[275,276],"285":[272,275,276],"286":[272,275,276],"2861":275,"2864":[254,275,276],"287":[272,275,276],"288260827":[281,282,283],"288354442":[281,282,283],"289":[272,275,276],"28th":[139,178,181,183,191,194,208,220,245,267,308,310],"29":[42,90,131,202,219,220,226,257,275,277,303],"290":[219,272,275,276],"2900":34,"2901":34,"2902":34,"2903":34,"2904":34,"2905":34,"291":[272,275,276],"29155":[171,172],"2924":171,"293":[272,275,276],"293393485":[217,231,232],"294":[184,185,272,275,276],"295":[193,272,275,276],"297":[224,272,275,276],"297462587":[261,281,282,283],"297737995":[261,281,282,283],"298":171,"299":[164,171,203],"29m":[287,291,292],"29th":[157,158,207,240,265,277,283],"2a00":34,"2b841bf0ef1b":268,"2d12000870e04020":[171,172],"2d343241":35,"2e":8,"2e12002870e04000":[272,275,276],"2e12002870e14000":[272,275,276],"2e205365":35,"2e205468":35,"2fbffff4":[162,215,226,227],"2g6b2":[26,171,172],"2k":35,"2kb":[144,147,149,291,292],"2m":[24,255,275,291,292],"2mb":[39,147,148,275,276],"2nd":[35,168,192,195,196,197,198,199,200,201,202,203,204,205,206,211,251,285],"2s2u":[136,229,230],"2s4u":136,"2second":[207,220],"2to3":[275,276],"2u":[136,182,183,229,246,247],"2uess":[246,248],"3":[1,2,4,14,21,29,33,35,38,41,42,44,50,51,54,58,60,70,71,76,79,80,81,82,84,92,96,100,102,115,130,131,133,134,136,142,147,148,161,162,165,171,172,173,174,179,182,183,184,185,187,190,203,204,205,206,213,214,215,217,219,220,221,222,224,226,227,228,229,230,231,232,233,238,240,245,246,247,254,261,267,272,273,274,275,276,277,281,291,292,297,302,316,317],"30":[8,41,42,131,171,172,182,183,187,204,219,225,226,229,231,268,273,275,276,291,292,306,316],"300":[226,231,233],"3000":21,"30000000":36,"30000020":2,"300000f8":224,"30034018300a343c":224,"30034018300c5ab0":224,"3003438800000018":[162,214],"3003438830823f50":[162,214],"300cb808":[273,274],"300x":[171,172],"3010":21,"302":[171,193,202,203,219,226,231],"3020":21,"304":[161,171],"305":[157,187,193],"3056":226,"307":220,"307245135":[261,281,282,283],"308":226,"30m":[202,287,291,292],"30min":146,"30th":[145,151,170,189,190],"31":[21,41,42,100,117,131,132,147,148,171,172,187,193,202,203,219,225,226,231,282,283,287,288,317],"3102":219,"3103":34,"3128":[231,232],"31303738":35,"31343130":35,"315":[219,220],"317897467":273,"3184":219,"318805":[178,182,183],"318808":[178,182,183],"318812":[178,182,183],"318813":[178,182,183],"318815":[178,182,183],"318817":[178,182,183],"318821":[178,182,183],"318823":[178,182,183],"318825":[178,182,183],"318826":[178,182,183],"318831":[178,182,183],"319":148,"319923233":273,"31c30000":[226,228],"31c339e0":[226,228],"31m":[134,229,230],"31st":[139,171,172,173,174,175,229,231,232,233,234,235,236,250],"32":[2,4,8,9,13,21,42,56,75,78,88,89,90,93,101,103,117,131,134,147,148,162,171,172,180,182,193,202,203,205,214,217,220,224,226,229,231,233,236,238,246,248,271,275,276,282,283,287,291,292],"321":148,"3212000870e04000":[261,281,282,285],"3212000870e14010":[261,281,282,285],"322":220,"323k":[291,292],"32768":[182,183],"32812":[171,172],"3285":[184,185],"329":[171,184,185,193,202,203,219,226,231],"32b":313,"32bit":[132,171,172,202,204,224],"32k":[24,313],"32m":[229,230],"33":[24,42,97,131,147,148,171,172,184,185,187,202,203,204,213,220,229,231,243],"330":193,"332":147,"334":[171,184,185,193,202,203,219,226,231],"334119453":[254,275,277],"3359":147,"336":226,"338":193,"33m":[287,291,292],"34":[24,42,98,171,182,183,184,185,193,202,203,219,226,231],"340":220,"340598554":[162,214,224],"340600126":[162,214,224],"3407872":36,"342933439":[281,282,283],"343":[202,203],"34415400":35,"348":219,"35":[42,161,164,204,229],"352234986":[246,247],"352240742":[246,247],"352242181":[246,247],"35c66b8ce5a2":[246,248],"35m":[134,229,230],"36":[42,171,184,185,193,202,203,219,220,225,226,229,231],"360":224,"361":[171,202,203,219,220,226,231],"363":[219,220],"363723191":[261,281,282,283],"364":219,"366247":[246,248],"366587062":[171,172],"3680939340":39,"3680942658":39,"369":147,"36asf2g72pz":[26,171,172],"36m":[287,291,292],"37":[8,42,105,147,161,171,224,231],"370":[231,232],"372":[147,171,184,185,193,202,203,219,226,231],"37329":219,"374813167":[171,172],"375k":[291,292],"377":187,"3782":147,"37ea3cfdc852":273,"38":[42,171,184,185,193,202,203,219,220,224,226,231,233],"3800m":167,"3811":148,"38323836":35,"384":229,"384670488":[217,231,232],"3860000a":[162,215,226,227],"387":147,"38810028":[162,215,226,227],"388458416":[261,281,282,284],"38a10020":[162,215,226,227],"39":[42,56,89,117,184,185,220],"390":[261,281,282,283,288],"390645":[261,281,282,283],"391":[261,281,282,283,288],"392":[261,281,282,283],"39200000":[162,215,226,227],"393":[261,281,282,283],"394a00147d5a03a6":[178,182,183],"396":226,"3970":[261,281,282,284],"3987":148,"398756487":[261,281,282,284],"3a00":34,"3a01":34,"3b":[14,313],"3b3c5962f432":268,"3c12000870e04000":[246,247],"3d":14,"3db397ea5892a":[275,276],"3e4577939bbf":[178,182,183],"3f":14,"3f8":2,"3fc0000000000":[2,27,202,203],"3fff000400000":27,"3ffff80020000":2,"3m":[275,276],"3mb":36,"3minut":[182,183],"3rd":[35,196,213,221,227,270,282,289,291,292,293,304,308],"4":[1,2,4,14,21,24,26,27,33,35,36,37,38,41,42,58,60,70,76,81,82,92,96,100,102,115,131,132,133,134,135,136,138,139,141,142,146,147,148,150,161,162,164,166,171,172,173,174,175,178,180,182,183,184,185,187,191,193,199,201,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,241,246,247,248,257,258,268,273,274,275,276,277,279,282,283,290,293,316,317],"40":[3,24,42,56,117,171,193,219,224,226,231,233,275,276],"40000":2,"40000000":[231,233],"400000000":2,"40000004":[171,173],"40002202":[182,183],"40004208":[162,214,224],"4010c00":[226,228],"401719351":[272,275,276],"405":224,"406":219,"406259572":[272,275,276],"406351956":[275,276],"406354278":[275,276],"406355968":[275,276],"407":164,"408":[171,219,226,231],"40896":[171,174],"409002056":[272,275,276],"409596439":[261,281,282,284],"4096":[171,173,253,275,276],"4097":194,"40k":[202,203],"40mb":[182,183],"41":[14,24,34,42,124,202,203,226,229,230],"410373292":[171,174],"410488745":[171,174],"410615534":[272,275,276],"410694290":[171,174],"410799664":226,"410802000":226,"410806624":226,"410808848":226,"410812176":226,"412":275,"412kb":[171,172],"414":[182,183,226],"4154":35,"415444519":[272,275,276],"416":288,"417170176":226,"419641401":[272,275,276],"419644124":[272,275,276],"419650678":[272,275,276],"419652744":[272,275,276],"419653051":[272,275,276],"419654725":[272,275,276],"419654916":[272,275,276],"419655234":[272,275,276],"419658025":[272,275,276],"419658406":[272,275,276],"419663095":[272,275,276],"419897507":[261,281,282,284],"42":[14,42,87,112,161,171,172,231,233],"423255262":[261,281,282,283],"423958816":[231,232],"424":204,"42423832":35,"425":219,"425109779":[272,275,276],"427456821":[272,275,276],"4284":171,"429870681":[272,275,276],"42a":35,"42a10784at":35,"42d5d047":[217,231,233],"43":[42,161,184,185,246,247,287],"430774496":[231,232],"430797392":[231,232],"431668496":[231,232],"431793837":[162,214,224],"432509048":[162,215,226,227],"433":161,"434":[184,185],"434549250":[272,275,276],"436":187,"436289104":226,"436373312":226,"436420752":226,"436967856":226,"437349574":[254,275,277],"437426306":[254,275,277],"437482240":226,"437996864":226,"438000048":226,"439299889":273,"439919343":[254,275,277],"44":[14,42,88,161,205,246,247,275],"440m":[229,230],"441":275,"445910944":[272,275,276],"4499":147,"45":[4,14,42,89,187,202,203,204,213,220,224],"45215870591":39,"453092828":[261,281,282,283],"453202605":[261,281,282,283],"453247064":[261,281,282,283],"453289682":[261,281,282,283],"4540":193,"4548004c":35,"4572726f":35,"458004252":[171,172],"458147358":[171,172],"46":[4,8,14,42,147,187,231,232,288],"460gb":[182,183],"46172":[184,185],"462":164,"462749486":[281,282,283],"462819095":[281,282,283],"462894236":[281,282,283],"462967071":[281,282,283],"463033077":[281,282,283],"463144847":[281,282,283],"4637":[217,231,233],"464":[162,214,224],"466":[162,214,224],"4677":203,"469323643":273,"47":[14,24,42,148,202,219,220,226,227,268,273],"470":193,"473":[147,148],"4740":193,"474110465":[217,231,232],"4745":203,"477":[226,246,247],"4786":171,"47912590456":201,"47c09cdfe7a3":[271,275,276],"48":[14,24,42,171,173,187,219,226,227,231],"48002888":[178,182,183],"4821":193,"483":[35,275,276],"485":202,"486794100":[275,276],"489":[219,220],"489690798":[182,183],"489693339":[182,183],"489699837":[182,183],"489701543":[182,183],"489702341":[182,183],"49":[14,42,96],"494892796":1,"498":171,"49m":226,"4a":14,"4b":[14,313],"4b000107":35,"4b4b4b4b":35,"4b77f61d":[162,215,226,227],"4b8cc05a94513816d43fb8bd6178896b430af08f":[257,278,282,283],"4bfffe6d":[162,215,226,227],"4bit":1,"4c":[8,14],"4c4c4c4c":35,"4c95b5e04e3c4f72e4005574f67cd6e365d3276f":189,"4d":[8,14],"4d54001c":35,"4e":14,"4f":14,"4gb":[88,89,107,193,202,203,271,275,276],"4gte":298,"4k":[24,47,75,88,219,255,275,276,282,285,291,292,314,316],"4kb":[168,246,247],"4kbit":250,"4m":[24,291,292],"4mb":[182,183],"4tb":[75,171,172,238,291,292],"4th":[35,153,154,164,179,189,197,209,290],"5":[1,2,4,8,27,33,35,37,38,39,41,42,43,49,70,81,82,92,96,102,131,134,136,140,142,246,247,248,257,261,269,273,274,275,276,277,281,282,283,288,291,292,298,303,316],"50":[3,14,24,37,42,83,87,147,148,171,172,184,185,187,193,202,203,204,219,224,226,229,275],"500":34,"500kb":76,"501":2,"5011000":29,"5013":[217,231,233],"504":164,"50480030":35,"50530050":35,"509":203,"50m":[171,172,243],"51":[14,24,42,226,227,231,246,247,291],"512":[1,84,224,272,275,276],"512000000":[1,202,203],"512gb":[171,172,238],"512k":24,"512kb":[171,172,173],"512mb":[182,183,220],"51m":[134,229,230],"52":[14,42,171,184,185,220,229,275,276,288],"5209":[246,248],"522":231,"524288":224,"524d":34,"526ff79":4,"52fe":34,"53":[14,42,95,171,174,193,202,203,219,220,226,231,261,281,282,283,285],"53255":[171,172],"533c9b37":35,"53616d70":35,"5378072":39,"5399532365":201,"5399540804":201,"5399576870":[201,202,203],"54":[14,42,184,185,219],"5401431782":201,"540mb":[182,183],"541":[171,174],"544":219,"54686973":35,"549748":[261,281,282,283],"55":[14,42,187],"5509":220,"5512":219,"5544003c":35,"554400a7":35,"55480018":35,"55ae15b":140,"56":[14,34,42,54,219,220,224,226,227],"565":202,"56532f5":4,"566":[182,183],"57":[8,14,32,42,162,215,219,220,226,227,281,282,283],"5799":229,"58":[14,42,171,184,185,246,247,275],"583c8203":226,"584":229,"5843":202,"59":[14,42,117,171,173,187,226,246,247,261,281,282,285],"590":[275,276],"591547":[182,183],"591648":[182,183],"591714":[182,183],"593":[261,281,282,283],"594":[261,281,282,284],"5a":14,"5ac71c9":220,"5b":14,"5c":[14,171,172],"5d":14,"5e":[14,231,233],"5f":14,"5gt":220,"5kb":[291,292],"5m":[220,282,283],"5mb":52,"5second":166,"5th":[165,188,189,190,198,218,222,244,256],"6":[1,2,33,35,38,42,44,81,82,96,100,131,136,139,142,147,148,164,168,171,172,182,183,184,185,187,189,193,201,202,203,204,216,217,219,220,226,227,228,229,230,231,232,233,238,243,310],"60":[14,42,92,103,117,184,185,219,229,231,246,247,272,275,276],"60000000":[162,215,226,227],"6002":[217,231,233],"600c3c0100000":[282,285],"600c3c0300000":30,"600e800000000":29,"603fc00000000":[29,226,228,257,275,276],"60ce59ccd0e9":221,"61":[14,42,81,171,193,246,247,275],"61207361":35,"615":[281,282,283],"61626364":35,"616d706c":35,"61726520":35,"62":[14,42,94,161,171,193,202],"620":[193,273,274],"621":204,"623fc00000000":[231,232,257,275,276],"628283":[157,187],"628341":[157,187],"628388":[157,187],"628423":[157,187],"628458":[157,187],"62ac7631a":[231,236],"63":[14,21,24,42,58,89,91,117,148,171,173,180,182,183,231,232],"6367640":[275,276],"6374696f":35,"64":[2,14,24,31,32,33,35,37,41,42,58,84,88,89,90,93,103,134,138,162,202,203,214,224,226,227,231,232,246,247,271,275,276,291,292,316,317],"641":224,"64206461":35,"64756d6d":35,"649":275,"64bit":[120,132,171,172,175,224],"64byte":[70,291,292],"64k":[2,24,41,219,255,275,291,292,316],"64mb":275,"65":[14,42,128,147,148,202,203],"65206572":35,"652533":[246,247],"652651":[246,247],"652766":[246,247],"652837":[246,247],"653":220,"6536":275,"65637469":35,"65666768":35,"6572726f":35,"65736520":35,"65840":[171,174],"65881":[171,174],"66":[14,42,128,187,202,203,204,226,231],"660":138,"663":229,"6656":36,"6667":202,"66696e65":35,"67":[14,42,69,161],"67207361":35,"674":226,"67547":[171,174],"67560":[171,174],"67561":[171,174],"6767696e":35,"67845":[171,174],"67954":[171,174],"67998":[171,174],"67999":[171,174],"68":[14,42,69,193,202,203,213,220],"68000":[171,174],"68001":[171,174],"68002":[171,174],"68003":[171,174],"68004":[171,174],"6817":203,"6888":229,"69":[14,37,42,124,204],"692":202,"6947":202,"694794":220,"696a6b6c":35,"69902":[162,215,226,227],"6a":14,"6a00709":[231,232],"6a78496":4,"6b":14,"6c":14,"6c652065":35,"6d":14,"6d6e6f70":35,"6d706c65":35,"6e":14,"6e203200":35,"6f":14,"6f6e3100":35,"6f722053":35,"6m":[291,292],"6q0dg340so":[231,232],"6th":[139,166,172,177,182,199,246,247,248,258,279,288],"6x":[275,276],"6x64k":[226,228],"7":[1,2,33,35,37,38,42,60,76,82,100,131,136,142,147,148,161,162,164,169,171,172,182,183,184,185,187,193,202,203,204,205,206,215,217,219,220,224,229,230,231,232,233,238,244,246,247,248,254,257,261,268,271,272,273,275,276,277,281,282,283,284,285,291,308,316],"70":[14,42,115,171,172,182,183,231],"70023":[162,215,226,227],"706c6520":35,"71":[14,42,51,171,203,220,231,232],"71664fd":141,"71727374":35,"719":231,"72":[42,51,55,70,171,172,231,232],"72205361":35,"72206465":35,"72206c6f":35,"726f7220":35,"726f7273":35,"72726f72":35,"73":[42,51,148,171,182,183,224],"731":226,"7314":219,"736":171,"736a08b996e292a449c4996edb264011dfe56a40":[246,248],"737572":[261,281,282,285],"737596":[261,281,282,285],"737611":[261,281,282,285],"737621":[261,281,282,285],"737c0ba3d72b8aab05a765a9fc111a48faac0f75":[275,276],"74":[42,51],"74612073":35,"748":224,"7491":193,"75":[42,51,147,148,193],"751":220,"753417":[246,247],"753498":[246,247],"753509":[246,247],"753518":[246,247],"755":226,"75767778":35,"75mb":52,"76":[42,47,147,224,226,275],"764":148,"7688":[162,215,226,227],"768mb":[226,227],"77":[42,47,229,231],"770":226,"775824":[162,215,226,227],"775856":[162,215,226,227],"775883":[162,215,226,227],"775884":[162,215,226,227],"775885":[162,215,226,227],"775886":[162,215,226,227],"775889":[162,215,226,227],"775890":[162,215,226,227],"775897":[162,215,226,227],"775899":[162,215,226,227],"775900":[162,215,226,227],"775901":[162,215,226,227],"775903":[162,215,226,227],"775904":[162,215,226,227],"775906":[162,215,226,227],"775907":[162,215,226,227],"775908":[162,215,226,227],"775909":[162,215,226,227],"775911":[162,215,226,227],"77777777":[226,228],"77mb":[147,148],"78":[42,47,148,171,231],"780u":[291,292],"78125":27,"784":161,"79":[42,116,224,231,232],"790":182,"790275m":182,"79206572":35,"793f6f5b32c96f2774bd955b6062c74a672317ca":189,"797a00":35,"799":275,"7a3f307":[275,276],"7bcbc78c":268,"7c7b1b7848002514":[182,183],"7c7b1b7848002524":[182,183],"7c7f1b78":[162,215,226,227],"7c832378":[162,215,226,227],"7ffddf8000":14,"7s":[226,228],"7th":[167,200,219,223,224,225,262,264],"8":[1,2,33,36,38,42,70,76,78,82,87,102,115,123,130,131,132,134,136,142,147,148,161,164,170,171,172,173,174,175,178,182,183,184,185,187,193,202,203,204,213,218,219,220,224,226,227,231,232,233,234,235,236,245,246,247,251,259,261,268,269,272,273,274,275,276,280,281,282,283,284,287,291,292,310],"80":[42,46,164,171,172,193,219,224,282,283,285],"800":34,"80000000":[202,203],"8000000002880005":201,"80002000":35,"8001":136,"8007":231,"8013c00":27,"802":219,"803":37,"804":[37,171,172],"8040000000000000":[157,187],"80610028":[162,215,226,227],"80eee1946":[246,247],"80h":[282,285,291,292],"81":[37,42,50,184,185,224,282,285],"815417dcda2e":[280,282,283],"8192":224,"82":[35,42,50,193,275,282,285],"824":34,"827":231,"828363":[217,231,233],"828365":[217,231,233],"828368":[217,231,233],"828375":[217,231,233],"828376":[217,231,233],"828382":[217,231,233],"828384":[217,231,233],"828389":[217,231,233],"828391":[217,231,233],"828394":[217,231,233],"828396":[217,231,233],"828399":[217,231,233],"828403":[217,231,233],"8286":35,"83":[42,50,147,226,275],"8340a9642bba":275,"84":[42,50],"842":[28,129,146,171,174,229,230],"85":[42,55],"8516":219,"852c0000":[231,232],"8546":221,"85a1de35cbe4":[171,174],"85cf528":4,"86":[42,45],"866":229,"87":[42,125,171,226,231],"8718":[213,220],"8748":221,"876":204,"87m":[134,229,230],"88":[42,120,147],"8810":220,"883898":[231,233],"886":[147,148],"89":[42,77,147,148],"893339":[246,247],"8b":313,"8gt":220,"8gv0h":155,"8k":24,"8kb":76,"8tb":[182,183],"8th":[167,168,201,206,220,221,222,292],"8x":[287,291,292],"9":[1,4,35,38,42,43,82,102,123,131,136,138,139,142,145,147,148,151,161,164,171,172,173,174,175,178,182,183,184,185,187,193,202,203,204,208,213,217,219,220,224,226,227,229,230,246,247,248,250,259,273,274,275,280,288,291,292],"90":[42,77,226,227],"900":34,"9000000000001000":[162,171,173,182,183,214,224],"9000000000001003":[162,215,226,227],"9000000000009033":[162,215,226,227,246,247],"9000000000201000":[162,182,183,214,224],"9000000000201002":[178,182,183],"900000000280b033":[231,233],"9000000030001000":[171,173],"9005":[287,291,292],"9078f8268922":[287,291,292],"90d53934c2da":182,"90ec2e65314c":[282,285],"91":[37,42,50],"91210028":[162,215,226,227],"9146":275,"92":[42,148,171],"929":231,"93":[42,102,171,219,224,226,229,288],"937":226,"94":[39,42,50,171,174,178,182,183,193],"941":[184,185],"94110":138,"947741":202,"947793":202,"947838":202,"95":[42,127,219,220,275],"959":147,"95f7b3b9698b":[291,292],"96":[42,82,202,203,231,275],"9619":231,"96593":282,"969":161,"97":[42,80,161,171,224,229,231],"9727fe3":[231,232],"9733":[213,220,221],"9776":231,"9797":[275,276],"97m":[287,291,292],"98":[24,42,58,147,171,184,185,220,224,229,291,292],"9817c9e29b6fe00daa3a0e4420e69a97c90eb373":[231,234],"9870429550":39,"99":[42,48,147,148,171,219,231],"9944":37,"99505c03f493":[268,273],"9999":117,"999999":117,"99m":[287,291,292],"9c2d82394fd2303847cac4a665dee62556ca528a":191,"9c73e9f":[231,232],"9th":[139,155,156,161,164,169,173,186,214,248,261,281,295],"\u00ecbm":23,"abstract":[51,106,118,132,138,146,226,227,246,247,316],"boolean":[135,250,275,276],"break":[2,171,172,174,182,183,202,204,219,220,224,226,227,229,230,231,234,273,274,282,283,287,291,292],"byte":[1,11,14,34,35,39,47,55,69,70,75,76,78,84,88,89,103,118,130,161,162,171,172,173,182,183,184,202,203,215,224,226,227,229,230,231,232,246,247,248,253,254,257,261,273,274,275,276,277,281,282,283,285,287,291,292,313,316],"c\u00e9dric":[147,148,171,184,185,193,202,203,219,220,229,275],"case":[2,14,17,22,35,44,46,50,55,58,61,68,70,73,104,114,120,122,124,134,135,144,145,147,148,149,150,160,162,163,164,171,172,173,177,178,180,182,183,194,195,198,202,203,205,213,215,216,217,220,221,226,227,228,229,230,231,232,233,241,246,247,248,250,251,257,258,261,266,269,272,273,274,275,276,277,278,279,281,282,283,284,285,287,291,292,311,313,316],"catch":[146,171,172,202,204,220,246,247,273,275,276,288],"char":[35,44,68,118,288,311],"class":[15,16,19,27,30,41,54,162,171,172,213,215,220,258,279,282,283],"const":[35,49,68,311,314],"default":[1,2,4,14,20,41,132,133,162,171,172,182,183,189,195,199,202,203,204,205,207,213,220,221,226,227,228,229,230,231,232,235,238,246,247,248,255,256,261,266,269,273,274,275,276,278,281,282,283,285,287,291,292,298,305,313,316],"do":[0,2,4,13,22,35,36,37,39,41,42,43,44,47,49,70,90,93,95,100,106,108,115,120,124,130,132,133,138,139,141,146,150,153,157,158,162,171,172,173,174,178,179,180,181,182,183,187,189,193,194,202,203,204,205,207,208,210,213,217,219,220,223,224,225,226,227,228,229,230,231,232,233,234,235,236,241,246,247,248,250,252,258,261,266,267,268,273,274,275,276,279,281,282,283,285,286,287,288,291,292,298,302,304,311,313,316],"enum":[20,35,46,54,58,67,69,70,71,79,80,81,82,84,92,95,96,98,100,101,102,106,107,112,115,271,272,275,276],"export":[14,15,41,109,119,133,135,145,171,172,175,182,183,220,221,222,224,226,227,229,230,231,235,258,279,282,283,291,292,315],"final":[108,139,147,148,166,171,172,173,174,175,176,181,182,183,202,203,206,217,220,221,222,223,224,225,227,228,230,231,232,233,234,235,236,247,248,258,273,279,282,283,284,285,291,292],"float":[21,22],"fr\u00e9d\u00e9ric":171,"function":[2,6,17,22,35,39,41,42,44,56,57,58,61,69,70,74,75,87,88,89,90,93,97,98,99,100,101,103,105,108,121,132,134,144,145,146,147,148,151,154,161,162,171,172,173,174,180,182,183,184,185,189,202,203,204,206,207,215,217,219,220,221,223,224,225,226,227,229,230,231,232,233,246,247,248,250,257,258,261,266,273,274,275,276,278,279,281,282,283,286,287,288,291,292,298,311,314,316],"hor\u00e1k":[147,148],"import":[36,51,76,133,139,140,165,168,171,172,184,185,189,201,202,203,204,220,226,227,228,231,232,238,246,247,258,268,269,273,274,279,311],"int":[35,43,44,60,73,75,106,109,110,117,119,120,128,204,311,314],"long":[2,42,75,93,108,147,149,171,172,182,183,202,204,207,209,217,220,226,227,228,231,233,246,247,258,259,261,266,273,274,275,276,277,279,280,281,282,283,285,287,291,292],"new":[1,4,5,19,21,22,28,35,40,44,47,54,58,70,71,73,77,107,108,113,118,125,130,131,133,134,139,140,146,154,157,162,173,174,175,187,188,189,190,192,193,195,196,197,198,199,200,201,204,205,206,209,215,218,219,221,222,223,225,228,233,234,235,236,237,238,241,244,248,258,267,273,274,275,276,277,279,284,285,301,308,311,313,314,316],"null":[35,43,44,45,53,55,75,81,117,118,144,145,146,166,171,172,174,182,183,202,217,220,226,227,231,233,261,268,273,275,276,277,278,281,282,283,288,311],"public":[23,42,81,118,133,138,141,219,226,227,291,292,314],"return":[17,35,38,41,42,46,49,51,52,56,57,58,59,62,66,68,73,88,89,90,93,97,98,101,103,105,108,121,130,134,135,146,153,154,158,160,161,162,163,171,172,173,174,177,180,181,182,183,187,191,193,201,202,203,208,213,214,215,216,217,220,221,224,225,226,227,228,229,231,232,233,234,241,246,247,248,251,252,256,258,261,267,271,273,274,275,276,278,279,281,282,283,285,286,287,289,291,292,294,307,309,311,316],"short":[42,124,125,182,183,212,217,219,220,221,222,224,225,226,227,228,230,231,232,235,246,247,258,279,282,283,292],"static":[1,39,62,64,65,88,106,114,115,125,126,147,148,161,171,172,184,185,206,217,224,226,227,231,233,246,247,314],"switch":[0,58,101,102,132,133,135,146,171,172,173,182,183,201,202,203,213,220,221,226,227,229,230,241,246,247,248,271,273,275,276,282,283,285,287,291,292,312,313,316],"throw":[182,183,220,246,247,291,292],"transient":[41,117],"true":[4,106,134,171,172,182,183,202,203,204,226,227,228,231,232,258,273,274,279,282,283,291,316],"try":[5,43,44,49,113,131,147,149,162,171,172,182,183,193,202,203,204,215,217,220,224,226,227,229,230,231,232,233,241,246,248,250,261,269,271,272,273,274,275,276,279,281,282,283,285,287,291,292,316],"var":[17,291,292,311],"void":[35,44,50,51,58,83,84,106,116,118,124,125,217,231,233,311,314],"while":[1,2,13,20,28,40,41,42,43,44,50,61,76,81,93,102,103,108,117,121,131,132,133,138,157,171,172,173,174,179,182,183,187,189,191,193,201,202,203,207,208,217,219,220,221,224,226,227,228,229,230,231,232,233,243,246,247,248,250,255,261,268,272,273,274,275,276,278,281,282,283,285,287,288,291,292,298,311,313,316],A:[0,2,4,14,16,21,22,39,42,44,49,50,55,58,70,75,87,88,89,98,100,102,103,113,114,122,127,131,132,135,138,139,140,145,147,148,161,164,171,172,178,180,182,183,184,185,187,193,200,202,203,204,219,220,224,226,227,228,229,231,232,234,236,238,241,246,247,261,266,273,274,275,276,281,282,283,285,288,291,292,316],AND:[14,246,247,282,283],AT:[35,132],ATS:[73,221,268,273,287,291,292],And:[37,61,68,71,162,171,172,173,215,220,229,258,279,282,283,284,287],As:[0,17,22,43,58,113,130,140,141,147,149,154,155,156,171,172,173,174,182,183,193,202,203,204,205,220,226,227,229,231,232,239,246,247,250,257,273,275,276,278,279,281,282,283,284,285,291,292,311,316],At:[35,39,54,75,118,162,171,172,215,217,226,227,228,229,230,231,233,246,247,258,261,275,276,279,281,282,283,287,291,292,311,313],BE:[130,138,220],Be:[202,203,229,230],But:[37,147,149,162,163,171,173,180,181,182,183,208,215,216,217,226,227,231,233,246,247,261,267,268,271,272,273,274,275,276,281,282,283],By:[17,138,171,172,181,208,226,227,246,247,267,269,273,274,275,276,287,316],FOR:101,For:[0,2,4,13,14,15,16,17,18,19,21,22,24,28,35,37,39,42,44,46,51,56,62,63,64,65,68,70,78,88,89,101,103,105,107,109,110,115,119,121,126,131,132,133,134,135,137,139,140,141,161,162,171,172,173,174,175,177,182,183,184,185,193,202,203,204,205,206,215,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,250,254,273,274,275,276,277,282,283,284,285,291,292,311,313,316],IF:[101,204],IS:101,If:[0,1,2,4,7,9,12,13,21,22,34,35,42,47,48,50,51,55,61,62,63,64,65,68,70,71,75,83,87,100,102,103,107,108,114,117,118,123,124,127,130,131,132,133,134,135,138,139,140,141,147,149,151,154,157,160,161,162,168,171,172,176,182,183,187,193,202,203,204,208,209,215,217,219,220,223,224,226,227,229,230,231,232,233,236,246,247,248,251,252,255,257,258,261,269,271,272,273,274,275,276,278,279,281,282,283,284,285,286,287,291,292,311,312,313,314,316],In:[2,4,13,14,16,17,22,24,33,35,38,40,42,43,44,46,50,55,58,61,68,70,84,110,114,118,120,123,124,131,133,135,136,151,160,161,162,163,165,167,171,172,173,174,176,182,183,188,189,193,194,198,201,202,203,204,207,208,213,214,215,216,217,220,222,224,225,226,227,229,230,231,232,233,235,236,241,243,246,247,248,250,257,258,261,266,271,272,273,274,275,276,277,279,281,282,283,284,286,287,288,291,292,298,312,313,314,316],It:[1,2,4,8,17,21,23,32,35,41,42,43,44,47,49,50,55,58,66,71,76,83,87,104,106,109,114,121,125,126,127,132,133,134,135,139,143,144,152,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,316],Its:[28,70,314],NO:[131,193,312],NOT:[1,2,5,15,17,49,55,62,63,64,65,76,100,106,114,115,132,140,171,173,182,183,202,203,204,205,206,220,226,228,275,276,311,313],No:[0,17,42,50,70,74,83,109,110,118,119,140,165,171,172,193,196,201,238,246,247,251,273,274,275,276,281,282,283,295,311],Not:[2,35,51,60,76,77,87,93,99,106,127,129,132,140,157,162,171,172,178,182,183,187,215,226,227,246,247,291,292],OF:[76,282],ON:[104,135,220,275],OR:[217,231,233,275,276,298,317],Of:58,On:[0,2,5,8,12,28,38,40,41,42,44,52,54,61,74,115,123,132,133,134,135,137,146,147,149,150,152,153,162,164,171,172,174,182,183,184,185,188,189,202,203,206,214,220,221,226,227,229,230,231,232,238,246,247,248,254,256,258,261,266,268,269,273,274,275,276,279,281,282,283,285,286,287,291,292,311,313],One:[41,46,134,162,215,224,231,232,246,247,258,279,282,283,316,317],Or:[2,226,227],Such:[37,140],THE:136,THe:275,TO:[136,178,182,183],That:[4,22,36,124,132,153,171,172,173,177,182,183,226,227,231,232,238,239,240,246,247,275,276,282,283,316],The:[0,1,2,4,5,6,8,9,10,12,13,14,15,16,17,18,19,21,22,23,28,29,30,31,32,34,35,36,37,40,41,42,43,44,49,51,52,53,54,55,56,57,58,59,61,68,69,70,73,74,75,76,77,81,84,85,86,87,88,89,90,93,97,98,99,100,101,102,103,104,105,108,109,110,111,113,117,118,119,120,121,122,123,124,129,131,132,133,134,135,138,139,140,141,145,146,148,149,150,153,154,157,159,160,162,171,172,173,174,175,178,180,181,182,183,185,186,187,188,189,193,194,196,197,201,202,203,204,205,206,208,213,217,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,241,242,243,246,247,248,249,250,251,252,253,255,258,259,261,266,267,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,289,291,292,298,304,311,312,313,314,316,317],Their:28,Then:[35,36,135,171,172,182,183,220,231,232,240,246,248,273,274,282,283,287,291,292],There:[2,4,14,22,35,39,41,44,46,47,49,50,51,52,68,73,81,108,117,121,131,132,133,134,137,146,171,172,173,174,175,182,183,184,185,202,203,204,206,220,221,224,226,227,228,229,230,231,238,246,247,248,251,266,268,271,273,274,275,276,282,283,285,288,291,292,298,311,316,317],These:[0,2,5,9,10,13,14,19,29,34,35,37,41,42,47,51,52,58,69,71,73,77,132,134,137,171,172,176,182,183,202,203,220,221,224,229,230,231,232,236,246,247,266,268,273,275,276,282,284,285,291,292,298,311,313,314,316],To:[0,4,35,124,131,134,136,157,171,172,182,183,187,204,222,224,225,226,227,229,230,231,232,236,250,251,268,273,274,275,276,278,282,283,285,286,291,292,311,315],WITH:220,Will:[8,52,145,220,291,292,316],With:[22,28,133,136,147,148,162,164,171,172,195,202,204,206,215,219,220,225,226,227,229,230,231,236,246,247,268,273,274,275,276,282,283,284,287,291,292],_4b:[226,227],_:[136,222],___backtrac:[246,247],___print_backtrac:[246,247],__be16:60,__be32:[60,70,84],__be64:[58,60,70,84,127,282,283,314],__builtin_parityl:[171,172],__dt_add_property_cel:[171,174,224],__flush_consol:[273,274],__next_timer_interrupt:37,__noreturn:[217,231,233],__opal_cal:[282,285],__opal_flush_consol:[291,292],__pack:220,__secondary_cpu_entri:[182,183],__section:[291,292],__stack_chk_fail:[160,182,220],__trigger_attn:40,__try_lock:[275,276],__unus:42,__va_args__:288,__xive_cache_scrub:[171,172,241],_abort:[171,174,182,183,224,246,247,256,261,272,275,276,278,281,282,283],_be64:[287,291,292],_en:[272,275,276],_indic:[10,146],_lite:[231,232],_mrk:[226,227],_occ:144,_prlog:[273,274,288],_reg:[287,291,292],_savegpr0_28:[291,292],_window:[258,279,282,283],a000:34,a001:34,a0020:[202,203],a103:220,a200:34,a300:34,a5721ba270:220,a6d4a7884e95cb9c918b8a217c11e46b01218358:191,a8e6cc3f4:182,aa:[213,220],ab:[2,213,220,246,247],abc123456:34,abcdefgh:35,abcdefghijkl:35,abcdefghijklmnopqrstuvwxyz:35,abi:[15,16,44,132,133,134,137,145,202,203,205],abil:[4,22,171,172,184,185,220,226,228,229,230,237,291,292,316],abiv2:[275,276],abl:[2,22,51,54,55,113,117,118,131,162,165,166,171,172,173,174,182,183,204,206,215,219,220,226,227,246,247,258,273,274,279,282,283,291,292,316],abnorm:[147,149,171,172,263,297],abort:[0,41,144,146,147,148,171,173,174,178,182,183,202,204,224,226,228,251,256,261,272,273,274,275,276,278,281,282,283,291,292,295],about:[0,2,22,34,35,50,51,58,62,63,64,65,70,84,128,131,132,141,146,170,171,172,173,182,183,189,195,202,203,204,205,206,217,219,220,226,227,228,229,230,231,233,246,247,250,252,273,274,275,276,282,283,285,287,291,292,314,315,316],abov:[2,4,5,8,10,15,44,58,62,63,64,65,67,89,103,107,113,130,131,132,135,140,162,171,172,182,183,188,193,213,215,220,224,226,227,231,235,236,238,241,246,247,258,273,274,275,276,279,282,283,316],absenc:[44,46,255,258,275,279,282,283],absent:[8,77,226,227,316],absolut:[15,132,219,226],abwmgmt:220,ac922:136,acceler:[25,38,171,172,229,230,273],accept:[2,17,38,46,50,51,121,138,139,226,227,258,275,276,279,282,283],access:[1,9,10,20,28,38,42,52,60,69,107,122,133,135,146,150,171,172,174,180,182,183,184,185,189,194,198,202,203,204,206,220,224,226,227,229,230,231,232,233,236,238,241,243,246,247,250,258,266,269,272,273,274,275,276,279,282,283,285,287,289,291,292,295,314,316],accessor:[287,291,292],accid:[291,292],accident:[226,227],accommod:[70,147,149,171,172],accomod:[135,226,227],accompani:[282,283,291,292],accomplish:[40,221],accord:[21,68,135,171,172,213,220,226,227,228,275,276,282,285,291,292,312,317],accordingli:[104,108,135,220],account:[182,183,220,221,231,233,254,256,265,275,277,278,287,291,292,305],accross:[226,227,228,316],accumul:[37,171,175,182,183],accur:[171,172,316],accuraci:100,achiev:[58,220,246,247,275,276],achiv:[246,247],ack:[50,51,139,144,171,184,185,187,193,202,203,219,226,231,232,258,279,282,283],ack_id:51,acknowledg:[35,50,51,122,162,171,172,215,226,227,231,232,288],aco:[246,247],across:[2,4,17,40,71,115,124,132,171,193,202,203,219,226,227,229,230,231,242,313],act:[220,246,247,275,276],action0:[251,275,276],action:[35,54,58,70,147,149,166,171,173,181,182,183,208,226,227,228,229,231,232,246,247,267,273,274,288,291,292,311],activ:[2,13,40,58,68,70,102,112,114,134,140,161,162,171,172,201,202,203,215,219,223,226,227,241,251,273,274,275,276,282,283,291,298,311,313],actual:[2,24,35,47,58,68,76,104,121,123,124,132,135,162,171,172,174,182,183,195,200,201,202,203,213,214,215,217,220,221,226,227,229,231,232,233,241,246,247,248,250,254,258,261,266,268,272,273,274,275,276,277,279,281,282,283,284,287,289,291,292,294,298,301,312,316],actual_s:[231,232],actuals:[202,204],ad:[3,5,9,13,18,19,22,24,35,54,70,104,115,131,135,147,148,149,151,155,161,164,171,172,174,181,184,185,187,193,202,203,204,217,219,220,224,226,227,229,230,231,232,233,246,247,248,261,266,272,273,274,275,276,279,281,282,283,286,287,288,291,292,304,308],adapt:[86,102,104,135,154,201,202,203,213,220,221,226,227,229,230,231,232,269,273,274,275,276,282,283,285,291,292],adaptor:[147,148],add:[2,22,34,35,40,50,71,86,101,104,130,132,133,134,135,136,139,140,144,145,146,147,148,149,151,154,161,162,163,166,171,172,173,174,175,178,180,182,183,184,186,187,193,194,201,202,203,206,211,215,216,218,219,220,221,222,224,225,226,227,228,229,230,231,232,234,235,237,238,239,241,242,244,246,247,248,249,250,251,253,255,256,257,258,266,267,268,273,274,275,276,277,278,279,282,283,284,285,287,288,291,292,295,301,311,313,314],add_cpu_idle_state_properti:[246,248],add_icp:220,add_iplparams_seri:220,add_opal_nod:[182,183],add_properti:[135,282,283],add_region:[226,228],add_sensor_nod:[273,274],add_vas_nod:[171,174],add_xics_icp:220,addit:[2,17,22,29,35,44,70,131,135,141,145,152,157,165,171,172,174,187,221,226,231,232,246,247,248,259,267,269,273,274,275,276,280,287,291,292,298,304,311,316],addition:[2,22,132,139,171,172,193,226,228,231,246,247,257,261,266,273,274,275,276,281,282,283,286,291,292,316],addr2func:[291,292],addr2lin:[291,292],addr:[26,28,50,60,61,69,75,82,87,103,171,172,220,224,246,247,316,317],addr_typ:69,address:[2,3,5,8,9,14,24,27,28,29,30,31,32,33,36,47,50,56,60,61,69,71,73,75,76,81,83,87,88,89,90,92,93,97,98,103,112,124,128,130,132,134,141,147,148,171,172,173,174,175,178,182,183,202,203,204,220,221,224,225,226,227,228,229,230,231,232,242,245,246,247,256,257,271,273,274,275,276,282,283,284,285,287,288,291,292,314,316,317],adequ:[131,275,276,291,292],adher:[17,138,171,172],adiga:[171,219,231,275],adjac:[256,275,276],adjust:[2,221,261,281,316],admin:[171,172],administr:[12,127],adopt:[192,224],adpat:220,adriana:[171,184,185,275],adu:231,adu_scom:[273,274,275,276],advanc:[1,213,220],advantag:[155,182,183,226,227],advers:[226,227],advertis:[7,21,22,61,155,171,175,180,182,193,202,203,226,227,255,257,275,278,282,283],aer:[84,164,221,301],affect:[58,147,148,171,172,181,184,185,196,208,231,232,242,246,247,258,267,268,273,274,275,276,279,282,283,291,292,311],affin:[2,226,228],afl:[257,282,283],afraid:139,after:[0,2,4,13,35,37,39,40,43,50,58,61,70,104,113,115,121,135,139,147,148,152,153,154,157,158,162,164,167,168,170,171,172,173,174,177,179,180,182,183,187,189,190,191,193,198,201,202,203,208,209,213,214,219,220,221,224,226,227,228,229,230,231,232,236,239,241,242,246,247,248,251,254,261,263,268,272,273,274,275,276,277,279,281,282,283,285,287,288,290,291,292,294,311,316],afterward:[182,183,246,247,311],afu:[75,182,183,282,284,291,292],ag:219,again:[35,43,49,50,62,125,131,188,217,224,231,233,246,247,266,271,273,274,275,276,279,282,283,311,316],against:[4,19,100,171,172,175,182,183,220,226,227,257,275,276,277,311,313,314],agent:[229,230],aggreg:[182,183],aggress:[182,183],agnost:[37,246,247],ago:[42,261,281,282,283,286,288,291,292],agre:[138,154],agress:[229,230],ahb:[273,274],ahead:[171,172,246,247],aib:[159,194,196,256,275,276],aid:[171,172,231,233],aim:[22,132,139,203,204,205,206,211,219,258,279,282,283],air:34,aka:[2,7,38,189,224,225,229,230,316],akshai:[171,219,231,275],alarm:[19,226,227],alastair:226,alert:[1,58,154,157,187,193,220,224,226,228,272,275,276,282,283],alexei:[171,219,220,224,231,275],algo:[23,171,172],algorithm:[17,28,202,203,229,230,275,276],alia:[128,131,226,227],alias:[197,202,203],align:[9,52,56,75,89,147,149,171,172,173,182,183,194,197,202,203,219,220,226,227,229,230,231,233,246,247,259,261,280,281,282,284,288,291,292,316],alimit:120,alink:37,alistair:[147,148,167,171,184,185,187,193,202,203,219,220,224,226,229,231,275],all:[1,2,4,8,13,14,17,18,19,21,22,23,24,28,31,32,34,35,36,39,40,42,44,51,52,58,59,68,70,71,72,76,78,81,88,93,100,101,103,106,107,113,115,116,117,118,120,122,124,127,131,132,133,134,136,137,138,139,140,144,147,148,149,150,151,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,180,181,182,183,184,185,186,188,189,191,192,193,195,198,201,202,203,204,205,206,207,208,209,214,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,245,246,247,248,257,258,259,261,264,267,268,269,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,296,304,310,311,313,314,316],allevi:[266,273,274],alloc:[0,2,22,24,32,35,39,54,61,70,73,75,84,102,107,118,120,131,134,147,148,165,168,171,172,182,183,184,185,193,202,203,220,221,224,226,227,231,232,233,246,247,250,251,268,269,272,273,275,276,277,282,283,287,291,292,295,311,313,315,316],alloc_ord:316,allot:35,allow:[0,4,13,16,21,22,28,29,41,46,47,51,54,70,77,84,89,106,107,110,132,138,139,154,155,161,168,171,172,173,178,182,183,184,185,186,187,193,202,203,206,219,220,221,222,224,225,226,227,228,229,230,231,232,246,247,248,253,256,258,261,266,273,274,275,276,278,279,282,283,284,285,291,292,298,314,316],almost:[136,171,172,291,292],alon:[226,227,273,274,275,276],along:[2,37,73,76,133,171,174,181,182,183,208,217,226,227,229,230,231,232,246,247,267,273,274,275,276,281,282,283,291,292,316],alongwith:[58,246,247],alreadi:[41,75,108,121,133,134,138,140,150,161,171,172,178,182,183,184,185,201,202,203,222,226,227,228,229,230,231,232,246,247,248,251,253,268,272,273,274,275,276,282,283,284,285,288,291,292,313,316],also:[1,2,4,7,17,21,22,24,28,32,33,35,37,40,50,51,69,73,78,100,102,113,121,124,128,131,132,133,134,139,141,146,147,148,151,157,169,171,172,173,174,175,179,182,183,187,193,202,203,204,213,217,220,224,226,227,228,229,230,231,232,233,235,238,242,246,247,250,251,254,255,257,258,259,260,261,266,268,271,273,274,275,276,277,279,280,281,282,283,284,285,286,287,291,292,311,313,314,316],alter:[171,172,246,247,313],altern:[37,40,72,162,215,250,275,276,291],although:[16,43,49,50,51,70,117,120,132,139,171,172,219,231,232,287,291,292,298],alwai:[2,8,41,55,58,61,66,70,81,131,134,141,154,162,171,172,173,177,182,183,184,185,193,201,202,203,204,205,213,215,220,224,226,227,229,230,231,232,234,246,247,250,256,257,258,261,273,274,275,276,278,279,281,282,283,285,286,287,291,292,313,316],am:[138,219],ambient:[13,54,70],ambigu:[154,217,226,227,231,233],ami:[0,156,206,220,246,247,250,273,274,279,282,283],amit:275,among:[133,202,203,246,247],amount:[12,13,35,50,127,131,133,171,172,178,182,183,217,221,226,227,231,232,266,273,274,275,276,282,285,316],amr:[226,227],an:[0,1,2,4,5,9,12,13,16,17,19,21,22,23,28,30,35,37,41,42,43,44,45,47,49,50,51,52,54,55,56,57,58,59,61,62,63,64,65,66,67,68,70,71,74,77,82,83,84,86,88,89,90,93,96,97,98,101,102,104,105,106,107,108,109,110,111,114,118,119,120,121,124,127,128,130,131,132,133,134,138,139,140,141,143,146,147,148,150,151,153,155,156,157,159,160,161,162,165,170,171,172,173,174,175,176,180,182,183,184,185,187,193,196,201,202,203,204,206,208,214,215,219,220,221,224,225,226,227,228,229,230,231,232,233,234,238,239,241,243,246,247,248,249,250,251,252,253,254,255,256,258,261,266,267,271,272,273,274,275,276,279,281,282,283,284,285,286,287,288,291,292,298,307,309,311,312,313,314,315,316],analog:205,analysi:[44,50,147,148,161,171,184,185,193,202,203,219,224,226,231,246,247,281,282,283],analyz:[58,70,251,275,276],ananth:[147,148,171,184,185,219,220,224,226,229],anchor:34,ancient:[46,150,224,291,292],andrei:[147,148,202,204],andrew:[147,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],aneesh:[184,185],ani:[0,1,2,4,5,13,17,23,35,37,39,42,43,44,49,55,56,58,59,60,61,78,81,89,96,113,117,118,120,132,133,134,135,137,139,141,147,148,154,157,161,165,171,172,174,178,179,180,181,182,183,186,187,193,202,203,204,205,208,209,216,217,220,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,284,285,288,289,290,291,292,308,311,312,313,316],anju:[226,231],annoi:[246,247,275,276],annot:[141,146,181,202,203,220,226,228],announc:136,anonym:[226,227],anoth:[22,41,58,101,113,132,157,162,168,171,172,182,183,187,214,220,225,229,230,241,271,275,276,282,283,287,291,292,316],answer:[286,291,292],anticip:22,anton:[147,148,202,203,229,231],anybodi:[139,171,172],anymor:[219,229,230,259,280,291,292,316],anyon:[42,136,171,172,282,283],anyth:[0,29,49,115,132,133,182,183,205,221,224,226,227,229,246,248,266,273,274,286,291,292,311,316],anytim:68,anywai:[171,174,182,183,184,185,224,226,227,228,229,230,231,232,246,247,248,282,283],anywher:[133,259,280,288],ap:[139,220],apach:[139,298],apart:[202,204,310],apc:[171,172,271,275,276],apc_fsm_read_mask:[271,275,276],apertur:[226,227],api:[7,17,38,40,49,51,70,84,104,120,123,132,133,135,139,145,146,147,148,149,154,171,172,175,182,183,202,203,205,217,220,229,230,231,232,233,246,247,261,272,273,274,275,276,281,282,283,284,286,287,291,292,304,314],apollo:[38,224],app:[198,202,203],appar:[171,172],appear:[21,39,41,42,90,93,103,162,171,172,205,214,224,226,227,231,232,246,247,257,266,273,274,275,276,278,282,283,288,291,292,312],append:[35,118,226,227,291,292,311],appli:[17,47,48,52,56,76,88,121,140,164,171,172,182,183,220,226,227,228,231,232,235,246,247,273,274,282,283,287,291,292,311,312,316],applic:[4,34,35,44,139,181,208,267,273,274,282,285,291,292,311,315,317],appriopri:19,approach:[162,215,226,231,246,247,275,276,291,292,304],appropri:[1,12,13,17,23,40,52,73,83,122,132,138,139,171,172,220,226,227,229,230,231,232,234,246,247,269,273,274,275,276,277,287,291,292,311,316],approxim:236,apr:139,april:[146,147,148,149,157,158,179,180,182,187,188,219,220,221,222,223,224,225,246,247,248,264,284,298,304],apss:[171,172,273],aquir:[162,214,225],ar:[0,1,2,4,6,9,12,13,14,15,16,17,19,21,22,27,28,29,31,32,34,35,36,37,38,39,40,41,44,47,49,50,51,52,56,58,62,67,68,69,70,71,73,74,76,77,86,89,100,102,103,104,107,108,110,113,115,117,118,120,122,123,124,127,130,131,132,133,134,135,137,138,139,141,144,146,147,148,149,150,151,154,155,157,159,160,162,163,164,165,169,171,172,173,174,175,176,177,178,179,181,182,183,184,185,187,188,189,190,191,193,195,196,197,198,199,200,201,202,203,204,205,208,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,236,238,239,241,242,243,244,245,246,247,248,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,271,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,305,306,307,309,311,312,313,314,316,317],arb:[231,232],arbab:[171,219,226,229,231,275],arbitr:60,arbitrari:[13,171,172,202,203,246,248],arbitrarili:[246,247,275,276],arch:106,arch_cpu_idl:37,arch_flash_arm:[212,220],architect:[2,21,22,132,146],architectur:[22,182,183],archiv:[182,183],area:[7,47,71,75,139,144,146,171,172,182,183,220,226,227,275,276,316],aren:[110,121,157,171,172,182,183,187,195,202,203,204,219,220,226,227,229,230,231,236,239,267,273,274,291,292,316],arg:[126,132,202,203],arguabl:[275,276],argument:[2,35,50,52,53,56,82,92,100,101,108,117,120,134,171,172,174,182,183,203,220,226,227,246,247,253,275,276,287,288,311,316],aris:[231,232,275,276,311],arisen:[246,247],arithmet:[226,227,316],arizona:236,arm:[171,172,189,193,202,204,205,273,274],around:[35,50,106,120,139,146,167,171,172,174,182,183,184,185,193,198,202,203,207,220,224,226,227,228,229,230,231,232,236,238,240,246,247,259,266,272,273,274,275,276,280,282,283,287,291,292],arrai:[18,21,22,54,127,171,172,173,226,227,229,230,231,232,246,247,268,273,275,276,282,283,295],arrang:[282,285],arriv:[13,231,232,291,292],artem:275,articl:138,artifact:[220,275,276,314],as_notifi:[182,183,246,247],asb:[78,226,228],ascend:316,ascii:[2,34,35,127,220],asid:304,ask:[50,71,140,168,171,173,182,224,229,230,246,247,286,291,292],asleep:[128,158,187,191],asm:[12,133,171,172,195,202,203,219,220,231,246,247,282,285,302],asn1:225,asn:[182,183,246,247],aspe:[231,232,273,274,275],aspect:[291,292],assembl:[275,314],assert:[0,23,44,50,62,146,147,148,161,171,172,182,183,197,202,203,210,220,226,227,228,229,230,231,232,235,239,246,247,248,258,261,262,263,273,274,275,276,279,281,282,283,287,289,291,292,295,297,302,305,313],assert_delai:[282,283],assert_fail:[261,281,282,283],assert_perst:[287,291,292],assert_st:96,assess:314,assign:[41,75,134,147,149,171,172,178,180,182,183,184,185,220,226,227,238,241,246,247,248,281,282,283,284,287,291,292,316],assist:[58,70,282,284],associ:[5,22,27,29,30,41,56,61,68,73,88,89,97,118,130,135,143,171,172,180,184,185,194,203,217,226,227,228,231,233,246,247,258,279,282,283,287,291,292,316],assum:[2,21,22,41,58,100,132,154,171,172,174,177,182,183,202,203,212,220,224,226,227,229,230,231,232,246,247,248,250,254,255,258,269,273,274,275,276,277,279,281,282,283,285,291,292],assumpt:[171,172,184,185,206,220,226,227,261,279,281,282,283,316],assur:[93,103],ast2400:[52,220],ast2500:52,ast:[220,250,268,275,276,279],ast_sio_is_en:279,astbmc:[0,136,145,147,149,151,161,165,182,183,202,203,220,231,232,250,273,274,275,276,281,282,283,286,291,292],astbmc_init:[279,282,283],asychron:[104,135],async:[5,45,52,60,109,110,119,120,127,130,131,162,171,172,175,208,213,229,230,243],async_token:[60,68,77,104,114,127],asynchron:[43,52,60,77,104,108,110,117,120,122,124,125,127,131,135,147,148,181,208,220,261,267,273,274,281,282,283,285,291,292],asynchronu:[109,110,119],asynhroun:[258,279,282,283],at24c04:250,at8286:35,at_hwcap2:[21,22,180,182],at_hwcap:[21,22],at_hwcapx:21,atexit:194,atkkkk:35,atllll:35,atom:[133,171,172,182,183,246,247,313],atr:[268,273],atsd0:[282,283],atsd6:[282,283],atsd:[246,247,275,276,282,283],attach:[26,52,102,180,202,204,219,220,226,227,246,247,268,269,273,275,276,282,285,316],attain:13,attempt:[39,47,82,108,110,113,122,146,150,161,168,171,172,174,178,182,183,202,203,208,220,221,224,226,228,229,230,231,234,243,246,247,258,261,266,273,274,279,281,282,283,285,287,291,292,311],attent:[4,10,68,135,171,174,184,185,226,227],attest:314,attn:[40,68,70,135,146,171,172,174,193,226,227],attn_ack:70,attnbtn:[213,220],attr:19,attribut:[15,19,35,161,184,185,202,203,229,230,256,275,276,278,291,292,313],audit:[171,172,229],aug:288,august:[147,149,150,159,160,161,162,163,184,185,186,187,188,189,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,229,230,231,232,233,234,235,236,270,271,293,298],auth:[17,307,309,311],authent:312,author:[38,56,88,89,97,118,134,275,276,304],authorit:[171,172],auto:[275,276],autodetect:[229,230],autofs4:[162,215,226,227],autoload:151,autom:[147,148,149,171,219],automat:[28,47,68,133,141,231,232,246,247,273,274,275,291,292,314],autorun:[282,285],aux:21,auxpwr:164,auxv:22,avail:[0,10,13,16,18,19,21,22,30,34,41,42,44,49,50,51,55,58,68,73,74,83,102,108,109,115,120,125,131,135,136,139,153,162,165,171,172,175,177,182,183,202,203,204,213,217,220,226,227,229,230,231,233,246,247,248,269,273,275,276,282,283,288,291,292,298,313,316],averag:[246,247],avoid:[0,5,37,39,58,113,144,145,147,149,160,169,171,172,182,183,198,201,202,203,207,213,220,224,226,227,228,229,230,231,236,237,238,246,247,269,273,274,275,276,282,283,284,285,287,291,292,306],avsbu:[171,172],aw:[202,203],awai:[5,171,172,182,183,229,230,238,282,283],await:95,awan:193,awar:[50,58,121,147,148,171,172,175,180,182,220,246,247,282,283],awfulli:[291,292],axon:136,axten:[147,148,161,184,185],b0000002:35,b0020:2,b23d9c5b9c83c05e013aa52460f12a8365062cf4:194,b42ff2b904165addf32e77679cebb94a08086966:[229,230],b8b4c79d4419:[287,291,292],b:[2,4,24,36,39,134,138,140,141,184,185,193,225,231,232,266,273,274,275,276],ba4d46fdd9eb:[171,172],babul:[147,148,193],back:[35,42,44,52,58,96,120,124,136,153,162,164,171,172,174,182,183,184,185,188,202,203,215,217,219,224,226,227,228,229,230,231,232,233,236,241,246,247,248,255,267,273,274,275,276,277,282,283,285,291,292,316],backdoor:220,backend:[17,23,42,60,67,117,144,146,171,175,176,182,183,204,258,261,273,274,279,281,282,283,286,291,292,307,309],background:[181,208,267,273,274],backlog:220,backplan:34,backport:[140,162,163,189,202,216],backtrac:[144,146,147,149,160,165,171,174,182,183,184,186,189,193,195,202,203,207,220,221,224,226,231,233,246,247,256,261,272,273,274,275,276,278,281,282,283,291,292],backup:[2,58,246,247,282,283],backward:[2,21,22,54,70,171,172,177,182,183,243,248,315],bad:[0,2,80,134,146,157,171,172,187,193,198,202,203,217,220,224,226,227,228,229,231,232,233,238,246,247,250,251,260,261,271,272,273,274,275,276,281,282,283,285,286,287,291,292],baddllp:164,badli:[134,169,226,231,232,273,274,291,292],badtlp:164,bai:[275,276],bail:[150,171,172,176,182,183,226,227,228,282,283,299],bake:[202,204],balanc:[16,282,285],balbir:[171,193,202,203,226,231],band:[35,37,147,148,171,172,220,231,233,282,283],bandhu1:[184,185],bandwidth:[24,37,41,102,178,182,183,269,275,276],bank:[118,311,314],bar0:41,bar2:41,bar:[2,33,41,75,87,147,149,171,172,182,183,220,221,226,227,229,230,231,236,238,241,246,247,268,272,273,275,276,282,284,291,292,299],bare:[0,2,171,172,220,246,247,282,283,285,287,291,292],barebon:[246,247],barf:[171,172,182,183,226,227],barrat:[171,193,202,203,219,220,226,229,231,275],barreley:[136,184,186,220,282,285],barrier:[171,172,220,231,232,271,275,276],basd:68,base:[2,5,8,14,20,22,24,28,30,32,34,35,37,38,42,50,54,68,72,75,76,77,88,91,112,127,132,133,134,135,136,138,139,140,141,144,156,157,160,164,165,168,171,172,175,185,187,204,210,215,227,229,230,236,237,246,247,250,255,258,268,271,279,280,285,287,291,292,298,310,316,317],base_addr:24,basi:[182,183,184,185,246,247,248,273,274,275,276,277,282,283,284,285,291,292,293],basic:[17,36,58,126,134,147,148,171,172,202,203,219,220,221,231,232,246,247,275,276,291,292,314,316],bathini:[147,148,229],batteri:[70,282,283],baud:2,bb821010:35,bb821410:35,bb822411:[157,187],bb:35,bc7bb3d12bc1:[291,292],bc:[182,183],bcd:117,bcm57810:164,bda7cc4d0354eb3f66629d410b2afc08c79f795f:[182,183],bdf:[73,182,183,226,227,246,247],bdfn:[74,75,171,172,202,203,226,227,275,276],be16:[291,292],be16_to_cpu:[291,292],be32_to_cpu:[291,292],beaus:[275,276],beautifi:[171,173],becam:[22,39,136],becaus:[108,110,113,122,134,135,136,160,171,172,173,182,183,188,193,217,220,224,226,227,231,232,233,234,239,246,247,248,255,257,261,268,272,273,275,276,278,281,282,283,285,287,291,292,298],becom:[70,131,148,149,162,163,171,172,173,174,175,182,183,185,186,193,201,202,203,204,205,206,215,216,217,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,258,261,274,275,276,277,279,281,282,283,284,285,290,291,292,293,298,299,304,308,310],been:[0,4,13,14,22,35,41,42,58,62,70,81,84,96,100,108,112,117,131,134,135,139,140,144,148,149,151,154,155,171,172,178,180,182,183,184,185,202,203,204,217,221,224,226,227,228,229,230,231,232,233,235,241,246,247,250,254,257,258,261,267,273,274,275,276,277,278,279,281,282,283,285,287,289,291,292,298,311,313,316],befor:[0,4,21,22,39,42,43,44,52,70,86,96,106,113,114,117,122,124,130,132,133,135,139,147,149,151,159,162,163,168,171,172,173,174,180,181,182,183,184,185,189,196,201,202,203,204,206,208,209,215,216,217,220,221,224,226,227,228,229,230,231,232,233,236,238,241,245,246,247,248,258,261,263,265,267,268,273,274,275,276,279,281,282,283,285,287,291,292,297,301,305,311,316],beforehand:224,begin:[4,171,172,182,183,193,246,247,282,283,291,292,311],behav:[21,134,147,149,182,183,220,231,232,275,276,291,292],behavior:[17,44,273,274,311],behaviour:[22,46,110,166,171,172,182,183,196,201,202,203,205,226,227,246,248,273,274,275,282,283,316],behind:[5,104,135,139,171,172,180,201,202,203,220,221,229,230,235,236,246,247,273,282,285],being:[4,22,39,43,50,52,57,58,70,75,79,108,110,117,122,123,124,125,131,139,147,148,157,160,162,165,167,171,172,173,174,175,182,183,187,193,197,201,205,208,213,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,243,246,247,248,254,257,258,260,261,264,266,267,269,273,274,275,276,277,278,279,282,283,287,288,291,292,316],belief:[291,292],bell:[184,185],belong:[14,18,140,168,226,227,229,230,275,287,291,292],below:[1,2,4,15,16,17,18,19,22,26,35,43,44,47,70,89,93,101,102,103,131,134,138,141,147,162,164,171,172,173,174,177,182,183,184,185,193,201,202,203,209,210,213,215,217,220,221,226,227,231,232,233,238,254,273,274,275,276,277,282,283,287,291,292,310,311,316],ben:[182,183],benchmark:[182,183,229,275,276],benefit:[202,203,226,267,273,274,291,292],benjamin:[147,148,161,164,171,184,185,193,202,203,219,220,224,226,229,231,275],beofr:[182,183],beor:[246,247],bergheaud:[147,148,184,185,193],best:[4,17,44,113,132,138,139,220,246,247,261,281,282,286,291,292,311],bet:[250,273,274],beta1:[4,38,142,147,149,184,185],beta2:[38,142,147],beta:[147,148,149,182],better:[2,35,130,140,141,146,147,148,149,162,166,171,172,182,183,193,215,220,224,226,227,228,231,232,261,273,274,275,276,291,292],between:[4,14,16,22,29,41,42,43,46,110,132,133,157,171,172,175,182,183,187,202,203,213,217,220,221,226,227,229,230,231,233,241,243,246,247,261,268,271,273,274,275,276,282,283,284,287,291,292,311,314,316],beyond:[22,52,103,110,130,171,172],bf898ec5cb:[231,236],bhat:[147,148,171,184,185,193,202,203,219,220,224,226,229,231,275],bhattiprolu:[171,229,231],bia:[171,173],biarch:[147,149],bias:[182,183],bifurc:[282,283],big:[2,13,42,132,136,146,171,172,175,220,226,227,231,232,246,247,261,273,274,275,276,281,282,283,291,292],bigger:[182,183,282,283,291,292],bin:[36,226,227,275,287],binari:[2,4,17,34,35,38,147,148,166,182,183,222,226,227,246,247,275,276,281,282,283,291,292],bind:[5,9,22,25,31,37,38,40,52,71,97,105,110,133,139,146,171,175,202,203,224,231,232,246,247,273],binutil:[212,220],bishop:[171,193],bit:[2,9,13,14,19,21,22,24,28,29,31,32,33,35,37,41,48,50,54,58,60,68,70,73,78,87,88,89,90,93,100,101,103,108,115,117,121,124,130,132,133,134,135,144,145,150,153,157,162,164,169,171,172,173,174,175,178,180,182,183,184,185,187,193,202,203,205,206,213,214,216,217,220,221,224,226,227,228,229,230,231,232,233,235,236,238,240,241,245,246,247,248,251,257,268,269,271,272,273,274,275,276,278,282,283,284,285,287,291,292,311,313,316,317],bitbak:[273,274],bitfield:[178,182,183],bitmap:[75,171,172,220],bitmask:[14,22,108,201,282,283],bitrot:[291,292],bitwis:[14,282,283],bizarr:[42,171,172],black:231,blackbird:136,blackbrid:136,blacklist:311,blame:[282,284],blanchard:[147,148,202,203,229,231],blank:[171,172,273,274,275,276],blif:[171,172],blindli:220,blink:135,bloat:[147,148],blob:[3,17,34,53,118,171,172,220,222,224,226,227,231,232,246,247,275,276,311,314],block:[2,9,52,67,78,133,161,171,172,176,180,182,183,193,208,209,219,220,226,227,229,230,231,233,243,246,247,261,270,275,276,281,282,284,285,295,316],blockevel_smart_writ:[287,291,292],blocklevel:[147,148,176,182,183,219,220,246,247,258,261,275,277,279,281,282,283,294],blocklevel_get_info:[281,282,283],blocklevel_raw_:[246,247],blocklevel_raw_writ:[261,281,282,283],blocklevel_read:[246,247,254,275,277],blocklevel_smart_eras:[176,182,183,219,229,230],blocklevel_smart_writ:[202,204],blocklevel_writ:[246,247,261,273,274,281,282,283],blog:136,blown:[229,230],blr:[282,285],bmc0:275,bmc:[5,8,34,35,38,40,44,132,133,144,146,154,155,156,171,172,182,183,185,202,203,204,205,206,224,226,227,228,229,230,246,247,248,249,250,251,252,255,256,261,263,275,276,278,280,281,282,283,284,285,286,288,290,291,292,297,299],bmc_mbox_enqueu:[171,172],bmc_platform:220,bml:[273,275,276],bn_num_byt:225,board:[2,202,203],bobroff:231,bogu:[171,172,193,220,221,231,241,246,247,272,275,276,291,292],bogusdisk:[202,203],bogusnet:[231,232],bone:[171,172],bonnard:[147,148,171,193,202,203],book:22,bookiv:[226,227],bookkeep:[171,172],bool:[63,74,119],boost:[13,171,172,226,228],boot:[0,1,4,5,7,8,17,20,23,36,37,38,39,68,69,71,76,77,113,115,118,127,129,134,137,138,145,146,147,148,149,153,161,164,167,173,174,177,182,183,184,185,193,194,201,202,203,205,207,220,221,224,226,227,228,229,230,231,232,233,236,245,248,250,253,254,257,258,260,261,266,268,272,273,274,275,276,277,278,279,281,282,283,285,286,287,294,296,300,304,311,313,316],boot_cpu:182,boot_cpuid_phi:[226,227],boot_entri:[182,224,272,273,274,275,276,281,282,283],boot_test:[147,148,149,166,170,202,203,206,226,227],boot_tracebuf:[291,292],bootarg:[202,203,204],bootkernel:[171,172,173,231,232,273,274],bootkernfw:[282,285],bootload:[132,133,155],borrow:312,boston:[134,136,171,172,224,231,232,246,247,256,275,276],both:[2,24,44,52,68,88,95,99,108,117,127,140,162,171,172,173,175,182,183,193,202,203,204,213,214,220,224,226,227,231,232,233,246,247,248,250,269,271,273,274,275,276,278,281,282,283,285,291,292,313,314,316,317],bother:[171,172,246,247],bottom:[121,246,247,258,268,273,274,279,282,283],bound:[28,162,171,172,213,231,236],boundari:[89,171,172],box:[226,227,229,230,246,248,269,273,274,275,276,280,282,283,285],bp010:136,bp012:[136,226,227],br2_hcode_latest_vers:[246,248],brad:[171,193],brahmasamudra:[171,275],branch:[38,140,141,146,147,148,149,181,182,183,202,226,227,246,271,273,275,276,277,282,285,291,292],brdgctl:84,breakeven:13,breakpoint:225,breath:274,breno:[202,203],brick:[171,172,180,240,246,247,264,266,268,273,274,275,276,282,283,284,291,292,296],bridg:[2,30,41,101,135,155,164,184,185,189,213,220,231,236,246,247,282,283,285,291,292],briefli:42,brielfi:42,brigg:[136,259,280],bring:[42,43,133,161,171,172,180,182,183,220,231,233,246,247,248,267,273,274,275,276,282,283,287,291,292],bringup:[2,134,136,182,183,184,185,219,220,221,222,223,224,225,227,230,261,281,282,285],broadcast:[122,226,227,268,269,273,274,275,276],broadcom:[164,202,203,221],broader:139,broadli:[226,227],broke:[202,204,231,236,279],broken:[79,81,84,135,140,160,171,172,178,182,183,220,224,226,227,229,230,231,236,275,276,282,285,286,291,292],brought:[171,172,226,227],brown:[219,220,226],broyl:[171,172],bsd:139,bss:[291,292],bt:[146,147,148,167,171,172,184,185,186,193,202,203,231,232,258,272,275,279,282,283,286,291,292,306],bt_add_ipmi_msg_head:[258,279],bt_expire_old_msg:[258,279],bt_idl:[258,279],bt_send_and_unlock:[258,279],bu:[2,30,33,34,52,60,69,74,75,82,100,132,134,147,148,158,171,172,182,183,184,185,189,193,201,208,213,220,224,226,227,229,230,231,232,236,243,245,246,247,250,255,266,273,274,275,276,277,287,291,292,295],buddi:[171,172,181,208,220,231,233,267,273,274],buf:[35,52,53,171,173,307,309,314],buffer:[1,2,5,12,17,28,35,45,47,49,50,51,52,53,55,60,75,76,77,83,84,85,86,104,118,132,133,145,146,151,154,162,168,171,172,175,176,182,183,184,185,186,199,202,203,215,217,224,226,227,229,230,231,232,233,246,247,257,265,275,276,278,282,283,287,291,292,303,306,315,316],buffer_ra:60,buffers:24,buffrsiz:24,bug:[2,131,139,140,145,146,150,151,152,153,154,156,157,158,159,160,161,162,163,165,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,241,242,243,245,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,316],bugfix:[150,161,164,201,202,203],buggi:[162,182,183,215,226,227,273,274],bugzilla:145,buid:[134,197,202,203],build:[4,22,24,34,38,138,139,141,144,146,147,148,161,171,172,173,174,175,182,183,184,185,187,189,190,191,193,194,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,245,246,247,248,259,273,274,275,276,277,280,282,283,284,285,287,288,298,305,314],buildroot:[4,231,232,233,287],built:[36,132,133,141,144,171,172,182,183,184,185,220,226,227,273,298,304],builtin:[171,172,256,278,282,285,291,292],bulid:250,bump:[39,70,161,166,171,172,201,202,203,220,226,227,229,230,266,273,274,275,276,291,292],bunch:[133,166,171,172,220,257,273,274,275,277,282,283,291,292],bundl:[147,149],bur:[147,148,161,171,184,185,193,202,203,204,219,220,224,226,229,231,275],burst_count:220,bus_compar:100,bus_dev_func:[78,100],bus_id:60,bus_mask:134,busagentstatu:84,buse:[100,135,202,203,256,258,278,279,282,283],busi:[44,76,158,162,171,172,182,190,191,193,214,217,225,231,233,282],buss:[226,227],bust:261,bust_lock:[147,148,171,172,261],butt:[266,273,274],bwmgmt:220,bypass:[35,171,174,229,230,246,247,271,275,276],c000000000009674:[217,231,233],c00000000000b118:[231,233],c00000000000b184:[162,215,226,227],c00000000002e2d8:[231,233],c00000000002f0e0:[231,233],c00000000006b078:[231,233],c00000000006b22c:[231,233],c00000000006bc68:[231,233],c0000000000846e8:[162,215,226,227],c0000000000846f4:[162,215,226,227],c000000000084710:[162,215,226,227],c00000000008472c:[162,215,226,227],c0000000000851a8:[217,231,233],c00000000008b0f0:[231,233],c0000000000abdf0:[246,247],c0000000000abdf4:[246,247],c0000000000acc48:[246,247],c0000000000ace60:[246,247],c0000000000de4e8:[231,233],c0000000000ecb98:[217,231,233],c0000000000ed3dc:[217,231,233],c0000000000f4650:[217,231,233],c00000000013b6b0:[217,231,233],c00000000013ba34:[217,231,233],c0000000001b9880:[231,233],c0000000001b9890:[231,233],c00000000035b1f4:[162,215,226,227],c00000000035bab4:[162,215,226,227],c00000000041c3ac:[231,233],c0000000008a8780:[231,233],c000000000900828:[162,215,226,227],c000000000902364:[162,215,226,227],c00000000090540c:[162,215,226,227],c00000000099e644:[217,231,233],c0000000011f7c00:[246,247],c0000000012778c8:[246,247],c00000000127a560:[246,247],c00000000144c900:[162,215,226,227],c000000003167e80:[246,247],c00000000fba0100:[162,215,226,227],c0000000285cfc00:[246,247],c00000003fa7bd80:[178,182,183],c0000003f277b730:[231,233],c0000003f277b9b0:[231,233],c0000003f277ba50:[231,233],c0000003f277ba70:[231,233],c0000003f277bac0:[231,233],c0000003f277bb10:[231,233],c0000003f277bbc0:[231,233],c0000003f277bc50:[231,233],c0000003f277bc70:[231,233],c0000003f277bce0:[231,233],c0000003f277be30:[231,233],c000000f1633fa00:[217,231,233],c000000f1633fae0:[217,231,233],c000000f1633fb60:[217,231,233],c000000f1633fb90:[217,231,233],c000000f1633fc60:[217,231,233],c000000f1633fcf0:[217,231,233],c000000f1633fd80:[217,231,233],c000000f1633fe30:[217,231,233],c000000fdfdc8400:[162,215,226,227],c000000fdfef4000:[162,215,226,227],c000000fdfef79a0:[162,215,226,227],c000000fdfef7c20:[162,215,226,227],c000000fdfef7c60:[162,215,226,227],c000000fdfef7ca0:[162,215,226,227],c000000fdfef7d40:[162,215,226,227],c000000fdfef7de0:[162,215,226,227],c000000fdfef7e30:[162,215,226,227],c000001fea860000:[246,247],c000001fea863550:[246,247],c000001fea8637d0:[246,247],c000001fea863820:[246,247],c00004:[171,172],c0001f:[171,172],c000201cc7cb7750:[246,247],c00:84,c0:275,c11:[282,283],c13:34,c18:84,c1:[10,261,281,282,283],c327eddd9b291a0e6e54001fa3b1e547bad3fca2:191,c40:84,c48:[246,247,272,275,276],c80:84,c88:84,c8a7535f:[217,231,233],c:[21,22,36,68,106,108,133,134,138,140,141,146,147,148,153,154,167,168,171,172,173,174,182,183,187,201,202,203,204,217,220,224,225,226,227,229,231,233,246,247,261,266,272,273,274,275,276,281,282,283,288,291,292,299,306],ca32:[246,248],ca:[138,171,172,238,272,275,276],cabl:301,cach:[2,68,75,102,108,115,117,144,145,146,153,157,162,171,172,174,180,182,183,187,202,203,213,215,220,221,226,227,231,232,241,246,247,250,265,268,273,275,276,282,283,287,291,292,303,306,316],cachelin:[275,276],calcul:[27,29,53,108,133,145,146,171,172,182,183,207,220,222,226,227,231,232,246,247,256,268,271,273,275,276,278,313,314,317],calibr:[231,232,282,283],call:[1,5,9,12,15,16,18,19,20,35,37,38,40,41,43,44,46,47,48,50,51,54,56,57,58,59,61,62,63,64,65,66,67,68,70,71,72,76,77,78,81,83,87,88,89,90,93,96,97,98,99,100,101,103,105,106,107,108,109,110,111,113,114,115,118,119,120,121,122,123,124,125,126,128,129,131,132,133,134,135,143,144,146,147,148,149,150,154,160,161,162,164,165,167,171,172,173,174,175,178,180,182,183,193,202,203,210,215,217,220,221,224,226,227,228,229,230,231,232,233,239,246,247,248,254,255,258,261,263,268,269,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,291,292,296,297,298,302,305,311,314,316],call_cvc_sha512:314,call_cvc_verifi:314,callback:[160,162,171,172,182,183,184,186,201,202,203,212,215,220,226,227,258,273,274,275,276,279,281,282,283,284,291,292],caller:[94,117,131,162,163,171,172,173,214,216,220,225,226,227,231,232,241,246,247,258,273,274,279,282,283,287,291,292,311,314,316],callout:[161,171,174],calucul:[171,173],cam_valu:316,came:[151,217,231,233],campisano:171,can:[0,1,2,4,5,7,9,10,12,13,14,16,17,19,21,22,23,24,26,28,35,36,37,40,41,44,47,49,50,52,54,55,58,61,62,63,64,65,68,70,71,74,75,78,84,88,96,99,104,108,109,110,112,113,114,117,118,119,120,121,122,127,130,131,132,133,134,137,138,139,140,144,146,151,159,160,161,162,171,172,173,174,175,181,182,183,184,185,193,196,202,203,204,205,206,208,211,215,216,217,219,220,221,224,225,226,227,228,229,230,231,232,233,234,236,238,239,241,242,246,247,248,250,251,253,255,256,257,258,259,260,261,266,267,268,269,271,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,291,292,298,304,311,312,313,314,315,316],canari:220,cancel:[265,305],cancel_tim:[231,233],cancel_timer_async:[231,233],candid:[47,172,173,174,175,183,185,186,193,203,204,205,206,219,220,221,222,223,224,225,226,227,228,230,231,232,233,234,235,236,247,248,273,274,276,277,283,284,285,292],canneri:182,cannot:[84,93,102,103,109,110,119,131,139,161,171,173,182,183,202,204,226,227,255,275,276,282,285,287,291,292,313,316],canon:22,cap:[38,41,42,70,109,213,220,229,230,231,232,234],capabl:[10,21,22,56,75,132,164,184,185,201,202,203,213,220,221,226,227,231,232,246,247,255,258,275,276,279,282,283],capac:139,capi2:[182,183,226,227],capi:[30,102,146,150,157,159,161,173,174,187,196,204,226,227,248,269,271,272,273,275,276,282,283],capp0:[226,227],capp1:[226,227],capp:[1,4,30,58,102,146,147,148,150,159,161,171,172,174,182,183,193,194,196,202,203,204,220,226,227,231,232,250,251,254,268,271,273,275,276,277,281,282,283],capp_cntl:[271,275,276],capp_fir_clear:[251,275,276],capp_lid_download:[226,227],capp_ucode_info:[226,227],cappabl:15,capplidh:[250,275,276],capppsll:[250,275,276],captur:[50,189,220,226,227,275,276],card:[34,102,134,147,148,150,171,172,182,183,193,201,213,220,221,226,227,229,230,231,232,246,247,251,259,268,269,273,275,276,280,282,283,287,291,292],care:[7,35,40,42,58,133,171,172,226,228,246,247,282,283,316],carefulli:[133,261],carol:220,carri:[44,76,246,247,248,273,274,275,276],carvalho:[171,202,203,204,219,220,231],cascad:[182,183,313],cast:[171,172,182],cat:[37,162,213,214,220,224,226,227],catalog:[24,171,173,231,234,246,247],catastroph:[171,172,239],catchal:193,catcher:[250,275,276],categori:[54,68],caught:[182,193,273,274],caus:[13,17,38,39,42,50,51,73,101,122,129,134,145,146,150,153,154,162,164,165,167,171,172,174,175,182,183,184,185,188,197,201,202,204,205,214,220,221,224,226,227,228,229,230,231,232,234,236,237,238,239,243,246,247,248,251,256,257,258,268,271,272,273,274,275,276,278,279,282,283,285,291,292,296,305,313,316],caveat:[171,172],cc0:[84,139],cc1:288,cc8:84,cc:[140,150],ccan:[133,139,145,291,292],ccin:[34,221,288],cd:[202,203],ce0900:[162,214,224],ce:[181,208,267,273,274],ceas:[136,193],cec5750a4a86ff3f69e1d8817eda023f4d40c492:191,cec:[151,217,231,233],cec_power_down:146,cec_reboot:[171,172],cell:[2,3,5,9,14,24,30,31,69,130,171,172,174,175,193,257,275,276,316,317],centaur:[2,19,147,148,166,198,199,202,203],center:231,centos6:220,centos7:220,central:220,cert:[275,277],certain:[51,109,131,132,133,153,162,165,169,171,172,213,238,266,273,274,282,283,291,292,316],certainli:[165,182,183,226,228],certif:38,certifi:138,cesta:164,cf960e2884:[229,230],cfam:[246,247],cfar:[162,171,173,178,182,183,214,215,224,226,227,246,247,261,272,275,276,281,282,283],cfg:[84,171,172,226,227,238,246,248,272,275,276],chad:[147,148],chain:[246,247,304,307,309,314],chanc:[113,171,172,231,232,258,261,275,276,279,281,282,283],chane:164,chang:[1,2,4,14,15,17,22,38,42,44,53,54,70,84,100,103,104,109,110,112,115,121,134,135,137,138,139,141,144,146,147,148,151,155,159,160,162,163,168,169,170,172,173,174,175,176,177,179,182,183,186,192,193,194,195,196,201,203,205,206,207,213,221,222,225,227,228,230,232,233,234,235,236,237,238,240,243,248,250,253,257,258,259,266,267,276,277,278,279,280,281,282,283,284,285,287,291,292,298,310,311,316],changeset:[147,148,161,164,184,185,187,193,202,203,204],channel:[171,172,174,226,227,229,230,246,247],channel_streaming_en:[171,174],chapter:[2,68],charact:[4,34,127,226,229,230,231,232,246,247,275,282,283],character:[13,171,173,231,233],characterist:[13,22,221,291,292],charg:132,chase:226,chassi:[38,286,291,292],check:[17,22,35,45,50,51,58,61,68,100,101,135,144,145,157,162,163,167,171,172,173,174,175,178,180,182,183,187,193,198,202,203,204,213,215,216,217,219,220,221,224,226,227,228,229,230,231,232,233,235,238,239,241,246,247,248,251,254,255,257,258,259,261,265,268,269,272,273,275,276,277,278,279,280,281,282,283,285,286,288,291,292,305,311,312,314],check_credit:[171,172,239,262,295],check_imc_device_typ:61,check_statu:[273,274],check_tim:[275,276],checker:[182,183,220,275,276],checkout:[182,183],checkstop:[44,58,70,146,170,171,172,173,187,193,197,202,204,221,222,226,228,229,230,231,232,236,241,243,246,248,256,261,275,276,281,282,283,285,291,292],checkstop_type_cor:70,checkstop_type_nx:70,checksum:[133,226,227,275,276,291,292],chen:[279,282,283],cherri:[140,153,189,191],chicken:[204,287,291,292],child:[2,3,15,16,17,18,21,23,34,101,132,134,146,171,172,174,182,183],child_p:[101,134],children:[2,155,171,172,174,184,185,220],chip:[2,13,18,19,24,26,28,30,33,34,38,41,58,69,70,72,129,132,134,146,147,148,161,171,172,174,180,182,183,184,185,186,193,194,197,202,203,206,207,220,222,224,226,227,229,230,231,232,241,245,246,247,248,251,257,261,268,269,270,272,273,274,275,276,278,281,282,283,285,291,292,306,316,317],chip_id:[69,70,72,129,220,246,247,268,273,274,275,276,316],chip_tod_parity_err:144,chip_unit:[171,172],chipid:[24,182,183],chiplet:[38,231,232,268,273],chiplet_offlin:[231,232],chiptod:[2,58,116,162,171,172,193,202,203,215,220,231,233,275,276,317],chiptod_capp_timebase_sync:[182,183],chiptod_init:[171,172],chipwis:[182,183],chitod:58,choos:[13,132,133,134,217,231,233,258,273,274,279,282,283],chop:[171,172,240],chose:[2,42,95,134,226,227,251,275,276],chosen:[87,229],chri:[193,202,203,204,219,220],christian:[171,275],christoph:[171,226,231,275],chronolog:314,chunk:[133,202,203,226,228,229,230,273,274,275,276,316],ci:[28,93,133,171,172,184,185,202,203,220,226,228,246,248,272,276,291,292],circa:[275,276],circular:[1,133,182,183],circumst:[42,171,172,220,226,227,228,241,246,247,282,283],circumvent:[159,196,202,203],citizen:[291,292],claim:[50,202,203,220,226,227,229,230],clamp:[231,235],clang:[246,248,275,276],clarif:[273,274],clarifi:[131,195,199,220,275,276,282,283],clash:[273,274],class_resp:[144,145],classic:204,classif:35,classifi:[68,135],claudio:[171,202,203,204,219,220,231],clean:[36,108,130,146,171,172,178,182,183,184,191,194,195,220,224,226,227,228,241,246,247,282,283,284,287,291,292,316],clean_on_ecc_error:[171,172],cleaner:222,cleanli:[226,227],cleanup:[48,146,147,148,169,202,220,226,227,228,231,232,246,247,251,256,260,273,274,275,276,278,282,283,316],cleanup_global_tlb:[226,227],clear:[0,23,58,71,75,101,108,119,134,144,146,147,148,153,154,157,161,164,171,172,173,177,178,180,182,183,187,209,220,221,224,226,227,228,229,230,231,232,235,237,238,242,245,246,247,248,251,257,258,259,260,261,264,266,268,271,272,273,274,275,276,278,279,280,281,282,283,286,287,291,292,294,296,311,313,316],clear_maint:[246,248],clear_on_ecc_error:[171,172],clearanc:23,clearer:[205,273,274],clearli:[141,224,273,274,287,291,292],clever:205,client:[161,171,172,226,227,250,275,276,291,292],clk:[171,172,237],clobber:[182,226,227,246,247,316],clock:[2,30,38,42,128,153,162,171,172,184,185,186,201,202,203,215,224,226,227,229,240,266,267,273,274],clog:[171,172],close:[38,39,49,134,146,171,172,208,217,226,231,233,258,279,282,283],closer:[147,148,171,184,185,202,219,275,276,291,292],closest:2,cloud:[136,220],cluster:136,clutter:[282,283],cmd:[67,193,217,231,232,275],cmdcplt:[213,220],cme:[231,232,273,274],cmp:[212,220],cmpm:[182,183],cmpxchg:[171,172],co:261,coalesc:316,code:[0,2,3,10,21,22,23,26,27,30,32,34,35,38,39,41,42,43,50,51,54,55,56,58,68,81,93,94,106,108,111,120,123,128,130,132,133,134,135,138,139,141,144,145,146,147,148,153,158,160,161,162,171,172,173,174,175,178,180,184,185,189,190,193,198,201,202,203,204,206,211,213,215,217,219,220,221,224,226,227,228,229,230,231,232,233,234,241,246,247,249,251,252,253,254,259,261,266,268,271,272,273,274,275,276,277,280,281,282,283,284,285,286,288,291,292,299,316],codepath:164,codeupd:47,coher:[27,75,157,171,172,187,221,226,227,282,284,291,292],cold:[209,313],colin:[219,220],collater:101,collect:[24,35,38,44,61,132,139,226,227,282,283,316],collid:[202,203],collis:[2,316],colon:[226,227],column:131,com:[132,136,138,140,148,155,171,172,176,205,219,220,221,222,224,225,226,227,228,231,232,256,275,278,282,284,291,292],combin:[22,28,134,150,202,204,259,268,273,280,282,285,287,291,292,311,314,316],come:[2,60,68,84,100,101,133,139,147,148,150,157,168,171,172,182,183,187,193,202,217,224,226,227,228,231,233,245,246,247,259,280,282,283,291,292,304],comm:[162,178,182,183,215,226,227,231,233,246,247],comma:[226,227],command:[0,37,47,60,68,107,131,144,147,149,161,162,171,172,173,174,193,194,203,206,209,214,215,217,219,220,224,225,226,227,229,230,231,232,233,236,246,247,248,249,250,258,266,273,274,275,276,279,282,283,284,287,288,291,292,313,314,315],commandreadi:220,comment:[38,132,139,184,185,220,224,231,232,246,247,258,275,279,282,283],commit:[35,47,138,139,140,141,157,161,171,172,174,175,182,183,187,189,191,193,194,202,204,208,217,220,221,224,226,227,229,230,231,232,233,234,236,246,247,248,271,275,276,280,282,283,285,288,291,292,298],common:[4,13,22,28,35,84,133,162,202,204,214,219,220,221,225,231,232,246,247,275,282,284,291,292,316],commonli:[51,144],commun:[0,28,40,50,58,67,77,120,138,139,162,213,217,224,226,227,231,233,282,283,311],compani:141,compar:[4,68,97,100,171,172,182,183,213,220,226,227,229,246,247,282,283,313,314],comparison:[4,182,183,194,226,227,271,275,276],compat:[3,5,6,7,8,9,10,11,12,15,16,17,18,19,20,21,22,23,24,27,28,29,30,32,33,46,54,55,62,63,64,65,70,76,108,114,115,130,132,136,145,147,148,151,171,172,174,177,182,183,194,220,226,227,229,230,231,232,243,246,247,248,250,260,273,274,275,276,282,283,291,292,295,306,315,316,317],compatibil:132,compens:[246,247],compil:[36,138,145,147,149,150,161,171,172,173,184,185,193,202,204,205,275,276,278,291,292],complain:[171,172,182,183,251,252,275,276],complement:[42,182,183,226,227],complet:[0,13,24,35,41,42,45,47,52,60,73,75,78,79,104,108,109,110,113,117,119,120,122,125,127,132,133,135,140,151,160,162,171,172,177,182,183,184,185,192,202,203,204,208,209,212,213,220,221,226,227,228,229,230,231,232,233,241,243,246,247,251,255,258,271,273,274,275,276,279,282,283,286,287,291,292,313,314,316],complex:[16,37,135,171,172,203,220,224,226,227,231,232,246,247,282,285,311],compliant:[132,261,281,286,291,292],complic:[0,134,171,172,231,232,291,292],compon:[0,2,4,14,15,19,21,22,35,109,131,132,133,141,154,171,172,174,180,193,226,227,231,232,246,247,250,275,276,282,283,291,292,311,313,314],component_id:35,compress:[133,226,227,229,230,291,292],compris:[135,246,247,314],compromis:[282,285,311,313],comput:[33,182,183,202,204,275,276],con_need_flush:[273,274],con_op:151,concaten:314,conceiv:145,concept:[171,172,312],conceptu:[182,183],concurr:[113,117,141,171,172,182,183,231,232,257,273,274,278,282,283,316],condit:[13,17,70,103,146,153,157,159,160,162,170,171,172,175,182,183,187,196,202,203,207,215,217,220,226,227,231,232,233,236,246,247,248,261,266,273,274,275,276,281,282,283],condition:[157,187,275,276,280,282,283],conex:[282,283],confid:139,config:[1,27,30,38,41,42,44,133,134,135,137,150,158,171,172,182,183,184,185,189,193,202,203,204,206,220,221,224,226,227,228,229,230,231,232,234,236,238,246,247,248,251,256,258,259,261,269,275,276,278,279,280,281,282,283,285,286,287,291,292,298,315],config_address:[272,275,276],config_disable_vg_not_si:[246,247],config_enable_snarf_cpm:[282,285],config_fsp:[291,292],config_modul:[282,283],config_nvlink_mod:[246,247],config_of_pmem:[246,247],configur:[0,2,16,20,22,28,37,54,57,58,73,75,76,91,99,115,134,135,147,149,154,171,172,173,174,182,183,189,193,201,202,203,220,221,224,226,227,229,230,231,232,233,234,236,238,241,246,247,248,251,256,261,268,271,273,274,275,276,279,281,282,283,286,291,292,314,316],confirm:[17,47,104,141,171,172,226,228,282,283],conflat:[246,247],conflict:[0,220,238,316],conform:[4,46,49,126,131,132,138],confus:[178,182,183,202,203,220,226,227,231,232,246,247,273,275,276,282,283,291,292],congratul:132,conjunct:[41,275,276,313],connect:[2,27,41,135,152,182,183,220,221,226,227,231,232,273,274,282,283,291,292],connector:[34,135,275,276,301],connectx:[231,232,258,279,282,283],consecut:[56,88,198,202,203],consequ:[115,171,172,182,183,279,282,283],conserv:[171,172,229,230],consid:[22,42,43,171,172,182,183,202,203,220,226,228,231,246,247,258,275,276,279,282,283,285,310,311,312,313,316],consider:38,consist:[2,138,159,171,172,191,202,204,222,226,227,241,246,247,259,275,276,280,313,317],consol:[0,5,20,38,42,122,145,151,152,154,162,164,171,172,173,178,182,183,184,185,186,191,193,199,202,203,206,208,215,217,219,220,224,226,227,231,232,233,246,247,248,261,273,274,275,276,281,282,285,286,288,290,291,292,299,316],console_log_level:1,console_unlock:[217,231,233,291,292],console_writ:[273,274],constant:[17,22,171,172,220],constantli:[134,198,251,275,276],constrain:21,constraint:[38,171,172],construct:[19,141,171,172,202,204,241,245,275],constructor:[182,183],consum:[17,22,29,32,41,70,141,171,172,202,203,231,232,241,246,247,273,274,275,276,287,291,292],consumpt:[16,147,148,202,203],contain:[2,3,4,9,14,17,18,21,22,23,24,26,27,28,31,33,35,38,69,70,72,73,104,117,118,127,129,132,133,136,138,140,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,182,183,184,185,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204,205,206,215,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,305,306,307,309,310,311,316],contend:[226,227],content:[1,2,7,36,40,69,71,76,133,161,171,172,188,202,204,219,220,221,222,224,225,226,227,228,246,247,273,274,282,283,294,316],context:[13,33,40,73,124,133,182,183,226,227,229,231,232,246,247,255,258,275,279,282,283],context_switch2:229,contigi:291,contigu:[171,172,226,227,254,275,277,316],continu:[22,37,108,133,147,149,150,161,162,171,172,178,182,183,184,185,188,201,202,203,204,215,217,219,223,226,227,231,232,233,240,241,246,247,250,273,274,282,283,291,292,298,312],contrari:[162,214,225,291,292],contribut:[38,139,171,172,220,298],contributor:[138,161],control2:220,control:[1,2,22,23,27,29,33,35,37,38,41,58,60,62,63,64,65,68,76,77,113,121,124,128,129,132,133,135,146,160,164,171,172,173,175,180,182,183,202,203,207,213,220,226,227,229,230,231,232,233,235,237,241,243,246,247,248,250,252,257,268,270,271,273,274,275,276,278,282,283,285,287,291,292,298,310,311,316],convei:[231,232],conveni:[291,292,311],convent:[2,56,120,134,291,292],convers:[75,257,275,277,291,292,306,309],convert:[35,132,159,171,172,181,196,202,203,208,226,227,231,232,246,247,258,261,267,273,274,279,281,282,283,284,285,291,292,299],cool:54,coordin:22,cope:[246,247,282,285],copi:[2,35,40,45,50,51,55,58,76,83,87,108,118,119,138,166,171,172,173,175,182,183,226,227,229,230,231,232,246,247,258,275,276,279,282,283,285,291,292,315],coproc:146,coprocessor:[25,38,129,146,229,230,268,273,274,275,276],copyright:138,core:[2,14,19,21,22,38,40,58,61,70,116,122,131,132,133,136,146,154,157,158,160,165,171,172,173,174,175,178,180,182,183,187,190,191,193,194,201,202,203,204,205,206,213,221,222,226,227,228,229,230,231,232,233,235,241,242,246,247,248,251,256,257,258,261,263,268,271,272,273,274,275,276,278,279,281,282,283,285,289,290,291,292,294,299,305,311,316],core_fir:[272,275,276],core_imc_event_mask:[231,232],core_start:[246,248],core_stop:[246,248],core_wof:[246,247],corner:[162,163,194,195,202,203,215,216,217,226,227,228,231,233,258,279,282,283],corpor:164,corr:[256,275,276],correct:[2,17,35,44,67,100,101,110,131,140,141,159,171,172,174,175,176,182,183,189,195,196,200,202,203,206,213,220,226,227,228,229,230,231,232,246,247,248,254,255,258,259,261,268,271,272,273,274,275,276,277,279,280,281,282,283,291,292,313],correctli:[55,117,141,147,149,153,157,160,165,170,171,172,173,175,177,182,183,187,202,203,204,217,220,221,224,226,227,229,230,231,232,236,246,247,251,255,268,273,274,275,276,279,282,283,291,292],correl:[84,100,229,275,276],correrr:164,correrrorstatu:84,correspond:[2,9,13,17,21,41,52,56,58,69,88,108,118,123,134,135,141,147,149,153,171,172,173,182,183,184,186,197,216,220,221,226,227,228,231,232,246,247,268,273,274,275,276,313,316],corrupt:[147,148,161,165,168,171,172,178,182,183,188,194,226,227,228,229,246,247,261,271,275,276,282,283,294,302,313],cosmet:[171,172],cosol:[162,215,226,227],cost:[102,171,172,273,274,291,292],could:[0,22,42,44,50,51,75,114,129,135,140,141,144,145,147,148,149,153,154,157,160,165,167,171,172,181,182,183,187,189,201,202,203,204,205,207,208,220,224,226,227,229,230,237,245,246,247,248,255,260,268,271,273,274,275,276,282,283,291,292],couldn:132,count:[0,13,24,35,36,37,69,134,146,157,167,171,172,187,193,221,229,230,231,251,258,261,275,276,279,281,282,283,284,291,292],counter:[28,37,61,171,172,175,224,226,227,229,230,231,233,242,246,275,276,282,283,287,291,292],coupl:[134,146,184,185,198,199,220,231,236,268,273,275,291,292],cours:[224,259,280],cover:[132,138,171,172,174,184,185,226,227,231,232,246,247,261,275,277,281,282,283,316],coverag:[36,147,148,149,184,185,226,246,248,273,274,275,276],cow:[282,284],cp_m:[282,285],cpio1:[226,227],cpio2:[226,227],cpio:[226,227],cpm:[282,285],cpmc1sel:24,cpmc2sel:24,cpmc:[24,37],cpmc_load:[24,37],cpp:226,cppr:[64,224,316],cpu0:[231,233],cpu1:[231,233,282,283],cpu3:[282,283],cpu:[2,14,16,25,38,42,58,61,62,65,71,75,109,112,113,115,122,123,128,131,132,133,145,146,147,148,157,158,161,162,165,171,172,173,174,175,178,182,183,187,189,191,193,202,203,205,215,217,220,221,224,226,227,228,229,230,231,232,233,234,246,247,256,257,260,261,271,272,273,274,275,276,278,281,282,283,285,287,291,292,305,314,316],cpu_features_t:[182,183],cpu_idl:[226,227],cpu_idle_delai:[226,227],cpu_idle_job:[182,183,226,227],cpu_nr:[113,122],cpu_pir:[61,123],cpu_process_job:[182,183],cpu_process_local_job:220,cpu_queue_job_on_nod:[275,276],cpu_relax:[147,148,226,227],cpu_target:113,cpu_thread:[182,271,273,274,275,276],cpu_to_gpu_0:16,cpu_to_gpu_1:16,cpu_up:[231,233],cpu_wait_job:[140,167,171,175,202,203,275,276],cpufeatur:[21,22,180,182,257,278,282,283,284],cpuhp_invoke_callback:[231,233],cpuhp_up_callback:[231,233],cpuidl:[13,145,146,171,172,229],cpuinfo:2,cq:[145,180,246,247],cq_sm:[282,285],cr:[162,171,173,178,182,183,202,203,214,215,224,226,227,229,230,246,247],crank:[44,50,94,96,220,229,286,291,292],cranki:204,crap:[226,227],crash:[40,50,113,122,132,145,147,148,149,162,171,172,174,182,183,193,202,203,214,224,225,226,227,228,231,232,233,239,240,246,247,254,257,261,272,273,274,275,276,277,278,281,282,283,285,286,287,291,292,293],crazi:[220,224],crb:[146,268,273,274],crc32c_vpmsum:[162,215,226,227],crc:[282,283],creat:[2,7,17,21,22,23,35,40,41,53,58,62,63,64,65,67,71,88,132,135,138,140,141,146,162,171,172,173,174,175,182,183,202,203,215,219,220,221,222,224,225,226,227,229,230,231,232,246,247,273,274,282,283,287,291,292,314],create_:[258,279,282,283],creation:[7,171,172,293],creator:[35,51],credit:[41,147,148,161,164,172,184,185,187,193,194,202,203,204,232,236,239,269,276],credits_check:[180,246,247],creset:[135,160,171,172,174,182,183,220,226,227,228,229,230,275,276,282,283,287,291,292],creset_start:289,cresp:[171,174],crit:[1,224],criteria:206,critic:[2,19,39,140,150,161,171,172,251,275,276,313],croner:[226,227],cronu:[275,282,283],cross:[36,138,145,146,246,248],cross_compil:145,crowd:[282,284],crowel:[171,275],crtm:[291,292],crufti:220,crypt:[171,172],crypto:[229,230],cryptograph:304,cset:[147,148,161,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231],csm0:[178,182,183],csm:[18,229,230],csm_:[229,230],cssver:35,ct:28,ctl:135,ctle:[171,172],ctor:[275,276],ctr:[162,171,173,178,182,183,214,215,224,226,227,246,247],ctrl1:[246,248],ctx:[258,279,282,283],cumul:103,cumulu:[134,136,226,227,231,232,275,276],cupd:[20,39,146,273,274],cure:[171,172],currei:[171,184,185,187,193,202,203,219,220,224,226,229,231,275],current:[2,4,9,15,16,17,19,20,21,22,29,35,37,38,42,43,44,45,47,48,50,55,57,58,62,68,70,73,74,75,76,77,78,83,106,108,109,110,113,115,117,119,120,121,122,131,132,133,134,135,139,147,149,153,162,166,171,172,173,174,175,176,177,178,179,180,181,182,183,185,186,188,189,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,305,306,307,309,311,312,313,316,317],curs:[287,291,292],custom:[21,22,34,141,220,246,247,275],cut:[36,114,135,139,146,147,149,166,171,172,173,174,175,183,202,220,221,222,224,225,227,228,230,232,233,234,235,236,238,246,247,248,275,276,291,292],cvc:[23,25,38,171,172,173],cx23888:[282,283],cx4:193,cx5:[102,226,227,269,275,276],cxl:[182,183,246,247,269,275,276],cycl:[24,37,42,69,139,166,193,201,202,203,219,220,221,222,223,224,225,226,227,228,230,246,247,257,261,266,273,274,275,276,277,281,282,283,291,292,304],cyle:231,cyril:[147,148,161,171,184,185,193,202,203,204,219,220,224,226,229,231,275],cz:148,d002:34,d003:34,d00:84,d00e:26,d00f:[171,172],d08:84,d2ae07fd97bb9408456279cec799f72cb78680a6:191,d3:[258,279,282,283],d40:84,d48:84,d66a00d7:[162,215,226,227],d695626:4,d7efe30:4,d80:84,d88:84,d9296050bcece5c2eca5ede0932d944b0ced66c9:226,d997e482705d9fdff8e25fcbe07fb56008f96ae1:202,d:[2,4,35,36,42,70,81,147,148,160,171,172,182,183,184,185,202,203,206,207,220,226,227,231,257,258,266,273,274,275,276,278,279,282,283,291,292],da:35,daemon:[6,162,171,172,182,183,215,217,220,226,227,229,230,231,233,246,247,252,258,279,282,283],dai:[58,117,164,202,203,220,229,248],daily20170201:4,dan:[147,148],danger:[205,287,291,292],daniel:[147,148,161,171,184,185,231,275],danni:148,dar:[171,173,178,182,183,231,233],darn:[21,171,172,180,182,224,241,246,248,275,276],dasd:[34,76],dat_err:[171,172,238],data0:0,data1:35,data2:35,data3:35,data:[2,12,14,17,19,23,25,30,35,37,38,41,44,56,60,67,68,69,70,71,76,78,83,84,85,86,95,98,104,118,119,120,133,134,136,144,162,171,172,173,174,182,183,184,186,189,191,193,198,202,203,208,213,215,217,220,221,224,226,227,228,229,230,231,232,233,238,242,246,247,248,256,257,258,261,268,273,274,275,276,279,281,282,283,284,287,288,290,291,292,294,299,307,309,311,313,314,317],data_len:314,data_s:118,databas:[231,232],datadefin:313,date:[34,101,139,141,171,172,219,220,221,222,224,225,226,227,228,275,276,282,285],dave:[219,224],dawn:[131,275],days_in_month:229,db:312,dbg:[171,172,246,247,273],dc0:84,dc8:84,dc:[231,232],dcach:[182,183],dcbf:153,dccal:[282,283],dcm:2,dco:138,dctl:[171,172,246,247],dctl_clear_special_wakeup:[231,235,275,276],dctl_set_special_wakeup:[275,276],dd10:[179,182],dd1:[134,182,183,220,221,224,226,227,228,229,230,231,232,282,283],dd20:[179,182],dd2:[134,161,171,172,177,182,183,202,203,226,227,228,231,232,234,235,236,237,246,248,256,257,272,273,274,275,276,278,282,283,284,291,292],dd:[36,182,183,226,227,231,232],ddr4:[26,171,172],ddr:26,ddx0:[179,182],de:[35,171,172,182,183,246,248,275,276,282,283,287,291,292],dead:[58,198,281,282,283,284],deadlin:231,deadlock:[147,148,171,172,182,183,231,233,246,247,261,273,274,275,276,305],deal:[161,171,172,226,227,228,231,232,246,247,248,252],dealt:[51,161,226,227],deassert:[134,226,229,230,268,273,282,283,287,291,292],deassert_delai:[282,283],deatail:68,deb:[171,193],debat:22,debian:[4,171,172,173,184,185,226,228,229,275],debounc:[226,227],debug:[35,38,50,113,122,128,133,141,150,175,176,178,179,180,184,186,193,195,198,220,224,227,229,230,231,232,233,235,236,248,249,257,261,272,273,274,277,278,281,284,285,287,288,305,306,316],debug_descriptor:[1,291,292],debug_lock:[133,182,183,275,276],debug_locks_backtrac:[291,292],debugf:[246,247,273,274],debugg:[171,172,246,247],debut:136,dec:[58,146,193,209,231,232,261,281,282,285],decemb:[144,153,154,211,241,242,243,255,275,282,283,284,285,295],decent:[282,285],decid:[2,162,167,171,172,202,203,215,255,275,282,283],decim:[35,220,275,276],deciph:[171,173],decis:[22,139,267,273,274,314],declar:[39,171,172,229,230,291,292,311],decod:[93,171,173,189,213,220,229,230,246,247,282,283,285],decode_core_fir:[275,276],decompress:133,deconfigur:[229,230,241,246,247],decoupl:220,decreas:204,decrement:[231,232],dedic:[37,135,226,228],deem:139,deep:[13,47,133,171,172,231,232,242,246,247,275,276],deep_reboot:[217,231,233],deep_stat:[171,172],deeper:[13,171,172,231,232,235],default_machine_kexec:[231,233],defect:[171,172,188],defererenc:[287,291,292],defin:[0,1,2,4,13,15,17,18,21,35,42,43,44,45,46,47,48,50,51,52,53,54,55,56,57,58,60,62,63,64,65,67,68,69,70,71,72,73,76,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,111,112,113,114,115,116,118,119,120,121,123,124,125,126,127,128,131,132,133,134,138,146,150,171,172,174,178,180,182,183,189,206,220,226,227,229,230,246,247,258,273,274,275,276,279,282,283,285,287,288,291,292,311,313,314,316,317],define_log_entri:35,definit:[2,17,21,22,38,103,135,171,172,182,183,206,220,226,227,231,232,289,311,316],degrad:[35,226,228,231,232,236,275,277],delai:[38,42,43,70,125,130,151,167,171,172,184,185,224,226,228,241,242,261,268,272,273,274,275,276,281,282,283,287,291,292,316],delet:[17,47,51,182,183,202,204,273,274],deliv:[58,122,246,247,272,275,276],delta:[147,148,161,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],demand:[172,173,174,175,182,183],denali:310,denot:[14,24,27,35,273,274,282,283],dep:275,depend:[14,17,19,21,22,35,40,41,44,88,102,123,134,164,171,172,173,174,175,178,182,183,220,229,230,231,232,253,255,261,273,274,275,276,281,282,283,291,292,311,316,317],depict:34,deploi:[22,291,292],deprec:[42,81,84,130,132,146,220,231,232,246,247],depth:[146,256,278],dequeu:67,deref:[171,174,182,183],derefer:[144,145,182,183,202,220,226,227,275,276,282,283],dereferenc:[147,148,171,174,225],deregist:[291,292],deriv:[35,58,76,171,172,231,232],desc:[24,99,288],descib:[231,232],describ:[2,3,6,8,9,10,13,16,17,19,21,22,23,31,32,35,37,77,102,110,117,127,132,133,137,171,172,175,220,224,231,232,241,246,247,248,251,282,283,316],descript:[4,17,21,24,34,35,70,140,222,231,232,275,276,282,283],descriptor:[1,40,99,224,285,307,309,316],design:[4,21,25,38,39,41,42,126,133,139,141,147,149,171,172,175,224,226,227,231,237,246,247,273,274,282,283,285,291,292,313],desir:[17,23,282,285,316],despit:[178,182,183,231,233,257,278,282,283],dest:71,destin:[7,71,259,280],destroi:[73,171,173,178,182,183,221,246,247,275,276],detail:[7,10,17,40,41,44,47,49,51,52,57,58,68,70,76,77,92,108,115,132,133,134,135,157,171,172,173,174,175,182,183,187,193,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,261,268,273,274,275,276,277,281,282,283,284,285,291,292,298,311,316],detect:[0,2,5,23,38,58,61,79,86,134,135,146,150,151,154,159,160,161,162,163,168,171,172,173,176,178,181,182,183,188,196,201,202,203,206,207,208,214,215,216,217,220,224,225,226,227,228,229,230,231,232,233,238,246,247,248,251,256,267,273,274,275,276,277,282,283,285,287,291,292,295,299],detector:[182,183],determin:[4,13,17,24,41,42,46,49,56,70,88,97,131,132,134,177,178,182,183,202,203,204,226,227,229,230,231,234,246,247,273,274,275,276,282,283,284,311,313],dev:[41,100,133,134,166,184,185,231,233,234,246,247,287,291,292,295],dev_:[246,247],dev_addr:[246,247],dev_compar:100,dev_mask:134,dev_port:[246,247],devcmdstatu:84,devctl:[229,230],develop:[23,42,50,83,136,141,144,146,147,148,161,164,172,184,185,187,193,202,203,204,205,227,246,247,273,274,279,282,283,284,291,292,304,308,311,314],developer_certificate_of_origin:138,devfn:[182,183],deviat:311,devic:[0,3,5,12,16,17,20,21,26,32,33,34,37,38,39,44,49,52,53,55,59,61,62,63,64,65,68,69,70,71,73,74,75,76,77,84,87,93,95,99,100,101,102,103,104,109,110,114,119,120,121,127,129,132,133,135,137,139,141,144,145,146,147,148,154,155,158,160,171,172,173,174,175,177,178,180,182,183,184,185,186,187,189,201,202,203,204,205,213,219,220,221,224,226,227,228,229,230,231,232,233,234,236,238,241,242,246,247,248,250,258,260,261,266,268,269,271,273,274,275,276,279,281,282,283,284,285,287,291,292,298,306,310,311,313,314],device_init:220,device_tree_max_s:133,device_typ:[2,21,26,27,30,171,172,220],devicestatu:84,devicetre:[31,133,193,231,232,246,247,282,283,285,287],devicetreebasedtcwarn:130,devid:[171,175],devsecstatu:84,devsta:164,devstat:[229,230],devtre:[171,172,204],dfp:2,dgemm:[182,183],dgibson:[291,292],di:[217,231,233,246,247],diag:[30,44,84,224,226,228],diag_buff:[83,84],diag_buffer_len:[83,84],diagnos:[50,171,172,182,183],diagnosi:170,diagnost:[5,83,84,170,266,272,273,274,275,276],diagost:[266,273,274],dial:[282,285],dictat:[132,206,246,247],did:[50,113,118,160,171,172,175,184,185,207,213,220,229,230,275,276,283,286,287,291,292],didn:[147,149,157,162,165,171,172,182,187,195,206,207,215,216,220,226,227,229,230,231,232,241,246,247,261,275,276,281,282,284],dif:[257,275,277],diff:141,differ:[2,4,14,17,20,22,28,43,44,46,68,84,131,135,138,139,140,141,154,171,172,178,184,186,202,203,204,206,208,220,221,226,227,229,230,231,232,238,241,246,247,248,250,269,273,274,275,276,282,285,291,292,313,316],differenti:220,difficult:[171,172,182,183,231,232,261,304],difficulti:220,digest:[291,292,314],digest_s:314,digit:[4,21],dimm14:26,dimm7:[171,172],dimm:[2,26,34,147,148,171,172,220,226,227,246,247,250],dinar:193,dio:[291,292],dio_interrupt_deregist:[291,292],dio_interrupt_regist:[291,292],dionysiu:[184,185],dir_typ:35,direcetori:[273,274],direct:[26,58,102,171,172,173,182,183,202,203,220,226,227,231,235,246,247,248,250,269,273,274,275,276,288,314,316],directli:[89,128,133,138,141,171,172,182,183,184,185,193,220,221,222,226,227,229,230,246,247,261,266,273,274,275,276,281,282,283,285,316,317],directori:[19,22,133,171,173,226,227,273,274,275,291,292],dirti:[4,141,153,171,172,231,232,241,246,247,258,261,279,281,282,283,284],disabl:[0,5,22,32,41,44,74,75,88,89,93,98,99,102,103,107,115,119,121,132,147,148,159,160,171,172,173,174,175,177,178,179,182,183,191,193,199,202,203,204,205,208,212,217,220,221,224,226,227,229,230,231,232,233,234,246,247,248,250,258,261,265,269,270,271,272,273,274,275,276,279,281,282,283,285,286,287,289,291,292,294,296,298,303,306,316],disable_capi_mod:[282,283],disable_fast_reboot:[182,183,275,276,298],disable_unavailable_unit:[61,171,172],disallow:[211,220],discard:[35,55,268,273,275,276,291,292,316],disclaim:139,discourag:132,discov:[182,183,226,227],discret:316,discuss:[139,171,172,291,292],disk1:[246,247],disk2:[246,247],disk:[193,202,203,246,247],dispali:[231,232],dispatch:[19,202,203,316],displai:[12,127,153,154,160,164,171,172,182,183,202,203,207,220,224,231,232,246,247,248,251,268,273,274,275,276,282,285,291,292],disposit:[58,70],disr:151,dist:220,distanc:[226,228],distant:[246,247,282,283],distclean:[171,172],distinct:[2,88,246,247,275,276,317],distinguish:[28,29,273],distribut:[14,133,138,139,147,148,282,283],distro:[246,247,257,275,277,291,292],divid:[1,171,173],divisor:145,dl:[171,172,226,227,231,234],dl_lock:[275,276],dlactiv:220,dlp:[182,226,227,287,291,292],dlx:[282,283],dma0errorlog0:84,dma0errorlog1:84,dma0errorstatu:84,dma0firsterrorstatu:84,dma1errorlog0:84,dma1errorlog1:84,dma1errorstatu:84,dma1firsterrorstatu:84,dma:[38,41,56,88,89,97,98,102,107,125,171,172,174,189,193,194,226,227,228,250,268,269,271,273,275,276],dma_addr:106,dma_window_numb:[88,89,134],dmawin:88,dmesg:50,do_capp_recovery_scom:[171,172,182,251,271,275,276],do_creat:[171,172],do_idl:37,do_list:[171,172],do_read_fil:[171,172],do_vfs_ioctl:[162,215,226,227],doc:[5,35,101,132,133,146,171,172,175,193,202,203,217,220,231,233,289,291,292,314],docker:220,dockerfil:[246,247,275,276],document:[0,2,17,21,22,23,24,27,31,35,56,59,70,73,88,89,90,93,95,97,98,100,101,103,105,117,130,131,132,133,134,138,144,145,146,147,148,159,171,172,175,184,185,186,187,188,189,190,191,193,196,220,226,227,229,230,231,232,237,246,247,291,292,311,315,316],docutil:289,doe:[1,2,4,12,17,21,22,35,37,40,43,49,51,61,62,63,64,65,68,71,75,76,81,88,93,100,103,114,115,120,122,124,132,133,134,139,141,146,153,171,172,173,174,178,180,181,182,183,208,219,220,224,226,227,229,230,231,232,233,236,241,243,246,247,249,251,253,257,261,267,269,271,273,274,275,276,278,281,282,283,285,287,288,291,292,298],doesn:[0,2,50,51,62,63,64,65,69,78,79,82,83,106,120,135,146,160,161,168,171,172,182,183,202,203,206,213,217,220,221,226,227,228,229,230,231,232,236,246,247,254,259,266,268,273,274,275,276,277,280,282,283,284,288,291,292,294,298,316],domain:[13,61,97,100,101,134,138,282,283,316],domin:[202,204],don:[2,44,70,106,133,146,147,148,149,153,160,164,171,172,173,174,175,182,183,184,185,193,198,202,203,204,205,207,208,212,213,217,219,220,224,226,227,228,229,230,231,232,237,238,241,242,246,247,248,254,256,259,261,266,267,272,273,274,275,276,277,278,280,282,283,287,291,292,296,307,309,316],donat:[133,220,226,228,316],done:[0,2,4,13,14,22,35,51,135,150,169,171,172,173,182,183,193,202,203,219,220,223,224,226,227,229,230,231,232,236,237,242,246,247,251,258,260,269,271,273,274,275,276,279,282,283,284,291,292,311,316],donnellan:[147,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],dont:[246,247],dont_stop:[273,274],doom:[272,275,276],doorbel:[257,278,282,283],dot:146,doubl:[162,202,203,214,224,225,226,228,246,247,282,285,300,313],doubt:133,down:[0,2,35,43,50,51,58,61,70,135,144,151,152,159,162,166,171,172,174,182,183,184,185,195,196,202,203,214,217,220,224,226,227,229,230,231,232,233,246,248,261,266,273,274,275,276,279,281,282,283,284,287,291,292],down_128b_data_xf:24,download:[146,202,203],downport:[275,276],downsid:[226,227],downstream:[93,101,135,164,201,202,203,213,220,226,227,246,247,282,283,291,292],dozen:1,dpo:[114,151,162,214,217,224,231,233],dpo_pend:151,dpo_timeout:114,dr:[73,141,162,215,226,227,246,247],draft:132,dram:26,dramat:[182,183,202,203,226,227],draw:[184,185,246,247],drcr:[171,172],dread:[275,276],drive:[135,144,229,230,251,273,274,296],driven:[184,186,266,273,274,282,285],driver:[1,15,17,19,23,28,41,61,133,151,162,164,171,172,182,183,184,186,193,202,203,204,207,209,213,214,215,219,220,224,225,226,227,229,230,231,232,233,234,236,245,246,247,248,258,266,268,269,273,274,275,276,279,282,284,285,312,314,316],drop:[38,42,130,146,162,171,172,182,183,214,215,217,224,225,226,227,231,232,233,246,247,273,274,275,282,283,290,299],drop_my_lock:[256,278],dscr:231,dsisr:[171,173,178,182,183,231,233],dt:[2,19,22,24,37,59,119,147,148,171,172,174,175,182,183,201,202,203,204,220,224,226,227,229,230,231,232,246,247,250,257,258,267,268,273,274,275,276,277,279,282,283,291],dt_attach_root:224,dt_find_compatible_nod:[171,174],dt_find_compatible_node_on_chip:[171,174],dt_find_properti:[182,183],dt_for_each_compat:[282,283],dt_next:[171,174],dt_node_is_compat:[182,183,282,283],dt_root:[282,283],dt_slot_get_slot_info:[182,183],dt_struct:[226,227],dtb:[226,227,257,275,277],dtc:[130,171,172,182,183,226,227,257,275,276,277,287,291,292],dtdiff:[257,275,277],dual:[2,39,226,227,282,285,298],dubiou:[171,172],due:[44,52,75,109,110,119,128,160,162,171,172,178,179,180,181,182,183,198,199,201,202,203,204,205,206,212,214,215,217,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,242,246,247,248,249,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,268,270,271,272,273,274,275,276,278,279,280,281,282,283,284,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,305,306,307,309,311,312,313],dumm:35,dummi:[35,158,171,172,189,193,231,232,241,273,274],dump:[5,36,38,42,44,71,108,146,147,149,162,171,172,176,178,182,183,199,200,214,215,217,219,220,224,226,227,228,229,230,231,233,246,247,261,275,276,281,282,283,284,285,291,292,293,296,301,316],dump_id:50,dump_siz:50,dump_trac:[291,292],dump_typ:50,dump_type_fsp:50,dump_type_si:50,dump_type_sma:50,dump_work_fn:[217,231,233],dunno:[171,172],duplic:[171,172,174,220,224,226,229,230,275,276,282,283,291,292],durat:[24,37,76,162,171,172,182,214,225,240],dure:[0,1,4,7,13,23,28,35,39,43,47,58,68,71,76,122,129,133,134,147,148,152,153,157,159,160,161,162,163,168,171,172,173,174,182,183,184,185,187,191,193,196,201,202,203,204,207,208,209,213,216,217,220,221,226,227,228,229,230,231,232,233,236,240,241,246,247,251,255,257,258,259,261,268,269,272,273,274,275,276,277,278,279,280,281,282,283,284,285,291,292,296,311,313,314,316],dword:135,dynam:[39,110,146,177,182,183,193,202,203,221,224,273,316],e00:84,e08:84,e1e6d009860d0ef60f9daf7a0fbe15f869516bd0:204,e40:84,e48:84,e5720d3fe94:224,e761222593a1ae932cddbc81239b6a7cd98ddb70:191,e7c8cba4ad773055f390632c2996d3242b633bf4:191,e80:84,e8810020:[162,215,226,227],e88:84,e:[1,4,21,22,23,33,35,36,37,41,42,50,51,53,58,60,77,78,93,101,104,106,109,110,112,113,122,124,132,134,135,139,140,141,147,148,150,154,162,171,172,173,174,181,184,185,195,197,202,204,206,208,213,219,220,224,226,227,229,230,231,232,233,246,247,248,251,255,258,261,267,268,272,273,274,275,276,279,281,282,283,285,291,292,311,314,317],e_info:35,ea:[282,283,316],each:[2,3,4,10,13,14,15,16,17,18,19,21,22,28,31,33,34,37,41,49,51,52,56,58,61,73,77,84,88,101,103,110,124,127,129,133,134,139,146,147,148,149,171,172,174,175,179,182,183,193,202,203,206,208,220,221,226,227,229,230,231,232,241,246,248,269,273,274,275,276,282,283,284,285,291,292,311,312,314,316,317],eari:[272,275,276],earli:[8,50,132,135,136,139,150,162,168,171,172,173,174,175,176,182,183,184,186,214,224,225,226,227,231,232,233,234,235,236,246,247,248,258,260,272,273,274,275,276,279,282,283,311],earlier:[70,96,133,220,226,227,231,232,246,271,273,275,276,280,282,283],earliest:5,early_setup:[226,227],early_setup_secondari:[226,227],earnest:227,eas:[226,227],easi:[150,226,227,246,247],easier:[171,172,182,183,220,231,232,261,273,274,279,281,282,285,291,292],easili:[77,171,172,182,183,246,247,275,276],eb0500:[217,231,232],ec0:84,ec366ad4e2e871096fa4c614ad7e89f5bb6f884f:191,ec8:84,ec:[225,231,232,287,291,292],ec_ppm_special_wkup_:[282,283],eca02ee2e62cee115d921a01cea061782ce47cc7:189,ecc:[146,161,171,172,202,203,226,231,232,246,247,254,256,273,274,275,276,277,278,282,283,287,291,292,294],ecc_protect:[246,247],eccb:[2,69],ecdsa_sig:225,ecdsa_sig_st:225,echo:[150,178,182,183],ecid:[38,231,232],eclips:[267,273,274],ecmd_ppc:224,ecrc:[202,203,221],ed:317,edg:[121,246,247,316],edk2:[17,306],ee07f2c68160:298,ee:[162,215,226,227,246,247,272,275,276],eef0e197ab:[231,235],eeh:[41,42,82,107,147,148,150,171,172,220,224,226,227,228,229,230,231,236,238,246,247,258,271,275,276,279,282,283,291,292,298],eeh_action_token:[79,80],eeh_freeze_statu:[282,283],eeprom:[2,171,172,220,246,247,250,295],effect:[50,113,154,162,171,172,182,215,216,224,226,227,229,230,231,232,241,251,261,268,272,273,274,275,276,281,282,283,285,287,291,292,311,316],effici:[13,171,172,202,203,207,241,258,279,282,283,291,292],effort:[113,139,182,183,220,221,222,224,225,227,230,246,247,291,292],efi:312,efram:[246,247],eg:[35,222,226,227,229,230,291,292,317],egg:204,eh:35,eight:[70,287,291,292],either:[5,12,13,17,20,23,28,35,55,56,69,72,76,78,101,107,108,113,115,133,143,171,172,182,183,202,203,204,220,226,227,231,232,233,246,247,250,273,274,289,291,292,313,316],elaps:[273,274],electr:[147,148,182,183,226,229,230,246,247,287,291,292,317],electron:317,eleg:139,element:[68,75,171,172,182,183],elev:224,elf:[21,22,133,182,183,202,204,231,232,275,276,281,282,283],elfv1:[147,149],elimin:[220,291,292],elinux:138,ellerman:[147,148,171,219,220,224,226,231,275],elog:[35,144,146,159,171,172,191,193,195,202,203,288],elog_buff:51,elog_commit:[35,146],elog_en:[195,202,203],elog_fsp_commit:35,elog_head_st:35,elog_id:51,elog_read_max_record:35,elog_s:[35,51],elog_state_fetch:35,elog_state_fetched_data:35,elog_state_fetched_info:35,elog_state_host_info:35,elog_state_non:35,elog_state_reject:35,elog_typ:[35,51],elog_write_max_record:35,elogid:35,els:[44,106,124,133,201,202,203,217,220,231,233,246,248,258,275,276,279,282,283],elsewher:[178,182,183,246,247],email:139,emerg:[1,224,226,227,246,247],emit:[202,275,276,282,285],emitt:[171,172],emphasi:[171,172],employ:[147,148,161,164,184,185,226,229],empti:[2,31,62,67,86,118,131,160,220,246,247,258,273,274,278,279,282,283,311],emul:[38,62,63,64,65,121,132,171,172,184,185,188,193,220,224,226,227,231,232,316],enabl:[1,13,17,21,22,23,32,36,37,44,56,58,74,75,88,93,98,99,102,103,114,119,134,146,147,148,155,157,164,171,172,173,174,175,179,182,183,184,186,187,193,202,203,204,206,220,221,224,226,227,228,229,230,231,232,236,237,238,246,247,248,255,258,261,266,269,271,272,273,274,275,276,279,281,282,283,285,286,288,291,292,298,301,304,308,310,314,315,316],enable_capi_mod:[171,174,182,183,268,269,273,275,276],enable_mambo_consol:[226,227],enc:[225,246,247],enclosur:[10,34,162,215,226,227],encod:[2,15,16,19,21,33,56,118,120,171,172,173,194,220,246,247,282,283,285,291,292,316,317],encompas:[246,247],encompass:22,encount:[182,183,258,272,275,276,279,282,283,287,291,292],encourag:[2,139,182,183,184,185],end:[4,17,42,52,68,108,118,141,147,148,157,160,165,171,172,173,175,182,183,187,188,193,201,202,203,204,222,226,227,228,229,230,231,232,233,238,246,247,248,254,255,261,268,272,273,274,275,276,277,281,282,283,285,291,292,304,306,316],endian:[13,42,132,146,161,193,202,203,220,226,246,248,261,273,275,276,281,282,283,298,306,309],endlessli:[275,276],endpoint:[38,159,164,171,172,196,202,203,221,275,276],endup:[162,163,182,183,194,215,216,217,226,227,231,233,258,261,279,281,282,284],energi:[171,175],enforc:[23,120,171,172,173,182,183,220,224,226,227,241,252,258,279,282,283,286,291,292,311,314],engin:[28,37,61,102,123,133,146,158,171,172,190,191,193,211,224,226,227,228,229,230,231,233,246,247,250,268,269,271,273,274,275,276,316],enhanc:[70,178,179,180,229,230,246,247,249,258,279,291,292],enough:[53,60,77,127,132,133,147,148,202,204,207,213,217,220,224,226,228,231,232,233,246,247,250,266,267,273,274,275,276,282,283,291,292,313,316],enqueu:[118,271,275,276],enqueue_upd:311,enrol:[17,312],ensur:[0,13,41,50,86,113,115,120,122,133,139,140,150,154,157,165,167,171,172,173,180,182,183,187,189,193,202,203,217,220,226,227,228,229,230,231,232,233,240,241,246,247,257,258,263,271,273,274,275,276,277,279,282,283,286,289,291,292,307,309,313,314,316],enter:[0,13,17,48,133,152,171,172,178,182,183,226,227,229,231,232,233,246,247,273,274,282,283,287,291,292],enterpris:[246,247],entir:[139,161,171,172,176,182,183,202,204,224,226,227,229,230,231,232,258,261,266,268,273,274,275,276,279,281,282,283,285,286,291,292,308,314],entireti:161,entiti:[16,110,135,282,291,292,316],entitl:[171,172],entranc:[178,182,183,246,247,275,276],entrant:[178,182,183],entri:[2,5,12,22,24,35,40,48,52,71,75,88,97,101,129,132,133,137,146,161,162,171,172,178,182,183,189,202,204,214,215,220,224,226,227,229,230,231,232,234,241,246,247,250,257,258,268,271,272,273,274,275,276,277,278,279,282,283,285,287,291,292,314,316],enumer:[135,256,278],env:[246,247,291,292],environ:[21,36,38,141,171,172,173,182,183,219,226,227,228,246,247,248,267,273,291,292],environment:[13,54,70,225,246,247],eoi:[153,157,179,182,187,220,224,316],ep:[282,283],epoch:4,epow:[54,70,217,231,233],epub_prc_fw_verification_err:[171,174],epub_prc_hb_cod:[171,174],eq:[30,171,172,220,226,228,229,230,231,232,237,241,275,276,316],eqd:[220,316],equal:[2,4,75,76,89,103,132,171,172,173,229,230,257,278,282,283,299,316],equalis:[171,172,226,228,238],equival:[44,76,140,220,246,247,316],er:[35,184,185],era:219,eras:[9,52,146,154,171,172,176,182,183,205,206,219,224,226,227,229,230,231,232,258,279,282,283,287,291,292],erase_rang:[231,232],eraseblock:[275,277],erat:[182,183],erc:[171,172],erect:[287,291,292],eric:[279,282,283],err:[1,134,171,172,182,224,251,273,275,276],err_fat:101,err_injct_inbounda:150,err_len:35,errata:[201,226,227,246,247,266,270,272,273,274,275,276],errcod:[104,135,226,227],errinjct:[184,185],errl:35,erro:35,erron:[43,153,171,172,182,202,204,220,231,232,246,256,258,279,282,283],error:[2,17,36,38,41,42,44,50,52,55,60,61,70,76,77,78,82,83,84,92,94,101,102,109,110,117,119,123,125,127,128,131,132,144,146,147,148,149,150,153,154,156,157,158,159,160,161,162,163,164,166,169,170,171,172,173,174,178,181,182,183,184,187,189,190,193,195,196,198,199,201,202,203,204,207,208,212,213,215,216,217,220,221,222,224,225,226,227,228,229,230,231,232,233,234,236,238,239,242,245,246,247,248,249,250,251,252,254,255,256,257,258,261,266,267,268,269,271,272,273,274,275,276,277,278,279,281,282,283,284,285,287,288,291,292,295,296,301,305,306,307,309,311,312,316],errorclass:84,errordata:84,errorlog:[35,263,288,291,292,297],es:[35,171,172,241],esb:[171,172,179,182,220,226,227,241,316],escal:[150,171,172,174,220,231,236,237,241,246,248,256,275,276,306,316],escalate_irq:316,esel:[35,147,149,184,191,193,226,246,247,249,263,297],esl:[231,232,307,309],esoter:[182,183],especi:[0,139,171,172,181,182,184,185,202,203,204,207,226,228,267,269],ess:[246,247,256,259,278,280],essenti:[100,132,133,171,173,282,283],establish:[158,189,193,258,273,274,279,282,283],estim:[202,203],etc:[2,14,17,19,22,68,162,171,172,173,182,183,215,226,227,229,231,232,246,247,258,279,281,282,283,311,313,316],ethernet:[34,147,148,164],etu:[84,182,275,276,282,283,287,289,291,292],etyp:[256,278],ev_act:[291,292],ev_compact_hash:[291,292],ev_platform_config_flag:[291,292],ev_post_cod:[291,292],ev_s_crtm_cont:[291,292],ev_separ:[171,172],evalu:[250,275,276],even:[2,5,22,50,54,61,122,131,134,139,141,150,159,161,162,171,172,178,182,183,184,185,193,196,197,202,203,204,213,220,226,227,229,231,232,246,247,261,273,274,275,276,281,282,283,285,291,292,298,316],event:[1,4,32,35,37,38,50,51,58,59,70,104,108,117,125,130,146,147,149,150,157,159,161,165,171,172,182,183,184,186,187,191,193,201,202,203,204,208,217,220,226,227,231,232,233,236,239,243,246,247,250,251,258,261,263,275,276,279,281,282,283,285,291,292,297,314],event_mask:[171,172],event_sever:35,event_subtyp:35,event_typ:[291,292],eventu:[130,146,147,149,162,171,172,182,183,202,203,215,226,227,238,246,247,248,252,261,275,276,281,282,283],ever:[5,42,50,81,83,131,160,171,172,193,202,204,220,226,259,280,282,283,291,292,304],everi:[0,22,35,58,74,133,139,162,171,174,193,203,204,205,215,224,226,227,229,230,231,232,246,247,266,269,273,274,275,276,287,291,292,306,316],everybodi:[133,141],everyon:[138,148,171,172,202,204],everyth:[0,147,149,162,163,171,172,182,183,215,216,224,226,227,231,232,246,247,261,275,276,282,283,285],everywher:[133,220,273,274],evict:[171,172],evid:160,evmrev:35,evolut:221,evolv:139,ex:[171,173,182,183,217,231,233,275],ex_pm_core_eco_vret:[184,185],ex_pm_core_pfet_vret:[184,185],exabyt:103,exact:[2,22,43,58,160,171,172,182,183,184,186,207,220,226,227,259,275,276,280],exactli:[2,56,100,171,172,182,183,239,246,247,282,285],examin:[171,229],exampl:[1,9,13,14,15,16,18,19,22,26,30,34,35,37,39,43,44,51,59,70,78,88,101,106,109,113,119,120,126,131,132,137,139,140,141,147,149,150,162,171,172,173,182,183,193,203,214,220,225,226,227,231,232,241,246,247,248,252,255,273,274,275,276,282,283,284,311,313,316],exce:[70,103,224,275,276],exceed:[171,172,275],excel:219,except:[4,34,58,70,76,113,122,135,146,154,162,171,172,173,174,178,182,183,195,202,203,214,217,220,221,224,231,232,233,246,248,257,258,269,272,275,276,278,279,282,283,285,291,292,311,316],exception_entri:[182,183,224,272,275,276],excess:[266,273,274,311],exchang:[182,183],exclud:[17,160,171,172,226,227,231],exclus:[44,102,133,211,253,282,285,311],execut:[0,13,37,41,43,61,113,124,131,132,133,147,148,162,171,172,182,183,215,226,227,231,232,241,246,247,261,273,274,275,276,279,281,282,283,314,316],exercis:[132,165,171,172,231,232],exhibit:260,exist:[2,4,17,20,21,22,23,40,41,42,62,63,64,65,66,81,86,106,108,131,132,134,135,137,146,147,148,171,172,182,183,184,185,193,202,203,204,206,219,220,222,224,226,227,228,238,241,246,247,248,272,273,274,275,276,282,283,291,292,298,314,316],exit:[13,48,146,171,172,178,181,182,183,208,229,231,232,245,246,247,257,258,261,275,277,278,279,281,282,283,291,292,311],exp:275,expand:[132,171,172,226,227,246,247,312],expans:288,expect:[0,13,17,41,71,135,138,141,161,171,172,173,174,180,181,182,183,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,239,243,246,247,248,250,259,273,275,276,280,283,284,285,292,304,307,308,309,311,313,316],experi:[162,171,172,215,239,246,247],experienc:[246,247,261,281,282,285],experiment:[13,171,172,202,203,246,248,275,276,291,292],expert:139,expir:[171,173,207,220],explain:[140,141,217,224,231,233,258,279,282,283,287,291,292],explan:[1,51],explicit:[21,22,155,184,185,220,282,285,316],explicitli:[132,162,171,172,173,193,202,215,229,230,231,232,246,247,255,275,276,282,283,285,291,292],explict:153,explictli:[246,247],exploit:[38,140,171,172,220,222,237,282,283],expos:[2,13,31,41,77,118,133,144,147,148,165,171,172,175,202,203,206,220,221,224,229,267,268,273,274,282,285,291,292,311,316],exposur:[221,316],express:[2,17,189,213,220,282,285],extend:[2,21,34,35,73,103,130,171,193,202,203,219,221,226,231,282,283,291,292,314,316],extens:[22,144,171,175,220,221,226,282,285,291,292,311,316],extern:[2,35,62,132,133,135,144,146,147,149,161,171,172,193,202,203,204,219,220,224,229,230,231,232,246,247,273,274,282,283,285,291,292],extra:[19,58,102,115,133,134,141,151,171,172,258,269,275,276,277,279,282,283,284,287,291,292,307,309],extra_vers:141,extract:[38,135,150,182,183,184,202,204,229,230,231,232,268,273,274],extrem:[162,163,215,216,217,226,227,231,233,241,246,248,261,281,282,285],ey:[250,275,276],eyebal:[184,185],eyecatch:1,f000f:[226,227],f28:275,f42fc40:141,f46c1e506d199332b0f9741278c8ec35b3e39135:189,f58be46:[275,277],f7b8f65:4,f821ffc1:[162,215,226,227],f8dfd699f584:[291,292],f9210020:[162,215,226,227],f:[36,171,172,202,203,288,291,292],f_part:[202,204],facal:[226,227],face:[171,172,258,279,282,283],facil:[11,21,58,70,100,114,132,137,171,172,220,226,227,231,232,246,247,257,261,270,272,275,276,278,281,282,283,285,316],fact:[139,207,220,246,247,255,275,276,316],factor:[110,171,172,174,246,250,275,276,282,283,287,291,292],fadump:[7,38,71],fail:[0,17,35,50,51,58,68,73,113,116,120,128,130,132,141,144,146,147,149,165,166,171,172,173,174,178,180,181,182,183,189,193,198,202,203,204,205,208,220,221,224,226,227,228,229,230,231,232,233,234,236,246,247,248,251,252,254,258,261,267,272,273,274,275,276,277,279,281,282,283,287,291,292,305,306,311,312,314,316],failov:[58,147,148],failur:[15,17,35,39,40,41,51,53,54,58,68,70,120,122,123,127,129,131,145,159,161,169,171,172,173,174,180,181,182,183,189,193,196,202,203,208,217,220,224,225,226,227,228,229,231,232,233,239,242,246,247,251,256,257,261,267,268,273,274,275,276,277,281,282,283,291,292,311,316],fair:[182,183],fairli:[76,140,226,227,275,276,282,284,291,292],fake:[147,148,182,183,184,185,220,226,227,291,292],fall:[44,120,171,172,202,203,226,246,247,255,275,282,283],fallback:[202,203,241,279,282,283,305],fallthrough:[220,224,226,228],fals:[35,162,184,185,195,202,203,207,215,220,231,233,261,275,276,299],fam:19,famili:[19,220,258,279,282,283],familiar:[4,140,141],famou:[171,172,281,282,283],fan:[19,282,285],fanci:[133,224],fapi:[171,172],far:[171,172,182,183,216,226,227,246,247,282,283,285,291,292],fast:[13,44,48,102,113,173,174,178,202,203,205,226,228,231,232,246,247,250,257,261,268,273,274,278,280,281,282,283,285,286,287,289,291,292,294,296,298,305,313],fast_reboot_entri:[171,174,261,281,282,283],fast_reset_entri:[171,174,261,281,282,283],faster:[202,203,221,246,248],fastreboothoststress:282,fastreboothoststresstortur:282,fastsleep_:[13,48],fatal:[19,58,131,157,159,162,171,172,173,182,183,187,196,202,203,214,225,231,232,246,248,261,272,275,276,281,282,283],fatalerr:164,fault:[10,17,34,35,58,68,150,226,228,291,292,315],favor:220,favour:[13,202,204],fb:36,fd599965f723330da5ec55519c20cdb6aa2b3a2d:191,fd6b71fc:[208,231],fd6b71fcc6912611ce81f455b4805f0531699d5:191,fdt:[2,53,132,182,183,220,226,227,246,248,261,275,276,281,282,283,291,292],fdt_begin_nod:[226,227],fdt_offset_ptr:[291,292],fdt_open_into:[291,292],fdt_prop:[226,227],fdt_strerror:[291,292],fdtdump:[226,227],fe6d86b9:[182,183],feasibl:261,featur:[2,5,25,38,40,50,139,175,177,180,218,221,237,244,257,261,269,273,275,276,278,281,285,286,308,316],feb:[139,185,275,276],februari:[171,172,173,174,175,182,183,256,257,278],fedora25:220,fedora26:[226,228],fedora27:275,fedora29:275,fedora:[220,224,257,275,276,277],feed:[182,183],feedback:311,feel:[202,203,204,205,291,292,298],fell:[275,277],fenc:[78,147,148,150,159,161,171,172,174,180,182,183,196,202,204,220,224,226,228,229,230,231,236,238,246,247,264,268,273,274,282,283,284,287,291,292,296],fence_st:[291,292],fetch:[35,37,50,51,62,76,83,110,133,135,226,228,314],few:[0,1,2,29,70,134,137,141,153,157,158,159,160,162,171,172,178,182,183,193,195,196,201,202,203,204,205,206,207,208,217,219,220,224,226,227,228,229,230,231,232,238,241,242,251,257,258,261,273,274,275,276,277,279,281,282,283,286,288,291,292,311,313],fewer:[68,70,203],ff:[133,193,201,202,203,204,219,220,226,227,229,230,231,232,246,247,252,254,261,275,276,277,281,282,283,285,288],fffffffffffffff4:[162,215,226,227],fffffffffffffff8:[182,183],ffffffffffffffff:[246,247,254,275,277],ffi:161,ffix:[160,212,220],ffs_close:[226,227,246,247],ffs_entry_user_to_str:[246,247],ffs_handl:[226,227],ffs_hdr_free:[246,247],ffs_header:[246,247],ffs_init:[251,275,276],ffs_lookup_part:[226,227],ffspart:[220,273,274,275,277],field:[0,24,29,33,34,35,41,162,171,172,174,175,189,202,204,215,219,220,224,226,227,231,232,246,247,258,261,266,273,274,279,281,282,283,285,286,287,291,292,311,316],fifo:[28,129,220,229,230,268,273,274],fifth:236,figur:[68,135,246,275,276],file:[13,24,36,131,133,136,138,139,141,146,171,172,178,182,183,184,185,193,202,203,204,205,217,220,222,224,225,226,227,229,230,231,232,246,247,273,274,275,276,282,285,288,291,292,298],file_eras:275,filenam:[226,227,273,274,275],filesystem:[226,227],fill:[35,54,92,95,108,171,172,226,227,231,232,268,273,282,283],filter:[21,132,171,172,189,220,226,227,246,247,258,275,276,279,282,283,287,291,292],fimwar:314,finalise_dt:291,find:[27,36,50,114,147,149,152,160,171,172,174,220,225,226,227,246,248,250,273,274,275,276,282,283,291,292,314],find_next_bit:37,fine:[2,22,35,138,162,171,172,175,208,209,215,217,220,226,227,231,233,246,247,272,275,276,282,283,286,291,292,316],finess:144,fini_arrai:[291,292],finish:[224,229,275,276],finit:[158,190,191,193],fip:[224,275,276],fir:[44,58,158,171,172,178,180,182,183,190,191,193,195,220,226,228,229,230,231,232,241,246,247,249,251,256,268,272,273,274,275,276,282,283,287,291,292],fircheck:[231,232],fire:[202,203],firenc:201,firenz:[38,136,184,186,201,202,203,216,224,226,227,277,282,283],firenze_add_pcidev_to_fsp_inventori:[147,148],firenze_get_slot_info:[147,148],fireston:[136,145,146,147,148,164,202,203,258,279,282,283],firmli:189,firmwar:[0,2,3,5,6,7,21,22,23,25,32,35,38,39,40,41,42,44,50,54,58,68,69,71,77,81,109,113,123,124,130,132,133,135,138,139,140,141,146,161,162,168,171,172,173,174,175,177,178,182,183,184,186,189,195,202,203,204,206,214,218,221,222,224,226,227,231,232,244,246,247,248,250,257,258,261,266,273,274,275,276,278,279,282,283,287,291,292,316],firmware_notifi:[226,227],firmware_request:[171,172,226,227],first:[2,21,22,35,36,42,44,47,51,56,61,69,70,71,81,88,117,118,124,127,133,136,139,141,143,146,147,148,149,150,161,167,168,171,172,173,174,175,181,182,183,184,185,186,187,188,189,190,192,193,195,196,197,198,199,200,201,202,203,204,205,206,208,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,241,246,247,248,254,255,259,267,268,269,271,272,273,274,275,276,277,280,282,283,284,285,286,287,291,292,293,298,304,308,310,312,313,314,316,317],first_frozen_p:92,firstli:[171,226,227,246,248],firwar:314,fischer:[219,220],fit:[2,17,171,172,176,182,183,231,232,242,291,292,316],five:[51,231],fix:[2,37,130,134,139,140,144,145,146,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,173,174,175,176,178,179,180,181,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,225,226,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,245,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309],fixm:[131,220],fixup:[140,220,226,227,228,282,283],fk:35,fl_total_s:[202,203],flag:[0,30,35,41,47,58,60,107,115,130,147,149,171,172,179,182,183,193,195,201,202,203,204,205,218,220,224,226,227,228,229,231,232,234,237,244,246,247,248,250,252,256,271,273,274,275,276,282,283,286,287,291,292,312,313,316],flakei:[246,247],flash:[1,5,35,36,38,42,76,130,133,146,147,148,171,172,173,182,183,184,185,193,194,203,204,205,219,220,229,230,231,232,246,247,251,252,254,258,261,273,274,275,276,277,279,281,282,283,284,285,286,291,292,294,298,311,312,314],flash_dt_add_fw_vers:[275,276],flash_init:[281,282,283],flash_load_resourc:[202,204,261,281,282,283],flash_map_resource_nam:[171,172],flash_nvram_writ:[261,281,282,283],flat:2,flatten:[132,133,193,226],flawless:[282,283],fleetwood:304,flexibl:[2,84,171,172,173,182,183,229,230,246,247,291,292],flight:[117,120,171,172,282,285],flip:313,flood:[139,171,172,246,247],flow:[47,182,231,236,258,279,282,283,311],flr:[224,231,232],fluke:[231,232],flush:[49,151,153,154,171,172,174,180,184,185,241,246,247,258,261,273,279,281,282,283,284],fly:[35,171,172,238],fmt:35,fno:[282,285],focu:[132,185,186],focus:308,folk:[171,172,178,182,183,226,227,238,261,281,282,285],follow:[1,2,4,15,16,17,19,23,24,30,31,35,43,53,56,88,89,90,93,97,98,100,102,103,105,117,132,133,135,138,139,140,141,143,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,241,245,246,247,248,258,261,272,273,274,275,276,277,279,281,282,283,284,285,287,291,292,293,298,304,308,310,311,313,314,316,317],followup:[226,228],fonseca:202,foo:131,foot:205,footnot:136,for_each_compat:[279,282,283],for_each_present_cpu:220,forc:[44,70,114,153,171,172,182,193,201,202,203,204,205,220,226,228,229,230,231,236,258,266,272,273,274,275,276,279,282,283,298],foreign:[178,182,183],foresight:22,forev:[161,171,172,208,243,246,247,261,281,282,283,291,292],forget:[271,275,276],forgotten:[42,316],fork:[38,282,285],form:[2,21,34,35,118,132,134,171,172,182,202,203,231,232,241],formal:22,format:[1,2,15,16,17,28,34,35,40,51,67,70,84,88,103,117,135,139,162,171,173,175,184,185,202,203,215,220,226,227,248,257,275,276,277,282,283,288,311,312,314,316,317],former:[171,172,180,202,203,246,247],formerli:[250,275,276],formwar:[231,232],forse:171,fortun:[216,226,227],forward:[73,93,141,171,172,220,231,232,243,250,263,273,274,275,276,282,283,286,291,292],found:[1,4,9,17,21,22,23,41,52,69,85,86,104,118,131,135,138,139,147,148,161,162,164,167,171,172,175,181,182,183,184,185,202,203,213,215,219,220,221,224,226,227,229,231,246,247,251,255,273,274,275,276,281,282,283,284,311,314],foundat:138,four:[49,171,172,180,202,203,220,275,276],fourth:[175,206,235],foward:[255,275],foxconn:136,fpga:[282,283,284,298],fraction:1,fragment:[39,182,183],frame:[246,247],framebuff:155,framework:[19,147,162,182,183,215,220,226,227,229,230],francesco:171,francisco:138,frankli:[275,276],freder:[147,148,171,193,202,203,219,220,226,229,231,275,282,283],free:[2,7,35,39,50,60,61,77,127,131,147,148,164,165,171,172,181,182,183,202,203,208,220,224,226,227,231,233,246,247,258,263,267,273,274,275,277,279,290,294,300,306,316],freebsd:[45,146],freed:[171,172,182,183,226,241,246,247,316],freenod:138,freez:[101,150,171,172,174,226,228,231,232,236,238,272,275,276,306],freeze_st:81,freq:[2,5,13,282,283],freq_max_in_domain:[14,282,283],freq_most_recently_set:[14,282,283],frequenc:[2,14,30,34,70,145,147,148,171,172,173,184,185,186,189,201,202,203,224,226,227,246,248,282,283],frequent:[41,154],freset:[135,160,182,183,213,220,226,229,230,282,283,287,291,292],freset_deassert_delai:[282,283],freset_start:[282,283],fresh:[246,247],freshli:[202,204],fridai:[146,151,152,153,157,159,162,171,173,182,185,196,197,202,211,214,218,219,225,242,243,244,246,251,260,263,270,272,274,275,282,283,286,293,297,300,308,310],friendli:[171,172,220],fro:293,from:[0,2,3,5,7,12,13,22,26,28,30,36,37,38,40,42,44,47,50,51,52,54,56,58,67,68,69,70,71,73,75,76,78,81,84,87,88,89,90,93,97,98,99,100,101,103,105,106,108,111,116,117,121,122,123,124,127,129,130,131,132,133,134,135,139,140,141,144,146,147,148,149,150,151,153,157,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,178,182,183,184,185,187,188,189,191,192,193,195,196,197,201,202,203,204,205,206,209,213,215,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,236,237,238,240,241,245,246,247,248,250,251,253,254,255,256,257,258,259,260,262,267,268,271,273,274,275,276,277,278,279,280,281,282,283,284,285,287,288,291,292,295,298,304,305,310,311,312,313,314,315,316,317],front:[229,230,246,247],frozen:[171,172,275,276],frquenci:[202,203],fru:[10,34,68,144,171,172,221,268,273,282],fs:161,fscr:[21,22],fsi:[0,147,148,231],fsm:[271,275,276],fsp:[1,8,12,19,20,36,38,40,42,43,50,54,68,77,108,120,127,130,132,133,136,141,144,145,146,152,155,159,160,161,162,163,164,165,168,191,195,201,204,206,207,208,209,210,213,214,215,216,217,230,233,246,247,250,255,280,285,288,291,292,300,301,302],fsp_cmd_get_led_list:168,fsp_cmd_powerdown_norm:[217,231,233],fsp_cmd_reboot:[217,231,233],fsp_cmd_tpo_dis:[226,227],fsp_cmd_tpo_writ:[226,227],fsp_console_read:193,fsp_console_writ:[217,231,233],fsp_console_write_buffer_spac:[217,231,233],fsp_in_reset:[162,215],fsp_in_rr:[162,163,215,216,226,227],fsp_lid_map:[182,183],fsp_log_entri:35,fsp_mkmsg:[226,227],fsp_msg:[144,193,226,227],fsp_msg_queu:[226,227],fsp_msg_sent:[226,227],fsp_msg_timeout:[162,215,226,227],fsp_opal_get_param:77,fsp_opal_manage_flash:47,fsp_opal_rtc_writ:[162,215],fsp_opal_set_param:77,fsp_opal_tpo_writ:[114,226,227],fsp_opal_update_flash:47,fsp_opal_validate_flash:47,fsp_queue_msg:144,fsp_reset_cmdclass:[163,216,226,227],fsp_serbuf_hdr:[226,227],fsp_status_invalid_subcmd:[217,231,232],fsp_sync_msg:[163,216,217,226,227,231,233],fsp_trigger_reset:[162,214,215,224,226,227],fspresetreload:[162,215,226,227],fspv1:224,fstack:[144,184,185,202,203],ftbf:[171,173],full:[1,44,49,56,88,89,90,93,97,98,103,105,115,134,139,162,171,172,178,182,183,184,185,193,202,203,215,217,219,220,226,227,228,231,232,233,236,268,273,298,316],full_purg:275,full_reboot:305,fulli:[154,195,202,203,220,282,316],fun:[160,165,291,292],func:[82,100,134],func_compar:100,fundament:[22,135,160,168,178,182,183,201,202,203,220,273,274,282,283],funni:291,further:[17,23,50,73,96,104,135,161,171,182,183,229,230,231,236,246,247,248,273,282,283,316],furthermor:[118,273,274,312],fuse:299,futur:[1,5,15,16,22,29,35,38,50,51,54,55,70,84,110,115,131,132,139,141,146,177,182,183,185,186,220,221,226,227,228,229,230,231,234,246,247,273,274,275,276,282,283,284,291,292,304,308,311,315,316],fuzz:[257,282,283],fw810:[42,141],fw830:39,fw840:8,fw:[0,2,7,20,35,47,146,171,172,177,182,183,217,218,226,227,231,233,244,273,274,287,316],fw_control_err:144,fw_progress:220,fwrite:36,fwt:[130,171,175,180,195,202,203,220,246,247],g123456789abc:4,g16b7ae641037:136,g23118ce:[231,232],g23f147e:141,g2:[282,285],g319c6e1:[231,233],g5:[202,204],g78d89280c3f9:4,g:[1,4,21,22,23,35,36,50,51,53,58,60,77,78,93,101,104,109,110,112,113,122,124,132,135,139,140,141,147,148,150,162,171,172,173,178,181,182,183,184,185,193,202,203,204,206,208,213,217,219,220,224,226,229,231,232,233,246,247,248,258,261,267,268,272,273,274,275,276,279,281,282,283,285,291,292,311,314],ga2:4,ga:[8,131,274],gain:[171,172],gajendra:[184,185],gang:[275,276],gap:[182,183,220,231,232],garante:316,garbag:[275,276],garbal:226,garbl:261,gard:[146,147,148,161,182,183,184,185,193,205,219,220,226,231,232,246,247,272,275,276,287,291,292,294],garrison:[136,147,148,164,195,197,258,279,282,283],gate:[171,172],gather:[37,40,47,50,134,231,232,275,276],gaurente:61,gautham:229,gave:[147,148,161,164,184,185,193,202,203,204],gavin:[147,148,164,184,185,193,202,203,204,219,220,224,226],gb759ce2:39,gbp:27,gcb111c03ad7f:[171,172],gcc7:[171,173,182,183,224,226,228],gcc8:[250,273,274,275,276],gcc9:[278,288,291,292],gcc:[36,138,145,150,160,171,172,182,183,189,193,205,212,220,229,231,233,275,276,281,291,292],gcda:36,gcid:[275,317],gcov:[38,39,147,148,150,182,183,184,202,204,226,229,275,276,291,292],gcov_count:193,gcov_info:[182,183],gcov_info_list:36,gdb:[40,291,292],gear:193,gedd:[171,275],gen1:[134,220,229,230,282,283,287,291,292],gen2:[136,171,221],gen3:[134,171,172,220,229,230,231,232,235,236,275,276,287,291,292,305],gen4:[134,171,172,229,230,231,235,236,238,287,291,292],gen:[213,220],gener:[7,14,17,21,22,24,27,28,29,35,36,38,39,51,58,71,84,88,120,121,130,133,135,140,141,144,146,159,160,162,168,175,182,183,185,191,195,215,217,220,221,228,233,246,247,250,251,253,256,261,266,268,292,311,312],genid:35,geometri:316,get:[1,10,15,19,20,24,26,35,36,38,39,42,43,47,53,54,55,58,59,71,81,84,85,86,124,131,133,134,139,140,146,147,148,150,153,160,161,162,163,164,165,171,172,173,178,180,182,183,189,195,202,203,207,209,211,215,216,217,220,224,226,227,228,229,230,231,232,233,240,242,245,246,247,248,250,251,255,257,258,260,261,268,272,273,274,275,276,277,278,279,281,282,283,286,287,291,292,298,316],get_attention_st:135,get_interface_cap:[201,202,203],get_irq_config:316,get_latch_st:135,get_link_st:[135,273,274],get_pkcs7:[307,309],get_power_st:135,get_presence_st:135,get_vp_info:220,get_xiv:[220,316],getmemproc:[36,220],getscom:[202,203,220,229,230,273,274],getsigraw:225,getspi:275,getsram:[193,202,203,275,276],gf1b53c7:[231,232],gging:35,ghosh:[219,220],giant:[231,232],gigabit:164,gigant:[282,283],girq:316,git:[8,132,139,140,141,143,171,172,291,292],gitdm:[184,185],github:[36,132,138,140,171,172,176,205,219,220,221,222,224,225,226,227,228,231,232,256,275,278,282,284,291,292],give:[13,14,19,22,35,113,130,134,140,146,151,153,154,171,172,175,182,183,217,220,226,228,231,233,246,247,248,251,267,273,274,275,276,282,283,291,292,311],given:[2,22,56,61,68,73,74,75,84,102,123,132,135,162,171,172,173,174,202,203,214,221,226,231,232,250,272,273,274,275,276,291,292,311,316],glibc:22,glitch:[171,172,237,239,240],global:[57,121,202,203,220,221,246,247,273,275,276,282,283,284,298,313,316],glori:95,glue_cache_lin:42,gmail:148,gn70:136,gnuc:150,go:[5,12,39,44,70,132,138,139,141,171,172,178,182,183,193,202,203,220,221,226,227,229,230,231,232,238,246,247,255,260,272,273,274,275,276,279,282,283,284,285,291,292],goal:[68,139,171,172,173,273,274],goater:[147,148,171,184,185,193,202,203,219,220,229,275],goe:[1,35,100,171,172,220,231,275,282,283,284],golden:[193,205],gone:[131,139,162,204,214,220,224],good:[0,2,22,51,128,139,141,160,171,172,180,182,183,203,204,205,219,220,223,226,227,228,246,247,248,257,258,261,267,273,274,279,281,282,283,285,291,292,314,316],goog:2,googl:[136,171,231],got:[38,67,68,162,171,172,182,208,214,215,220,224,226,227,231,245,259,273,274,280],governor:13,gpe1_24x7:[231,232],gpe:[231,232],gpio:[226,227,246,247,291,292],gplv2:298,gpr00:[162,171,173,182,183,215,226,227,246,247],gpr01:[171,173,182,183],gpr02:[182,183],gpr03:[182,183],gpr04:[162,182,183,215,226,227,246,247],gpr05:[182,183],gpr06:[182,183],gpr07:[182,183],gpr08:[162,182,183,215,226,227,246,247],gpr09:[182,183],gpr10:[182,183],gpr11:[182,183],gpr12:[162,182,183,215,226,227,246,247],gpr13:[182,183],gpr14:[182,183],gpr15:[182,183],gpr16:[171,173,182,183],gpr17:[171,173,182,183],gpr18:[182,183],gpr19:[182,183],gpr20:[182,183],gpr21:[182,183],gpr22:[182,183],gpr23:[182,183],gpr24:[182,183],gpr25:[182,183],gpr26:[182,183],gpr27:[182,183],gpr28:[182,183],gpr29:[182,183],gpr30:[182,183],gpr31:[182,183],gpr:[220,224,231,232,246,247,282,283],gpu1:[246,247],gpu2:[246,247],gpu3:[246,247],gpu4:[246,247],gpu5:[246,247],gpu:[16,41,73,102,109,171,172,174,178,180,182,183,195,202,203,220,221,226,227,228,229,230,231,232,238,246,247,268,269,273,274,275,276,282,283,285,287,291,292,299],gpu_mem:[171,172],gpu_mem_4t_down:[171,172],grab:[220,226,228,229,230],grace:[0,70,146],gracefulli:[43,55,78,120,131,132,146,171,172,226,227,241,257,278,282,283],grain:[22,171,175],grand:[184,185],granul:[2,229,230],granular:[22,181,208,267,273,274],graphic:[2,279,282,283],great:[171,182,183,193],greater:[4,55,133,201,202,203],greatli:[147,148,258,275,279,282,283],gregori:[171,275],grep:[5,36,162,171,172,214,224],grid:[171,172],grimm:275,gross:[282,283],ground:311,groundwork:146,group:[5,14,22,29,38,41,42,51,171,172,175,226,227,229,230,231,233,246,247,269,275,276,282,283,316],group_hndl:119,gt:[213,220],guarante:[13,15,62,121,171,172,241,258,261,279,282,283,285,289,316],guard:[112,146,161,171,172,182,231,232,287,291,292],guess:[171,172,275,276,287,291,292,304],guest:[22,93,231,232,233,260,273,274,275,276,282,283,285,287,291,292,316],guid:[22,41,171,172,231,232,237],guidelin:[21,138],guidinglight:10,guilherm:[171,219,220,231],gunk:[162,214],gupta:[147,148,161,164,184,185,275],gzip:[28,129,229,230],h2b:[258,279],h:[1,35,39,47,70,84,123,131,133,146,171,172,182,183,206,220,225,226,227,231,232,269,275,276,282,283,288,314],h_cppr:64,h_eoi:62,h_ipi:65,h_m_s_m:117,ha:[0,2,3,7,14,15,16,17,18,19,21,22,28,33,35,37,41,42,51,52,58,62,69,70,71,76,81,84,93,108,112,113,114,117,122,130,131,133,134,135,139,140,141,148,151,154,155,162,167,171,172,173,176,177,178,179,180,182,183,189,193,201,202,203,204,205,214,215,217,220,221,223,224,226,227,228,229,230,231,232,233,234,241,245,246,247,250,251,254,257,258,261,267,268,273,274,275,276,277,278,279,281,282,283,285,286,287,289,291,292,298,304,307,308,309,311,313,314,316,317],habanero:[4,136,145,161,184,185,202,203,220,279,282,283],hack:[171,172,182,183,224,229,230,231,236,246,247,250,261,281,282,285,286,287,291,292],hacker:[147,148,161,164,171,231],had:[42,76,132,147,152,171,172,184,185,200,202,204,217,226,228,229,230,231,232,233,246,247,258,259,275,276,279,280,282,283,291,292,316],hal:134,hal_success:134,half:[78,115,182,226,227,268,273,282,284,291,292,313],halfwai:122,halloran:[171,184,185,187,193,202,203,219,220,224,226,229,231,275],halt:[125,311,313,314],hammer:[202,203,261],hand:[2,135,226,231,232,273,291,292,311,313,316],handi:[171,172,291,292],handl:[2,15,16,21,37,38,41,42,43,59,68,70,75,78,82,109,110,117,119,120,131,133,134,144,146,147,148,149,151,157,160,161,169,171,172,173,182,183,184,187,193,202,203,204,207,209,212,217,219,220,224,226,227,228,229,230,231,232,233,245,248,251,255,258,261,272,273,274,275,276,279,281,282,283,285,286,287,288,291,292,301,311,315,316],handle_error:131,handle_hmi_except:[246,248],handler:[19,42,58,120,122,162,171,172,173,214,220,226,228,229,231,246,247,258,268,273,274,275,276,279,282,283,287,291,292,316],handler_address:42,handshak:[229,246,247],hang:[58,146,147,148,159,161,162,164,171,173,182,183,184,186,191,215,226,227,246,247,248,255,261,268,273,275,276,279,281,282,283,291,292],hank:[219,220],happen:[2,44,47,70,131,134,148,162,163,168,171,172,173,182,183,198,202,203,215,216,217,226,227,228,231,232,233,246,247,248,251,261,266,271,272,273,274,275,276,281,282,283,285,287,291,292,314,316],hard:[15,51,55,139,171,172,181,189,202,203,208,211,226,227,231,232,239,240,246,248,258,266,267,273,274,275,276,279,282,283,287,291],hardcod:[146,213,220,224,226,227,282,285],harden:[144,182,183,220,226,227],harder:282,hardlock:[258,279,282,283],hardlockup:[182,183,258,279,282,283],hardwar:[15,21,22,23,27,28,29,36,37,40,41,53,61,68,76,77,78,79,80,81,83,87,91,93,95,99,103,107,109,110,119,122,131,132,135,136,139,157,165,171,172,173,174,178,179,180,182,183,187,188,193,202,203,204,220,221,224,226,227,228,231,232,239,242,246,247,248,270,273,274,275,276,282,284,285,293,311,314,316],hardwir:146,haren:229,hari:[147,148,229],harmless:[146,147,148,171,172,182,183,202,203,224,241,246,247],has_deep_st:[171,172],has_slw:[231,232],has_wakeup_engin:[231,232],hash:[22,23,72,73,115,143,171,172,173,226,227,291,292,313,314],hash_prop:[246,247],hasn:[226,228,229,246,247,273,274,275,276,298,316],hat:140,have:[0,2,4,5,12,13,14,17,19,20,21,22,24,28,29,32,34,35,36,37,42,43,49,50,51,52,55,61,68,70,71,75,76,77,79,81,96,100,114,122,126,127,130,131,132,133,134,135,138,139,144,146,148,149,150,151,153,154,155,157,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,193,194,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,257,258,259,261,266,267,268,269,272,273,274,275,276,277,279,280,281,282,283,284,285,287,291,292,308,311,312,313,314,316],haven:[138,146,202,204,246,247,273,274,275,276,282,283,287,291,292],havoc:[182,183],hb:[2,220,246,247],hba:[275,276],hbrt:[70,111,128,144,161,171,172,201,226,227,231,232,255,273,274,275,276],hcode:[171,172,246,247,248],hdat:[2,34,40,133,171,172,177,182,183,194,201,202,203,218,219,220,221,222,224,226,227,228,229,230,231,232,233,238,244,246,247,250,257,259,273,274,275,276,280,282,283,291],hdat_i2c_info:[250,275,276],hdat_to_dt:[246,247,257,275,277],hdata:[133,171,172,174,175,180,220,221,222,224,226,227,228,229,230,231,233,246,247,250,257,273,274,275,276,277,282,283,288,296,299,301],hdata_to_dt:[220,224,226,227,229,230],hdatiplparm:[182,183],hdd:[275,276],hdec:[58,146,231,236,246,247,272,275,276],hdif_child:220,hdif_get_iarray_s:220,hdt:103,head:[58,133,141,162,171,172,184,185,214,231,246,247,261,281,282,283,285,302],header:[2,35,47,133,146,153,171,172,173,174,182,183,202,203,204,219,226,227,231,232,245,246,247,250,253,261,275,276,281,282,283,285,291,292,307,309,312,313,314],heap:[2,38,131,133,147,148,165,182,183,220,275,276,291,292],heap_bas:133,heap_pop:[291,292],heap_push:[291,292],heap_replac:[291,292],heap_siz:133,hear:[171,172],heartbeat:[162,164,193,215,226,227,231,232,246,247,288],heavi:[162,215,217,226,227,231,233,246,247],heavili:[109,135,231,232,275,276],heavyweight:[275,276],hegd:[147,148,161,171,184,185,193,202,203,204,219,220,224,226,229,231,275],hei:224,heighten:311,held:[113,146,161,171,172,184,185,193,208,231,232,243,254,261,273,274,275,276,277,286,291,292],heller:[219,224],hello:[220,246,247],hello_world:[145,147,148,171,172,193,220],help:[2,5,19,35,49,58,68,133,134,138,139,147,148,169,170,171,172,173,198,202,203,219,220,226,228,229,230,231,233,246,247,257,259,267,268,273,275,276,280,282,283,291,292],helper:[133,171,172,178,182,183,202,203,220,224,226,227,241,246,247,273,275,276],hemant:226,henc:[68,102,162,171,172,174,181,182,183,208,215,217,221,226,229,230,231,232,233,236,246,247,258,261,267,271,272,273,274,275,276,279,281,282,283,284,291,292],here:[2,18,22,29,37,51,73,131,132,133,139,141,162,171,172,178,182,183,184,185,202,215,221,226,227,229,230,231,232,238,246,248,257,258,259,266,273,274,275,276,277,279,280,282,283,287,288,291,292,316],herrenschmidt:[147,148,161,164,171,184,185,193,202,203,219,220,224,226,229,231,275],heterogen:22,heurist:[202,203,282,285],hex:[35,195,202,203,275,276],hexa:35,hexadecim:[2,4],hexdump:220,hexidecim:[275,276],hfscr:[21,22],hid0:[282,285],hid:[115,171,174,220,226,227,257,278,282,283,285],hidden:[171,172,316],hiearchi:88,hierarch:[182,183],hierarchi:[17,25,34,38,88,101,171,172,312,313],high:[28,41,68,70,100,118,129,139,157,171,172,187,217,224,229,230,231,232,233,272,275,276,282,283,313],higher:[52,101,132,202,203,226,228,246,247,248,312,316],highest:[13,121,226,227,229,230,246,247],highli:141,hijack:[171,172,231,232,246,247],hilari:[171,174],hile:[124,130,161,182,183,226,228,257,278,282,283],hint:[24,171,172,311],hiomap:[250,251,252,254,261,275,276,281,284,286,291,292],hiomap_c_clos:[258,279,282,283],hiomap_e_daemon_readi:[258,279,282,283],hiomap_e_flash_lost:[258,279,282,283],hiomap_queue_msg_sync:[261,281,282,283],hiomap_window_mov:[258,261,279,281,282,283],hir:[144,162,171,172,215,224,226,227],histor:[2,76,133,220],histori:[38,132],hit:[50,131,146,147,148,160,165,171,172,174,178,182,183,201,202,203,207,220,226,228,229,230,231,232,236,246,247,248,257,275,276,278,282,283,284,287,291,292],hmc:[20,47],hmeer:[58,220],hmer:[58,70,157,171,172,182,183,187,198,202,203,242,246,247,248,261,272,275,276,281,282,283,285],hmi:[38,42,70,146,154,157,159,169,170,173,176,178,180,182,183,187,195,196,202,203,204,220,226,227,228,231,232,234,236,248,249,261,268,272,273,274,275,276,281,282,283,284,285,287,291,292],hmi_debug_trigg:[246,248],hmi_event_handl:[261,281,282,283],hmi_tfmr_error:182,hnadl:224,hold:[1,35,58,113,122,162,171,172,181,182,183,207,208,214,220,221,225,245,246,247,256,266,273,274,275,276,278,282,283,291,292],holder:[226,227],hole:[171,172,182,183],homer:[2,14,171,173,182,183,220,221,224,229,230,231,232],hood:[231,232],hook:[35,135,146,161,181,208,220,226,227,261,267,273,274,281,282,283,311,313],hookup:[181,208,267,273,274],hope:[44,171,186,206,220,286,291,292],hopefulli:[146,206],horribl:124,host:[0,2,12,23,30,35,40,42,44,46,47,50,51,55,56,57,58,59,62,63,64,65,67,68,70,77,87,88,89,90,93,97,98,99,100,101,103,105,106,113,114,115,118,121,124,128,131,132,134,136,138,147,148,150,153,157,162,164,165,166,171,172,173,175,182,183,187,189,193,201,202,203,204,208,213,214,215,217,220,224,226,227,229,230,231,232,233,245,246,247,250,251,255,258,261,273,274,275,276,279,281,282,283,285,286,287,288,291,292,304],host_interfac:193,host_load_payload:[171,174],hostboot:[4,40,132,133,154,161,171,172,173,174,177,182,183,184,185,204,220,221,222,224,226,227,229,230,231,232,234,235,238,241,243,245,246,247,250,259,273,274,275,276,280,282,283,285,291,292,314],hostcc:225,hostinterfac:[171,172],hostservic:146,hot:[86,104,135,171,172,175,201,202,203,220,221,226,227,229,230,273,274],hotplug:[27,35,38,53,104,193,202,203,213,220,221,229,230,246,247,282,283,298],hour:[117,231,232,261,281,282,285],hour_minute_second_millisecond:117,how:[2,4,5,16,17,22,37,38,49,50,69,71,76,94,96,114,127,132,139,140,166,171,172,173,174,175,178,182,183,184,185,193,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,258,259,273,274,275,276,277,279,280,282,283,284,285,287,291,292,311],howev:[5,14,77,88,121,135,150,171,172,175,182,183,188,189,193,202,203,204,220,221,226,227,229,231,232,238,241,246,247,250,254,255,259,267,271,273,274,275,276,277,280,282,283,287,288,289,291,292,304,308,311,312,313,316],howto:38,hpc:[136,267],hpt:93,hr_min:[114,226,227],hreset:[135,213,220,229,230,275],hrfid:[282,285],hrmor:[202,203,231,232,246,248],hs:220,hservic:[255,275],hservice_memory_error:[181,208,267,273,274],hsprg0:[246,247],hsprg1:[246,247],hsrr0:[162,171,173,182,183,214,224],hsrr1:[147,149,162,171,173,182,183,214,224],hss:2,hssr0:[147,149],htaborg:72,htmght:161,html:[202,203],http:[36,132,133,136,138,140,155,171,172,176,205,219,220,221,222,224,225,226,227,228,229,231,232,246,247,256,275,278,282,284,291,292],hub:[83,103,224,275,276,282,283],hub_id:[42,83],huge:[147,148,149,182,183,226,228,275,276,298],hugo:[171,172],human:[21,22,132,134,226],humid:54,hundr:[171,172],hurt:[229,230],hv:[21,22,73,132,162,178,182,183,215,226,227,246,247],hvc0:[208,231],hvc1:[208,231],hvc:[193,202,203,226],hvsi:[217,231,233],hw:[2,23,47,68,105,108,133,146,147,148,149,153,157,158,159,160,162,167,168,171,172,173,174,178,180,182,183,184,185,186,187,190,191,193,194,196,197,201,202,203,206,212,213,214,215,220,221,224,225,226,227,229,231,232,233,234,236,237,238,239,240,241,246,247,258,261,262,268,269,270,272,273,274,275,276,279,281,282,283,284,285,287,288,289,291,292,295,299,301,306,316],hw_key_hash:314,hw_key_hash_s:314,hwcap:[21,22,180,182],hwclock:[162,215,226,227],hwirq:[91,202],hwmon:[19,171,172,175,229,230,242,246,247],hwpoison:[181,208,267,273,274],hwrng:28,hwsv:275,hygen:[281,282,283],hyp:[255,275],hypervisor:[21,22,33,35,37,38,42,68,70,130,157,169,171,175,182,183,187,231,232,246,247,257,261,278,281,282,283,284,285,316],hypervizor:164,hypothet:[21,141],i2c:[0,60,131,135,144,145,147,148,162,171,172,173,184,185,186,202,203,207,208,211,214,219,225,226,227,229,230,231,232,233,238,243,246,247,250,255,266,271,275,276,282,283,295],i2c_:[246,247],i2c_addr:[246,247],i2c_init:[171,173],i2c_port:[246,247],i2c_request_send:[271,275,276],i2c_run_req:220,i2cdetect:[211,220],i2cm:[202,203,246,247],i2cm_port:[246,247],i3f8:2,i5:35,i:[1,2,33,35,38,42,62,63,64,65,106,134,138,154,162,171,172,174,182,183,184,185,186,195,197,202,203,206,212,214,219,220,224,226,227,228,229,230,231,246,247,250,251,255,261,272,273,275,276,282,283,284,285,291,292,317],iamr:[226,227],ian:[161,184,185,193,219,220],ibm:[1,2,7,8,10,11,12,15,16,20,24,25,26,27,28,29,30,31,33,34,38,39,40,41,42,43,44,46,50,52,55,56,59,62,63,64,65,67,70,71,76,83,84,87,88,89,90,93,97,98,99,100,101,103,105,114,119,127,130,132,133,134,135,136,137,141,145,147,148,152,161,164,174,175,182,183,184,185,187,193,194,201,204,216,219,220,221,222,224,228,230,246,247,248,250,251,255,257,273,274,275,276,278,285,291,292,298,304,311,313,314,315,316,317],ibm_fsp_termin:[160,207,220],ibmer:140,ibmpowernv:[151,162,215,226,227,229,230],ic922:136,icp:[2,193],icswx:28,id:[1,2,8,9,18,19,20,24,26,27,28,29,30,33,34,35,42,49,50,51,52,60,67,70,72,73,74,75,83,84,85,86,91,94,96,102,104,129,132,141,146,154,162,171,172,173,174,182,183,184,185,191,193,194,202,203,206,214,220,224,226,227,228,229,230,231,232,246,248,258,268,273,274,275,276,279,281,282,283,287,291,292,316,317],idata:[171,172,226,227],idea:[42,171,172,226,227,246,247,267,273,274,316],ideal:[2,35,131,171,172,173,254,257,275,276,282,283,311,316],ident:[73,120,141,246,247],identif:[34,189],identifi:[10,13,14,18,19,22,33,35,39,47,50,51,53,68,69,102,104,109,119,129,143,154,162,171,172,215,231,233,268,273,274,275,276,291,292,314],idl:[48,145,146,147,148,171,172,202,203,220,221,226,227,229,231,232,246,248,268,273,274],idsel:69,idx:[231,233],ie:[0,1,2,13,73,182,183,224,226,227,228,229,230,241,268,273,275,276,286,291,292,316],ifdef:193,iff:[275,276],ignor:[4,5,22,41,55,56,68,70,71,78,93,104,108,117,121,162,171,172,191,193,202,203,204,215,220,221,224,226,227,229,230,231,233,236,246,247,272,275,276,282,284,287,291,292,316],ii:[38,136,164,282,283,285],iif:182,iii:[38,231],ijklmnopqrstuvwx:35,ili:19,illeg:[260,273,274],ilpc2ahb:[273,274],im:[291,292,298],ima_catalog:37,imag:[0,2,4,8,17,23,36,47,132,145,165,171,172,182,183,220,226,227,231,232,246,247,248,275,276,277,282,283,291,292,298,314],imc:[25,38,61,171,172,173,180,182,183,226,227,231,232,233,234,242,246,247,282,283,306],imc_dt_update_nest_nod:[171,172],imc_init:[180,246,247,306],imc_nest_chip:[171,172],img:[246,247],imit:70,immedi:[43,104,117,127,135,161,166,171,172,220,229,239,246,247,261,273,274,275,276,281,282,283,287,291,292,311,313],immun:[257,275,277],impact:[171,172,238,261,267,273,274,281,286,291,292],imped:[282,283],impend:[54,202,217,231,233],imperfect:[291,292],impi:[282,283],implement:[17,21,22,37,42,46,47,49,50,54,55,56,68,77,83,84,88,89,90,93,97,98,101,103,105,120,121,126,131,132,133,135,144,151,162,171,172,173,175,180,181,182,183,201,202,203,204,206,208,214,220,221,224,226,227,231,232,237,246,247,250,255,258,266,267,272,273,274,275,276,279,282,283,285,291,292,311,313,314,316],implent:[226,227],impli:[21,246,247,248,316],implic:[275,276,311],implicit:[22,160,258,279,282,283,316],implmeent:[246,247],implment:[226,227],importantli:[246,247,254,273,275,277],impos:231,imposs:[118,266,273,274,282,283,298],imprint:[219,314],improperli:313,improv:[102,139,146,153,161,162,166,168,173,176,177,178,179,190,191,199,202,203,204,205,207,211,215,217,220,224,226,227,229,230,231,233,234,248,251,257,258,269,275,276,277,278,279,282,283,291,292],in_be64:[287,291,292],inaccess:[17,220],inaccur:[171,175,226,227],inact:[171,172,246,248],inadequ:131,inadequaci:[246,247],inadvert:[171,172,241],inband:[47,202,203,209,229,230,231,235,246,247,291,292],inbox:139,inc:[133,213,220,291,292],incant:[226,227],incarn:[42,291,292],incas:61,incident:[246,247],incl:161,includ:[2,4,17,28,32,35,37,70,84,97,102,115,131,133,138,140,144,146,147,148,151,163,171,172,174,182,183,184,185,187,188,189,190,191,195,196,197,198,199,200,201,202,203,216,221,224,225,226,227,229,230,231,232,236,237,246,247,253,254,255,256,257,258,259,261,262,263,264,265,268,275,276,278,279,280,281,282,283,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,305,306,307,309,311,312,313],incom:[217,231,233],incompat:[22,202,204],incomplet:[54,134,171,172,225,226,227,231,232],inconsist:[275,276,299],incorpor:[132,140],incorrect:[43,67,72,76,113,122,171,172,193,194,200,202,203,220,224,226,227,228,229,254,275,277,291,292],incorrectli:[50,150,171,172,197,206,226,228,231,232,246,248,254,272,275,276,277,289],increas:[4,39,134,145,147,148,166,171,172,173,175,182,183,184,185,193,194,202,204,224,226,227,228,229,230,231,232,235,236,246,247,263,273,274,275,282,283,291,292,297],incred:[291,292],increment:[58,154,182,183,231,235,248,268,273,274,275,276],inde:[1,132,171,172,226,227,231,232,252],indefinit:[121,138,171,172],independ:[143,171,172,220],indetermin:311,index:[2,9,27,29,30,35,56,88,89,90,97,98,100,105,106,171,172,178,182,183,184,185,187,202,203,226,227,229,230,254,268,273,274,275,276,277,281,282,283,313,316],indic:[0,2,5,7,11,14,15,16,18,20,21,22,23,24,31,32,35,37,38,40,42,46,50,58,69,70,71,72,85,86,88,89,98,100,102,103,104,110,114,122,129,131,135,138,147,148,171,172,182,183,184,185,186,195,201,202,203,204,213,218,220,224,225,226,227,228,229,230,231,236,238,244,245,246,247,250,261,269,272,273,274,275,276,281,282,283,285,286,291,292,311,316],indicatg:316,indirect:[166,171,172,220,224,226,228,241,287,291,292],individu:[21,22,135,147,148,171,172,202,204,231,232,238,316],individud:316,indivisu:47,industri:[133,220],inf:[171,172,246,247,273],infer:[171,172,282,283,314],infinit:[153,161,171,175,246,247],inflight:[163,209,216,226,227,258,279],inflight_bt_msg:[258,279],info:[1,35,36,58,68,70,171,172,206,217,220,224,226,228,229,230,231,232,233,246,247,275,276,282,283,316],inform:[0,2,4,7,19,22,23,24,27,32,34,35,37,40,44,50,51,54,58,68,69,70,71,110,123,132,134,136,138,141,146,147,148,161,171,172,202,203,220,221,224,226,227,231,232,237,241,246,247,248,250,257,273,274,275,276,277,282,283,291,292,313,314,315,316],infrastrcutur:37,infrastructur:[61,141,181,202,203,204,208,220,229,231,232,246,247,267,273,274,282,283,284],ing:[50,171,172,181,208,267,273,274],ingrasi:136,inher:[229,230],inherit:[171,173],init:[0,6,37,61,70,133,171,172,173,174,178,182,183,184,193,202,203,204,220,221,222,224,226,227,228,229,230,231,232,234,236,237,238,241,246,247,248,251,255,261,268,271,273,274,275,276,280,281,282,283,284,285,287,291,292],init_16:226,init_5:226,init_all_cpu:[182,183],init_boot_cpu:182,init_chip:[226,227],init_cpu_thread:182,init_shared_spr:220,initalis:245,initi:[0,17,28,35,37,38,41,42,49,50,60,61,67,71,76,89,99,102,118,124,129,131,132,133,135,136,145,147,148,151,159,161,162,171,172,173,178,180,182,183,184,185,196,198,202,203,209,214,215,217,220,224,226,227,229,230,231,232,233,246,247,258,261,268,269,273,274,275,276,279,281,282,283,285,287,291,292,311,312,314,316],initialis:[0,35,41,171,172,180,182,183,221,224,226,227,246,247,261,273,275,276,277,280,281,282,283,285,287,291,292,301],initramf:[132,182,183,226,227,246,247],initramfs_load_bas:7,initrd:[7,226,227],inject:[82,150,166,198,217,226,227,229,230,231,233,246,247,261,272,275,276,281,282,285,287,291,292],inject_mce_step:[246,247],inject_mce_ue_on_addr:[246,247],inkl:[202,204],inlin:[106,288],inoper:150,input:[2,35,56,59,88,134,139,146,171,172,182,183,226,229,230,246,247,282,283,291,292],input_output:35,ins:[171,172],insan:[1,224],insert:[86,135,202,203,246,247,316],insid:[40,42,52,131,132,163,171,172,182,183,216,217,220,224,226,227,231,232,233,246,247,250,261,273,274,275,276,281,282,283,316],insist:224,insn:[180,182],inspect:0,inspir:[139,258,279,282,283],instal:[4,36,171,173,184,185,202,203,220,226,228,246,247,258,273,274,275,276,279,282,283],instanc:[28,33,129,146,171,172,226,231,235,246,247,273,282,291,292],instanci:220,instanti:[135,226,227,246,247],instead:[2,5,42,43,50,62,63,64,65,81,84,113,133,141,146,171,172,173,174,175,178,179,180,181,182,183,193,194,195,201,202,203,204,207,213,216,220,221,226,227,229,231,232,237,238,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,305,306,307,309,316],instr:[282,283],instruct:[0,13,21,22,28,37,40,43,124,147,148,153,162,166,171,172,174,193,214,215,226,227,231,232,241,246,247,260,273,274,275,276,282,283,291,292,315],insuffci:50,insuffic:226,insuffici:[54,67,83,118,171,172,226,228,268,273,287],int16_t:54,int32_t:[113,122,224],int64:[43,72],int64_t:[42,44,45,46,47,48,49,50,52,53,54,55,56,57,58,62,63,64,65,67,68,69,71,76,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,111,112,113,114,115,116,120,121,122,123,124,125,127,316],intc:[62,63,64,65,316],integ:[131,226,227,291,292,295,307,309,316],integr:[114,133,171,172,213,220,238,261,273,274,275,276,286,291,292],intend:[0,4,17,22,35,88,113,202,203,220,224,226,227,282,283,291,292,311,316],intens:193,intent:[17,171,172,174],intention:[291,292],interact:[38,52,73,150,162,171,172,184,185,214,220,221,225,275,276,282,283,311],interconnect:[41,282,283],interest:[136,182,183,202,226,227,246,247,273,274,314],interfac:[6,9,10,19,21,24,27,28,38,42,52,58,61,67,130,132,135,146,147,148,161,171,172,175,184,185,201,202,203,209,219,221,226,227,229,230,231,232,242,246,247,250,258,273,274,275,279,282,283,287,291,292,316],interfer:[282,283],interlav:2,interleav:[2,220],interlock:[213,220],intermedi:[229,230],intern:[16,35,42,46,50,54,77,83,120,127,134,135,144,202,203,220,226,228,231,232,246,247,266,271,273,274,275,276,291,292,298,304,311,313,316],internal_create_group:[231,233],interpret:[55,171,172,202,204,226,227,271,275,276,282,285,291,292,314],interrupt:[2,5,27,30,33,35,37,38,40,42,56,57,59,62,63,64,65,70,97,121,122,130,132,134,144,146,147,148,151,153,157,160,164,169,171,172,173,178,182,183,187,193,197,202,203,207,220,224,226,227,229,231,232,241,245,246,247,248,257,258,261,270,272,275,276,278,279,281,282,283,284,285,291,292,310,311,313,315,316],interrupt_source_numb:134,interrupts_properti:[182,183],intersect:224,interupt:224,intial:311,intialis:[182,183],introduc:[42,49,58,81,131,133,143,147,153,161,162,168,169,171,172,178,182,183,201,202,203,205,215,216,220,221,226,227,229,230,246,247,257,258,269,275,276,277,279,282,283,291,292],introduct:42,introductuion:[226,227],invalid:[45,48,49,50,52,53,58,60,67,70,71,74,75,77,78,79,80,81,82,83,87,91,92,95,96,99,100,102,106,109,110,112,120,124,127,129,130,131,144,145,147,148,171,172,173,182,201,226,227,231,232,241,242,246,247,250,257,258,272,275,276,279,282,283,285,287,291,292],invalu:139,invent:[132,282,285],inventori:[291,292],invers:[188,273,274],invis:[246,247],invoc:[61,275,282,283],invok:[28,35,44,171,172,226,227,246,247,280,282,283,285,291,292],involv:[22,44,101,138,139,166,171,173,182,183,229,230,250,275,276],io:[2,36,69,83,90,93,103,171,172,241,279,282,283,285],ioa:82,ioctl:[224,229,230],ioda2:[27,29,56,88,89,90,97,101,134],ioda3:30,ioda:[38,88,89,100,103,105,106,226,227,268,273],iohub:[171,175,275,276,282,283],iommu:[287,291,292],iopath:220,ioslot:[231,232],iotyp:84,iov:[147,149,226,227,261,281,286,291,292],iovalid:[171,172,240],iovpd:[282,283],ip_tabl:[162,215,226,227],ipi:[171,172,220,224,231,232,246,247,316],ipl:[40,44,47,51,130,145,146,171,172,173,182,183,202,203,204,218,220,224,231,232,244,273,274,293,296],iplparams_sysparam:[171,172],ipmi:[1,20,35,38,67,77,130,131,144,146,147,148,149,152,162,164,166,171,172,182,183,202,206,208,209,215,217,220,226,227,228,229,230,231,232,233,246,248,250,251,252,254,256,257,261,263,272,275,276,278,281,282,283,284,286,288,290,294,295,300],ipmi_chassis_control:[258,279,282,283],ipmi_devintf:[162,215,226,227],ipmi_dt_add_bmc_info:[275,276],ipmi_elog_commit:35,ipmi_fw_pci_init:220,ipmi_get_bt_cap:[258,279,282,283],ipmi_hiomap_handle_ev:[258,279,282,283],ipmi_hiomap_read:[258,279,282,283],ipmi_hiomap_writ:[261,281,282,283],ipmi_msg:67,ipmi_msghandl:[162,215,226,227],ipmi_partial_add_esel:206,ipmi_powernv:[162,215,226,227],ipmi_queue_msg_sync:[254,258,261,263,275,276,279,281,282,283,286,291,292],ipmitool:209,ipol:70,ipoll_ack:70,ipoll_mask:70,ipoll_statu:70,ipr:[162,215,226,227],ir:[162,215,226,227,246,247],irc:138,irq:[2,33,157,171,172,187,193,197,202,203,208,220,224,226,227,231,232,234,241,245,275,281,282,283,306,315,316],irq_happen:[231,233],irqchip:[130,182,183,202,203],irqdomain:202,irqf_shar:193,irrespect:[134,182,183,220,251,268,273,274,275,276,282,283,291,292],irrit:[246,247],is_fsp_system:[246,247],is_mambo_chip:146,isa:[2,13,21,22,122,132,194,275,282,283],isav3:219,isdimm:220,isn:[2,57,59,85,86,104,121,133,135,139,145,171,172,182,183,184,185,188,213,220,221,226,227,228,229,230,231,232,241,245,246,247,252,257,273,275,276,278,279,282,283,285,291,292,316],isol:[58,68,171,172,220,226,228,287,291,292],isra:[246,247],issu:[44,70,73,77,79,91,93,95,117,133,134,138,146,147,148,151,154,160,162,168,169,171,172,173,174,175,176,178,181,182,183,188,193,194,195,201,202,203,205,208,213,214,215,217,219,220,221,222,224,225,226,227,228,229,230,231,232,233,235,238,241,242,246,247,248,250,256,258,261,266,267,268,269,272,273,274,275,276,278,279,281,282,283,284,285,286,287,288,291,292,313,316],istep:[171,174],isync:[171,172,241],it_page_shift:106,item:[178,182,183,226,227,317],iter:[118,171,172,174,224,231,232,246,247,278,307,309,311],its:[1,2,7,14,17,35,40,53,58,70,71,76,78,84,102,121,131,133,135,138,139,171,172,173,182,183,184,185,201,202,203,220,221,226,227,229,230,231,233,238,246,247,258,269,272,273,275,276,279,282,283,287,291,292,314,316],itself:[2,36,68,114,131,171,173,182,183,193,202,203,220,224,226,228,229,230,246,247,253,260,261,266,273,274,281,282,285,291,292,314,316],iv:[38,153,171,172,241],ivalid:66,ivc:[157,187],ivt:[157,187,316],ivt_addr:134,ivt_len:134,j:275,jack:[202,203,219,220],jain:[171,184,185,187,193,226,231,275],jan:262,jankin:275,januari:[145,154,155,160,162,212,218,244,305],jeff:224,jefferi:[226,231,275],jenkin:[171,231,233,275],jennif:[171,275],jeremi:[147,148,164,171,184,185,193,202,203,219,220,226,231,275],jessi:[184,185,226,228],jha:[171,275],jiffi:[217,231,233],jim:[202,224],jitindar:[171,193,202,203,226,231],jitter:[133,254,275,276],job:[171,172,175,202,203,220,229,230,241,246,247,272,273,275,276],joel:[147,148,164,184,185,187,193,202,203,219,220,226,231,275],john:[164,184,185,231],join:138,jona:[147,148,161,171,184,185,193,202,203,229,231,275],js:[171,172],json:220,juli:[148,158,159,190,191,193,194,226,227,228,229,230,268,269,273,275,276,277,287,291,292,300,307,309],jump:[133,226],jumper:[23,171,172,220],june:[189,190,214,215,274,290,291,292,299,306],junk:[246,248],junkcod:229,just:[1,2,16,35,42,43,58,108,130,133,138,141,147,148,162,171,172,174,175,177,180,182,183,193,202,203,204,215,220,221,224,226,227,228,229,230,231,232,246,247,251,255,257,261,266,272,273,274,275,276,279,281,282,283,286,287,291,292,298,311,314,316],just_pol:63,justifi:139,k0:[224,275],k80:[147,148],k:[3,37,147,148,161,171,172,184,185,193,202,203,291,292,314],kamalesh:[147,148,193],kardashevskii:[171,219,220,224,231,275],kcore:36,kdump:[40,61,147,148,171,172,229,230,260,261,281,282,285],keen:1,keep:[1,2,39,44,55,109,132,139,146,162,171,172,182,183,213,215,217,220,226,227,228,229,230,231,233,238,246,247,261,275,276,281,282,283,287,291,292,316],kei:[17,23,73,118,171,172,173,193,219,304,313,314],kek:312,kennington:231,kept:[2,275,276,313],kernel:[2,5,7,13,14,17,22,23,24,31,32,37,40,41,42,43,50,53,70,71,106,118,128,129,130,132,139,140,145,146,147,148,149,150,153,154,155,160,161,162,169,171,172,175,177,178,181,182,183,193,201,202,203,204,208,213,215,217,220,224,226,227,228,229,230,231,232,233,243,245,246,247,248,251,257,258,260,261,267,268,269,272,273,274,275,276,278,279,281,282,283,285,287,291,292,311,312,313,315],kernel_command_lin:[202,204,206],kernel_entri:[275,276],kernel_kexec:[231,233],kernel_load_bas:[7,182,183],kerr:[147,148,164,171,184,185,193,202,203,219,220,226,231,275],ketchup:141,kexec:[2,50,51,61,124,125,129,132,159,171,172,174,191,193,226,227,228,229,230,231,233,261,268,273,274,281,282,285,287,291,292,313,316],kexec_cor:[231,233],key_buf_s:118,key_len:118,key_length:118,key_siz:118,keyword:[2,39,220,268,273,301],kick:[5,96,171,172,231,275,276],kill:[106,181,208,260,267,272,273,274,275,276],kill_typ:[106,272,275,276],killer:[179,182],kind:[13,35,50,182,183,220,291,292],king:[219,220],kink:202,kkkk:35,kmsg_dump:[261,281,282,283],kn:[291,292],knob:[134,137,251,275,276],know:[2,12,22,42,62,63,64,65,68,106,128,131,132,162,166,171,172,173,182,183,184,185,189,193,202,203,213,220,224,226,227,228,229,230,231,246,247,248,259,267,269,273,274,275,276,280,282,283],knowledg:[138,171,172,202,203],known:[0,12,134,144,146,162,171,172,198,202,203,213,220,226,227,231,232,233,241,246,247,250,252,258,275,276,279,282,283,285,314],kobylak:[171,184,185,275],krenn:219,kthread:[217,231,233,261,281,282,283],kudo:[171,172,182,183],kumar:[184,185,226],kvm:[93,103,134,171,172,226,227,228,231,233,257,273,274,275,276,278,282,283],kworker:[217,231,233],l0:[134,229,230,287,291,292],l142:226,l1:[226,227,275],l2:[2,221,275,291,292],l2cac_flush:275,l2cerr:275,l2misc:275,l3:[2,153,221,275,291,292],l3_misc:275,l3_prd_purge_req:275,l3_prd_purge_ttyp:275,l3cerr:275,l:[1,35,202,203,212,220,229,230,273,274,278,288],la:[246,247],lab:[182,183,226,227,261,273,274,275,276,281,282,285],label:[16,19,31,34,135,171,174,212,220,221,226,231,232,246,247,256,259,275,276,278,280,282,283],lack:[21,131,226,227,261,291,292,312],lai:[146,147],lan:1,landau:[171,172],lane:[2,27,29,30,135,171,172,213,220,226,228,229,230,238,275,276,282,283,287,291,292],lane_eq:2,laptop:220,larg:[41,118,133,136,146,147,148,171,184,185,221,224,229,230,231,269,270,272,275,276,282,283,285,304,308,313],larger:[17,39,55,88,118,205,219,220,229,230,257,269,275,276,278,282,283,291,292],largest:[171,175,224,316],larson:[147,148],last:[14,35,41,42,140,147,149,171,173,180,184,185,186,193,201,202,203,206,219,220,221,226,228,246,247,271,272,273,274,275,276,278,281,282,283,285,291,292,313],last_comp_vers:[226,227],latch:[121,135,220,246,247,268,273,275,276],late:[0,202,203,226,228,273],latenc:[13,52,153,171,172,178,182,183,229,254,269,275,276],later:[2,7,28,30,33,35,42,43,45,68,70,131,134,151,162,180,181,203,208,213,217,220,226,227,228,229,230,231,232,233,239,240,245,246,247,258,273,274,275,276,279,282,283,287,291,292],latest:[14,162,171,172,208,212,215,220,226,227,231,237,275,276,277,282,283],latter:[171,172,180,202,203,246,247,314],launch:273,layer:[58,70,132,138,171,172,182,183,220,261,281,282,283,291,292,316],layout:[24,38,41,119,171,172,219,229,231,232,257,259,275,277,280],lbu:60,lc921:136,lc922:136,lc:[136,246,247],lcd:[12,127],lcov:36,ld:[282,285,291,292],ldbar:37,le:[130,147,148,162,171,184,185,193,202,203,215,219,220,226,227,229,246,247,275],lead:[4,147,148,149,159,161,162,164,171,172,180,181,182,183,189,193,195,196,202,203,204,207,208,213,214,220,221,225,226,227,231,232,234,245,246,247,273,274,281,282,283,291,292],leak:[147,148,156,182,183,184,221,226,231,233,258,279,282,283,285,307,309],least:[2,39,41,49,55,70,130,138,171,172,182,183,219,220,224,226,227,228,246,247,257,273,274,275,276,277,282,283,291,292,307,309,316],leav:[0,171,172,174,182,183,184,185,198,202,203,221,226,227,241,242,246,247,268,273,274,282,283,286,291,292,311,316],led:[5,34,38,42,135,145,146,147,148,168,182,183],led_mask:68,led_valu:68,leds_powernv:[162,215,226,227],left:[4,22,121,132,146,171,172,273,274,279,282,283,291,292,316],legaci:[193,316],legit:[171,172],leitao:[202,203],lemerrormask:84,lemfir:84,lemwof:84,len:[17,20,35,53,84,171,173,231,232],length:[12,33,41,49,50,53,54,67,77,118,130,171,172,202,203,221,231,232,257,275,276,282,283,287,291,292,313],leoluo:202,less:[4,21,84,118,133,141,171,172,182,183,193,202,203,217,220,224,226,227,231,232,233,246,247,261,275,276,281,282,283,284,291,292],lesser:[21,22,258,279,282,283],let:[162,171,172,177,179,182,183,202,203,215,217,220,226,228,231,232,233,240,241,246,247,248,250,257,258,261,273,274,275,276,279,281,282,283,287,291,292],letter:4,level:[2,8,14,17,21,22,31,33,38,88,118,123,128,133,144,146,171,172,173,175,182,183,195,197,202,203,219,220,223,224,226,227,228,229,230,231,232,236,238,246,247,248,257,272,273,274,275,276,278,282,283,288,291,292,312,313,316,317],lexic:4,li:[202,203,275],liauw:[219,220],lib:133,libc:[133,139,144,145,202,203,220,291,292],libcrypto:275,libfdt:[133,291,292],libff:[184,202,204,227,246,247,281],libflash:[133,146,147,148,176,182,183,184,185,192,193,202,203,204,206,217,219,220,224,226,229,230,231,232,250,251,252,254,258,261,273,274,275,276,277,278,279,281,282,283,284,287,291,292],libgcc:153,libpor:[133,231,232],librari:[22,23,38,133,171,172,202,203,246,247,273,274,275],libstb:[23,38,133,171,172,173,182,183,202,203,204,219,225,266,273,274,295],libtool:192,libvirt:[287,291,292],libxz:133,licens:[20,38,138,298],lid:[36,47,133,135,146,182,183,202,203,220,226,227,229,230,246,247,250,254,275,276,277,281,282,283,291,292],life:[139,141,261,275,276,281,282,285],lifecycl:[8,38],lifetim:[171,172],lift:[226,227,228],light:314,lightpath:10,like:[1,8,10,13,22,26,29,36,39,42,43,44,50,51,58,70,76,90,93,103,106,117,125,131,133,134,135,139,141,146,147,148,162,171,172,174,178,182,183,184,185,189,193,194,201,202,203,215,217,220,224,226,227,228,229,230,231,232,233,246,247,248,254,256,258,261,271,272,273,274,275,276,277,278,279,281,282,283,284,285,291,292,311,313],limit:[2,15,35,50,51,70,75,88,109,110,131,132,139,147,149,160,164,165,171,172,179,182,183,202,203,207,208,217,220,221,226,227,231,232,233,236,243,246,247,258,265,279,282,283,284,285,305,313,316],line:[12,62,76,102,127,138,140,147,148,153,161,164,172,173,174,182,184,185,187,193,195,203,227,232,265,266,273,274,276,281,282,283,287,291,292,303,306,316],line_len:127,linear:[171,172,226,227,282,285],linimon:229,link0:[246,247],link1:[246,247],link:[22,27,29,35,41,121,135,136,144,146,147,148,151,153,159,162,168,171,172,178,180,182,183,193,196,201,202,203,213,214,215,217,220,221,224,226,227,228,229,230,231,232,233,234,236,239,240,246,247,250,251,258,261,268,269,271,273,274,275,276,277,279,281,282,283,284,285,287,288,291,292,311],linker:[182,183,282,285],linkstat:[213,220],linkstatu:84,linsym:[225,226,227],linux:[2,4,5,7,8,9,10,15,19,20,21,22,23,27,31,32,34,35,36,40,41,42,43,45,50,71,78,81,106,108,130,132,133,134,136,138,139,140,146,147,148,151,153,154,164,165,166,168,171,172,175,182,183,193,194,201,202,203,204,217,219,220,222,224,225,226,227,228,229,230,231,232,233,236,238,246,247,248,251,255,257,260,261,267,272,273,274,275,276,277,278,281,282,283,285,291,292,316],lippert:[171,229,231],lirq:316,list:[2,8,10,13,14,21,22,24,35,37,38,42,47,50,67,76,77,107,118,130,131,132,138,139,140,144,146,159,165,168,171,172,173,175,178,182,183,191,192,202,203,220,221,224,226,227,229,230,231,232,233,246,247,258,271,275,276,278,279,282,284,291,292,310,311,312,316],list_check:[273,274],list_check_nod:[273,274],list_del:[278,288],list_head:311,list_nod:35,list_pop:278,list_top:[171,172,278],listen:[250,273,274],listinfo:138,lite:[231,232,267,273,274],liter:81,littl:[132,161,171,172,193,229,230,246,247,248,256,273,275,276,278,282,283,287,291,292,298],little_endian:298,live:[133,231,232,298],ll:[140,171,172,175,220,226,228,231,236,246,247,250,254,273,274,275,276,281,282,283,291,292],llll:35,llx:126,lnksta:220,lo:35,load:[0,7,13,17,40,70,71,93,99,132,133,144,146,157,171,172,173,174,178,182,183,187,193,202,203,204,220,226,227,229,230,231,232,234,236,241,246,247,250,254,261,272,273,274,275,276,277,281,282,283,286,287,291,292,306,311,313],load_and_boot_kernel:[171,174,225,246,247,261,273,274,280,281,282,283],load_capp_cod:[250,275,276],load_capp_ucod:[250,275,276],load_initramf:[246,247],load_kernel:[246,247],load_pm_complex:[171,172],load_reg_addr:[282,285],load_result:[226,227],load_wait:[171,172,241],loader:[17,132,291,292],loc:[26,34,171,172,182,183,246,247,249,272,275,276,282,285],loc_cod:[68,282,283],local:[68,162,171,172,182,215,231,232,241,251,275,276],local_alloc:[275,276],localhost:[231,232],locat:[1,5,10,22,28,34,37,40,68,88,103,133,134,135,147,148,171,172,187,193,220,221,226,227,229,230,231,232,241,246,247,249,268,273,274,275,276,281,282,283,285,291,292,311,316,317],lock:[61,113,122,133,145,146,160,161,162,171,172,178,181,182,183,193,207,208,211,212,214,220,225,226,227,229,231,232,233,238,243,245,246,247,255,256,261,266,273,274,275,276,278,279,282,283,286,291,292,306,316],lock_cal:[273,274,275,276],lock_depth:[171,172],lock_error:[256,278],lockabl:312,locks_held:278,lockup:[134,162,169,182,183,213,215,220,226,227,228,231,232,233,246,247,248,282,283],lof:220,log2:316,log:[2,5,32,38,42,44,50,68,83,117,123,125,126,134,144,145,146,147,148,149,153,155,156,157,158,162,166,171,172,173,175,182,183,184,186,187,191,193,195,196,198,200,201,202,203,214,215,217,220,224,226,227,228,229,230,231,232,233,236,246,247,248,249,251,254,261,263,272,273,275,276,277,281,282,283,284,287,291,292,296,297,305,314],log_add:[226,227],log_add_sect:35,log_append_data:35,log_append_msg:35,log_commit:35,log_data:288,log_id:35,log_po:[226,227],log_simple_error:[35,273,274],log_siz:35,logger:184,logic:[17,28,37,40,58,157,159,171,172,182,183,187,191,193,196,202,204,220,226,227,229,230,231,236,242,246,247,258,275,276,279,282,283,285,289,291,292,311,313,316],login:[226,227],lombard:[171,226,231,275],longer:[42,50,108,130,140,146,171,172,174,178,182,183,184,185,193,194,202,204,220,224,226,227,228,229,230,231,232,246,247,248,250,273,274,275,276,279,282,283,288,291,292,316],look:[4,5,6,12,29,35,68,70,76,134,136,141,162,171,172,174,182,183,184,185,202,203,204,215,217,220,224,225,226,227,229,230,231,233,246,247,248,251,256,258,271,272,273,274,275,276,278,279,282,283,291,292],lookup:[73,171,172,202,203,225,246,247,275,276,282,283],loop:[43,44,125,153,161,171,172,175,180,182,183,226,227,241,246,247,254,261,271,272,273,274,275,276,278,281,282,283],loos:[171,172,181,208,231,232,267,273,274],lop:[257,282,283],lopapr:[22,76],lose:[133,171,172,220,231,232,236,291,292,316],loss:[13,35,123,224,231,232,313,316],lost:[58,60,151,157,171,172,187,202,204,221,224,238,242,246,247,257,278,282,283,313,316],lot:[133,157,165,171,172,176,187,202,203,221,246,247,255,274,275,276,282,283,291,292,298],loudli:252,low:[13,69,70,103,123,128,133,144,146,202,203,226,227,231,232,275,276,282,285,288,291,292],lower:[2,101,162,171,172,174,214,226,228,240,243,271,273,274,275,276,282,284,316],lowercas:[273,274],lowest:[75,121,226,227,229,230,273,274,282,284,291,292],lpar:[73,182,183,282,283],lparid:[73,282,283],lparshort:[182,183],lparshortid:[178,182,183],lpc:[2,52,69,75,147,148,164,171,172,193,196,202,203,220,226,227,228,231,232,245,246,247,250,258,273,274,275,276,279,282,283,284,285,291,292,295,317],lpcr:[73,220],lpcr_pecedh:[257,278,282,283],lpes1:220,lpfc:[162,215,226,227],lpid:[28,73,229,230,246,247,282,283,287,291,292],lr:[162,171,173,178,182,183,214,215,224,226,227,231,233,246,247,254,261,275,276,281,282,283,285,291,292],lsb0:21,lseek:[291,292],lsi:[41,220,316],lspci:[150,154,164,213,220,282,285],lsprop:[171,172,174,229,230,231,232],lsu:[182,183],ltc:[145,171,172],ltssm:[134,229,230,287,291,292],luck:[271,275,276],lucki:[171,172,202,203,287,291,292,298],luckili:[202,204,246,247],lunch:[162,214,224],lxpvd:[282,283],lxvpd:[282,283],ly:[14,282,283],m32:[171,172,238,246,247],m64:[30,147,149,202,204,246,247],m:[171,178,182,183,206,246,247,275,276,291,292],mabi:[147,149],machin:[2,4,12,22,30,35,36,38,40,42,44,50,68,94,96,124,127,132,133,134,135,136,144,145,146,152,154,161,165,171,172,173,178,182,183,184,185,189,195,197,202,203,204,206,211,213,220,222,224,226,227,228,229,230,231,232,239,246,247,248,250,251,255,257,258,259,261,271,273,274,275,276,278,279,280,282,283,285,287,291,292,316],machine_kexec:[231,233],macro:[35,171,172,226,227,246,247,273,288,289,291,292],macronix:[1,147,148,171,172],made:[2,5,13,19,22,48,50,74,96,113,123,132,133,139,148,171,172,182,183,217,220,224,231,232,233,253,255,258,259,261,272,275,276,279,280,281,282,283,285],madhavan:[171,226,231,275],magic:[47,133,171,172,202,203,226,227,246,247,250,275,276,291,292,313],mahesh:[147,148,164,171,184,185,187,193,202,203,219,220,226,229,231,275],mai:[0,1,4,8,14,15,16,17,20,21,22,29,31,35,36,41,42,43,44,47,50,51,54,55,58,61,70,73,77,79,88,93,105,109,110,114,115,117,118,121,122,124,126,131,132,133,134,135,137,138,140,151,157,161,162,171,172,173,174,175,177,181,182,183,184,185,187,188,189,194,205,208,213,215,217,219,220,223,224,225,226,227,228,229,230,231,232,233,238,243,245,246,247,248,249,255,258,260,261,266,267,268,271,272,273,274,275,276,279,281,282,283,284,285,286,288,291,292,293,308,310,311,312,313,316],mail:[138,139,144],mailbox:[35,250,258,275,276,279,282,283,284],main:[28,37,119,132,133,140,141,171,173,175,181,182,203,226,228,229,230,246,247,304,311],main_cpu_entri:[133,182,224,226,227,272,273,274,275,276,281,282,283,306],mainli:[133,171,173,219,220,221,222,224,225,227,230,273],maintain:[1,5,15,35,54,68,129,133,138,139,140,141,157,171,172,173,174,175,182,183,187,202,203,204,205,206,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,268,273,274,275,276,277,282,283,284,285,291,292,316],mainten:[38,42,70,139,157,164,169,182,183,187,231,232,246,247,261,281,282,285],major:[132,147,148,182,183,201,202,204,248,257,278,282,283,310,313],make:[2,21,22,36,40,44,58,62,63,64,65,109,113,129,130,132,138,139,141,145,146,147,149,151,154,158,161,162,171,172,173,175,179,182,183,184,185,189,190,193,202,203,204,212,215,220,224,226,227,228,229,230,231,232,233,241,246,247,248,250,253,257,258,259,261,263,266,267,273,274,275,276,279,280,281,282,283,285,286,291,292,297,298,307,309,314,316],makefil:[145,147,149,160,171,174,187,191,194,202,203,212,220,246,248,273,275,277,287,291,292],makr:[147,149],malform:[17,229,230,258,279,282,283,311,312],malfunct:[58,154,157,187,193,220,226,228,272,275,276,282,283],malici:[0,182,183],malloc:[39,165,282,285],mamatha:[187,193],mambo:[36,144,145,146,147,148,161,171,172,173,182,183,194,219,220,221,224,225,226,227,231,232,246,247,248,273,274,282,283,285,291,292],mambo_binari:220,mambo_numa:[171,172],mambo_util:[146,220,246,247],man:[171,172],manag:[14,16,20,22,35,38,47,58,109,132,134,135,171,173,181,202,203,208,220,221,231,232,255,267,273,274,275,291,292,310,316],mandatori:[2,171,172,241],mangl:[57,121,220,316],mani:[2,20,22,50,52,69,94,96,114,128,139,146,147,148,165,178,182,183,184,185,199,202,203,226,228,231,232,246,247,250,274,275,276,291,292],manifest:[171,226,228,229,230,268,273],manipul:[133,171,172,193,224,240,273,274],manner:[21,226,227,246,247,311,313],manual:[115,133,171,172,182,183,220,229,230,258,273,274,275,276,277,279,282,283],manufactur:[23,26,34,128,136,141,171,172,196,202,203],map32:88,map:[1,8,19,30,36,38,41,88,89,90,97,100,105,121,133,134,135,144,146,147,149,155,171,172,182,183,184,185,193,194,198,202,203,220,222,225,226,227,229,230,238,246,247,250,273,274,275,276,282,283,285,287,291,292,299,316,317],map_pci_dev_to_slot:[182,183],map_pe_dma_window:88,map_pe_mmio_window:90,mar:[139,287],march:[155,156,157,176,177,178,183,184,185,186,190,192,193,220,258,259,263,279,280,283,296,297],margin:[134,182,183,251,275,276],mark:[81,160,171,172,181,182,183,198,202,203,208,219,220,226,227,229,230,231,233,241,246,247,248,261,267,273,274,275,276,277,281,282,283,284,285,287,291,292],mark_write_eras:[226,227],martha:[171,172],mask:[5,21,22,27,29,30,58,68,75,82,121,134,137,157,171,172,174,182,183,187,220,226,227,231,232,241,246,247,248,249,251,271,275,276,282,283,287,291,292,316],master:[0,2,58,60,133,139,140,141,153,162,171,172,214,219,223,225,226,227,229,231,232,233,236,238,245,246,247,266,273,274,291,292],mata:[229,230],match:[2,9,28,51,52,88,103,105,118,129,145,146,161,166,171,172,174,175,182,183,189,193,201,220,224,226,227,228,229,230,231,232,235,237,246,247,248,254,261,268,273,274,275,276,277,281,282,283,286,291,292,313,316],math:[22,171,173],matrix:[246,247],matt:[219,220,226],matter:[4,171,172,202,204,258,279,282,283],matur:[202,204],mavinakayanah:[147,148,171,184,185,219,220,224,226,229],max:[15,17,54,60,70,134,147,148,171,172,173,182,183,220,221,229,230,251,258,266,273,274,275,276,279,282,283,287,289,291,292],max_eq_count:[171,172],max_led_typ:68,max_lin:275,maxim:220,maximis:[41,275,276],maximum:[13,14,15,17,52,54,55,68,75,102,110,118,171,173,182,183,193,201,229,230,246,247,268,269,273,275,276,282,283,311],maxmimum:316,maxpayloads:[261,281,286,291,292],mayb:[81,202,204,248],mbedtls_sha512:[171,172],mbox:[35,47,68,157,162,163,171,172,187,193,215,216,217,220,224,231,232,233,250,273,274,275,276,279,282,283],mbox_default_poll_m:[171,172],mbox_protocol:[226,227],mboxbridg:[226,227],mboxd:[258,279,282,283],mbt:[246,247,268,273],mc:[2,24,26,171,172,209],mca:[26,171,172],mca_id:[26,171,172],mcbist:[26,171,172,257,275,276],mcbist_id:[26,171,172],mcd:[171,172,226,227,238],mce:[22,171,172,173,182,183,246,247,272,275,276,282,283],mclemor:[171,193],mconfig:[291,292],mcs3:24,mcs_id:[26,171,172],md:[139,220,226,227],mddt:[40,71],mdelai:[217,231,233],mdrt:40,mdst:[40,71,194],mdt:[171,172,238],me:[138,162,171,173,178,182,183,215,224,226,227,231,232,246,247,275,276,282,283],mean:[2,19,22,50,58,62,70,86,106,121,132,139,140,141,146,147,149,154,171,172,178,182,183,217,219,220,224,226,227,229,230,231,232,233,241,246,247,250,254,260,272,273,274,275,276,277,278,282,283,287,291,292,298,311,316],meaning:[246,247,275,276,282],meant:[125,159,189,196,246,247,275,276,316],meantim:[171,172,202,204,220],measur:[13,171,172,173,202,203,204,205,275,277,314],mechan:[2,41,51,146,171,172,220,224,226,227,229,230,231,234,282,283,311,313],media:[171,172],medium:130,mellanox:[102,147,148,182,183,193,220,226,227,258,269,275,276,279,282,283,287,291,292],mem:[19,109,133,182,183,202,203,220,226,229],mem_addr:89,mem_high_addr:134,mem_low_addr:134,mem_map:39,mem_region:[182,183,202,203,220,224,226,228,275,276],mem_region_init:[226,227],mem_siz:[171,172],member:[70,194,288,291,292],memblock_reserv:[181,208,267,273,274],memboot:146,memcon:5,memcpi:[70,76,246,247,281],memcpy_mcsaf:[246,247],memori:[1,2,3,5,7,17,21,22,23,24,25,28,32,34,36,38,40,49,50,51,60,61,67,69,70,71,74,75,76,77,85,86,88,89,90,93,103,104,107,115,118,119,127,131,132,134,146,147,148,156,165,168,171,172,173,174,175,180,181,182,183,184,185,193,194,199,200,202,203,208,213,220,221,224,226,227,228,229,230,231,232,233,234,238,246,247,248,261,267,269,271,272,273,274,275,276,281,282,283,284,285,287,291,292,293,296,299,306,307,309,310,311,314,316],memory_pars:[171,172],memreserv:[2,226,227],memset:[147,148,182,202,203,271,275,276],memwin32:103,memzero:182,mendoza:[147,148,161,171,184,185,193,202,203,229,231,275],meng:[202,203,275],mention:[68,123,132,206,220,282,283],merg:[139,140,206,220,224,254,275,276,277,291,292,316],mess:261,messag:[1,35,38,45,49,52,54,55,56,58,67,70,97,98,104,109,110,111,114,119,120,127,131,132,134,135,140,141,144,146,147,148,153,154,155,160,162,163,165,166,167,171,172,173,178,182,183,184,185,189,195,199,201,202,203,204,206,208,209,213,214,215,216,217,220,224,226,227,228,231,232,233,236,243,246,247,249,250,254,257,258,261,268,272,273,274,275,276,278,279,282,283,284,286,287,291,292,298],message_data:[56,134],messi:[231,232,246,247],met:[261,281,282,283,289],meta:[229,230],metadata:[7,21,22,40,71],metal:[0,220,282,283,285,287,291,292],method:[1,22,48,51,106,171,172,202,203,226,227,231,232,246,247,275,277,313],metric:[145,146],mezz:220,mfcr:225,mfg:[23,313],mflr:[282,285],mfrr:65,mfspr:[246,247],mftb:[220,275,276],mgmt:[171,174,282,283],mgt:[5,110,137,171,172,174,182,183],mi:[39,130,282,285],mib:24,michael:[147,148,161,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275,276],michel:171,micro:146,microcod:[8,37,61,133,146,171,172,226,227,231,232,233,246,248],microcontrol:37,micron:[184,185],microsecond:229,mid:[185,186],middl:[246,247,258,279,282,283],midrang:136,migh:[246,247],might:[2,51,121,135,164,171,172,182,183,188,189,202,203,226,227,228,238,282,285,316],migrat:[282,283],mihawk:[136,288,293,295,299,300],mikei:[275,276,282,283],mileston:[219,220,221,222,224,225,226,227,228],miller:[202,203,219,220],milliecond:108,million:[291,292],millisecond:[52,94,96,117,229,230,291,292],milton:[202,203],min:[15,197,202,203,229,230,258,279,282,283,289],mind:219,minda:171,mini:[133,231,232],minim:[88,132,267,273,274,310,311],minimium:110,minimm:[246,247],minimum:[13,15,19,39,41,76,110,118,258,273,274,279,282,283,289,316],minor:[21,147,148,150,151,156,158,159,160,161,162,164,166,167,168,169,170,195,196,199,200,248,275,276,283,298],minski:136,minu:[22,88,89,90,97,100,105],minus1:[97,98],minut:[0,117,229,230,231,232,261,281,282,283],mirror:[14,223,258,279,282,283],misalign:[229,230,246,247],misbehav:[291,292],misc:[17,35,146,161,171,172,202,203,268,269,273,275,276,282,285,291,292,311],miscacul:[176,182,183],miscalcul:[176,182,183],miscellan:[2,35,226],misguid:[261,281,286,291,292],mislead:[229,230,250,275,276,282,283],mismatch:[171,172,175,213,220,243,268,273,274],mispredict:[282,285],misrout:[231,232],miss:[21,46,84,146,147,148,153,171,172,173,181,182,183,202,203,220,221,226,227,231,232,234,246,247,257,273,274,275,276,277,278,282,283,285,291,292],mistak:[229,230,246,248],mistyp:[275,276],mit:139,mitig:[162,171,172,213,226,228,239],mix:[171,172,273,274,275,276,282,283,284],mixtur:29,mktime:229,ml:[39,130],mmap:[24,61,246,247,273,291,292],mmape:[291,292],mme:56,mmio0:[275,276],mmio:[30,38,84,88,90,93,103,107,150,171,172,174,179,182,224,226,227,229,230,231,232,236,238,243,246,247,268,272,273,275,276,282,283,287,291,292,298,306,316,317],mmio_addr:317,mmio_invalid:[246,247],mmio_invalidate_wait:[246,247],mmio_window:134,mmioerrorlog0:84,mmioerrorlog1:84,mmioerrorstatu:84,mmiofirsterrorstatu:84,mmu:[2,22,72,73,202,203,220,221,224,226,227,282,285],mnopqrstuvwxyz:35,mo:[282,285],mod:[217,231,232],mod_secure_verify_compon:[171,174],mode:[10,13,21,22,23,38,41,73,99,102,115,132,147,148,149,150,161,171,172,173,174,182,183,193,194,196,202,203,204,205,220,222,224,226,227,228,229,230,231,232,233,234,238,246,247,266,268,269,271,273,274,275,276,277,282,283,285,287,291,292,299,311,312,314,316],model:[2,35,62,63,64,65,106,107,182,183,193,220,222,226,227,273,274,275,279,282,283,291,292],modern:[138,161,205,229,230],modif:[16,138,141],modifi:[134,138,139,140,171,172,182,183,226,227,229,251,253,275,276,282,283,285,316],modul:[2,25,26,38,129,132,139,151,162,171,172,202,203,215,226,227,246,247,268,273,274,282,283,314],moduleid:[171,174],moment:[102,179,182,220,226,227,228,229,246,247,273,274,275,276,282,283,291,292],mondai:[160,181,193,203,208,212,221,227,233,236,245,252,255,267,276,287,292,295],monitor:[2,37,282,285,291,292],month:[117,141],more:[2,16,17,19,21,22,35,49,50,62,68,70,73,74,84,88,130,131,132,133,135,139,144,146,154,158,160,161,164,171,172,173,174,175,178,182,183,190,193,202,203,205,207,213,220,224,226,227,228,229,230,231,232,241,246,247,248,250,253,254,256,258,275,276,277,278,279,282,283,284,285,291,292,293,298,311,313,314,316],moreov:[267,273,274],most:[14,17,29,60,140,141,147,148,161,162,164,172,182,183,184,185,187,193,202,203,204,215,227,230,258,273,274,279,282,283,284,285,287,291,292,311,316],mostli:[2,29,202,204,224,226,227,231,282,283,285,291,292,316],motherboard:0,motiv:[5,220],mount:220,move:[35,37,70,71,163,171,172,173,182,183,203,204,216,217,219,220,221,222,224,225,226,227,228,231,232,238,241,246,247,248,252,255,273,275,276,282,283,285,287,291,292,306,316],mover:34,mowgli:[136,304,305],mp:[164,220,229,230,261,281,286,291,292],mpipl:[5,38,42,44,182,226,228,246,247,293,294,296,300,301],mpipl_op:71,mple:35,mprintf:220,mrl:[213,220],mrw:[171,172,246,247],ms:[34,96,171,174,246,248,261,281,282,283],msarea:[282,283,299],msg:[5,55,67,70,111,171,172,226,227,229,230,231,232,258,261,279,281,282,283,287,288,291,292],msg_len:67,msg_type:70,msglog:[133,141,146,162,171,172,182,183,214,224],msgq:[67,163,216,226,227],msi:[30,38,56,97,98,105,121,153,213,220,226,227,271,275,276],msi_address:[56,134],msi_data:56,msi_rang:[56,134],msr:[73,122,162,171,173,178,182,183,215,226,227,231,232,233,246,247,261,272,275,276,281,282,283],msr_sf:[226,227],mt27700:[258,279,282,283],mt:35,mtd:[171,172,184,185,202,204,206,212,220,224,229,230,231,232,282,285],mtd_no_eras:[231,232],mtlr:[282,285],mtspr:[246,247],much:[22,71,95,117,160,165,171,172,174,178,180,182,183,195,205,219,220,224,229,230,246,247,273,274,275,276,282,283,287,291,292,316],mukesh:[193,202,203,204,231],mult:88,multi:[0,58,182,183,184,186,220,222,224,246,247,304],multicast:[231,232],multicor:193,multipl:[2,4,35,49,52,56,61,73,88,89,117,146,147,171,172,175,182,183,202,203,217,220,224,226,227,229,230,231,232,233,246,247,257,258,269,271,275,276,278,279,282,283,291,292],multiplex:37,multipli:21,multithread:[184,186],munmap:[182,183],munsi:[161,184,185,193],murano:[136,226,228],murthi:[147,148],musl:194,must:[2,4,5,9,13,17,21,22,41,49,51,52,55,56,58,59,61,62,63,64,65,70,75,88,89,100,101,103,105,110,113,115,117,118,123,124,126,131,132,134,140,141,157,171,172,173,182,183,187,220,226,228,229,230,231,232,243,246,248,254,275,277,282,291,292,311,312,313,314,316],mustard:141,mutipl:[41,226,227],mutual:311,mux:[171,172,237,246,247],mve:[56,97,98,105,134],mve_numb:[56,97,98,134],mx66l1g45g:[202,203],mxxxl51235f:[1,171,172],my:[138,140,220,222,282,284,285],mydisk:[246,247],myneni:229,mynetwork:[231,232],mysim:[36,246,247],mysteri:[171,172,239,240,286,291,292],n0:[224,275],n110:84,n120:84,n25q256ax:[184,185],n25qx256ax:[184,185],n:[4,9,13,35,42,44,52,88,89,126,136,145,147,148,171,172,184,185,202,203,219,220,224,226,227,229,231,253,275,276,278,282,283,288,291,292,316,317],nack:[60,271,275,276],nageswara:[202,203,204],nak:[271,275,276,282,283],name:[1,2,8,13,15,16,17,18,19,20,21,22,24,26,34,42,49,69,118,131,132,133,134,136,138,141,154,161,164,171,172,175,178,182,183,187,204,220,222,224,226,227,229,230,246,247,250,259,273,274,275,276,280,282,283,284,285,291,292,304,317],namli:[246,247],nap:[13,202,203,220,226,227],napl:[27,41,136,147,148,184,185,186,193,258,279,282,283],narrow:[171,175,226,228],nasti:[275,276],nathan:146,nativ:[246,248,282,283,316],natur:[55,110,178,182,183,246,247,287,291,292,312,316],nb:136,nbw:[182,183],nc00:84,nc18:84,nc40:84,nc80:84,nc88:84,ncc0:84,ncc8:84,ncu:[171,172,243,246,248],ncu_darn_bar:[171,172],ncu_spec_bar:[171,172,246,248],nd00:84,nd08:84,nd1:[272,275,276,282,283],nd40:84,nd48:84,nd80:84,nd88:84,ndc0:84,ndc8:84,ndev:[268,273],ndl:[269,275,276],ne00:84,ne08:84,ne40:84,ne48:84,neagtiv:[226,227],nearli:[171,172],neat:[155,184,185],neaten:[226,228],necessari:[35,41,171,172,174,182,183,221,241,246,248,258,261,273,279,281,282,283,291,292,311,316],necessarili:[229,230,252,275],necessit:[182,183],need:[2,4,5,7,13,20,35,36,41,44,48,51,58,68,69,77,102,104,109,115,118,120,121,124,127,128,129,131,132,133,134,135,138,140,141,147,148,149,151,154,157,171,172,173,174,175,176,178,180,182,183,187,189,193,201,202,203,204,219,220,221,222,224,226,227,229,230,231,232,238,241,246,247,248,255,256,257,266,269,271,273,274,275,276,277,282,283,285,286,287,288,291,292,294,298,311,312,315,316],needless:[184,185,258,279,282,283],needlessli:[1,220],neelesh:[147,148,161,164,184,185],neg:[22,131,171,172,299,316],negoti:[171,172,182,183,229,230],neither:[50,76,121,139,171,172],nest:[24,25,38,61,72,73,171,172,201,202,203,220,221,224,226,227,231,232,233,246,247],nest_imc:306,nest_pmu:[231,232],nestfir:[171,172],net:[35,291,292],net_mac:[291,292],netfn:[67,184,186,231,232,261,275,281],network:[171,172,220],netxtrem:164,neul:[147,148,161,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275,276],never:[41,42,43,44,81,113,131,139,151,157,171,172,173,187,224,226,227,231,232,235,237,246,247,248,249,259,261,275,276,280,281,282,283,284,285,287,288,291,292,316],new_properti:[171,174,224],newcpu:22,newel:136,newer:[44,68,171,172,182,183,189,224,226,227,229,275,276,282,283,291,292,316],newinsn:21,newli:[58,316],newlin:[171,172,226,227,291],next:[2,20,22,35,41,50,55,118,139,153,157,171,172,187,217,220,226,227,228,231,232,233,236,273,274,283,284,285,291,298,313],next_error:[282,284],next_in:[226,227],next_out:[162,215,226,227],next_ungarded_primari:305,nfir:[84,182,226,228,275,276],nfir_cach:[275,276],nfirmask:84,nfirwof:84,nguyen:[184,185],nia:[261,281,282,283],nibbl:[171,172],nice:[160,178,182,183,220,224,226,227,291,292],nich:[246,248,282,283],nichola:[171,202,203,219,220,224,226,229,231,275],nick:298,nicol:[136,291,292],nimbu:[26,134,136,226,227,231,232,270,273,274,275,276,291,292],nip:[162,171,173,178,182,183,215,226,227,246,247,254,275,276],nmi:[162,215,220,226,227,246,247,282,283],nmmu:[73,182,183,268,273],nobodi:[282,283],noboot:[202,203],nodal:[269,275,276],node0:[26,171,172,182,183,249,282,285],node:[3,6,8,9,10,14,15,16,18,20,22,23,25,26,27,28,29,32,33,34,35,38,40,52,53,56,67,69,70,71,76,87,88,89,90,93,97,98,99,100,101,103,104,105,114,130,132,135,154,165,171,172,174,175,180,182,183,193,194,202,203,204,220,221,224,226,227,228,229,230,231,232,246,247,250,257,268,269,273,274,275,276,282,283,284,285,291,292,304,311,313,316,317],noisi:[193,272],noitifi:[229,230],nolibc:36,nomcount:[275,276],nomin:[226,227],non:[2,4,56,61,76,87,100,131,146,147,148,156,159,171,172,174,182,183,184,185,193,196,202,203,205,213,220,224,226,227,231,232,238,241,246,247,248,260,261,268,272,273,274,275,276,281,282,283,285,286,291,292,301,311,314],none:[17,108,122,131,171,172,182,183,261,273,274,282,285,291,292,311,316],nonfatalerr:164,nop:[41,97,134,226,227],nor:[50,121,184,185,217,231,232,246,247,248,291,292,316],normal:[0,28,43,44,52,113,122,128,129,134,135,147,149,150,162,163,166,171,172,202,204,213,215,216,217,220,224,226,227,228,229,230,231,232,233,241,246,247,251,258,261,275,276,279,281,282,283,285,287,291,292,316],normand:171,nornmal:28,north:236,notabal:[231,232],notabl:[50,188,202,229,230,231,232],note:[1,2,4,6,15,42,47,49,51,54,68,70,73,76,95,100,101,136,146,171,172,182,183,184,185,192,202,203,204,205,208,220,226,227,229,230,231,232,246,247,248,275,276,282,283,288,291,292,313,316],noth:[49,171,172,182,183,189,202,203,204,220,226,227,228,231,232,246,247,248,273,274,287,288,291,292],notic:[1,193,202,204,224,226,228,258,279,282,283],notif:[0,35,50,51,68,70,125,159,171,172,191,193,208,226,227,231,275,276,316],notifi:[28,35,70,159,162,171,172,191,201,202,203,214,224,229,230,237,282,284,316],novemb:[143,151,152,153,202,203,204,205,206,207,219,220,221,222,237,238,239,240,251,252,253,254,276,277,304,308],now:[2,4,24,36,39,42,51,70,110,117,130,132,133,141,144,146,147,149,161,162,164,170,171,172,173,174,180,182,183,184,185,186,187,188,189,190,191,202,203,204,205,206,215,220,224,226,227,228,229,230,231,232,238,246,247,254,255,261,270,272,273,274,275,276,277,281,282,283,284,285,287,288,291,292,298,312,313,316],npage:106,npcq:[27,29],npct601:[32,171,172],npct650:[32,171,172],npu0:273,npu1:273,npu2:[29,38,42,171,172,173,174,176,178,180,221,224,229,230,231,232,234,237,238,239,240,249,255,262,264,269,272,275,276,277,282,283,284,285,287,295,296],npu2_:[226,227],npu2_dev_bind_pci_dev:[246,247],npu2_dev_fence_brick:[180,246,247,268,273],npu2_map_pe_dma_window:[255,275],npu2_misc_fence_st:[268,273],npu2_ntl_misc_cfg1:[268,273],npu2_ntl_misc_cfg2_brick_en:[275,276],npu2_otl_config1_tx_temp2_en:[272,275,276],npu2_tce_kil:[255,272,275,276],npu2_xts_bdf_map_s:[282,283],npu2_xts_bdf_map_valid:[246,247],npu2dev:[171,172,246,247],npu3:293,npu6:[171,172,246,247],npu:[27,41,58,75,171,172,178,180,182,183,187,193,195,197,201,224,226,227,231,232,246,247,249,255,268,269,272,273,274,275,276,282,283,284,285,287,291,292],npu_err_inject:[202,203],npu_num_of_p:201,npu_sm_config0:[246,247],nr:[21,22],ns16550:2,ns:13,ntl:[41,171,172,239,268,269,273,275,276],ntupl:220,num:[5,20,30,97,98,100,105,146],num_lin:127,num_lsi:105,num_seg:103,numa:[27,171,172,226,227,228],number:[1,2,4,13,18,19,21,22,26,27,28,29,33,34,35,41,46,47,49,50,56,57,68,69,70,74,75,88,89,90,93,99,100,101,102,103,113,114,120,121,122,123,129,134,135,139,141,143,147,148,149,150,158,160,162,166,171,172,173,178,180,182,183,184,185,189,190,191,193,195,198,202,203,207,208,212,213,214,215,217,220,224,226,227,229,230,231,232,233,234,236,238,241,243,246,247,248,253,268,272,273,274,275,276,282,283,284,287,291,292,298,313,314,316,317],numinstruct:[282,283],nuvoton:[32,171,172,202,203,207,211,220],nv:[41,231,311,312],nv_zcal_overrid:[226,227],nvdimm:[282,283],nvidia:[171,246,247,273,274,275,276],nvidia_uvm:[246,247],nvlink1:221,nvlink2:[73,178,220,226,227,229,237,238,239,240,269,285,291,292],nvlink:[25,29,37,38,136,176,178,182,183,184,185,193,195,198,201,206,226,227,229,231,232,246,247,261,273,274,275,276,281,282,283,284,285,287,291,292],nvme:[213,220,221,275,276],nvram:[1,5,20,38,42,44,77,134,137,147,148,171,172,182,183,204,205,210,217,220,221,224,226,227,228,229,230,231,232,246,247,248,251,261,275,276,281,282,283,285,287,291,292,298,302,315],nvram_imag:76,nvram_init:[171,172,173,275,276],nvram_pstore_writ:[261,281,282,283],nvram_reformat:[182,183],nvram_valid:[182,183],nvram_write_os_partit:[261,281,282,283],nvt:[222,231,232,282,283,316],nx842:[268,273,274],nx:[2,25,38,58,70,129,146,170,171,172,174,224,226,228,229,230,241,273,274,275,276,282,283,291,292,315],nx_addr:[28,229,230],nx_coproc_init:[268,273,274],o2:[291,292],o:[35,36,171,182,183,184,185,187,193,202,203,219,220,224,226,229,231,246,247,250,275,276,282,285],obei:[205,282],object:[182,183,275],oblivi:[171,173],obnoxi:[226,227],obscur:[162,214,226,227,282,283],observ:[166,171,172,182,183,195,202,203,220,231,232,235,246,247,257,261,266,273,274,278,281,282,283,285,287,291,292],obsolet:50,obtain:[35,70,121,143,273,316],obu:[171,172,226,227,229,282,283],obus_index:[282,283],obviou:[153,226,227,254,275,276],obvious:[140,180,226,227,246,247,273,274],ocapi:[273,274],ocapi_mem:299,occ:[2,4,13,15,18,37,44,70,119,132,141,144,146,147,148,165,171,172,173,174,175,178,182,183,184,185,186,189,193,201,202,203,208,220,221,224,229,230,231,232,235,238,242,243,246,247,248,250,255,258,261,268,273,274,275,276,279,280,281,282,283,291,292,299,310],occ_error:70,occ_get_gpu_pres:[273,275,276],occ_gpe1:[231,232],occ_load:[70,226,227],occ_max_throttle_statu:70,occ_misc:224,occ_p9_interrupt:[231,233],occ_pstates_init:[171,174,273,274,280,282,283],occ_reset:[70,171,172,201,202,203,226,227,229,230],occ_sensor_id_to_chip:[229,230],occ_sensor_loc_cor:[273,274],occ_sensors_init:[273,274],occ_throttl:70,occache_di:229,occasion:[171,172,241,273,274,291,292],occupi:133,occur:[0,4,17,70,102,114,121,134,157,171,172,182,183,187,219,220,229,230,241,242,246,247,249,251,261,266,272,273,274,275,276,281,282,283,285,286,287,288,291,292,312],occurr:[182,183,316],oct:[42,139,210,289,302,310],octob:[151,166,167,168,169,170,171,172,173,174,175,201,203,204,217,231,232,233,234,235,236,250,272,294],ocxl:[182,183],odd:[197,202,204,224,246,247,275,276,287,291,292],oddli:250,odl0:[246,247],odl1:[246,247],odl:[246,247,282,283],oem:[0,206,226,249,250,273,274,286,288,291,292],oemhandl:226,of_pmem:[246,247],off:[0,13,38,42,43,73,96,104,109,113,135,138,139,140,146,147,149,151,171,172,173,182,183,201,202,203,204,216,217,226,227,229,230,231,233,240,261,269,273,275,276,279,281,282,283,285,298],off_dt_str:[226,227],off_dt_struct:[226,227],off_mem_rsvmap:[226,227],offb:[155,184,185],offer:[22,287,291,292],offet:316,offic:304,offici:146,offlin:[77,104,128,171,172,181,198,202,203,208,231,232,267,273,274],offload:37,offset:[3,9,24,27,29,52,76,78,88,108,129,135,171,172,213,219,220,221,222,224,225,226,227,228,268,271,273,274,275,276,316],often:[5,139,165,168,246,247,282,285,291,292],ointer:288,ojha:[193,202,203,204,231],ok:[2,226,227,231,232],okai:[2,5,17,26,30,32,132,140,171,172,248,250,273,274,275,276,282,283,291,292],ol:[171,172,246,247],old:[2,4,5,42,56,58,88,89,90,93,97,98,100,101,103,105,134,147,149,162,171,172,175,215,220,224,226,227,231,232,238,241,246,247,248,250,261,273,274,275,276,281,282,285,291,292,295,313,316],older:[22,43,68,70,140,155,171,172,175,208,224,229,230,231,273,274,275,276,282,283,315],oliv:[171,184,185,187,193,202,203,219,220,224,226,229,231,275],oll:[246,247],olog:220,ommit:2,on1:35,onc:[0,27,35,36,37,39,41,50,81,117,134,135,136,139,147,149,162,168,171,172,215,217,220,224,226,227,228,229,230,231,233,238,246,247,248,250,258,273,274,275,276,279,282,283,284,286,291,292,311,312,314,316],one:[0,2,4,10,16,21,22,23,26,33,35,41,49,50,56,59,68,69,70,75,86,95,100,102,104,106,108,113,117,121,124,127,132,133,135,136,139,140,145,146,147,149,152,156,163,165,168,171,172,173,176,177,179,180,182,183,188,189,193,195,200,201,202,203,204,206,217,218,220,224,226,227,228,229,230,231,232,233,238,239,240,241,242,244,246,247,253,258,260,266,267,269,273,274,275,276,279,282,283,285,287,291,292,311,313,314,316,317],ones:[2,68,171,172,184,186,196,202,203,220,226,227,231,232,250,258,259,268,273,274,275,279,280],ongo:[171,172,246,247,275,276],onli:[1,2,5,8,17,19,20,22,23,24,34,35,41,42,43,44,46,47,49,50,52,54,55,58,60,61,68,70,73,75,77,81,83,88,91,100,101,102,103,105,115,117,118,122,127,128,130,131,132,133,134,135,136,139,140,141,146,147,148,149,154,161,162,165,168,171,172,173,174,175,182,183,188,193,195,196,199,200,202,203,204,205,214,215,217,220,221,224,226,227,228,229,230,231,232,233,235,238,241,246,247,248,250,251,252,255,257,258,259,260,267,268,273,274,275,276,278,279,280,282,283,284,285,287,288,291,292,298,300,304,306,311,313,314,316],onlin:104,ontim:[258,279],onto:[133,182,183,220,226,228],onward:[70,106,193,273,274,317],ooc:[231,232],op9_v1:[171,174],op:[18,47,61,88,90,97,98,101,103,105,116,139,158,162,171,172,173,174,175,182,183,187,191,202,203,204,205,206,215,219,220,221,222,223,224,225,226,227,228,229,230,232,233,234,235,236,246,247,248,252,259,273,274,275,276,277,279,280,281,282,283,284,285,291,292,311,314],op_displai:[160,282,285],opal:[7,8,10,11,12,15,16,20,21,22,24,25,27,30,31,40,43,44,45,46,47,48,51,54,55,56,58,59,60,61,62,63,64,65,66,67,68,70,72,74,75,77,79,81,82,84,87,88,89,90,93,95,97,98,99,100,101,102,103,105,106,108,111,112,113,115,120,121,122,123,124,125,126,127,128,129,133,134,135,136,137,138,139,141,143,144,145,146,147,148,149,151,154,157,158,159,160,162,166,169,170,173,174,175,178,181,182,183,185,187,191,195,196,198,201,202,203,204,205,206,207,208,213,214,215,217,220,221,222,224,228,231,232,233,236,242,245,248,250,251,254,255,257,258,261,267,268,272,273,274,275,276,277,278,279,281,282,283,284,285,286,287,291,292,293,295,296,298,305,311],opal_:[146,226,227],opal_abnormal_power_off:35,opal_add_pe_to_domain:101,opal_addr_valid:[202,203],opal_assert_reset:96,opal_async_complet:[52,60,77,104,109,110,119,120,127,220],opal_async_exampl:131,opal_async_get_token:131,opal_async_wait:131,opal_attn:35,opal_busi:[43,44,45,49,50,52,75,76,102,109,110,113,117,119,125,128,162,178,182,183,213,214,217,225,231,233,282,283,316],opal_busy_ev:[43,44,49,50,76,108,117,120,125,162,215,217,226,227,231,233],opal_cal:[46,291,292],opal_capacity_upgrade_ev:35,opal_cec_hardwar:35,opal_cec_power_down:[38,42,217,231,233],opal_cec_reboot2:[38,40,42,58,147,149,202,204,229,230],opal_cec_reboot:[38,40,42,147,149],opal_check_async_complet:[38,42],opal_check_complet:45,opal_check_token:[38,42,44,50,51,120,131,132,291,292],opal_chip:35,opal_clos:[49,83,160],opal_concurrent_maintenance_ev:35,opal_config_cpu_idle_st:[38,42],opal_console_flush:[42,154,246,247],opal_console_read:42,opal_console_writ:[42,226,227],opal_console_write_buffer_spac:42,opal_constrain:[74,122],opal_deassert_reset:96,opal_disable_mv:98,opal_dump_ack:42,opal_dump_info2:42,opal_dump_info:42,opal_dump_init:42,opal_dump_read:42,opal_dump_region_host_end:50,opal_dump_region_host_start:50,opal_dump_region_log_buf:50,opal_dump_resend:42,opal_dump_resend_notif:50,opal_dynamic_reconfig_ev:35,opal_eeh_action_clear_freeze_al:[79,80],opal_eeh_action_clear_freeze_dma:[79,80],opal_eeh_action_clear_freeze_mmio:[79,80],opal_eeh_action_set_freeze_al:[79,80],opal_eeh_action_set_freeze_dma:[79,80],opal_eeh_action_set_freeze_mmio:[79,80],opal_eeh_ioc_error:[81,83,92],opal_eeh_no_error:[81,92],opal_eeh_pe_dma_error:[81,92],opal_eeh_pe_error:[81,92],opal_eeh_pe_mmio_error:[81,92],opal_eeh_phb_error:[81,92],opal_eeh_sev_inf:[83,92],opal_eeh_sev_ioc_dead:92,opal_eeh_sev_no_error:92,opal_eeh_sev_pe_:92,opal_eeh_sev_phb_dead:92,opal_eeh_sev_phb_fenc:92,opal_eeh_stopped_dma_freez:81,opal_eeh_stopped_mmio_dma_freez:81,opal_eeh_stopped_mmio_freez:81,opal_eeh_stopped_not_frozen:81,opal_eeh_stopped_perm_unavail:81,opal_eeh_stopped_reset:81,opal_eeh_stopped_temp_unavail:81,opal_elog:[38,42],opal_elog_ack:42,opal_elog_cr:35,opal_elog_read:[42,288],opal_elog_resend:42,opal_elog_s:42,opal_elog_writ:51,opal_empti:[17,53,67,118,311],opal_enable_mv:98,opal_entri:[132,246,247,261,281,282,283],opal_epow_non:54,opal_epow_over_ambient_temp:54,opal_epow_over_internal_temp:54,opal_epow_up:54,opal_err_info:35,opal_err_inject_func_ioa_dma_rd_addr:82,opal_err_inject_func_ioa_dma_rd_data:82,opal_err_inject_func_ioa_dma_rd_mast:82,opal_err_inject_func_ioa_dma_rd_target:82,opal_err_inject_func_ioa_dma_wr_addr:82,opal_err_inject_func_ioa_dma_wr_data:82,opal_err_inject_func_ioa_dma_wr_mast:82,opal_err_inject_func_ioa_dma_wr_target:82,opal_err_inject_func_ioa_ld_cfg_addr:82,opal_err_inject_func_ioa_ld_cfg_data:82,opal_err_inject_func_ioa_ld_io_addr:82,opal_err_inject_func_ioa_ld_io_data:82,opal_err_inject_func_ioa_ld_mem_addr:82,opal_err_inject_func_ioa_ld_mem_data:82,opal_err_inject_func_ioa_st_cfg_addr:82,opal_err_inject_func_ioa_st_cfg_data:82,opal_err_inject_func_ioa_st_io_addr:82,opal_err_inject_func_ioa_st_io_data:82,opal_err_inject_func_ioa_st_mem_addr:82,opal_err_inject_func_ioa_st_mem_data:82,opal_err_inject_type_ioa_bus_err64:82,opal_err_inject_type_ioa_bus_err:82,opal_error_event_typ:35,opal_error_pan:35,opal_errorlog:35,opal_event_console_input:[193,202,203],opal_event_dump_avail:50,opal_event_msg_pend:70,opal_event_pci_error:[147,148],opal_event_rtc:117,opal_except:42,opal_external_env:35,opal_flash_:[9,52,146,205],opal_flash_eras:42,opal_flash_manag:42,opal_flash_read:42,opal_flash_upd:42,opal_flash_valid:42,opal_flash_writ:42,opal_flash_xxx:9,opal_flush_consol:[291,292],opal_get:220,opal_get_device_tre:[38,42,135],opal_get_dpo_statu:[42,70],opal_get_epow_statu:[38,42,70],opal_get_messag:70,opal_get_msg:[38,42,70,165,291,292],opal_get_msi_32:[38,42],opal_get_msi_64:[38,42,134],opal_get_param:[20,42],opal_get_power_shift_ratio:42,opal_get_powercap:[15,42],opal_get_x:[38,42,134,316],opal_get_xive_sourc:[291,292],opal_handle_hmi2:[38,42,182,183,246,247,282,283],opal_handle_hmi:[38,42],opal_handle_interrupt:[38,42,133,231,233],opal_hardwar:[17,52,61,67,71,76,77,78,79,80,81,84,91,95,102,109,110,116,117,118,119,120,122,128,160,162,215,226,227,311],opal_hmi_flags_dec_lost:58,opal_hmi_flags_hdec_lost:58,opal_hmi_flags_new_ev:58,opal_hmi_flags_tb_resync:58,opal_hmi_flags_tod_tb_fail:58,opal_i2c_addr_10:60,opal_i2c_arbt_lost:60,opal_i2c_bkend_access:60,opal_i2c_bkend_overrun:60,opal_i2c_invalid:60,opal_i2c_invalid_cmd:131,opal_i2c_lbus_par:60,opal_i2c_nack_rcvd:60,opal_i2c_raw_read:60,opal_i2c_raw_writ:60,opal_i2c_request:[38,42,143],opal_i2c_sm_read:60,opal_i2c_sm_writ:60,opal_i2c_stop_err:60,opal_i2c_timeout:60,opal_id:106,opal_imc_counter_stop:61,opal_imc_counters_cor:61,opal_imc_counters_init:[37,38,42,231,233],opal_imc_counters_nest:61,opal_imc_counters_start:[38,42,231,233],opal_imc_counters_stop:[38,42,171,172,231,233],opal_imc_counters_trac:[61,282,283],opal_info:35,opal_input_output_err_evt:35,opal_int_eoi:[38,42],opal_int_get_xirr:[38,42],opal_int_set_cppr:[38,42],opal_int_set_mfrr:[38,42],opal_internal_error:[43,50,51,53,77,83,109,110,117,119,120,123,124,127,178,182,183,217,231,233],opal_invalid_cal:[38,42],opal_io_devic:35,opal_io_subsystem:35,opal_ipmi_msg:67,opal_ipmi_msg_format_version_1:67,opal_ipmi_recv:[38,42,131,143,147,149,231,232],opal_ipmi_send:[38,42,143,231,232],opal_leds_:[10,146],opal_leds_get_ind:42,opal_leds_set_ind:42,opal_lpc_:2,opal_lpc_fw:69,opal_lpc_io:69,opal_lpc_mem:69,opal_lpc_read:[2,38,42],opal_lpc_writ:[38,42],opal_map_p:100,opal_memory_subsystem:35,opal_messag:[38,42,45,55],opal_misc:35,opal_misc_err_evt:35,opal_miscellaneous_info_onli:35,opal_mpipl_add_rang:71,opal_mpipl_fadump:294,opal_mpipl_free_preserved_memori:71,opal_mpipl_query_tag:[38,40,42],opal_mpipl_register_tag:[38,42],opal_mpipl_remove_al:71,opal_mpipl_remove_rang:71,opal_mpipl_tag:71,opal_mpipl_tag_boot_mem:71,opal_mpipl_tag_cpu:71,opal_mpipl_tag_kernel:71,opal_mpipl_tag_op:71,opal_mpipl_upd:[38,40,42],opal_msg:[70,111,291,292],opal_msg_async_comp:135,opal_msg_dpo:114,opal_msg_entri:[291,292],opal_msg_epow:54,opal_msg_hmi_evt:58,opal_msg_occ:165,opal_msg_typ:70,opal_na:35,opal_nmmu_set_ptcr:[38,42,220],opal_no_mem:[17,53,60,77,118,120,127,311],opal_nod:[171,172],opal_normal_sys_platform_shutdown:35,opal_npu_destroy_context:[42,182,183,221],opal_npu_get_relaxed_ord:[38,42],opal_npu_init_context:[42,182,183,221],opal_npu_lpc_alloc:[282,284],opal_npu_lpc_releas:[282,284],opal_npu_map_lpar:[42,221,226,227,282,283],opal_npu_mem_alloc:[38,42,291,292],opal_npu_mem_releas:[38,42,291,292],opal_npu_set_relaxed_ord:[38,42],opal_npu_spa_clear_cach:[38,42,182,183],opal_npu_spa_setup:[38,42,182,183],opal_npu_tl_set:[38,42,182,183,272,275,276],opal_nvram_writ:[261,281,282,283],opal_nx_coproc_init:[38,42],opal_occ_msg:70,opal_p7ioc_num_pest_reg:84,opal_paramet:[17,42,43,45,46,48,49,50,51,52,53,55,56,60,61,66,67,69,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,95,96,97,98,99,100,101,102,103,104,105,106,107,109,110,112,113,117,118,120,122,124,127,129,160,246,247,261,281,282,285,311,316],opal_parti:[49,50,55,113,118,120,122,291,292],opal_pci_config_read_byt:42,opal_pci_config_read_half_word:42,opal_pci_config_read_word:42,opal_pci_config_write_byt:42,opal_pci_config_write_half_word:42,opal_pci_config_write_word:42,opal_pci_eeh_freeze_clear:[38,42],opal_pci_eeh_freeze_set:[38,42],opal_pci_eeh_freeze_statu:[38,42,275,282,283],opal_pci_eeh_freeze_status2:[38,42,291,292],opal_pci_err_inject:[38,42],opal_pci_get_hub_diag_data:[38,42],opal_pci_get_pbcq_tunnel_bar:[38,42],opal_pci_get_phb_diag_data2:[38,42],opal_pci_get_phb_diag_data:[84,291,292],opal_pci_get_power_st:[38,42],opal_pci_get_presence_st:[38,42],opal_pci_get_xive_reissu:[291,292],opal_pci_map_pe_dma_window:[38,42,134],opal_pci_map_pe_dma_window_r:[38,42,134],opal_pci_map_pe_mmio_window:[38,42,134],opal_pci_msi_eoi:[38,42],opal_pci_next_error:[38,42,83,147,148],opal_pci_p2p_en:99,opal_pci_p2p_load:99,opal_pci_p2p_stor:99,opal_pci_phb_mmio_en:[38,42,134],opal_pci_pol:[38,42,96],opal_pci_reinit:[38,42],opal_pci_reset:[38,42],opal_pci_set_hub_tce_memori:[291,292],opal_pci_set_mv:[38,42,134],opal_pci_set_mve_en:[38,42,134],opal_pci_set_p2p:[38,42],opal_pci_set_p:[38,42,134],opal_pci_set_pbcq_tunnel_bar:[38,42],opal_pci_set_peltv:[38,42,134],opal_pci_set_phb_capi_mod:[38,42,193],opal_pci_set_phb_mem_window:[38,42],opal_pci_set_phb_mmio_window:134,opal_pci_set_phb_table_memori:[134,291,292],opal_pci_set_phb_tce_memori:[291,292],opal_pci_set_power_st:[38,42,135,181,208,245,246,247],opal_pci_set_xive_p:[38,42,134],opal_pci_set_xive_reissu:[291,292],opal_pci_slot_:104,opal_pci_slot_empti:[226,227],opal_pci_slot_offlin:[104,135],opal_pci_slot_onlin:[104,135],opal_pci_slot_power_:[104,135],opal_pci_slot_pres:[226,227],opal_pci_tce_kil:[38,42,272,275,276],opal_pci_tce_kill_al:[106,272,275,276],opal_pci_tce_kill_p:[106,272,275,276],opal_pci_tce_kill_pag:[106,272,275,276],opal_permiss:[17,77,109,110,119,311],opal_phb3_num_pest_reg:84,opal_phb4_num_pest_reg:84,opal_phb_capi_mode_capi:102,opal_phb_capi_mode_dma:102,opal_phb_capi_mode_dma_tvt1:102,opal_phb_capi_mode_pci:102,opal_phb_capi_mode_snoop_off:102,opal_phb_capi_mode_snoop_on:102,opal_phb_error_data_type_p7ioc:84,opal_phb_error_data_type_phb3:84,opal_phb_error_data_type_phb4:84,opal_phb_error_data_version_1:84,opal_phb_get_opt:[38,42,298],opal_phb_option_mmio_eeh_dis:107,opal_phb_option_tve1_4gb:107,opal_phb_set_opt:[38,42,298],opal_platform_err_evt:[35,193],opal_platform_firmwar:35,opal_pm_dec_stop:[231,232],opal_pm_sleep_enabled_er1:48,opal_pm_timebase_stop:[231,232],opal_pol:[171,172,246],opal_poll_ev:[38,42,43,44,49,50,59,76,117,125,131,217,231,233,246,247,258,275,276,279,282,283],opal_power_cool:35,opal_prd:[147,161],opal_prd_msg:[38,42,70,226,227],opal_prd_msg_typ:70,opal_prd_msg_type_attn:70,opal_prd_msg_type_attn_ack:70,opal_prd_msg_type_fini:70,opal_prd_msg_type_init:70,opal_prd_msg_type_occ_error:70,opal_prd_msg_type_occ_reset:70,opal_predictive_err_degraded_perf:35,opal_predictive_err_fault_rectify_boot_degrade_perf:35,opal_predictive_err_fault_rectify_reboot:35,opal_predictive_err_gener:35,opal_predictive_err_loss_of_redund:35,opal_prev_reported_err_rectifi:35,opal_processor_subsystem:35,opal_query_cpu_statu:[38,42],opal_quiesc:[38,42,122,171,172],opal_rc_attn:35,opal_rc_cu_flash:35,opal_rc_cu_init:35,opal_rc_surve_statu:35,opal_read_nvram:42,opal_read_tpo:42,opal_reboot_full_ipl:[44,220],opal_reboot_mpipl:44,opal_reboot_norm:44,opal_reboot_platform_error:[44,58,202,204],opal_recovered_err_gener:35,opal_register_dump_region:42,opal_register_exc_handl:42,opal_register_opal_exception_handl:[291,292],opal_reinit_cpu:[38,42,124,146,147,148,177,182,183,226,227,228,260,273,274],opal_reinit_cpus_hile_b:115,opal_reinit_cpus_hile_l:115,opal_reinit_cpus_tm_suspend_dis:[177,182,183,231,234],opal_reinit_pci_dev:95,opal_remove_pe_from_domain:101,opal_reset_pci_fundament:96,opal_reset_pci_hot:96,opal_reset_pci_ioda_t:96,opal_reset_pci_link:96,opal_reset_phb_complet:96,opal_reset_phb_error:96,opal_resourc:[17,55,67,71,73,74,75,102,118,217,231,233,311],opal_resource_dealloc_err_evt:35,opal_resource_dealloc_event_notifi:35,opal_resource_sparing_ev:35,opal_resync_timebas:[38,42,275,276],opal_return:[162,215,226,227,282,285],opal_return_cpu:[42,112,115],opal_rtc_read:[42,108],opal_rtc_writ:[42,108],opal_run_pol:[246,247,261,281,282,283],opal_secvar_enqueu:118,opal_secvar_enqueue_upd:[38,42,311],opal_secvar_get:[38,42],opal_secvar_get_next:[38,42],opal_sensor_group_clear:42,opal_sensor_group_en:42,opal_sensor_read:[19,38,42],opal_sensor_read_u64:[38,42],opal_set:[220,316],opal_set_irq_config:316,opal_set_param:[20,42],opal_set_power_shift_ratio:42,opal_set_powercap:[15,42],opal_set_rtc_tim:[162,215,226,227],opal_set_x:[38,42,57,134,316],opal_sg_list:[47,50],opal_signal_system_reset:[38,42,113,220,231,232],opal_slw_set_reg:[38,42,231,232,246,247],opal_softwar:35,opal_src_type_error:35,opal_srctyp:35,opal_start_cpu:[42,112,131],opal_start_cpu_thread:124,opal_success:[17,43,44,45,48,49,50,51,53,54,55,60,61,67,69,71,72,74,75,76,78,79,81,82,83,84,85,86,87,91,92,93,94,97,99,100,102,104,107,108,109,110,112,113,114,115,116,117,118,119,120,122,123,124,125,127,128,129,135,160,162,215,220,226,227,231,232,246,247,275,311],opal_surveillance_err:35,opal_sync_host_reboot:[38,42,220],opal_sys_resource_deconfig_prior_err:35,opal_sys_resources_deconfig_by_us:35,opal_syscool_insf:54,opal_sysepow_cool:54,opal_sysepow_max:54,opal_sysepow_pow:54,opal_sysepow_temp:54,opal_sysparam_read:20,opal_sysparam_rw:20,opal_sysparam_writ:20,opal_syspower_chng:[54,70],opal_syspower_fail:[54,70],opal_syspower_inc:70,opal_syspower_incl:54,opal_syspower_up:54,opal_systemp_amb:54,opal_systemp_hmd:54,opal_systemp_int:54,opal_test:[38,42],opal_test_func:126,opal_thread_inact:112,opal_thread_start:112,opal_thread_unavail:112,opal_timeout:[109,110,119],opal_token_abs:46,opal_token_pres:46,opal_tpo_writ:[226,227],opal_trace_entri:[246,247],opal_unmap_p:100,opal_unrecoverable_err_degrade_perf:35,opal_unrecoverable_err_gener:35,opal_unrecoverable_err_loss_of_funct:35,opal_unrecoverable_err_loss_redund:35,opal_unrecoverable_err_loss_redundancy_perf:35,opal_unregister_dump_region:42,opal_unsupport:[42,43,44,49,50,60,67,73,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,95,96,97,98,99,100,101,102,103,104,105,106,107,109,110,115,118,119,120,122,123,129,130,134,177,182,183,226,228],opal_unsuppsort:93,opal_write_nvram:[42,261,275,276,281,282,283],opal_write_oppanel_async:[38,42],opal_write_tpo:42,opal_wrong_st:[51,114,124,128,158,187,191],opal_xive_alloc_vp:316,opal_xive_alloc_vp_block:[231,233,316],opal_xive_allocate_irq:[42,231,232,289,294],opal_xive_allocate_vp_block:42,opal_xive_any_chip:[231,232],opal_xive_donate_pag:42,opal_xive_dump:[42,224],opal_xive_dump_tm:[231,232],opal_xive_eoi:220,opal_xive_eq_always_notifi:316,opal_xive_eq_en:316,opal_xive_eq_escal:316,opal_xive_free_act:316,opal_xive_free_irq:42,opal_xive_free_vp_block:[42,231,233],opal_xive_get:220,opal_xive_get_irq_config:42,opal_xive_get_irq_info:[42,220],opal_xive_get_queue_info:42,opal_xive_get_queue_st:42,opal_xive_get_vp_info:42,opal_xive_get_vp_st:42,opal_xive_get_xirr:220,opal_xive_irq_eoi_via_fw:316,opal_xive_irq_lsi:316,opal_xive_irq_mask_via_fw:316,opal_xive_irq_shift_bug:316,opal_xive_irq_store_eoi:316,opal_xive_irq_trigger_pag:316,opal_xive_provis:316,opal_xive_reset:[42,220,224],opal_xive_set:316,opal_xive_set_irq_config:42,opal_xive_set_queue_info:42,opal_xive_set_queue_st:42,opal_xive_set_vp_info:[42,182,183],opal_xive_sync:42,opal_xive_vp_en:316,opal_xive_vp_single_escal:316,opal_xscom_addr_error:128,opal_xscom_busi:128,opal_xscom_chiplet_off:128,opal_xscom_clock_error:128,opal_xscom_ctr_offlin:128,opal_xscom_parity_error:128,opal_xscom_partial_good:[128,275,276],opal_xscom_read:[38,42],opal_xscom_timeout:128,opal_xscom_writ:[38,42],opalchecktokenstatu:46,opaleehfreezeactiontoken:[79,80],opalepowstatu:54,opalerrinjectfunc:82,opalerrinjecttyp:82,opalfreezest:81,opalhmi_error_malfunc_alert:70,opalhmi_xstoptyp:70,opalhmiev:70,opalio:84,opaliop7iocphberrordata:84,opaliophb3errordata:[84,282,283],opaliophb4errordata:84,opaliophberrorcommon:84,opallpcaddresstyp:69,opalmsg:165,opalmveenableact:98,opalpcierrorsever:92,opalpcireinitscop:95,opalpciresetscop:[95,96],opalpciresetst:96,opalpcistatustoken:[81,92],opalpeact:100,opalpeltvact:101,opalphbopt:107,opalsyscool:54,opalsysepow:54,opalsysparamperm:20,opalsyspow:54,opalsystemp:54,opalthreadstatu:112,opalv3:[42,56,88,89,90,93,97,98,101,103,105,291,292],opaqu:[19,120,226,227,316],opb:2,opdirti:4,opel_pci_set_mv:134,open:[2,4,19,36,132,138,139,140,144,159,171,172,176,196,202,203,205,208,219,220,221,222,224,225,226,227,228,231,232,252,256,261,268,273,274,275,276,278,281,282,283,284,291,292,311],openbmc:[171,172,182,183,187,206,226,227,249,250,253,255,273,274,275,288,291,292],opencapi:[25,38,75,171,172,178,231,232,272,277,284,285,291,292,295,296,298,299,310],opencomput:220,openpow:[52,132,133,138,141,146,161,164,165,171,172,182,183,201,203,220,221,222,224,226,256,268,273,275,291,292],openpower1:[4,178,182,183,231,233],openssl:[225,275],oper:[0,5,13,18,21,35,37,38,42,43,44,47,50,51,52,55,60,61,68,71,76,78,79,80,81,87,92,95,96,99,100,108,110,113,122,124,125,127,128,131,132,146,171,172,173,174,179,180,182,183,201,202,203,205,207,217,224,226,227,229,230,231,232,233,241,242,246,247,248,250,254,258,261,271,273,274,275,276,279,281,282,283,284,286,291,292,304,311,314],operand:[212,220],opfr:221,opp:[182,183],oppanel:[5,127],oppanel_lin:127,oppanel_line_t:127,opportun:[58,70,130,171,172,181,208,217,229,231,233,258,267,273,274,279,282,283],oppos:[246,247],opt:[36,107,171,172,273,274,275,298],optesthmihandl:182,optim:[13,134,147,148,171,172,184,185,202,203,226,227,231,232,251,275,276,287,291,292],optimis:[182,183,226,227,228,229,230,258,270,275,276,279,282,283],option:[0,2,4,5,17,19,21,22,43,50,58,71,77,107,114,115,132,134,141,146,150,161,171,172,184,193,202,203,204,205,217,220,224,226,227,228,229,230,231,232,233,238,246,247,253,258,273,274,275,276,279,282,283,285,286,287,291,292,298,311,314,316,317],order:[2,4,6,13,21,22,41,51,58,74,100,103,109,115,118,133,154,161,171,172,174,179,182,184,185,188,189,193,202,203,204,220,226,227,228,229,230,231,232,233,246,247,257,258,271,273,275,276,277,279,282,283,287,291,292,298,312,314,316],oreq:60,org:[133,138,140,220,229,246,247,275,276,282,291,292],organ:135,organis:[246,247],origin:[38,39,44,133,171,172,188,189,229,230,231,232,242,246,247,249,273,275,276,279,281,282,283],originagt:[147,149],orphan:[282,285],os:[0,5,12,17,19,21,22,23,33,35,38,40,41,42,43,44,46,50,54,55,58,59,61,62,63,64,65,67,70,81,82,83,84,93,96,100,106,111,112,113,114,115,118,120,121,124,128,131,132,135,144,147,148,153,166,171,172,174,175,180,182,183,189,193,217,220,221,224,226,227,229,230,231,233,246,247,248,267,272,273,274,275,276,282,283,284,291,292,298,304,311,312,313,316],oss:[131,267,273,274],other:[2,10,13,21,41,43,44,50,51,52,54,77,78,92,100,101,102,103,110,113,115,127,131,132,133,135,136,138,139,140,145,147,148,151,154,159,161,162,169,171,172,173,178,193,196,203,215,217,220,221,226,227,229,230,231,232,233,236,246,247,248,250,258,261,272,273,275,276,279,281,282,283,286,288,291,292,311,312,313,316,317],otherwis:[36,70,86,129,135,141,171,172,181,184,185,201,202,203,207,208,213,216,220,221,226,227,228,231,232,243,245,246,247,257,261,273,274,275,276,278,279,281,282,283,285,291,292,316],otl:[75,246,247,291,292],ou:[246,247],our:[39,41,108,139,147,149,160,162,166,171,172,173,178,180,182,183,193,202,203,206,207,212,215,217,219,220,226,227,228,229,230,231,232,233,246,247,250,257,269,273,274,275,276,278,282,283,291,292],ourselv:[226,227,246,247],out:[1,2,5,17,21,35,36,40,41,44,49,50,54,60,68,71,74,84,87,107,112,114,122,133,134,135,136,141,147,148,150,154,160,162,165,167,171,172,173,174,175,176,180,181,182,183,189,202,203,206,207,208,214,215,219,220,224,226,227,228,229,230,231,232,233,235,236,241,246,247,248,251,259,261,267,268,273,274,275,276,277,280,281,282,283,284,285,287,291,292,299,307,309,311,314],out_eoi_pag:316,out_epow:54,out_esb_shift:316,out_escalate_irq:316,out_flag:[58,316],out_lirq:316,out_prio:316,out_qeoi_pag:316,out_qflag:316,out_qindex:316,out_qpag:316,out_qsiz:316,out_qtoggl:316,out_src_chip:316,out_stat:316,out_trig_pag:316,out_vp:316,out_xirr:63,outbound:[229,230],outdat:[231,233],outgo:189,outlast:140,outlin:35,output:[1,19,37,38,59,132,134,151,154,162,171,172,173,174,184,186,202,203,215,219,220,224,226,227,228,229,230,231,232,246,247,273,274,275,276,281,282,283,288,291,292,316],outsid:[42,56,103,229,230],outstand:[51,59,108,163,165,171,172,216,226,227],outstanding_event_mask:59,ov32:[246,248],over:[0,1,20,40,41,54,70,76,77,81,109,130,131,132,133,139,147,148,149,150,151,152,155,161,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,257,258,260,261,266,267,268,269,273,274,275,276,277,278,279,281,282,283,284,285,291,292,313,316],overal:[2,21,68,88,184,185,246,247,311,316],overflow:[37,171,173,202,203,224,226,227,228,246,248,269,275,276,288,291,292],overhaul:[258,279,282,283],overhead:[13,37,182,183,231,232],overid:[231,232],overidden:[282,283],overlai:84,overlap:[95,103,224,226,227,231,232,246,247,282,283],overread:[307,309],overrid:[135,161,171,172,202,203,204,220,221,224,226,227,231,232,246,247,261,275,276,281,282,283,285],overridden:221,overrun:[60,145,171,172,231,232,295],overview:7,overwit:[272,275,276],overwrit:[7,146,168,184,185,246,247,257,278,282,283,291,292],overwritten:[2,275,276,282,283,287,291,292],overwrriten:[268,273],own:[2,14,21,35,58,112,133,139,171,172,173,180,184,185,189,212,217,220,226,231,233,246,247,275,276,282,283,285,287,316],owner:[17,23,171,172,275,276,278,314,316],ownership:[112,226,227,275,276],ozlab:[138,140,220,229,246,247,282,291,292],ozrom1:[287,291,292],p00:[224,275],p0:[261,281,282,283],p10:[282,283],p1:[10,34,246,247,272,275,276,282,283],p2p:[99,229,230],p344fb62:[231,232],p5ioc2:[184,185],p5ioc:[42,291,292],p7:[28,35,129,136,146,229,230],p7ioc:[42,84,90,93,103,135,160,171,175,224,282,283,291,292],p7ioccsr:84,p7iocplssr:84,p89:[231,233],p8:[0,2,14,121,129,136,146,147,148,162,171,172,174,182,183,184,185,186,188,202,203,208,211,214,220,224,225,226,227,228,229,230,231,232,233,238,243,246,247,250,257,260,266,273,274,275,276,278,279,282,283,289,294],p8_i2c_check_initial_statu:[162,214,225],p8_i2c_check_statu:229,p8_i2c_recov:[231,233],p8_i2c_reset_engin:[266,273,274],p8_i2c_reset_port:[266,273,274],p8_pore_gen_cpufreq_fix:123,p8_pore_table_gen_api:123,p8dnu:136,p8dtu1u:[136,202],p8dtu2u:[136,202,213,220],p8dtu:[4,136,202,206],p8e:[257,278,282,283],p8i2c:[207,220],p98b6d83:[231,232],p9:[14,25,28,33,34,38,62,63,64,65,121,134,162,171,172,174,175,182,183,193,202,203,214,220,221,224,225,226,227,228,229,230,231,232,238,246,247,248,250,255,261,266,273,274,275,276,279,281,282,283,284,285,288,291,292,304,305,311],p9_cont_thread:[246,248],p9_darn_init:[282,283],p9_i2c_bus_owner_chang:[226,227,231,233],p9_sbe_msg:288,p9_sbe_msg_send:288,p9_sbe_termin:40,p9_stop_api:[123,133,171,172,231,232,242],p9_stop_save_cpureg:123,p9_stop_thread:[246,248],p9dsu2u:[259,280],p9dsu:[134,136,224,231,232,248,251,254,256,259,275,276,278,280],p9mambo:220,p9n:[177,182,183,226,227,275],p9p:[282,284,285],p9sdu:136,p:[1,4,8,35,44,47,134,137,153,157,171,172,182,183,187,202,203,220,221,224,226,228,229,230,231,232,246,247,248,249,251,272,275,276,282,285,287,288,291,292,298,307,309,315,316],p_str:220,pa:[2,22,220],pa_featur:[229,230],pa_features_p9:[231,232],paca:[231,233],pack:[140,288,291,292,294,313],packag:[4,37,138,147,148,171,172,184,185,246,247,273,274,275],packet:[189,229,230],pad:[70,313],page:[2,72,88,115,171,172,173,175,181,202,203,208,220,224,226,227,228,241,255,267,269,273,274,275,276,291,292,316],pai:4,paidipeddi:[171,193,202,203,204,219,220,224,226,229,231,275],pain:[220,282,283,291],pair:[111,171,172,221,222,229,230,241,316],palmetto:[39,136,145,220,226,227,279,282,283],panda:[147,149],panel:[5,127],panic:[58,154,171,172,184,226,228,261,263,281,282,283,285,297],panic_flush_kmsg_end:[261,281,282,283],paper:[171,172],papr:[2,35,62,63,64,65,68,193,282],par:229,paragraph:100,parallel:[58,182,183,189,273,274,275,276,282,283],parallelis:[182,183,273,275,276],param:[20,70,130,146,171,173,220,224,273,274,291,292],param_id:77,paramet:[0,9,20,35,38,42,43,45,46,47,49,50,51,52,56,59,68,70,71,72,73,78,80,81,88,98,100,103,113,119,122,131,132,171,172,218,220,221,224,231,233,244,246,247,248,275,282,283,286,291,292,296,311,314,316],parametr:[171,172],paranoia:[171,172],parashar:[147,148,161,184,185,193,202,203],parent:[2,30,33,34,101,103,130,134,135,146,171,174,182,183,189,202,203,246,247,282,285,316,317],parent_p:[101,134],pariti:[58,60,128,146,171,172,182,183,231,236,246,247,261,269,272,275,276,281,282,285],paritit:[287,291,292],pars:[21,22,34,36,47,133,144,146,171,172,173,174,180,182,183,189,202,203,204,218,219,220,221,224,226,227,229,230,231,232,233,244,246,247,248,257,268,273,278,280,282,283,285],parse_arg:[273,274],parse_hdat:224,parse_i2c_dev:224,parser:[2,21,171,172,224,226,246,247,250],part:[2,4,22,26,28,34,35,37,39,44,50,58,60,68,71,88,113,114,130,132,135,138,139,141,145,171,172,180,181,182,184,185,187,194,202,203,204,208,219,220,221,226,227,228,229,230,231,232,235,240,246,247,256,257,267,273,274,275,276,278,282,283,291,292,298,316],parti:[220,314],partial:[49,128,131,135,146,157,187,189,193,200,202,203,204,226,227,249,261,281,282,284,287,291,292,316],particip:138,particular:[5,21,22,28,35,46,56,68,73,88,90,93,97,118,134,135,141,171,172,178,182,183,221,222,226,266,273,274,282,283,284,314],particularli:[171,172,182,183,275,276],partid:128,partit:[9,28,37,93,133,146,147,148,154,161,171,172,173,202,203,204,205,220,221,226,227,229,230,231,232,246,247,248,250,252,253,254,273,274,275,276,277,282,283,285,287,291,292,294,313],partition:[275,276],partner:141,pasid:[73,75],pass:[0,2,7,12,17,22,34,35,40,47,50,54,55,59,68,70,71,81,89,110,111,118,127,132,133,161,171,172,174,194,202,203,204,205,220,226,227,228,229,230,231,232,246,247,261,273,274,275,281,282,283,284,285,287,291,292,311,316],passthrough:[68,226,227],passthru:161,password:[291,292],past:[33,121,171,172,224,229,230,238,246,247,259,279,280,282,283,315],patch:[38,134,138,144,146,154,159,162,163,164,166,171,172,173,174,175,180,181,182,183,184,185,195,196,201,202,203,204,208,209,214,215,216,217,219,220,221,224,226,227,228,229,230,231,232,233,238,241,246,247,250,251,254,255,256,258,259,261,266,267,268,271,272,273,274,275,276,277,279,280,281,282,283,284,285,286,287,288,291,292],patchwork:[220,246,247,282,291,292],path:[6,13,20,39,41,43,58,86,104,113,130,147,148,149,156,161,162,163,171,172,173,174,176,181,182,183,184,198,202,203,204,208,211,215,216,217,220,222,224,226,227,231,232,233,241,245,246,247,252,256,257,258,261,273,275,276,278,279,281,282,283,286,287,291,292,295,316],path_max:275,patrick:[161,184,185,187,193,202,203,219,220],patrit:[246,247],pattern:[19,22,39,182,183,216,220,226,227,231,233,311],paul:[184,185],paus:[0,180,231,233,246,247,286,291,292],pause_microcod:306,pause_microcode_at_boot:[180,246,247],pavaman:229,pave:[171,172],payload:[0,38,39,133,146,154,171,172,174,202,204,220,229,230,271,275,276,291,292,311,314],payload_addr:[282,283],pb:[269,275,276],pb_cent_cresp_addr_error:197,pba:[2,221],pbcq:[2,27,87,171,172,174,182,183,226,228,246,247,282,283,285],pbi:[226,228],pc:[171,172,231,233,242,246,247,273,274,282,283,291,292],pcap:110,pcb:[2,317],pcb_addr:[128,275,317],pci0000:150,pci:[0,2,25,37,38,42,53,84,85,86,88,89,90,93,96,99,101,103,104,106,130,146,147,148,150,155,158,160,164,175,184,185,189,201,206,213,216,228,229,230,231,232,234,236,238,243,256,258,261,271,273,274,275,276,278,279,281,282,283,285,286,287,289,291,292,298],pci_addr:103,pci_bridge_power_on:[226,227],pci_bridge_wait_link:[226,227],pci_cfg_reg_filt:206,pci_command_mast:[231,236],pci_devic:[220,226,261,281,286,291,292],pci_device_id:[268,273,274],pci_enable_bridg:[226,227],pci_error_typ:[81,92,275],pci_get_slot_info:135,pci_mem_s:89,pci_mem_typ:88,pci_reset:[171,173],pci_scan_bu:[182,183,275,276],pci_scan_on:[182,183],pci_scan_phb:[182,183],pci_setup_phb:135,pci_slot:226,pci_slot_flag_enforc:[226,227],pci_slot_op:135,pci_slot_power_off:[201,202,203],pci_slot_set_power_st:[275,276],pci_start_addr:[88,89,134],pcicap_exp_cap_slot:221,pcicap_exp_devctl:220,pcicap_exp_slotctl:[226,227],pcie:[41,56,92,100,101,134,135,147,148,164,171,182,183,187,189,202,203,213,220,221,226,227,229,230,231,232,234,235,236,246,247,251,256,269,275,276,287,291,292],pcie_cap:221,pcie_slot_get_presence_st:[213,220],pciecap_exp_devctl:220,pciecap_sriov_ctrl_vf:220,pciex:[27,29,30,282,285],pciutil:[231,232],pcix:135,pcr:[171,172,173,260,273,274,291,292,314],pct:[258,279,282,283],pd:220,pdbar:[37,171,172],pdbg:[246,248,282,283],pdc:[135,220],pdf:[202,203],pe:[2,30,38,56,75,88,89,90,97,99,100,101,102,105,106,147,149,166,171,172,198,201,202,203,224,226,227,231,236,238,272,275,276,282,284,316],pe_act:100,pe_handl:75,pe_mask:75,pe_numb:[79,80,81,82,88,89,90,97,99,100,102,105,106,134],pec0:[226,227,305],pec2:[102,226,227,250,268,269,271,273,275,276],pec:[30,171,172,174,226,228,268,271,273,275,276,282,283],peek:1,peer:[99,171,172,178,182,183,229,230,282,283,291],pegasu:[184,185,275],pel:[38,51,145,147,149],pelt:[97,134,275,276],peltv:[30,101],peltv_addr:134,penalti:[229,230],pend:[4,35,45,55,62,83,108,114,120,160,162,171,172,214,220,224,226,227,238,245,282,283],peopl:[1,136,139,141,202,204,220,229,230,261,273,274,281,282,285],per:[2,14,24,26,37,41,56,58,75,88,89,129,147,149,153,162,171,172,178,182,183,194,202,203,214,224,225,226,227,229,230,231,232,238,246,247,257,271,273,274,275,276,278,282,283,284,287,291,292,298,316,317],percentag:226,perf:[37,275,282,283],perfect:[246,247,275,276,282],perfectli:[2,43],perform:[0,2,13,22,35,37,41,47,50,96,102,131,132,133,134,153,166,171,172,173,174,176,178,179,182,183,201,202,203,220,224,226,227,228,229,230,231,232,236,238,246,247,258,261,267,269,270,272,273,274,275,276,279,281,282,283,285,291,292,311,314,316],peridoci:37,period:[35,37,42,58,124,219,220,221,222,224,225,226,227,228,229,230,246,247,258,275,276,279,282,283],perl:[36,275],perm:[20,273,274],perman:[41,76,78,117,131,135,171,172,173,178,182,183,220,226,228,241,250,266,273,274,275,276,296],permanantli:[226,227],permernantli:[266,273,274],permiss:[20,131],permit:[17,138,229,230],persist:[17,118,246,247,258,279,282,283,310,311],person:[134,138,139],perspect:139,perst:[134,135,202,203,226,228,229,230,268,273,282,283,287,289,291,292],pertain:201,pest:[30,272,275,276],pesta:84,pestb:84,petikernel:[171,172],petitboot:[0,4,36,71,132,145,154,166,171,172,195,202,203,220,221,231,232,260,275,276],pex8718:220,pex9733:220,pex9797:[275,276],pex:[213,220],pexpect:[178,182,183],pf:[147,149,220,261,281,286,291,292],pfir:[226,228,275,276],pfir_cach:[275,276],pflash:[147,148,161,166,174,176,184,185,190,191,193,202,203,205,206,219,220,224,229,230,231,232,246,247,253,273,274,275,276,282,283],pflash_to_copi:226,pg:182,pgood:[246,247],pgreset:[226,227],ph2:[275,276],ph3:[275,276],ph:35,phandl:[2,3,4,5,7,8,9,10,13,14,18,20,21,22,23,24,26,27,29,30,32,33,34,53,104,135,171,172,193,226,227,268,273,282,283],phase:[1,275,276,282,283],phb0:[146,154,226,227,305],phb1:220,phb3:[84,91,135,147,148,149,150,153,159,160,161,166,168,171,172,175,184,185,188,193,194,196,202,203,212,220,221,224,226,227,238,282,283,285,291,292],phb3_init:[147,148],phb3_init_capp_error:150,phb3_init_hw:[147,148],phb3_pci_msi_check_q:161,phb3_set_capi_mod:150,phb3_state_creset_wait_cq:[160,220],phb3_state_fenc:[160,220],phb3_state_freset_start:168,phb4:[78,84,106,134,174,175,179,182,183,193,220,221,224,235,236,238,243,246,247,248,250,251,255,256,258,265,269,271,272,273,279,282,283,285,287,289,298,301,303,306],phb4_:[287,291,292],phb4_assert_perst:[287,291,292],phb4_capp_recoveri:[282,283],phb4_check_reg:226,phb4_creset:[171,172,182,229,230,275,276,282,283],phb4_dump_app_err_reg:[171,172],phb4_eeh_dump_reg:[272,275,276],phb4_freset:[282,283,287,291,292],phb4_get_presence_st:[226,227],phb4_host_sync_reset:[282,283],phb4_hw_init:[287,291,292],phb4_init_capp_reg:[250,271,275,276],phb4_init_hw:[287,291,292],phb4_init_ioda3:[182,183,282,283],phb4_link_trac:[291,292],phb4_probe_stack:[182,272,275,276],phb4_root_port_init:[226,227,231,236],phb4_set_capi_mod:[182,183,282,283],phb4_slot_creset_wait_cq:[171,172,226,228],phb4_tce_kil:[272,275,276],phb4_training_trac:[291,292],phb5:310,phb:[2,27,29,30,41,42,56,74,75,79,81,82,84,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,105,106,107,134,135,147,148,150,154,160,161,168,171,172,174,179,182,183,184,185,193,201,202,203,204,212,220,221,224,226,227,228,229,230,231,232,236,246,247,251,259,261,269,271,272,273,274,275,276,280,281,282,283,284,285,287,291,292,298,316],phb_ffi_lock:161,phb_id:[42,56,73,74,75,78,79,80,81,82,84,87,88,89,90,91,92,93,95,97,98,100,101,102,103,105,106,107,134],phb_statu:[81,282,283],phbcsr:84,phberr:[226,228],phberrorlog0:84,phberrorlog1:84,phberrorstatu:84,phbfirsterrorstatu:84,phbid:[30,56,87,88,89,90,93,97,98,99,100,101,103,105],phbid_init:99,phbid_target:99,phbpblerrorlog0:84,phbpblerrorlog1:84,phbpblerrorstatu:[84,229,230],phbpblfirsterrorstatu:84,phbpciedlperrorlog1:84,phbpciedlperrorlog2:84,phbpciedlperrorstatu:84,phbplssr:84,phbregberrorlog0:84,phbregberrorlog1:84,phbregberrorstatu:84,phbregbfirsterrorstatu:84,phbrxearberrorlog0:84,phbrxearberrorlog1:84,phbrxearberrorstatu:84,phbrxearbfirsterrorstatu:84,phbrxemrgerrorlog0:84,phbrxemrgerrorlog1:84,phbrxemrgerrorstatu:84,phbrxemrgfirsterrorstatu:84,phbrxetceerrorlog0:84,phbrxetceerrorlog1:84,phbrxetceerrorstatu:84,phbrxetcefirsterrorstatu:84,phbtxeerrorlog0:84,phbtxeerrorlog1:84,phbtxeerrorstatu:84,phbtxefirsterrorstatu:84,phbver:84,philipp:[147,148,184,185,193],phosphor:[291,292],phy:[2,27,29,41,134,171,172,174,182,183,226,228,229,231,232,240,246,247,251,275,276,282,283,299],phy_map:[275,276],phy_reset:[171,172,229,231,232,240],phy_rx_clock_sel:[171,172,237,240],phy_rx_dccal:[171,172,240],phyp:[229,230],physic:[2,12,23,31,41,61,75,127,135,171,172,220,226,227,231,232,261,281,282,285,286,291,292,316],pib:[2,231],piccoli:[171,219,220,231],pick:[140,153,189,191,220,250,275,276,291,292,316],pid:[28,73,129,162,178,182,183,215,226,227,229,230,231,233,246,247,282,283,287,291,292],pie:[275,276],piec:[35,132,231,236],piggin:[171,202,203,219,220,224,226,229,231,275],pile:2,pin:[69,135,273,274,289,291,292],pir:[2,14,19,61,70,123,147,148,157,171,172,178,182,183,187,220,229,230,257,272,273,274,275,276,278,282,283,291,292,316],pk:[17,312],pkcs7:[307,309],pkcs7_get_content_info_typ:[307,309],place:[141,171,172,173,220,224,226,227,246,268,273,274,275,276,282,285,291,292,314],placehold:[131,273,274],placement:[182,183],plai:[171,172,282,284],plain:[133,171,175,203,254,275,276],plan:[172,173,174,175,183,184,185,186,193,194,202,203,204,205,220,221,222,224,225,227,228,230,232,233,234,235,236,246,247,248],planar:[171,172,231,232,259,273,274,275,276,280],plat:[20,146,273,274,275,291,292],platform:[0,2,4,5,17,20,23,25,33,35,38,41,43,44,46,47,50,51,71,77,106,114,116,118,120,122,123,124,132,133,135,141,145,146,147,148,149,151,158,159,161,162,164,166,173,174,175,178,185,188,201,206,214,215,216,217,221,222,225,227,228,229,230,233,234,235,236,238,248,251,261,277,279,281,285,286,287,288,289,293,294,295,298,299,300,304,305,310,311,314],platformw:23,plausibl:43,pldd:35,ple:35,pleas:[25,140,171],plid:[171,174,224],pll:[282,283],plu:[76,108,141],plug:[171,172,184,185,226,227,268,273,275,276,291,292],pluggabl:[135,171,175,220,256,278,282,285],plugin:[291,292],plumb:[171,172],plx:[135,213,220,221,226,227,282,285],pm:[171,172,220,226,227,231,232],pm_complex_reset:[231,232],pm_gp1:13,pm_mcs3_:24,pmax:[189,226,227],pmc:[202,203,221],pmcr:14,pmem0:[246,247],pmem1:[246,247],pmem:[273,282,283],pmem_disk:[246,247,273,275,276],pmem_volatil:[273,275,276],pmi:37,pmin:[189,226,227],pmu:37,pnor:[7,133,146,161,171,172,173,174,202,203,204,220,226,227,229,230,231,232,246,247,250,273,274,275,276,282,283,285,311,312,314],pnor_avail:[246,247],pnor_init:[246,247],pnppnp:2,pnv_ioda_p:106,pnv_ioda_reserve_p:201,pnv_pci_ioda2_tce_invalidate_p:106,pnv_pci_phb3_tce_invalid:106,pnv_pci_phb3_tce_invalidate_p:106,pnv_phb:106,pnv_phb_model_phb3:106,pnv_platform_error_reboot:[261,281,282,283],pnv_power_off:[217,231,233],pnv_prepare_going_down:[217,231,233],point:[1,2,3,5,13,15,21,22,24,27,35,36,37,39,56,61,68,72,75,84,85,86,88,89,90,93,97,98,101,103,104,105,108,133,141,159,162,171,172,174,178,182,183,193,196,215,217,220,226,227,228,229,230,231,233,245,246,247,248,258,261,273,274,275,276,279,281,282,284,285,287,291,292,316],pointer:[35,45,49,60,67,71,75,81,85,86,87,104,109,110,146,162,171,172,175,182,183,194,202,203,215,220,224,225,226,227,275,276,277,282,283,288,316],pointless:[182,183,226,231,232,246,247],poison:[202,203,226,227],poke:1,polic:88,polici:[20,22,47,182,183,220],poll:[41,108,134,135,154,171,172,173,182,220,226,227,229,230,254,275,276,282,283,286,287,291,292],poll_interv:[207,220],poll_link:135,poll_recurs:246,poller:[140,146,147,148,154,160,167,202,203,207,217,220,231,233,246,247,255,261,275,276,281,282,283],poller_recurs:246,pool:[35,181,208,267,273,274,316],poor:[281,282,283],poorli:[150,182,183,229,273],poppl:[147,148,171,184,185,187,193,202,203,219,220,224,226,229,231,275],popul:[2,15,35,135,144,145,171,172,180,182,183,195,202,203,220,221,222,224,226,227,229,230,231,232,246,247,268,269,271,272,273,274,275,276,282,283,316],popular:[291,292],pore:[123,133],port80:295,port80h:[291,292],port:[1,2,20,26,33,97,98,132,135,146,155,160,171,172,178,182,183,184,185,188,202,203,213,220,221,226,227,231,232,246,247,266,273,274,275,276,282,283,285,291,292,317],portabl:130,portion:[139,182,183,220,275,276],portstatusreg:84,posit:[21,22,46,62,114,171,172,221,226,227,231,233,246,247,254,261,275,276,277,291,292],possibl:[2,5,15,17,22,39,55,56,77,84,88,89,90,93,97,98,101,102,103,105,109,110,115,117,125,127,139,140,145,146,147,148,159,162,168,171,172,174,181,182,183,189,191,193,202,204,206,208,215,220,224,226,227,228,229,230,231,232,246,247,248,257,259,267,268,269,273,274,275,276,280,282,283,285,286,291,292,305,311,313,316],post:[7,37,44,71,139,201,226,228,296,316],postcondit:279,postfix:22,potenti:[146,157,171,172,181,187,208,224,226,227,229,230,240,245,246,247,267,273,274,316],power10:136,power7:[42,50,83,90,93,103,115,130,136,145,146,184,185,231,291,292,317],power8:[2,4,5,8,12,13,14,19,22,27,34,42,48,49,91,115,123,130,131,132,133,136,141,144,145,146,147,148,171,172,173,174,175,182,183,202,203,220,221,222,224,225,226,227,228,230,233,234,235,236,247,248,286,291,292,317],power8nvl:[136,257,278,282,283],power9:[4,5,8,13,14,22,29,30,33,37,38,41,42,44,49,58,106,115,120,123,131,133,136,173,174,175,182,183,204,219,222,223,225,233,234,235,236,238,246,247,248,270,272,285,291,292,298,317],power9c:136,power9n:[136,282,283],power9p:136,power:[0,2,4,5,19,21,22,28,33,34,35,36,38,40,41,42,43,54,56,70,85,102,104,118,122,123,130,132,133,134,135,136,138,140,147,148,151,153,166,174,175,176,184,185,201,202,203,204,205,213,216,217,219,220,221,222,224,225,228,229,230,231,232,233,246,247,256,258,266,273,274,275,276,278,279,282,283,284,291,292,302,310,312,313,316],power_ctl:[202,203],power_st:220,powerbu:[102,171,174,180,220,231,236,246,247],powercap:[13,110,229,230,282,283],powerflt:[213,220],powerkvm:[50,132,141,143,291,292],powermac:[202,204],powernv8:[291,292],powernv9:[291,292],powernv:[2,35,106,132,136,184,185,193,273,274,275,282,283,287,291,292],powernv_defconfig:[246,247],powernv_flash:[246,247],powernv_op_panel:[162,215,226,227],powernv_rng:[162,215,226,227],poweroff:[70,146],powerpc64:[36,138],powerpc64l:138,powerpc:[2,25,38,106,139,150,171,172,175,226,227,231,236,257,278,282,283],powersav:[13,282,283],powervm:[132,246,247],ppaidip:224,ppc405:132,ppc64:[138,202,204,246,248],ppc64el:[147,148,246,247],ppc64le:[138,246,247,248],ppc:[2,316],ppc_featur:22,ppc_feature2_darn:[180,182],ppc_feature2_scv:[180,182],ppc_stk_lroff:[282,285],ppm_special_wkup_hyp_reg:221,ppr:[246,247],pq:[157,187,220,224,316],pr:[21,22,73],pr_alert:1,pr_crit:1,pr_debug:[1,226,227],pr_emerg:[1,182,183],pr_err:[1,182,183,226,278],pr_error:[195,291,292],pr_fmt:[171,172,288],pr_info:[1,171,173,195,229,230,275,276],pr_insan:1,pr_notic:[1,171,172,173,275,276,291,292,299],pr_printf:1,pr_trace:1,pr_warn:[1,288],prabhu:[184,185,193],practic:[2,38,43,133,139,171,172,217,231,232,233,273,274,275],pradeep:[184,185],pradipta:[219,220],pratic:[282,283],prbs31:[182,183],prd:[6,31,128,146,147,148,149,164,166,170,173,178,181,185,193,198,201,205,208,220,224,231,232,233,251,254,255,267,273,274,275,276,282,285,287],prd_fw_msg:[171,172],prd_purge_cmd_reg_busi:275,prd_purge_cmd_trigg:275,prd_purge_cmd_typ:275,pre:[4,35,42,171,172,202,226,227,229,230,246,247,248,291,292,316],precis:[2,22,171,172,258,279,282,283,314],preconfigur:[226,227],predecessor:88,predict:[13,35,154,157,182,183,187,229,285],predictor:[282,285],preempt:306,preeti:[147,148],pref:188,prefac:22,prefer:[22,109,139,171,172,221,229,230,231,233,275,276,316],preferenti:[226,227],prefetch:[171,172,238,246,247,268,273],prefix:[2,24,219,226,227,228,246,247,273,274,291],prefr:[226,227],prehistor:[291,292],preliminari:[147,171,172,202],preload:[146,147,148,171,173,182,183],prem:[171,275],prepar:[55,125,135,226,229,230,231,273,274,279,282,283,287,291,292],prepare_hbrt_upd:[273,274],prepare_link_chang:[135,202,203],prereq:[282,283],prerequisit:140,prerror:[35,144,220,299],prescript:22,presdet:[213,220],presenc:[2,6,21,22,23,46,51,58,86,132,134,135,213,220,221,224,226,227,228,229,230,246,247,252,273,274,275,276,282,283,287,291,292],present:[2,4,5,8,12,13,22,28,29,32,33,34,41,42,46,48,50,51,67,70,75,84,102,106,114,120,121,127,132,139,141,145,147,148,157,162,171,172,173,177,182,183,187,193,201,202,203,206,213,215,217,220,224,226,227,228,229,230,231,233,246,247,258,266,268,270,272,273,274,275,276,279,282,283,291,292,313,316],preserv:[2,7,40,71,132,293,313],preset:[171,172],pressur:[231,232],presum:[42,246,247,273,274],pretermin:41,pretti:[1,108,117,171,172,202,203,220,231,232,246,247,286,291,292],prettier:[147,149],prev:[146,171,174],preval:151,prevent:[77,79,95,147,148,160,161,171,172,174,182,183,202,204,226,227,229,230,231,232,246,247,250,251,254,266,268,273,274,275,276,277,282,283,285,287,288,289,291,292,311,313,316],previou:[109,110,118,119,120,138,143,147,171,172,173,174,178,179,180,181,182,203,204,217,226,231,232,233,246,247,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,278,279,280,281,282,283,288,289,290,291,292,312,316],previous:[73,75,81,147,148,154,162,171,172,220,224,226,227,231,232,234,271,272,275,276,287,291,292,316],prevous:221,price:[282,283],pridhiviraj:[171,193,202,203,204,219,220,224,226,229,231,275],primari:[2,35,58,171,172,193,202,203,246,247,272,275,276],primarili:56,principl:39,print:[0,1,39,126,134,147,149,154,160,162,171,172,173,178,182,183,199,200,202,203,207,215,220,221,224,226,227,228,229,230,231,232,236,246,247,253,257,261,268,273,274,275,276,278,281,282,283,284,287,288,291,292,306],print_:145,printf:[1,35,36,44,126,220,224,226,227],printk:[217,231,233],prio:[220,316],prior:[5,8,42,43,100,106,120,134,146,147,149,165,180,202,204,224,231,232,246,247,258,261,279,281,282,283,286,291,292,311,312,313],prioriti:[1,28,57,62,68,121,129,132,134,147,148,171,172,174,182,183,200,226,227,229,230,316],privat:[35,139,313],privileg:[21,22,171,175],prlog:[1,164,171,172,226,227,246,247,278,288],pro:161,proactiv:[166,182,183],probabl:[58,133,155,171,172,184,185,231,232,250,259,261,273,274,275,276,280,308],probe:[0,86,135,182,183,189,220,221,226,227,246,247,261,272,273,274,275,276,279,281,282,283,285],probe_phb4:[272,275,276],problem:[21,50,68,78,134,139,140,145,160,171,172,173,176,178,181,182,183,202,203,204,208,212,219,220,224,226,227,228,229,230,231,232,236,238,245,246,247,250,251,252,257,258,266,273,274,275,276,278,279,282,283,285,287,288,291,292],problemat:[2,246,247,282,283],proc0:[171,172,182,183,249,282,285],proc1:[171,172],proc:[2,36,37,70,109,110,119,141,171,174,220,226,227],proc_chip:[171,172,246,247],proc_gen:146,proc_init_data:220,proc_int_lin:220,proce:[131,182,261,281,282,283],procedur:[40,41,171,172,174,180,182,183,202,203,226,227,228,229,231,232,237,239,240,246,247,262,268,269,273,274,275,276,282,283,291,292,295,311,313],proceed:[182,183,246,248],process:[0,17,23,28,35,37,71,73,75,77,118,122,133,134,147,148,161,162,164,171,172,173,182,183,184,185,187,193,197,202,203,204,215,217,219,220,221,224,226,227,229,230,231,233,258,266,273,274,275,276,279,282,283,287,291,292,306,312,313,315,317],process_occ_reset:[226,227,231,232],process_one_work:[217,231,233,261,281,282,283],processor:[2,5,6,14,26,28,33,34,35,40,43,44,50,51,57,58,67,68,70,73,77,93,103,110,114,115,120,121,122,130,132,134,170,171,172,180,182,183,184,185,194,219,220,226,227,231,232,234,241,246,247,257,268,271,273,274,275,276,278,282,283,285,304,308,316],procudur:41,produc:[2,134,141,178,182,183,220,226,257,275,276,277,282,283,291,292],product:[25,26,38,140,141,171,172,202,203,204,205,206,220,226,228,282,283,304,314,316],profil:[229,230],prog:[213,220,282,285],progif:41,program:[37,40,41,56,71,171,172,197,202,203,220,226,227,229,230,231,232,237,260,273,274,275,276,282,283,316],programm:[246,247],progress:[0,35,41,96,109,110,113,119,127,146,184,186,204,206,220,229,230,263,268,273,275,276,282,283,285,286,291,292],prohibit:81,project:[22,138,171,172,182,183,202,203,220,282],promin:[202,203],promot:295,prompt:[171,172,195,202,203,220,221],prone:220,prop:21,propag:[229,230,291,292],proper:[7,171,172,175,193,220,226,227,257,271,275,276,282,284],properli:[2,17,118,133,161,162,171,172,173,182,183,193,197,202,203,206,212,213,215,220,222,226,227,228,229,230,231,232,233,238,275,276,282,283,287,291,292,306,311,312,314],properti:[2,6,7,8,9,10,13,14,15,16,17,18,19,20,21,22,24,29,34,38,44,56,59,69,70,84,87,88,89,90,93,97,98,99,100,101,103,105,110,114,121,130,132,134,145,151,155,171,172,173,174,175,182,183,184,185,187,194,201,202,203,204,220,222,226,227,228,229,230,231,232,234,246,247,250,255,257,258,268,273,274,275,276,279,282,283,285,287,291,292,312,315,316,317],propos:[182,183,231,232,261,291,292,311],propreti:[114,204],proprietari:28,protect:[171,172,202,203,240,246,247,254,256,275,276,277,282,283,311,313],protector:[144,160,171,172,184,185,202,203,212,220],protocol:[22,35,171,172,182,183,220,226,227,231,232,250,251,258,275,276,279,282,283,285,291,292],protoocol:[250,275,276],prove:[140,226,228,291,314],proven:[171,172,273,274,291,292],provid:[0,2,9,21,22,23,28,34,35,37,41,44,51,58,71,75,118,119,120,121,123,132,133,138,139,157,161,171,172,182,183,187,189,202,203,220,221,224,225,226,227,229,230,231,232,233,246,247,251,257,258,273,274,275,276,277,279,282,283,285,291,292,298,304,311,312,314,315,316],provis:316,proxi:[231,232],prsv:[171,172],ps:35,psafe:[201,202,203],pseri:132,pseudo:[131,273,274],psi:[2,144,146,151,153,171,172,202,203,217,220,226,227,231,233,299],psihb:2,psl:[102,171,172,182,183,231,232],psr:[13,109,171,172,229,230],psscr:[220,231,232],pstate:[70,145,171,172,173,174,178,182,183,189,201,202,203,226,227,248,280,282,283,310],pstore_dump:[261,281,282,283],ptcr:72,pte:193,pter:[231,232],ptr:[41,171,172],pu:275,publicis:[226,227],publicli:[136,273],publish:[40,226,227,314],pull:[122,171,172,175,220,231,232],pump:[220,269,275,276],punish:[291,292],punt:[182,183],pure:[2,66,132,133,140,143,206,275,276],purg:[275,287,291,292],purpos:[2,4,41,42,83,133,134,140,171,172,173,182,183,220,231,232,246,247,250,275,276,291,292,304,316],purr:[2,58,146],push:[35,171,172,220,224,241,258,279,282,283],put:[2,13,35,56,58,133,171,172,174,179,182,183,193,202,203,204,205,206,216,220,226,227,228,229,238,246,247,258,275,279,282,283,287,291,292],putmemproc:224,putscom:[182,202,203,229,230],putspi:275,pvr:[136,161,171,172,182,220,226,227,229,230,257,275,276,278,282,283],pvr_type_p9p:[282,283],pwc:115,pwr:135,pwrctl:[282,283],py:[226,227,273,274,275,276],python:[202,203,273,274],q:[36,153,157,187,217,231,233,316],qemu:[132,147,148,184,185,202,203,220,221,226,228,273,274,279,282,283,286,287,291,292],qemu_bin:273,qflag:316,qindex:316,qpage:316,qsize:316,qtoggl:316,qtrace:[171,172,202,203],qtracer:[171,172],quad:[14,171,172,275,276,282,283],quadrat:[275,276],qualiti:139,queri:[54,57,70,71,74,118,158,171,172,184,185,190,191,193,231,234,246,247,256,273,274,275,276,278,282,283,284,316],question:[229,230],queu:[62,67,70,129,162,202,203,215,220,268,272,273,274,275,276],queue:[35,38,62,67,68,118,131,146,162,165,171,172,201,202,203,213,215,220,224,226,227,228,229,230,231,232,258,275,279,282,283,312],quick:[171,172,254,275,276],quicker:[171,172],quickli:[182,183,268,273,286,291,292],quiesc:[113,180,182,231,232,246,247,248],quiescd:[246,248],quiesce_hold:113,quiesce_lock_break:113,quiesce_reject:113,quiesce_resum:113,quiesce_resume_fast_reboot:113,quiescent:316,quiet:[1,273],quieten:[171,172,246,247,248,252,272,273,274,275,276],quirk:[146,193,202,203,211,220,268,273,274],quirk_no_chiptod:[275,276],quirk_no_rng:[291,292],quit:[44,150,171,172,182,183,220,229,230,250,273,274,275,276,282,284,291,292,314],quiten:[246,247],r0:[132,282,285],r10:132,r11:[275,276,282,285],r12:[132,225,275,276],r13:[132,160,212,220,246,247,282,283],r1:[132,246,247,282,283,285],r2:[132,282,283],r3:132,r8:132,r9:[132,246,247],r:[35,162,163,171,174,182,183,202,203,204,208,209,214,215,216,217,220,224,225,226,227,229,231,233,246,247,256,261,272,273,274,275,276,278,281,282,283],ra:[282,283],race:[146,147,148,157,159,162,171,172,187,191,194,196,202,203,215,217,220,229,231,233,241,246,247,257,278,282,283,316],rach:241,raci:[246,247],racili:[171,172],rack:[275,276],rackspac:136,radix:[72,115,194,202,203,220,226,227,282,285],rafael:202,raid:[282,283,287,291,292],rainier:[136,310],rais:[19,108,122,160,171,172,182,183,193,220,226,227,229,230,231,232,240,246,247,275,276,291,292,311,315],ram:[45,147,148,273,274,275,276,282,283],ramanna:[184,185],ran:[71,162,165,215,224,226,227],random:[28,171,172,180,182,198,202,203,220,226,227,229,231,232,241,259,280],rang:[2,7,13,15,24,30,31,40,50,56,74,88,89,93,100,103,107,134,147,149,155,165,171,172,174,181,182,183,184,185,202,203,208,220,221,222,224,226,227,229,230,242,254,257,258,267,273,274,275,276,277,279,282,283,284,291,292,316,317],ranganathprasad:[171,275],raptor:136,rare:[153,159,169,170,196,226,227,241,246,247,248,279,282,283],rashmica:275,rate:[2,52,75,145,165,182,183,184,185,265,305],rate_phi:75,rate_sz:75,rather:[1,42,44,76,110,115,117,130,131,132,144,150,152,171,172,173,177,178,182,183,184,185,193,198,202,203,206,220,221,222,224,226,227,229,230,231,232,238,239,240,246,247,250,251,253,254,257,258,259,261,272,273,274,275,276,278,279,280,281,282,283,285,287,291,292,298,311,312],ratio:[16,38,42,229,230],raw:[2,182,183,202,203,275,276,281,282,283,287,291,292],rawhid:[220,224,275],rbr:[231,232],rc1:[5,38,42,81,139,142,146,153,171,173,182,186,192,194,202,204,217,219,221,223,225,226,228,229,231,233,246,248,268,273,275,277,282,284,291],rc2:[8,38,139,142,146,171,174,192,202,205,219,222,223,226,231,234,246,275,282,285],rc3:[38,139,142,146,171,175,202,206,231,235,236,282],rc4:[4,38,139,142,171,202,231,268,273],rc5:[38,142,231],rc:[35,43,44,70,117,131,135,136,171,174,185,186,202,203,217,220,226,227,231,233,248,254,273,274,275,277,281,282,283,287,292],rc_rom_verifi:[171,174],rcu:[193,208,217,231,233],rcu_dynticks_eqs_exit:37,rcu_idle_ent:37,rcu_sch:[217,231,233],rcx:139,rdy:[171,174,246,248,261,281,282,283],re:[1,2,19,36,37,40,45,50,58,124,132,139,140,141,157,161,171,172,173,174,178,182,183,184,185,187,189,193,202,204,206,217,219,220,221,224,226,227,228,229,231,232,233,234,235,236,246,247,248,250,253,257,258,261,267,271,273,274,275,276,277,279,280,281,282,283,284,285,287,291,292,298,304,316],reach:[0,50,101,118,171,172,226,227,258,279,282,283,287,291,292,316],reaction:51,reactiv:[182,183],read:[0,2,9,12,20,28,35,37,41,50,51,52,67,68,69,70,76,77,78,87,102,107,108,109,110,117,120,128,129,132,133,146,161,162,171,172,175,176,182,183,184,185,188,193,194,202,203,204,205,208,215,217,220,221,222,224,226,227,229,230,231,232,246,247,250,251,252,253,254,258,261,268,269,271,272,273,274,275,276,277,279,281,282,283,285,287,291,292],read_core_fir:[275,276],read_prd_msg:287,readabl:[21,22,35,132,134,171,172,202,203,226],reader:[132,291,292],readi:[35,202,203,258,261,279,281,282,283,284,291,292],readlin:[273,274,282,285],readm:[291,292],readoffset:[129,268,273,274],readonli:[220,282,285],real:[36,37,38,41,42,47,60,88,89,93,103,132,134,140,153,171,172,178,182,183,193,202,203,220,227,231,232,273,274,287,291,292,316],realist:[229,230],realiti:[246,247],realli:[165,171,172,202,204,226,227,228,229,230,246,247,261,273,274,275,276,281,282,283,285],realloc:[269,275,276,287],reap:13,rearrang:[231,232],reason:[5,17,35,42,46,50,51,58,70,121,122,132,139,171,172,182,183,220,224,226,227,228,238,246,247,250,253,258,268,272,273,274,275,276,279,282,283,291,292,304,311,312],reason_cod:35,reasoncod:[171,174],reassoci:[217,231,233],rebalanc:[291,292],reboot2:40,reboot:[0,35,40,47,51,70,102,113,145,146,147,148,149,151,152,154,162,173,174,178,184,185,202,203,204,214,224,226,231,232,246,247,250,257,258,261,263,268,272,273,274,278,279,280,281,282,283,285,286,289,291,292,294,296,297,298,305,313],reboot_typ:44,rebuild:[224,246,247,291,292],recal:[275,276],recalcul:313,receipt:54,receiv:[28,35,57,60,70,75,104,121,129,131,133,144,153,162,166,171,172,173,182,183,187,189,215,220,226,227,229,230,231,232,246,247,248,258,268,272,273,274,275,276,279,282,283,284,288,314],recent:[14,139,140,171,172,182,183,194,195,202,203,219,220,224,229,230,231,232,246,247,257,268,273,275,277,279,282,283,291,292],reciev:[226,227,228,261,281,282,285],recip:[22,246,248],recipi:[273,274],recogn:[229,230,316],recognis:[171,172,220,250,275,276],recommend:[2,44,88,132,138,147,148,157,165,171,172,178,179,180,181,226,227,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,278,279,280,281,286,287,288,289,290,294,295,296,297,299,300,301,302,303,305,306,307,309,311,316],reconfigur:[171,172,242],reconstitut:316,record:[51,84,138,154,161,171,172,182,183,219,221,231,232,282,283,291,292,294,314,316],record_id:[182,183],record_typ:35,recov:[58,70,150,157,159,162,166,171,172,178,182,183,187,193,196,215,226,227,229,230,240,246,247,258,261,279,281,282,283,285,287,291,292,313],recover:[58,122,159,171,172,196,202,203,231,232,272,275,276,282,283],recoveri:[6,58,70,102,134,146,150,161,164,169,170,171,172,181,182,183,208,226,227,228,229,230,231,232,236,242,246,247,251,258,267,271,272,273,274,275,276,279,282,283,284,287,291,292],recurs:[146,160,171,172,207,220,246,247,273,274],redbud:[282,283],redefin:313,redirect:[155,226,228],redistribut:138,redo:168,redon:[282,283],reduc:[102,144,147,148,153,171,172,182,183,193,220,226,227,231,232,236,254,258,273,274,275,276,279,281,282,283,287,291,292],reduct:[182,183],redund:[35,162,215,246,247,258,279,282,283],ref:[35,58,67],refactor:[146,161,171,172,182,183,226,227,237,282,283,298],refcount:[182,183,246,247,282,283,287,291,292],refer:[5,9,10,13,21,24,25,35,37,41,68,70,73,107,118,126,131,132,141,171,172,217,220,221,226,228,231,232,233,246,247,273,274,287,291,292,311],referenc:[2,31,311],reflect:[35,88,171,172,182,183,213,220,226,227,246,247,259,280],reformat:[275,276,313],refresh:136,refus:[213,220],reg:[2,3,9,13,24,26,27,28,29,30,31,32,33,69,84,106,130,162,171,172,178,182,183,197,202,203,215,220,226,227,241,245,246,247,257,273,274,275,276,288,301,316,317],reg_format:[130,257,275,276],regard:[35,68,86,135,188,189],regardless:[182,183,229,230,258,279,282,283,316],regb:[84,229,230],regex:[224,226,227],region:[2,3,27,31,33,38,39,50,89,103,171,172,173,175,180,182,183,184,185,202,203,220,221,224,226,227,228,231,235,238,246,247,254,261,275,276,277,281,282,283,311,313,314],regist:[2,13,21,22,28,40,42,50,51,58,69,70,71,84,87,115,122,129,132,135,146,147,148,149,150,159,162,171,172,173,174,176,178,182,183,188,193,195,196,197,199,200,202,203,213,214,219,220,221,224,226,227,228,229,230,231,232,236,238,242,245,246,247,248,251,255,257,261,268,269,271,272,273,274,275,276,278,281,282,283,284,285,287,289,291,292,302,314,316,317],register_consol:[291,292],register_dump_region:146,register_early_udbg_consol:[291,292],registr:[7,38,71,208,231],regress:[13,220,246,247,282,285,287,291,292],regular:[4,29,219,220,221,222,223,224,225,226,227,228,246,247,275,276,311],reimplement:135,reinit:[95,115,133,171,174,231,234],reinit_scop:95,reiniti:[115,221],reinstat:[229,230],reject:[17,47,171,172,178,182,183,246,247,261,281,282,285],rel:[133,147,148,184,185,292],relai:131,relat:[17,22,35,41,49,58,61,68,69,70,76,131,159,171,172,182,183,195,196,202,203,205,220,226,227,229,231,232,246,247,257,266,269,273,275,276,291,292,310,311,316],relationship:[34,146],relax:[41,74,182,183,275,276],releas:[4,35,42,49,67,71,75,81,113,131,132,136,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310],relev:[13,29,35,42,44,246,247,248,291,292,316],reli:[5,58,101,106,131,132,135,171,172,182,183,193,202,204,229,230,238,246,247,273,275,276,277,282,283,287,291,292,316],reliabl:[70,147,148,213,220,226,228,246,247,273,274,282,293],relianc:[164,246,247,282,285],relic:[132,229,230],relief:[231,232],reliev:[182,183],reload:[43,129,151,162,163,209,213,214,215,216,217,220,224,229,231,233,268,273,274,275,276],reloc:[103,193],remain:[1,37,39,41,70,108,114,171,172,173,182,183,202,203,217,222,226,227,231,232,246,247,248,258,275,276,279,282,283,287,291,292,313,316],remaind:[4,182,183],remap:[171,172,238,273,274],remian:[201,202,203],remind:[287,291,292],remnant:[42,291,292],remot:[144,171,172,222,259,280,314],remov:[0,2,22,38,44,61,71,81,90,93,101,103,104,130,134,135,136,137,144,146,147,148,161,162,164,172,174,179,182,183,187,193,202,203,204,206,215,221,226,228,229,230,232,241,246,247,254,258,261,262,266,267,268,273,274,276,277,279,281,286,287,295,305,306,311,315,316],renam:[130,147,148,171,172,182,183,220,226,227,246,247,250,275,276,291,292],render:[246,247,313],rendez:[246,247,272,275,276],rendezv:[246,247],renegoci:220,rent:220,renumb:[226,227],reorder:[273,274],repeat:[291,292],repeatedli:[282,283],repetit:306,replac:[1,8,34,42,50,68,130,132,146,147,148,149,154,171,172,176,177,178,179,180,181,188,189,190,195,196,197,198,199,200,201,202,204,207,208,209,210,211,212,213,214,215,216,217,218,237,238,239,240,241,242,243,244,245,246,247,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,279,280,281,282,285,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,305,306,307,309],replai:[121,314,316],repli:[139,256,278,282,283,284],repo:36,report:[17,35,36,41,58,70,117,127,130,132,139,147,148,149,153,157,161,164,169,172,174,175,177,181,182,183,184,185,187,193,202,203,204,208,230,232,242,246,247,248,250,251,258,261,267,268,271,272,273,274,276,279,281,282,283,284,285,291,292,301,311,312,316],report_cl_pair:316,report_error:35,repositori:[171,172,275],repost:[162,215,291,292],repres:[2,4,14,15,16,18,19,21,28,31,33,34,49,56,76,77,88,89,90,93,97,98,103,105,121,135,171,172,175,202,203,220,282,283,291,292,314,316,317],represent:[2,24,132,267,273,274],reproduc:[246,247,282,283],reprogram:58,requent:131,request:[14,23,28,37,41,43,44,47,50,58,60,67,68,70,71,73,74,75,76,77,78,84,96,97,102,108,109,110,115,117,118,119,120,121,122,127,129,131,135,139,146,147,149,162,166,171,172,182,183,189,193,201,202,203,208,213,215,217,220,226,227,229,230,231,232,234,246,248,255,258,261,265,269,271,273,274,275,276,277,279,281,282,283,285,286,291,292,305,315,316],request_en:74,requeu:[273,274],requi:[226,228],requir:[0,2,4,17,21,22,28,35,41,42,46,49,52,56,58,70,76,84,91,117,118,122,126,130,131,132,135,147,149,150,161,162,171,172,174,179,182,183,193,201,202,203,214,217,221,224,225,226,227,229,230,231,232,233,246,247,248,251,258,266,267,273,274,275,276,279,282,283,284,285,286,287,289,291,292,298,304,310,311,314,316],requisit:40,requr:23,requri:73,rerun:41,rescu:134,resend:[35,50,51,159,171,172,191,258,279,282,283],reserv:[0,3,7,15,16,21,23,24,25,30,32,35,38,39,41,42,60,103,117,131,132,133,139,147,148,149,165,171,172,175,181,182,183,193,201,202,203,208,220,221,222,224,226,227,228,229,230,231,232,246,247,248,250,261,267,273,274,275,276,281,282,284,286,291,292,296,314,316],reserved2:60,reserved_1:70,reset:[0,1,4,41,43,50,68,70,87,96,100,113,122,129,133,134,135,144,150,151,158,160,162,163,167,168,171,172,173,174,175,178,180,182,183,184,185,190,191,193,201,202,203,205,209,211,212,213,214,215,216,217,220,221,224,226,227,228,229,230,231,232,233,236,238,241,245,246,247,251,255,258,261,264,266,268,273,274,275,276,279,280,281,282,283,287,288,289,291,292,296,298,307,309,311,316],reset_ntl:[171,172,237,240,291,292],reset_ntl_releas:[291,292],reset_partit:[231,232,287,291,292],reset_pm_complex:[226,227,231,232],reset_scop:96,resev:[224,226],resid:[13,145,171,172,182,183,229,231,236],residu:[58,146,246,247],resili:[158,190,205],resist:[118,311,313],resolut:[281,282,283,291,292],resolv:[171,172,191,194,224,226,227],resons:209,resort:[5,182,183,282,283,313],resourc:[0,19,37,67,68,100,131,134,139,146,147,148,171,172,173,204,229,230,231,232,261,267,273,274,275,276,281,282,283,286,291,292],resource_dealloc:35,resource_id:[26,171,172],resp_siz:[231,232],respect:[5,34,58,171,172,224,252,258,268,269,273,275,276,279,282,283,285,311,316],respond:[98,162,171,172,215,226,227,229,230,242,258,266,273,274,279,282,283,287,291,292,313],respons:[35,67,70,73,108,109,110,117,119,157,161,162,167,168,171,172,182,183,187,193,202,203,209,215,217,226,227,228,229,230,231,233,238,246,247,256,258,261,266,268,269,273,274,275,276,279,281,282,283,286,288,291,292,311,314,316],respos:[163,216,226,227],respresent:[246,247],rest:[51,220,226,227,246,247,261,275,276,281,282,283,287,291,292,311],restart:[162,193,215,220,226,227,261,281,282,283,287,291,292],restor:[13,123,171,172,201,202,203,226,227,229,230,231,232,236,246,247,248,251,258,275,276,277,279,282,283,316],restrict:[171,174,246,247,291,292],restructur:[202,203],result:[4,14,40,43,47,56,101,108,131,139,150,157,171,172,174,182,183,187,197,201,202,203,204,208,213,220,226,227,229,230,231,232,233,243,246,247,254,257,258,261,266,268,271,273,274,275,276,277,278,279,281,282,283,285,286,287,288,291,292,314,316],resum:[0,113,226,227,231,232,246,248],resvp:[261,281,286,291,292],resync:[58,116],resynchronis:116,ret:[231,232],ret_from_kernel_thread:[217,231,233,261,281,282,283],retain:[171,172,231,232,275,276],retrain:[226,228,231,232,251,275,276,282,283],retreiv:[50,54,77,81,83,84,92,110,112,117,125],retri:[43,44,58,76,125,134,153,158,160,162,168,171,172,190,191,193,202,203,208,213,215,217,220,226,227,228,229,230,231,232,233,236,242,243,258,261,269,271,273,274,275,276,279,281,282,283,287,291,292],retriev:[7,38,40,51,53,71,84,85,86,117,118,135,220,221,226,272,273,275,276,282,283,300,316],retrigg:316,retriv:[70,135],returend:42,reus:[41,226,227,246,247],rev:[41,134,164,213,220,251,273,274,275,276],reveal:[201,202,203],revers:[171,172,193],revert:[145,146,171,172,175,182,183,202,204,229,230,231,234,305],review:[2,132,139,147,148,161,164,184,185,187,193,202,203,204,259,280],revis:[21,26,27,30,41,134,141,159,171,172,174,182,183,196,202,203,224,226,227,229,230,231,232,273,274],revisit:[171,172,273,274],revolv:[275,276],reword:[195,202,203],rework:[146,171,172,184,186,193,202,203,204,220,226,227,231,232,246,247,258,273,274,275,276,279,282,283,296],rewrit:[220,226,227,231,232,246,247,275,277],reza:[171,219,226,229,231,275],rfc:[139,220],rhel6:150,rhesu:[2,136,151],ri:[122,162,178,182,183,215,226,227,246,247,282,283],rick:[229,230],rid:[16,97,100,134,147,149,182,183,189,202,203,226,228,273],right:[2,28,37,138,152,171,173,178,182,183,184,185,226,227,228,246,247,258,268,272,273,275,276,279,282,283],ring:316,riser:[246,247,259,280],riser_id:[256,278,282,283],risk:[224,273,281,282,283],rlen:225,rm:106,rmw:[226,227],rng:[171,172,229,230,241],ro:[56,282,283],road:231,rob:229,robert:[171,231],robust:[168,171,172,231,258,279,282,283],role:[153,282,284],roll:[224,275,277],rollov:164,rom:[23,171,172,202,203,291,292,314],romcod:[202,203],romem:[275,276],romulu:[136,171,172,220,246,247,250,273,274,279,282,283,285,291,292],room:[53,226,228,258,279,282,283,291,292],root:[33,34,38,53,88,132,135,160,167,171,172,174,188,202,203,221,224,226,227,231,232,246,247,258,275,276,279,282,283,285,291,292,314],rootcmplxstatu:84,rooterrorstatu:84,rootf:[246,247],ror:35,rough:[22,171,172],roughli:[36,76,139,141,168,184,185,217,229,231,233,258,279,282,283,313],round:229,rout:[2,41,58,171,172,189,202,203,316],routin:[67,171,172,220,226,227,246,247,271,275,276],rpm:[4,184,185],rpr:[147,148,226,227],rr:224,rr_queue:[163,216,226,227],rrba_addr:134,rsrc:34,rst0027:10,rst:[202,203,231,233,311,314],rsv3:84,rsync:[226,227],rta:76,rtc:[38,42,108,114,144,145,146,147,148,162,184,185,215,226,227],rtc_dev_ioctl:[162,215,226,227],rtc_read_timeout_m:108,rtc_set_tim:[162,215,226,227],rtt:[30,101],rtt_addr:134,rule:[2,4,38,139,171,172,173,174,175,179,182,183,184,185,186,187,188,189,190,191,192,193,195,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,248,273,274,275,276,277,282,283,284,285,291,292,316],run:[6,8,13,17,21,27,35,36,37,39,41,42,47,58,61,70,73,131,132,133,139,140,141,144,145,146,147,148,153,161,164,165,166,167,168,171,172,174,180,182,183,184,185,193,205,207,217,220,221,226,227,229,230,231,232,233,235,236,240,246,247,248,257,258,260,261,268,272,273,274,275,276,277,279,281,282,283,285,286,287,288,291,292,307,309,314],run_command:[273,274],run_sm:[182,183,282,283],runtim:[0,1,4,5,6,38,39,51,133,138,145,161,168,171,172,175,182,183,206,246,247,254,273,274,275,276,286,291,292,316],russel:[171,184,185,187,193,202,203,219,220,224,226,229,231,275],rx:[28,171,172,229,230,237,251,256,269,275,276,287,291,292],rx_dccal:41,rx_fifo_address:28,rx_pr_phase_step:[231,232],rx_rc_enable_auto_rec:[275,276],rx_train:41,rxe:[231,232],rxe_arb:[231,232],rxerr:164,rxfifo:[28,129,229,230,268,273,274],ryan:275,s002204:[213,220],s0:[40,224,275],s1014:136,s1022:136,s1024:136,s1:224,s64:120,s812l:136,s821lc:136,s822l:136,s822lc:136,s:[1,2,4,28,35,43,44,50,51,53,68,70,72,75,76,84,85,86,104,109,113,116,118,121,122,125,130,133,134,135,136,138,139,140,141,146,147,149,151,161,162,166,168,171,172,173,174,175,177,178,179,180,182,183,184,185,188,189,193,195,201,202,203,204,205,206,212,213,214,217,219,220,221,222,224,225,226,227,228,229,230,231,232,234,236,238,241,246,247,248,250,252,253,254,255,256,257,258,259,261,266,268,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,298,311,313,314,316,317],sa:35,sad:[147,149],safe:[42,44,55,70,81,132,171,172,202,203,204,224,226,227,229,230,246,247,248,273,274,275,281,282,283,291,292,313],safeguard:[171,172,239],safer:[171,173,193],safeti:131,sai:[35,70,150,171,172,182,183,226,228,246,247,255,275,276,282,285,291,292,316],said:[139,220,275,276],salgaonkar:[147,148,164,171,184,185,187,193,202,203,219,220,226,229,231,275],sam:[35,184,185,193,202,203,231],same:[0,2,14,17,22,28,37,44,52,70,72,88,95,100,103,108,117,120,122,131,134,138,140,141,146,154,157,160,171,172,173,174,178,182,183,184,185,187,188,195,202,203,207,217,220,221,222,226,227,228,229,230,231,232,233,241,246,247,248,250,257,266,269,271,273,274,275,276,277,282,283,284,285,287,291,292,311,313,316],sampl:[24,37,38,162,171,172,174,215,217,220,226,227,231,232,246,247,261,273,274,281,282,284,287],sampsel:24,samsung:221,samuel:[147,148,161,171,184,185,229,231,275],san:138,sandwich:4,sane:[171,172,254,275,276,277],sanit:[224,226,227,268,273],saniti:[61,180,182,183,193,226,227,246,247,291,292],sapphir:2,sastri:[202,203,204],sata:[275,276,282,285],saturdai:[200,299],save:[1,13,44,50,122,133,162,214,229,231,232,236,273,274,275,276,282,283,285,291,292,302,314,316],saw:275,sb:[171,172,314],sb_verifi:[171,172],sbe:[38,40,164,182,226,227,231,232,246,247,265,275,276,286,288,291,292,305],sbin:182,scalabl:[275,277],scale:[24,134,136,189,226,227,231,232],scan:[58,171,172,182,183,184,185,201,273,274,275,276,291,292],scare:[202,231,232],scari:[220,231,232,246,247],scatter:47,scenario:[0,51,113,135,151,171,172,202,217,221,231,233,258,261,275,276,279,281,282,283,301,313],schedul:[114,133,171,172,202,204,229,230,265,275,276,305],scheel:224,scheme:[4,38,120,132,143,144,226,227,246,247,311,316],schreiter:219,scl:[266,273,274],scom:[2,13,27,29,37,61,171,172,178,182,183,201,220,221,224,226,227,228,231,232,238,242,246,247,273,274,275,276,282,283,284,287,291,292,317],scom_read:[201,202,203],scom_writ:[201,202,203],scomc:[246,247],scomd:[246,247],scome:[246,247],scope:[35,95,171,172,193,220,269,275,276],score:226,scp:[226,227],scratch:[132,273,274],screen:[127,220,229,230,231,232],scribbl:[275,276],script:[6,133,161,170,171,172,184,185,202,203,205,220,226,227,246,247,275,282,285,291,292],scrub:[171,172,181,208,220,231,232,241,267,273,274],scsi_transport_fc:[162,215,226,227],scsi_transport_sa:[162,215,226,227],scv:[21,180,182],sda:[266,273,274],sdr1:219,se:[162,215,226,227],search:[171,172,174,182,183,203,226,227],sec:[52,217,231,233,246,247],secboot_tpmnv_control_index:313,secboot_tpmnv_vars_index:313,second:[1,2,70,113,114,117,127,146,147,148,149,150,162,171,172,173,182,183,184,185,186,187,188,189,190,191,202,203,204,215,217,220,221,225,226,227,228,229,230,231,232,233,246,247,248,254,258,266,268,273,274,275,276,277,279,282,283,284,287,289,291,292,316],secondari:[2,38,42,58,113,133,171,172,202,203,257,272,275,276,278,282,283,287,291,292],secondary_cpu_entri:[182,183],secondary_wait:[182,183],secondli:[182,183,226,227,229],secti:35,sectio:35,section1:35,section:[4,17,35,39,58,76,132,171,174,202,203,226,227,231,232,275,276,282,283,285,291,292,311,313],sector:[229,230],secur:[23,38,42,133,173,174,182,183,202,203,205,220,226,227,231,232,245,253,257,266,273,274,275,276,278,282,283,294,304,311,313],secure_boot_headers_s:[275,276],secureboot:[3,17,25,38,171,172,174,182,183,202,203,311,313,314],secureboot_init:314,secureboot_tpm_info:[171,172,246,247],secureboot_verifi:[171,172,314],secvar:[5,306,307,309],secvar_backend_driv:311,secvar_flag_protect:[311,313],secvar_flag_volatil:311,secvar_nod:311,secvar_storage_driv:311,secvar_update_bank:311,secvar_util:306,secvar_variable_bank:311,see:[1,2,4,5,7,17,19,24,27,29,37,40,41,44,45,47,50,52,55,56,57,58,59,62,63,64,65,67,68,70,71,76,77,78,108,110,115,119,122,127,132,133,134,137,138,139,141,144,151,155,171,172,173,174,175,182,183,184,185,186,187,188,189,190,191,192,193,195,202,203,204,205,206,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,246,247,248,272,273,274,275,276,277,281,282,283,284,285,286,291,292,298,311,313,314,315,316],seem:[81,140,165,171,172,202,204,220,224,226,227,229,231,234,246,247,255,257,258,259,261,273,274,275,276,278,279,280,281,282,283,285,287,291,292,311],seen:[24,135,157,164,171,182,183,187,220,229,230],seeprom:[0,219],segment:[2,30,90,103,134,147,149,171,172,238,282,285],segment_num:90,segment_numb:134,segment_s:[103,134],sel:[0,24,35,37,147,148,149,161,166,184,191,193,220,226,227,288],sel_head:35,select:[17,20,22,28,56,88,90,93,97,103,105,171,172,175,226,229,246,247,268,273,282,283],self:[123,182,183,231,232,246,247,248,311],semant:316,send:[0,35,47,51,58,67,68,70,71,139,140,150,161,162,165,166,171,172,174,181,184,185,189,193,202,203,205,208,209,215,217,220,224,226,227,229,230,231,232,233,246,247,248,249,258,261,267,272,273,274,275,276,279,281,282,283,284,288,291,292,313,314,315],senichev:275,sens:[171,172,229,230,246,247,248,275,276,282,283,291,292,316],sensibl:[55,141,160,226,228,246,247,275,311],sensist:23,sensit:[13,121,161,246,247,316],sensor:[5,15,16,38,42,54,110,120,146,151,162,167,175,182,183,184,186,206,213,220,226,228,231,235,242,246,247,273,274,299],sensor_data:120,sensor_group:[178,182,183],sensor_handl:120,sensor_hndl:120,sensor_num:35,sensor_typ:35,senstiv:23,sent:[0,35,41,52,68,104,109,110,114,119,120,134,135,139,144,163,171,172,182,183,201,202,203,216,226,227,231,232,246,247,258,261,263,275,276,279,281,282,283,284,288,297],sep:[231,233,301],separ:[2,4,35,51,108,132,171,172,208,222,226,227,231,246,247,258,275,276,279,282,284,291,292,316],seper:[224,226],septemb:[161,163,164,165,166,197,198,199,200,216,265,303],seq:[231,232,275],sequenc:[38,118,133,135,159,162,166,171,172,173,182,183,196,202,203,205,209,215,226,231,232,241,246,247,258,271,273,274,275,276,279,281,282,283,285],sequenti:[56,134,312],sequoia:[231,232,282,283],ser_buffer_out_timeout:[217,231,233],seredynski:275,seri:[35,130,139,162,163,171,176,177,178,179,180,181,184,187,188,189,192,202,208,209,210,213,214,215,216,217,218,221,231,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,278,279,280,281,282,286,287,288,289,290,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311],serial:[1,2,26,34,35,68,132,147,148,152,171,172,180,209,217,220,231,233,246,247,273,274,275,276,282,283],serialis:226,seriou:[178,182,183],serirq:[202,203,220,226,227],serv:[68,282,283],server:[2,57,113,121,122,134,136,161,171,172,220,231,232,275,291,292,316],server_no:[112,124],server_numb:[57,121,134],servic:[0,3,5,34,35,38,42,43,44,50,51,67,73,77,110,114,120,133,140,147,149,171,172,220,221,231,232,246,247,261,281,282,283,291,292],session:[217,231,233,275,276],set:[0,1,2,4,10,14,15,16,17,18,19,20,21,22,35,38,41,42,47,48,50,56,57,58,61,68,70,72,73,74,75,78,87,88,89,93,98,99,101,103,104,105,107,108,109,110,112,114,115,118,121,122,123,124,127,130,131,134,135,136,137,146,147,148,150,157,160,161,162,164,169,171,172,173,177,178,179,180,182,183,184,185,187,193,195,201,202,203,204,205,206,215,216,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,234,236,237,238,244,245,246,247,248,250,251,256,261,266,268,269,271,272,273,274,275,276,278,281,282,283,284,285,286,287,291,292,298,299,311,313,316],set_attention_st:135,set_capi_mod:[282,283],set_irq_config:220,set_mv:97,set_mve_en:98,set_opal_consol:[273,274],set_p:[100,282,284],set_peltv:101,set_phb_mem_window:103,set_power_st:135,set_queue_info:220,set_vp_info:220,set_wdt:[273,274],set_xiv:[160,212,220,316],set_xive_p:105,setpci:220,setter:[246,247],settl:[226,227],setup:[22,38,41,48,52,71,73,75,150,159,161,178,182,183,196,202,203,220,221,226,227,229,230,246,247,273,274,275,281,282,283,285,287,291,292,312],setup_arch:[291,292],sever:[35,58,70,83,92,130,132,141,147,149,156,171,172,178,182,183,202,203,221,226,227,229,230,246,247,258,261,263,268,269,275,279,281,282,283,285,291,292,297],sevic:40,sf:[73,162,178,182,183,215,226,227,246,247],sgpe:[171,172],sh:[147,148,149,166,170,171,172,178,182,183,226,227],sha1:[140,141,143,314],sha1sum:141,sha256:[313,314],sha512:[3,171,172,173],shake:202,shall:316,shallow:[231,232],shan:[147,148,164,184,185,193,202,203,204,219,220,224,226],shanker:[171,275],shape:[22,273,274],share:[14,22,32,52,75,139,147,149,171,172,173,175,182,183,221,224,226,227,229,230,238,273,274,275,282,283,284,285,291,292,314],shave:[171,172],shenoi:229,shield:314,shift:[2,16,38,42,106,121,171,173,175,226,227,229,230,282,284,304,308,316],shift_bug:[179,182],shilpasri:[147,148,171,184,185,193,202,203,219,220,224,226,229,231,275],ship:[42,44,139,140,141,147,148,150,171,172,253,257,259,274,275,277,280,282,283],shoot:[108,171,172,205],shortcut:220,shorten:133,shorter:[171,172,220],shortli:[114,171,172,182,236,239,282,283],shot:[246,247],shoul:310,should:[1,2,3,4,5,7,16,17,19,21,22,24,28,32,33,35,36,39,41,42,43,44,45,49,50,51,55,56,58,59,61,70,72,73,76,78,83,84,88,89,90,93,97,98,101,103,105,110,113,121,122,123,128,131,132,133,134,135,136,138,140,141,145,147,148,149,150,155,162,167,171,172,173,174,179,182,183,184,185,189,195,201,202,203,204,205,206,213,214,216,217,220,221,224,225,226,227,228,229,230,231,232,233,241,243,246,247,248,250,251,252,257,260,261,269,270,273,274,275,276,277,281,282,283,285,286,287,291,292,298,307,309,311,313,316],shouldn:[2,221,226,227,229,230,231,232,234,273,274,316],show:[4,162,164,167,168,171,172,182,183,195,214,224,229,230,246,247,260,261,273,274,275,276,281,282,285,286,291,292],shown:[2,70,246,273,274],shreya:[184,185,193],shriya:231,shrunk:[182,183],shudown:[258,279,282,283],shuffl:[275,276],shut:[51,152,166,171,174,217,231,233],shutdown:[0,43,47,70,113,114,122,151,152,153,171,172,193,217,231,233,258,273,274,279,282,283,291,292],sibl:[2,122,171,174,267,273,274],side:[4,8,26,39,47,52,130,162,171,172,173,182,183,193,205,213,215,216,224,226,227,229,230,231,232,241,246,247,250,251,258,261,268,272,273,274,275,276,279,281,282,283,285,287,288,291,292],sigbu:[181,208,267,273,274],sigil:260,sign:[3,13,17,23,138,139,140,171,172,219,231,232,250,274,275,276,304,312],signal:[17,56,58,97,105,108,117,131,134,170,171,172,173,181,201,208,226,227,229,230,231,232,254,267,273,274,275,276,282,283,296,311,312],signal_system_reset:122,signatur:[17,35,182,183,219,225,311,312,314],signifi:[31,56,100,108,132],signific:[29,171,172,182,183,224,282,284,316],significantli:[171,172,221,229,230,254,275,276],signifig:[266,273,274],signoff:[140,147,148,161,164,184,185,187,193,202,203,204],silenc:[220,226,227,228],silent:[171,172,224],silva:226,sim:[231,232,275,291,292],simic:[193,282,283,291,292],similar:[22,29,41,44,106,114,122,124,127,132,136,147,149,182,183,219,220,221,222,224,225,226,227,228,246,247,273,274,275,276,282,283,291,292,312,313],similarli:[2,21,182,183,246,247,273,274,282,283,291,292],simpl:[35,37,39,46,76,171,172,182,183,202,203,220,226,227,228,246,247,273,274,275,276,287,291,292,311,314,316],simpler:[21,246,247,248,291,292],simpli:[49,108,121,171,172,182,183,199,246,247],simplic:[68,282,283],simplifi:[171,172,246,247],simul:[36,43,132,133,144,145,146,147,148,185,204,246,248,275],simultan:[171,172,291,292,316],sinc:[2,14,37,42,58,81,117,131,133,146,147,151,152,171,172,174,180,182,183,193,203,204,205,206,220,224,226,227,228,229,230,231,232,233,246,247,248,250,266,267,273,274,275,276,282,283,284,285,287,288,291,292,304],singh:[171,193,202,203,226,231],singl:[4,14,30,39,41,78,132,133,169,170,171,172,178,182,183,220,226,227,231,232,246,247,261,269,273,275,276,282,283,285,291,292,294,311,316,317],sit:[2,231,232],site:[202,203],situat:[13,43,122,131,153,157,169,171,173,187,207,208,217,220,224,229,230,231,233,260,261,266,273,274,281,282,283,285,291,292,311],situr:[182,183],six:[139,141,219,220,221,222,223,224,225,226,227,228,268,273],size:[2,3,5,8,9,11,12,14,17,23,24,26,28,30,31,32,34,35,36,39,45,47,50,51,52,53,55,60,67,69,70,71,75,76,78,84,88,89,103,118,130,132,133,134,147,148,171,172,173,174,175,182,183,184,186,194,202,203,204,217,219,220,222,224,226,227,229,230,231,232,233,238,246,247,255,257,258,261,268,271,273,274,275,276,277,278,279,281,282,283,284,287,291,292,294,307,309,311,313,314,316,317],size_dt_str:[226,227],size_dt_struct:[226,227],size_t:[35,314],sizeof:[35,45,171,172],skeleton:[145,171,172,193],skiboot:[0,2,3,4,8,19,21,22,24,27,30,32,34,42,43,44,46,49,50,56,81,88,89,90,93,97,98,101,103,105,112,126,131,132,134,135,136,137,139,142,313,314,315],skiboot_bas:[133,275,276],skiboot_boot_test:[226,227],skiboot_gcov:[36,291,292],skiboot_initrd:[226,227],skiboot_map:[225,291,292],skiboot_part_hdr:[182,183],skiboot_s:133,skiboot_vers:141,skip:[36,113,160,171,172,174,182,220,226,227,229,230,242,246,247,250,253,257,275,276,278,280,282,283,287,291,292,300,311],skip_perst:[229,230,282,283,287,291,292],skiroot:[132,291,292],skisym:[225,226,227],slave:[139,184,185,226,227],slb:2,slca:[146,171,172],sleep:[13,48,94,133,158,171,172,190,191,193,220,231,235,246,247,273,274,291,292],slight:[161,182,183],slightli:[19,21,166,171,172,202,204,219,220,221,222,224,225,226,227,228,250,273,275,276,282,285,291,292],slof:133,slot0:[282,285],slot1:305,slot3:[184,185],slot5:[256,278],slot:[2,38,85,86,104,154,161,164,171,172,175,182,183,184,185,187,201,202,203,204,213,216,220,221,224,226,227,229,230,231,232,246,247,256,259,261,268,269,273,275,276,277,278,280,281,282,283,285,287,289,291,292],slot_ctl:[213,220],slot_norm:[282,283],slotclk:220,slotn:154,slotstatu:84,slottabl:220,slow:[44,108,117,134,193,207,217,220,231,232,233,251,275,276,291,292],slower:[229,230,246,247],slowli:[229,230,261],sltsta:[213,220],slw:[2,165,171,172,182,183,184,185,199,200,202,203,207,220,221,226,228,229,231,232,246,247,248,267,273,274,282,283,295],slw_init:[246,248],slw_late_init:[171,172],slw_reinit:[226,228,295],small:[12,84,127,131,133,136,171,172,178,182,183,202,203,212,213,214,215,220,224,229,230,246,247,272,274,275,276,313],smaller:[2,171,172,226,227,269,273,274,275,276,282,283,313],smallest:[139,171,175],smart:[176,182,183,193,202,203,204,219,220,246,247,267,273,274],smart_writ:294,smarter:[202,203,282,283],smbus_writ:[184,186],smc:[0,220,226,227,246,247,279,282,283],smith:[132,147,148,161,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],sml:32,smoothli:151,smp:[226,227,231,233,301],smp_handle_nmi_ipi:[261,281,282,283],sms_atn:0,smt4:[226,227],smt8:[226,227],smt:[147,148,171,172,221,226,227,246,248,267,273,274],smt_medium:[202,203],snapshot:[37,246,247],snarf:[282,285],snip:[182,201,224,272,275,276,282,283],snippet:[35,37,59],snoop:[102,171,172,173],snooz:229,so:[1,2,5,8,12,13,17,20,21,26,28,35,37,39,41,43,44,50,51,55,73,76,81,88,93,115,121,122,124,127,129,132,133,135,138,139,140,141,146,147,149,151,159,160,161,162,171,172,173,174,175,177,178,179,182,183,184,186,194,196,201,202,203,204,209,213,215,216,217,219,220,221,222,224,226,227,228,229,230,231,232,233,234,235,236,238,241,246,247,248,250,253,255,256,258,259,261,267,268,271,272,273,274,275,276,279,280,281,282,283,284,285,286,287,288,291,292,298,304,311,312,316,317],soc:[273,274],sock:[182,183],socket:[39,58,145,147,171,172,231,232,238,273,275,276,282,283],sodium:285,soft:[15,162,166,169,178,181,182,183,208,213,215,220,226,227,231,233,246,247,258,267,273,274,279,282,283],softrom:[171,172],softwar:[21,22,44,131,171,172,219,220,226,227,229,230,237,261,266,273,274,281,282,285,314,316],sol:[217,231,233],solicit:139,solid:182,solut:[139,171,172,178,226,227,231,242,253,254,258,275,276,279,282,283],solv:[202,203,211,246,247,275,276],some:[0,1,2,5,6,16,17,19,20,21,22,35,41,42,43,50,51,58,70,73,76,77,93,95,100,113,115,118,122,124,125,131,132,133,134,135,138,139,140,141,144,145,147,148,151,153,157,160,162,171,172,173,174,177,178,181,182,183,184,185,187,189,190,193,194,195,201,202,203,204,206,207,208,214,215,217,220,222,224,226,227,228,229,230,231,232,233,234,235,236,237,238,241,246,247,248,250,251,256,258,259,260,261,266,267,268,270,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,291,292,298,311,316],somebodi:[275,276],somehow:291,someon:[171,172,224,275,276],someth:[1,2,20,42,43,83,117,124,125,130,131,132,140,141,171,172,174,178,182,183,217,226,227,231,233,246,247,248,266,272,273,274,275,276,282,283,311],sometim:[58,109,139,151,171,172,226,227,231,232,241,250,273,274,275,276,291,292],somewhat:[13,226,227,231,236,291,292,316],somewher:[81,131,202,203,220,236,246,247,254,275,277,311],sonam:192,soon:[44,90,93,103,131,134,139,171,172,189,202,203,217,226,231,233,282,283,286,291,292],soonaft:139,sort:[2,4,154,171,172,181,208,245,246,247,291,292],sourc:[22,31,35,38,40,56,57,71,74,88,89,90,93,97,98,100,101,103,105,121,138,144,159,171,172,179,182,183,184,186,189,194,196,202,203,220,226,227,241,275,276,291,292,314,316],sourceid:84,sp:[130,146,162,171,172,213,220,231,232,233,261,275,276,281,282,283],spa:[75,182,183],space:[1,2,17,27,30,36,38,42,49,50,71,83,88,89,90,93,103,133,134,147,149,150,154,162,171,172,174,181,182,183,202,203,204,208,215,217,220,221,224,226,227,229,230,231,233,234,236,246,247,248,258,261,267,268,273,274,275,276,279,281,282,283,286,287,291,292,304,311,313,315,316,317],spam:[198,246,247,248,282,283],span:88,spap:75,sparingli:133,spars:[146,181,184,185,220,291,292],spcn:[68,162,213,220],spd:[171,172,220,250],speak:[43,133,139,140],spec:[25,49,68,71,114,132,147,149,182,183,184,185,189,213,220,226,227,228,231,233,261,268,271,273,275,276,281,282,285,286,287,291,292],special:[4,13,70,171,172,182,183,193,205,226,227,231,235,255,275,316],special_wakeup_count:[231,235],special_wkup_:221,specif:[0,1,2,4,17,18,21,22,28,29,31,38,42,43,51,58,70,82,83,90,93,103,106,107,115,118,123,131,133,134,139,140,145,157,173,175,182,183,187,193,198,202,203,220,226,227,229,230,231,232,234,246,247,248,251,258,261,266,273,274,275,276,277,279,281,282,283,284,286,291,292,298,311,316,317],specifi:[13,21,22,27,29,37,40,51,52,55,56,61,71,75,78,88,89,90,93,103,105,118,122,123,124,141,147,149,171,172,182,183,202,203,216,220,226,227,229,230,231,232,246,247,253,258,272,275,276,279,282,283,287,291,292,316,317],specific:[61,103,123],specifii:[246,247,249],specul:[171,172,180,241,246,247],speed:[2,27,41,182,183,184,186,202,203,220,221,226,228,229,230,231,232,246,247,282,283,287,291,292,305],spell:155,spend:[52,160,171,207,220,254,275,276,282,283,316],spent:[171,175,254,275,276],sphinx:[202,203],spi:[273,274],spin:[43,44,76,124,171,172,182,183,217,226,227,231,233,275,276],spinlock:133,spinloop:133,spira:[171,172,174,180,193,220,224,229,230,246,247],spirah:40,spiral:[160,207,220],spit:[182,183],spl:[182,183],spl_wakeup:[182,183],splat:[273,274],split:[30,47,146,171,172,220,224,226,227,231,233,258,275,276,279,282,283,284,313],spot:[258,279,282,283],sppcrd_chip_info:220,spr:[13,37,123,133,226,227,231,232,246,247,260,273,274,282,285],sprintf:144,sprn:123,sptr:[272,275,276],spuriou:[171,172,195,202,203,229,230,231,236,291,292],spurr:[2,58,146],spurriou:[231,232,246,247],squash:[161,171,172,282,285,295],sr:[261,281,286,291,292],sram:[182,183,193,275,276],src:[35,71,153,157,182,183,187,231,232],srci_priority_high:[171,174],sreset:[171,172,178,220,231,235,246,247,248,282,283],sreset_all_oth:[171,172],sreset_all_prepar:[171,172],sreset_kernel:[171,172],sreset_world:[171,172,220],srinivasan:[147,148,161,171,184,185,193,202,203,219,220,224,226,229,231,275],sriov:220,srr0:[162,171,173,182,183,214,224],srr1:[122,162,171,173,182,183,214,224,282,283],ssd:[282,283],ssh:[140,162,215,226,227,231,232],ssl:[275,277],st:220,stabil:[134,171,172,221,246,248,251,269,275,276],stabilis:[139,219,220,221,222,224,225,226,227,228],stabilti:[287,291,292],stabl:[38,139,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310],stack0:[269,275,276],stack1:[269,275,276],stack:[2,22,23,30,102,133,144,147,148,160,162,171,172,173,175,178,182,183,212,214,215,219,220,226,227,228,231,232,246,247,257,258,261,271,273,274,275,276,278,279,281,282,283,285,291,292,314],stack_check:144,stacktrac:[182,183],stage:[0,135,171,173,204,226,227,231,232,258,272,275,276,279,282,283,313],stai:[35,182,183,246,247,273,274,282,283,291,292],stale:[291,292,316],stall:[193,208,217,231,232,233,268,273,275,276],stand:[32,202,204],standalon:[275,276,314],standard:[2,28,35,41,50,132,133,171,172,220,226,227,241,246,247,256,273,274,278,289],standardis:[171,172,246,247],standbi:[266,273,274],stanlei:[147,148,164,184,185,187,193,202,203,219,220,226,231,275],start:[2,4,8,22,24,33,37,38,39,41,42,47,50,52,56,58,61,70,71,88,89,90,93,96,97,98,101,103,105,112,113,122,131,132,133,134,141,162,171,172,173,174,182,183,184,185,193,201,202,203,208,214,215,217,220,222,224,226,227,229,230,231,232,233,236,238,239,240,241,243,246,247,248,254,258,261,272,273,274,275,276,277,279,281,282,283,287,291,292,316],start_address:124,start_here_common:[291,292],start_kernel:[291,292],start_pm_complex:[171,172],start_preload_resourc:[226,227],starting_pci_address:[103,134],starting_real_address:[103,134],startup:[58,291,292],stash:[246,247],stat:[184,185,202,275],state:[0,17,19,21,35,40,42,44,48,50,54,58,68,74,78,80,84,85,86,94,96,98,101,103,104,108,109,110,112,115,119,123,124,131,132,133,134,135,139,145,146,150,152,154,160,162,163,164,168,171,172,175,179,180,182,184,185,191,201,202,203,204,213,215,216,220,221,224,226,227,228,229,230,231,232,234,235,242,246,247,248,251,256,258,261,264,265,266,267,272,273,274,275,276,278,279,281,282,283,284,285,286,287,289,291,292,305,310,311,312,313,314,316],statement:[171,172,291,306],statist:[184,185,193,210,217,231,232,302],statr:14,statu:[2,19,26,30,32,35,41,47,54,58,68,70,81,97,103,104,109,110,112,119,134,135,146,147,148,157,162,171,172,174,180,182,183,187,193,198,202,203,206,213,215,220,224,226,227,228,229,230,231,232,234,242,245,246,247,272,273,274,275,276,282,283,285,287,291,292,314],status2:220,stb:[133,171,172,173,174,202,204,220,245,246,247,253,275,276],stb_final:[171,172],std:[246,247,282,285],stdio:[171,172,220],stdout:[130,220,275,276],steal:[165,273],step:[35,44,58,147,148,171,172,220,226,227,246,247,273,274,275,276,282,283,286,291,292,311],stephani:275,stewart:[132,141,147,148,161,164,171,172,184,185,187,193,202,203,204,219,220,224,226,229,231,259,275,280],stick:[2,222],sticki:[268,273,275,276],still:[1,35,45,120,121,130,146,171,172,182,199,200,202,204,205,217,220,224,226,227,228,231,232,233,236,241,246,247,261,272,273,274,275,276,281,282,283,285,291,292,298,316],stinfo:[246,247],stipul:[271,275,276],stock:34,stofer:[171,275],stomp:[133,182],stop0:[231,232,246,248],stop0_lit:[229,267,273,274],stop11:[171,172,246,248],stop1:[273,274],stop1_lit:[267,273,274],stop2:[267,273,274],stop2_lit:[267,273,274],stop3:[273,274],stop4:[182,183,231,232,246,247,248],stop5:[171,172,246,248],stop:[13,21,37,38,39,42,43,48,51,58,60,61,113,133,146,157,171,172,181,184,185,187,193,208,212,217,220,231,232,233,242,246,247,248,256,261,266,267,268,273,274,275,276,278,282,283,285,310],stop_api:[171,172],stope:61,stopocc:144,stopreg:[231,232],storag:[17,50,51,76,118,282,283,291,292],store:[2,3,17,23,37,50,51,58,69,76,84,85,86,87,93,99,104,118,132,162,171,172,175,178,179,182,183,202,203,214,219,220,229,230,231,232,241,246,247,271,275,276,282,283,291,292,304,311,312,313,314,316],store_eoi:[179,182],storeeoi:[226,227,316],stq:[250,268,271,273,275,276],strai:206,straight:220,straightforward:[275,276],strang:[162,214],strategi:[14,68,162,214,225,258,279,282,283],stratton:[136,259,280],stream:[171,174,226,227],strech:[266,273,274],street:138,stress:[171,172,282],stretch:[226,229],strict:22,stride:231,string:[2,4,5,17,18,21,22,31,35,44,70,126,132,135,141,145,158,171,172,182,183,202,203,220,226,227,246,247,250,256,273,275,276,278,281,282,283,288,291,292,295,313,314,316],strip:[4,171,172,220,275,276],strong:[171,172,184,185,202,203],strongli:[132,139,165,182,183,219,223,311],strtoul:[229,230],struct:[35,47,50,60,67,70,84,106,111,127,133,135,182,183,193,194,206,220,224,225,226,227,229,230,273,274,275,276,278,282,283,288,291,292,294,311],structur:[34,35,36,40,58,67,70,84,133,134,137,171,172,193,220,224,226,227,231,232,246,247,250,261,275,276,277,281,282,283,286,288,291,292,311,312,316],stub:[171,172],stuck:[58,134,153,161,162,169,171,172,175,199,202,203,211,215,226,227,231,233,246,247,248,251,257,261,273,274,275,276,278,281,282,283,285],stuff:[146,182,183,212,220],stupid:2,stw:[162,214],style:[2,4,50,202,203],suart:[231,232],sub:[9,31,35,53,60,135,136,162,171,172,215,224,317],subaddr:60,subaddr_sz:60,subcmd:[217,231,232],subcommand:[171,172],subdivid:[282,285],subesqu:[229,230],subject:[140,311,316],submit:[38,77,118,127,138,182,183,224],submitt:138,subnod:31,subordin:[160,256,278],subpartit:[1,202,204,231,232],subramaniyam:229,subscrib:138,subsect:311,subsequ:[2,22,117,153,171,172,181,182,183,189,208,209,226,227,228,229,230,242,258,267,273,274,279,282,283,311,314],subset:[22,54,182,183,229,230,246,247],subsi:35,substanti:231,substitut:[171,172],subsystem:[35,171,172],subsystem_id:35,subtl:[286,291,292],succe:[115,131,171,172,178,182,183,208,231,232,243,275],succeed:[131,171,172,239,291,292],succesfulli:[61,316],success:[40,43,47,51,52,54,61,69,71,72,73,74,79,87,91,99,100,107,109,110,113,115,119,120,122,123,125,127,128,129,131,157,160,162,167,171,172,181,182,183,187,208,215,217,226,227,231,232,233,267,273,274],successfulli:[17,41,45,50,51,53,54,55,60,61,67,70,75,76,78,82,83,84,85,86,92,102,104,112,113,116,118,131,171,172,182,202,203,224,231,235,261,275,276,281,282,283,311,312,316],sucess:[258,279,282,283],sudhakar:[226,231],sudo:[282,285],sue:[180,246,247],suffic:[246,247],suffici:[22,49,231,232,287,316],suggest:[171,172,219,223,269,275,276,281,282,283],suit:[5,108,138,195,202,203,220,226,227,250,275,276],suitabl:[139,182,183,193,202,220,226,228,231,246,247,268,273,275,276,282,283,316],sukadev:[171,229,231],summari:[22,58,70,130,261,281,282,283,291,292,311],superio:[273,274,279],supermicro:[4,136,202,213,219,220,224,246,247,259,280],supersed:[23,58,171,172],superset:22,suport:115,supplement:[282,285],suppli:[34,36,55,70,73,81,118,135,193,202,203,220,221,231,232,291,292],support:[2,4,5,6,10,11,17,19,20,21,22,24,26,28,30,36,37,38,41,42,43,46,49,50,51,52,58,60,61,67,68,69,70,71,73,78,79,81,82,83,84,85,86,87,90,93,99,100,102,103,104,106,107,109,110,114,115,118,119,120,121,122,123,129,130,131,135,139,141,145,146,147,148,149,150,153,155,161,164,166,171,172,174,175,179,180,182,183,186,189,193,202,203,204,205,206,209,210,213,219,220,221,223,224,226,227,228,229,230,231,232,233,238,241,242,246,247,248,250,251,255,261,266,272,273,274,275,276,279,281,282,283,284,286,288,291,292,293,296,298,301,304,310,311,314,315,316],suppos:[171,172,182,183,226,227,229,230,238,266,273,274],suppress:[231,275,276],supriou:245,supris:[282,283],suraj:[171,193,202,203,226,231],sure:[2,58,129,171,172,173,179,182,183,212,220,226,227,228,229,230,231,232,236,241,246,247,257,263,275,276,282,283,291,292,297,316],surpris:[2,135,202,203,220,221],surv:[35,162,215,226,227,231,232],surveil:[20,35,171,172],surviel:[162,215,226,227],surviv:[139,182,183],suspend:[115,177,182,183,231,234,282,284],sv830_027:39,sw288484:145,sw:[44,153,171,172,229,230,261,281,282,285,316],sw_driver:[171,172],swanson:275,swap:[47,171,172,182,183,226,228,291,292,313],swdn:[282,283],swich:221,swift:[136,293],swirchboard:28,switchboard:[25,38],swtich:221,sxm2:[273,275,276],sy:[47,133,141,150,162,171,172,178,182,183,195,202,203,213,214,220,222,224,231,232],sychron:220,sylvia:275,symbol:[8,133,144,146,147,149,171,173,222,225,226,227,291,292],symbol_map:222,symptom:35,sync:[30,58,147,148,171,172,179,182,183,193,196,202,203,226,227,231,232,233,258,275,276,279,291,292,295],sync_msg:[261,281,282,283],sync_tim:[231,233],syncer:[282,283],synchon:220,synchron:[58,76,171,172,182,183,184,202,203,224,246,247,254,258,271,275,276,279,282,283,286,291,292,316],synchronis:[157,171,172,175,187],synchrou:[258,279,282,283],syncron:[246,247],syncronis:41,syndrom:[171,172],syntax:[44,282,283],sys_ioctl:[162,215,226,227],sys_reboot:[231,233],sys_reset_al:122,sys_reset_all_oth:122,syscal:[146,180,182],sysdump:[194,300],sysf:[19,133,171,172,182,183,222,224,291,292],syslog:[226,227],sysparam:[5,77,273,274],system:[0,1,2,4,5,10,12,15,16,17,18,19,20,21,22,24,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,50,51,52,54,55,58,62,63,64,65,68,70,76,83,88,89,91,93,103,106,108,109,110,113,114,118,122,127,131,132,133,135,136,141,145,146,147,148,153,154,156,160,161,162,164,168,173,174,175,178,180,182,183,184,185,186,188,195,196,201,202,203,204,205,206,210,215,217,221,222,225,228,230,233,234,235,236,239,240,246,247,248,250,258,259,261,266,268,270,273,274,275,276,279,280,281,282,283,284,285,286,287,291,292,295,304,310,312,313,314,316],system_cal:[162,215,226,227,231,233],system_reset:[231,232],systemd:[6,184,185,205,220,229,230],systemsim:[147,148,171,172,220,225,226,227,246,247,273,275,291,292],sytsem:103,sz:69,t0:[89,261,281,282,283],t:[0,1,2,8,39,44,47,50,51,62,63,64,65,69,70,78,79,82,83,85,86,104,106,110,120,121,132,133,135,138,139,145,146,147,148,149,150,153,157,159,160,161,162,164,165,167,168,171,172,173,174,175,182,183,184,185,187,188,193,195,196,198,202,203,204,205,206,207,208,212,213,215,216,217,219,220,221,224,226,227,228,229,230,231,232,233,234,236,237,238,239,241,242,245,246,247,248,252,254,256,257,258,259,261,266,267,268,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,294,296,298,307,309,316],ta:35,tabl:[4,14,30,35,40,71,72,88,97,134,157,171,172,173,174,178,182,183,187,189,220,226,227,246,247,248,256,259,268,273,275,276,278,280,282,283,285,287,291,292,311],tack:[226,227],tag:[7,35,40,71,139,141,152,171,172,173,174,206,220,226,227,253,283,284,285,287,291,292],tag_val:71,tail:[4,258,279,291,292],taint:[162,178,182,183,215,226,227,246,247],take:[7,9,14,15,35,40,43,50,52,54,58,59,70,100,108,109,110,119,124,139,153,171,172,173,174,180,181,182,183,184,187,188,189,192,202,203,204,207,219,220,221,223,226,227,229,230,231,233,238,246,247,248,255,258,260,261,273,274,275,276,277,279,281,282,283,284,285,288,291,292,311],taken:[14,41,67,115,166,171,172,224,226,228,231,232,233,273,274,282,283,291,292,316],tale:[259,280],talk:[44,133,171,172,220,226,227,229,230,246,247],talo:[136,282,283,285],talosii:[282,285],tamper:[118,311,313],tap:[291,292],tapn:[291,292],target:[5,23,28,41,44,58,61,99,103,113,120,121,122,134,140,147,149,150,171,172,173,174,175,182,183,188,202,203,205,220,221,222,224,225,227,229,230,231,232,233,234,235,236,246,247,271,275,276,282,283,287,291,292,316],task:[133,162,215,217,226,227,231,233,246,247],tatlin:[291,292],tb:[58,146,164,202,203,231,233,236,246,247,261,272,275,276,281,282,283],tb_cmpval:[271,275,276],tb_compar:[271,275,276],tb_measur:[171,172],tb_residue_err:144,tbd:[2,316],tbl:106,tce:[30,88,89,106,134,171,173,174,175,194,226,227,255,265,272,275,276,303,306],tce_kil:[171,173],tce_level:[88,134],tce_mem_addr:42,tce_mem_s:42,tce_page_s:[88,134],tce_siz:106,tce_tabl:88,tce_table_addr:[88,134],tce_table_s:[88,134],tcg:[171,172,291,292,314],tcl:[144,146,161,182,183,202,203,226,227,246,247,282,283,291,292],tclreadlin:[273,274],tcp:[231,232],team:[141,171,172,173,182,183,184,185,226,227,228,231,232,246,247,269,275,276,282,283,284,291,292,298],tear:[226,227,246,248],technic:[42,291,292],technolog:[182,183,213,220,258,279,282,283],tediou:[182,183],tell:[51,99,141,171,172,182,183,202,204,217,220,224,226,227,231,232,233,246,247,268,273,275,276,282,283,291,292],temp:[19,171,172,272,275,276],temperatur:[13,19,54,70,146,171,172,226,227,229,230,246,247],templat:[75,135,182,183,272,275,276],temporari:[7,47,131,145,146,220,231,232,315,316],temporarili:[205,287,291,292,316],temporarli:[267,273,274],ten:[202,203,231,232],tenant:0,tend:[282,283],tendolkar:275,term:[138,147,149,226,227,258,273,274,279,282,283,287,291,292],term_numb:49,termin:[41,44,49,152,157,160,161,184,186,187,193,275,291,292],terribl:[275,276],test:[2,5,19,38,66,82,126,130,132,133,134,136,139,140,141,145,147,148,149,161,162,164,170,172,178,184,185,186,187,195,204,205,207,215,232,234,248,250,252,257,258,268,271,272,274,276,278,279,282,283,284,285,287,288,291,292,304],testcas:[162,182,215,226,227],text:[35,127,132,139,202,203,226,227,275,276,282,285,291,292],textual:[1,12,132],tfac:[70,144,246,247,261,281,282,285],tfmr:[58,70,146,171,172,231,236,246,247,261,272,275,276,281,282,285],tfmr_pariti:70,tg3:[162,215,226,227],th:35,than:[4,16,17,42,44,50,52,55,68,70,76,78,88,101,108,115,117,118,130,131,132,133,139,140,144,147,148,150,152,162,171,172,173,174,177,178,182,183,184,185,193,198,201,202,203,204,205,206,215,217,220,221,222,224,226,227,229,230,231,232,233,238,239,240,241,243,246,247,248,250,251,253,254,257,258,259,261,271,273,274,275,276,278,279,280,281,282,283,284,285,287,291,292,298,311,312,316],thank:[146,148,224,298],thankfulli:[171,172,231,232,241],thei:[1,2,4,19,21,22,28,35,37,41,50,106,122,123,128,131,134,135,138,150,162,165,171,172,175,182,183,189,202,203,215,219,220,226,227,228,229,230,231,232,233,239,241,242,243,245,246,247,248,250,251,258,261,266,268,272,273,274,275,276,279,281,282,283,285,287,291,292,298,311,312,313,316],them:[2,13,42,58,93,110,115,117,124,132,134,135,147,149,157,171,172,174,175,178,181,182,183,187,193,202,203,204,208,220,221,224,226,227,228,229,230,231,232,233,238,241,246,247,248,257,267,272,273,274,275,276,277,282,283,285,287,291,292,316],themselv:[41,184,185],theoret:[140,246,248],theori:[2,44,171,172,241,275,276],therefor:[88,150,171,172,174,229,230,246,247,269,275,276,282,283,285,311,313,317],thermal:[51,109,132,258,279,282,283],thet:316,thi:[0,1,2,3,4,5,7,9,12,13,14,15,17,18,19,20,21,22,23,24,26,27,28,29,31,33,35,36,37,39,40,41,42,43,44,46,47,48,49,50,51,52,54,55,56,57,58,61,62,63,64,65,68,69,70,71,72,73,74,76,77,79,81,83,84,87,88,89,90,91,92,93,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,131,132,133,134,136,138,139,140,141,143,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316],thin:[182,183],thing:[1,2,36,77,130,133,141,165,171,172,173,178,180,182,183,193,202,203,220,224,226,227,228,229,230,231,232,236,239,246,247,248,259,260,267,273,274,275,276,280,282,291,292,316],think:[2,81,139,147,149,162,171,172,202,203,207,215,217,220,226,227,229,231,233,261,273,274,275,276,287,291,292],third:[161,174,188,205,222,234,282,283,285],this_cpu:[268,273,274,278],thoe:[226,228],thoma:219,those:[2,4,21,22,29,31,35,37,100,103,131,135,141,150,160,162,164,171,172,182,183,189,202,203,214,219,220,224,226,227,228,231,232,241,246,247,250,258,273,275,276,279,282,283,284,287,291,292,316],though:[2,50,131,132,133,139,146,157,162,171,172,177,182,183,187,203,204,213,231,232,246,247,248,250,261,273,274,275,276,281,282,283,284,285,286,288,291,292,316],thought:[132,146,162,215,226,227,282,285],thousand:[275,276],thrash:[275,276],thread0:[257,272,275,276,278,282,283],thread:[2,14,28,37,40,58,112,116,122,124,133,147,148,169,171,172,182,183,184,186,193,202,203,208,217,226,227,229,230,231,232,233,242,243,246,247,248,257,258,261,267,272,273,274,275,276,278,279,281,282,283,285,316],thread_statu:112,three:[4,23,47,52,73,171,172,182,183,221,229,230,238,275,282,283,285,291,292,312,314],threshold:[13,134,251,275,276],thrill:219,throttl:[16,70,109,147,148,224],throttle_statu:70,through:[1,9,10,20,26,31,41,50,58,60,70,77,78,88,101,118,120,122,124,133,134,135,146,161,171,172,175,180,202,203,204,220,224,226,227,229,230,231,232,246,247,250,255,257,259,271,273,274,275,276,277,280,282,283,285,287,291,292,307,309,311],throughout:161,throughput:[171,172,182,183],thu:[2,14,41,44,54,110,153,160,171,172,189,226,227,231,232,238,252,256,259,271,273,275,276,279,280,282,283,291,292,316],thunk:[193,226,227],thursdai:[158,174,176,178,188,189,191,194,210,228,229,235,238,261,269,271,277,281,284,285,289,290,294,301,302,307,309],ti:[177,182,183,295],tick:[58,201,202,203,229,273,274,282,283],tick_nohz_idle_stop_tick:37,tid:[28,229,230,246,247],tie:[171,172,177,182,183],tighten:[246,247],tild:4,till:[231,246,247,268,273,287,291,292],tima:316,time:[1,5,13,35,37,38,40,41,42,44,54,58,60,69,77,88,103,108,115,124,129,131,133,134,137,139,140,141,145,146,147,148,150,153,157,160,162,164,165,167,168,171,172,173,175,178,180,182,183,187,193,201,202,203,204,207,209,213,215,217,218,220,224,226,227,228,229,230,231,232,233,235,236,238,244,246,247,248,254,255,256,258,260,261,266,267,269,271,273,274,275,276,277,278,279,281,282,283,284,285,287,291,292,308,311,316],time_wait:[146,147,148,193,202,203,261,275,276,281,282,283],time_wait_m:[202,203,261,281,282,283],time_wait_pol:[261,281,282,283],timebas:[1,2,30,58,108,116,147,148,164,169,171,172,182,183,193,202,203,229,231,232,246,247,275,276,282,283],timefram:[250,273,274],timeout:[35,109,110,113,114,119,128,146,147,148,160,162,164,166,167,169,171,172,182,183,184,185,201,202,203,207,215,217,220,226,227,229,230,231,232,233,235,236,242,243,246,247,248,258,266,268,271,272,273,274,275,276,279,282,283,287,291,292],timer:[5,58,70,146,164,171,172,173,193,199,202,203,207,217,220,226,227,229,230,231,233,241,243,246,247,255,258,261,265,272,273,274,275,276,279,281,282,285,286,291,292,305,306],timer_pol:[207,220],timestamp:[35,171,172,291,292],tini:[133,145],tl:[75,141,220],tlb:[2,115,226,227,228],tlbi:[171,172,173,268,273],tlbie:[226,227],tlp:[226,229,230],tlphdr1:84,tlphdr2:84,tlphdr3:84,tlphdr4:84,tm:[115,177,182,183,224,229,230,231,232,234,282,284],tm_suspend_en:[177,182,183],tmp:[182,183],tn71:[136,226,227],toc:[220,246,247,275,276,277,282,283],tod:[2,58,147,148,159,162,164,171,172,182,183,196,202,203,215,226,227,246,247,261,281,282,283],todai:[42,171,172,226,228,246,247,257,275,276,282,285,291,292],todo:[49,51,101,108,117,131,132,146,312],togeth:[22,171,172,174,177,182,183,275,276,316],toggl:[182,183,316],token:[31,42,45,46,47,49,51,52,70,104,109,110,119,120,126,131,132,135,171,172,178,182,183,208,243,246,247,272,273,274,275,276,316],told:[155,184,185,202,204,246,247],tonn:165,too:[22,84,128,130,171,172,182,183,184,186,195,202,203,221,224,226,227,228,229,230,231,235,246,247,273,274,275,276,277,282,283,291,292],took:[275,276,291,292],tool:[0,17,36,128,133,146,161,171,172,219,224,231,232,233,246,247,248,275,276,287,291,292,314],toolchain:[153,182,183,229,275,276],top:[14,17,31,37,45,140,147,148,161,164,171,174,182,183,202,203,217,220,226,227,231,233,246,247,258,268,273,274,279,298,317],topic:[273,274],topolog:[2,58,178,182,183,202,203,213,220,221,229,230,231,232,275,276,282,283],topology_add_dev:[231,233],tortur:[162,215,226,227],total:[24,35,88,89,103,147,148,161,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231,261,275,276],totals:[202,204,226,227],touch:[162,215,220,226,227,229,230,291,292],toward:[193,204,220,221,222,224,225,227,230,261,273,281,282,283,304,306,308],tpm:[2,25,38,171,172,202,203,205,207,211,246,247,266,273,274,295,311,312,314],tpm_check_statu:220,tpm_chip:[171,172,173],tpm_i2c_interfac:220,tpm_i2c_nuvoton:[171,172,220,224],tpm_not_pres:[246,247],tpm_read_burst_count:220,tpm_read_fifo:220,tpm_register_chip:224,tpm_statu:[246,247],tpm_status_read_byt:220,tpm_timeout_d:220,tpm_write_fifo:220,tpmlogmgr:[171,172,314],tpmlogmgr_addev:314,tpmrel:[171,172,246,247],tpmrel_idata_hash_verif_offset:[171,172],tpo:[114,226,227],trace:[1,5,38,61,133,134,162,171,172,174,178,182,183,215,217,220,224,226,227,228,229,230,231,232,233,246,247,273,274,282,283,287,291,292],trace_:24,trace_cycl:37,trace_imc:[24,37],trace_imc_scom:24,trace_info:[291,292],trace_repeat:[291,292],tracepoint:[291,292],track:[113,146,171,172,217,219,220,221,222,224,225,226,227,228,229,230,231,233,258,261,270,275,276,279,281,282,283,286,287,291,292],tracker:[270,275,276],trade:[109,291,292],tradit:[2,171,172,316],tradition:[275,276],traffic:[102,171,172,239,258,268,273,279,282,283],trail:[268,273],train:[171,172,180,182,183,220,224,226,227,228,229,230,231,232,239,240,246,247,251,261,268,269,273,274,275,276,277,281,282,283,287,291,292],trajectori:[184,185],trampl:[246,248],transact:[21,102,115,160,162,171,172,182,183,208,214,220,225,226,228,229,231,232,234,238,243,266,273,274,282,283],transat:[226,228,231,232],transfer:[41,52,67,202,203],transit:[133,144,171,172,226,227,228,275,282,283,291,292],translat:[31,73,88,89,107,115,134,182,183,221,226,227,246,247],transmitt:[171,172],transpar:[132,134,251,275,276,316],transpend:164,transport:[171,172,246,247,250,258,275,276,279,282,283],trap:[162,178,182,183,215,226,227,246,247,273,274],travers:26,travi:[171,172,184,185,220,224,226,228,229,246,247,248,275,276,277,291,292],treat:[51,97,134,162,214,215,225,226,227,231,232,261,269,275,276,281,282,284,286,288,291,292,311],tree:[3,5,12,16,17,20,21,22,26,33,34,37,38,39,42,44,49,50,52,53,55,59,62,63,64,65,68,70,71,76,77,84,104,109,110,114,119,120,121,127,129,132,133,135,137,139,141,144,145,146,147,148,154,155,171,172,173,174,175,177,182,183,184,185,186,187,188,189,190,191,194,195,201,202,203,204,205,206,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,242,246,247,248,250,259,268,273,274,275,276,277,280,282,283,284,285,287,291,292,311,313,314],trend:[171,193,202,203,219,226,231],trerr:220,tri:[171,172,182,183,198,217,220,231,233,236,246,248,251,255,266,272,273,274,275,276,287,291,292],trick:[155,184,185,220],tricki:[220,316],trig:[162,214,224],trigger:[0,44,52,120,150,171,172,174,178,182,183,202,204,217,220,224,226,227,228,229,230,231,232,233,241,246,247,248,268,272,273,274,275,276,282,283,284,291,292,295,316],trigger_pag:[179,182],trim:[226,227],tring:224,trip:[171,172,241,275,276],tritz:226,trivial:[140,273],troubl:220,troublesom:[231,236],truncat:[147,149,193,281,282,283],trust:[23,25,38,133,173,202,203,205,220,231,232,245,253,257,275,276,278,282,283,284],trustedboot:[171,172,275,276,291,292,314],trustedboot_exit_boot_servic:[171,172,246,247],trustedboot_measur:[171,172,314],trustedbootcmd:314,try_lock:[171,172],try_lock_cal:[273,274,275,276],tscr:[226,227],tss:[171,172,314],tss_nv_writelock:313,tucson:236,tuesdai:[163,172,177,180,190,192,198,206,207,216,220,224,226,230,231,237,247,254,256,259,262,264,280,291,296,304,308,310],tuleta:[39,42,136,226,227],tunabl:[178,182,183],tune:[178,182,183,229,230,299],tunnel:[87,182,183,246,247],tupl:14,turn:[1,13,35,56,133,171,172,219,221,224,226,229,230,231,232,240,246,247,261,266,273,274,281,282,283,285,291,292,316],tve:[107,220,226,227,271,275,276],tvt1:[246,247],tvt:[171,173,174,226,227,229,230,246,247],tweak:[182,183,246,247],twi:[171,172,241],twice:[36,226,227,246,247,273,274,275,276,291,292,311],two:[1,2,4,14,31,35,37,41,44,59,68,100,108,127,132,133,139,140,141,147,149,150,161,171,172,173,174,182,183,184,185,188,197,199,211,216,222,224,226,227,228,229,230,231,232,233,235,237,238,240,243,245,246,247,248,249,258,267,268,273,275,276,279,282,283,298,311,313,314,316,317],tx:[171,172,194],tx_rxcal_dis:41,tx_rxcal_en:41,tx_zcal:41,txt:[21,22,31,171,172,289],tyan:[136,145],tyler:275,type:[0,2,10,16,17,18,19,21,22,24,26,27,28,29,30,34,35,37,40,43,50,51,54,60,61,67,68,69,70,82,83,84,106,109,111,119,120,129,132,135,147,148,149,151,171,172,174,178,182,183,189,193,202,204,220,221,225,226,227,229,230,231,232,242,246,247,250,269,272,273,274,275,276,282,283,291,292,311,316,317],typedef:127,typic:[2,16,22,50,52,53,60,76,86,104,127,131,133,134,147,148,182,183,229,230,254,275,276,282,283,285,316],typo:[158,182,183,189,201,202,203,206,220,226,227,272,273,275,276,282,283],u32:[21,109,110,119,120,171,175,313],u64:[17,68,71,120,171,175,313],u78c9:[10,34],u78d3:[246,247,272,275,276,282,283],u8:313,u:[70,136,147,148],uart:[1,2,151,154,164,184,186,220,224,231,232,246,247,275,276,290,299],uart_con_flush:[246,247],uart_opal_flush:[246,247],uav:[231,232],ubuntu:[162,171,172,173,215,220,226,227,275,276,277,291,292],uc:[271,275,276],ucod:[4,102,171,172,180,182,183,193,231,232,233,246,247,250,254,275,276,277,281,282,283],ud:[35,271,275,276],udbg_opal_putc:[291,292],udbg_writ:[291,292],udelai:[58,282,283],ue:[181,208,246,247,267,273,274],uefi:[291,292],ugli:[266,273,274],uglier:[226,227],uh:35,ui:12,uint16_t:[35,57,74,78,81,88,89,90,92,93,99,103,121],uint32_t:[35,44,47,50,53,56,57,59,60,61,62,63,65,69,75,77,78,82,91,97,98,101,105,106,113,114,117,120,121,128,129,202,203,226,227,316],uint64:[43,72],uint64_t:[42,45,46,47,48,50,51,52,53,55,56,59,60,61,67,68,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,112,114,115,117,118,123,124,126,127,128,202,203,311,316],uint8_t:[35,47,49,50,56,57,60,64,65,67,70,78,81,96,100,101,112,121,171,172,238,314,316],uio:[162,215,226,227],uio_pdrv_genirq:[162,215,226,227],ultim:[182,183,282,283],ultra_turbo:13,ultravisor:316,umac:[28,229,230],umask:220,un:[146,171,172,224,282,283],unabl:[43,49,58,109,110,118,119,246,247,282,283,286,291,292,298],unaccess:[287,291,292],unalign:[229,230,231,232,246,247,288,294],unannounc:139,unassign:21,unassoci:[217,231,233],unauthor:311,unavail:[112,217,231,233],unavoid:22,unawar:[246,247],unbal:[282,285],unchang:[273,274,275,276,316],unclear:[246,247],uncompress:132,uncondit:[171,172,237],uncondition:[147,148,171,172,202,203,204,226,228,231,232,270,272,275,276,311],unconnect:[246,247],uncorr:[256,275,276],uncorrect:[254,275,277],uncorrerr:164,uncorrerrorstatu:84,undefi:[246,248],undefin:[70,171,172,287,291,292,313],under:[2,6,8,9,10,13,22,28,31,42,58,70,113,114,132,138,139,144,153,169,171,172,174,175,178,182,183,187,193,194,203,204,220,222,226,227,228,229,230,231,232,236,241,246,247,275,282,283,285,286,287,291,292,313],underflow:[171,172,307,309],underli:[162,171,172,214,231,232,241,246,247,255,275,316],underneath:[22,44],understand:[40,68,138,139,141,162,171,172,215,220,266,273,274,291,292],undertand:220,undesir:[122,171,174,231,233],undo:[113,259,280],unexpect:[17,51,162,171,172,173,184,185,195,202,203,214,224,255,275,281,282,283,311,314],unexpectedli:[275,282,283,284,291,292],unfilt:[182,183,287,291,292],unfinish:205,unflatten:135,unfortun:[0,157,162,171,172,187,193,214,221,224,225,226,227,228,229,230,231,232,235,236,241,246,247,275,276,282,285,286,291,292],unfreez:182,ungat:[267,273,274],unhandl:[162,214,217,224,231,232,254,275,276,291,292],unhappi:[231,232],unifi:[2,145,147,149,182,183],unimpl:42,uniniti:[146,275],uninitialis:[182,183,226,227,273,274],unintend:[182,183],unintent:[251,275,276],union:70,uniqu:[18,19,22,28,33,35,56,88,120,134,178,182,183,282,316],unit:[2,22,34,38,61,145,154,157,159,170,171,172,182,183,184,185,187,193,196,224,226,231,232,246,247,257,275,276,277,282,284,291,292],unittest:229,unknown:[22,35,61,107,131,147,162,171,172,214,219,222,224,226,228,231,233,245,246,247,248,250,273,275,276,288,295],unless:[2,15,17,88,134,138,140,154,155,171,172,173,204,220,231,232,246,247,275,276,282,283,316],unlik:[43,96,120,127,141,182,183,224,229,230,231,232,274,275,276,282,284,291,292,311,313,316],unlink:50,unlock:[145,162,171,172,181,182,183,214,225,246,247,256,275,276,278,279,313],unlock_check:278,unlucki:[226,227],unmask:[121,171,172,220,245,316],unmodifi:316,unnam:[226,227],unnecessari:[160,226,227,275,276,316],unnecessarili:[231,232,246,247],unneed:[268,273],unnot:[231,232,282,283,291],unpack:[226,227],unpatch:193,unplug:[27,213,220],unrecover:[17,35,171,172,178,182,183,196,202,203,204,261,281,282,283,285],unregist:[40,50,71],unrel:203,unreli:[162,171,172,215,217,226,227,231,233,273,274],unreproduc:[246,248],unrespons:[162,191,193,208,215,217,226,227,231,233,290,299],unsaf:[81,144,171,172],unset:[268,273],unsign:[35,106,171,172,220,226,227],unspecifi:316,unstabl:[171,173,226,275],unsupport:[22,29,41,44,50,60,61,70,73,78,80,91,92,95,96,131,132,146,171,172,226,227,282,283,316],unsuppreq:164,unsuspect:[291,292],untest:[291,292],unthrottl:70,until:[0,4,17,42,44,50,62,74,108,113,117,125,135,153,163,165,171,172,174,175,179,182,183,201,202,203,204,205,208,216,217,220,221,224,226,227,229,230,231,232,233,240,241,243,245,255,257,258,261,266,272,273,274,275,276,279,281,282,283,286,291,292,316],untim:[171,174],untouch:[118,221],untranls:134,untransl:89,unus:[42,45,51,108,220,229,230,258,261,279,281,282,283,291,292,311,313],unusu:231,unwind:[246,247,282,285],uopwr:[26,171,172,182,183,249,282,285],up:[17,23,27,29,35,42,43,50,54,61,70,72,73,75,76,101,108,114,130,132,135,140,147,148,149,151,153,157,161,165,166,168,171,172,173,175,178,181,182,183,184,186,187,191,194,195,201,202,203,208,219,220,221,224,225,226,227,228,229,230,231,232,233,238,241,246,247,248,250,255,258,260,261,266,267,272,273,274,275,276,279,281,282,283,284,285,286,287,291,292,311,314,316],upcom:139,updat:[0,1,2,4,24,35,37,38,42,44,53,62,63,64,65,68,70,71,72,75,100,101,108,118,124,134,137,146,153,154,156,157,159,161,162,165,171,172,173,174,182,183,187,193,194,196,201,202,203,204,213,215,220,221,224,226,227,228,229,230,231,232,233,236,237,238,242,246,247,248,250,251,253,254,256,257,258,259,268,271,273,274,275,276,277,278,279,280,282,283,285,286,287,291,292,296,298,304,311,313,315],update_bank:311,upgrad:[22,157,171,172,226,253,273,274,275,276,291,292],upload:146,upon:[13,14,48,84,138,153,154,171,172,178,182,183,204,246,247],upper:[88,162,214,220,226,227,282,284,285],uppercas:[273,274],upstream:[50,101,139,140,141,164,171,172,182,183,189,195,202,203,246,247,248,259,275,280,282,283,284,291,292],uptick:219,upto:[35,120,171,175,291,292],ur:[171,172,238,272,275,276],urgent:134,us:[0,1,2,3,7,9,13,14,15,16,17,19,21,22,23,24,27,28,29,31,35,36,37,39,40,41,42,43,44,45,49,50,51,52,53,54,55,56,58,60,62,63,64,65,67,68,69,70,71,73,75,81,82,83,84,86,88,89,90,93,95,97,98,101,102,103,104,105,106,107,109,110,111,113,115,117,118,119,120,121,122,123,127,128,130,131,132,133,134,135,136,137,138,139,140,141,144,146,147,148,149,155,160,162,164,168,171,172,173,174,175,177,178,179,180,181,182,183,184,185,186,189,193,194,201,202,203,204,205,206,207,208,212,213,214,215,217,219,220,221,222,224,225,226,227,228,229,230,231,232,233,235,236,238,239,240,241,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,309,311,313,314,315,316],usa:138,usabl:[21,22,27,50,147,149,171,172,184,185,201,220,226,227,231,232,316],usag:[4,17,21,22,39,130,144,171,172,226,227,231,233,273,274,275,276,311],usb:[34,282,285],useless:[171,172,182,183,202,203,226,227,231,232,282,283],user:[0,1,2,17,21,22,23,33,35,36,68,104,115,132,139,141,147,148,158,161,162,171,172,173,181,182,183,184,186,189,198,202,203,204,208,215,220,225,226,227,228,229,230,231,232,246,247,248,253,258,267,268,273,274,275,276,279,282,283,285,287,291,292,298,304,312,315,316],user_map:[291,292],userdata1:[171,174],userdata2:[171,174],userspac:[6,17,21,22,132,133,146,161,180,182,183,224,231,232,246,247,252,260,273,274,282,283],usr:[182,183,225,287],usual:[2,58,70,77,135,154,171,172,202,203,219,226,227,246,247,268,272,273,275,276,287,291,292,316],utc:[231,233],util:[36,135,146,147,148,149,161,166,185,193,197,219,224,246,247,257,311,313,314],utilis:37,utin64_t:134,utl:[84,159,196],v0:[171,172],v100:[282,283,285,287,291,292],v10:[231,233],v1:[2,4,17,23,42,49,70,130,131,171,172,173,174,175,183,203,204,205,206,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,246,247,257,275,277],v2:[3,4,5,22,23,70,95,130,132,146,171,172,182,183,184,185,193,213,220,226,227,229,230,246,247,248,250,273,274,275,276,277,282,283,284,285,291,292],v3:[5,10,13,21,70,112,130,132,171,172,193,275,276],v4:[5,42,131,132,193,246,247,273,274],v5:[43,136,139,171,172,173,174,175,182,183,226,227,228,229,230,231,232,233,234,235,236,259,268,273,280],v6:[30,136,246,247,248,259,268,273,274,275,276,277,280,282,283,284,285,290,291,292,293,298,303,304,308],v7:310,v:[4,155,184,185,275,276],va:[25,28,38,171,172,174,229,230,273,274],vagu:[287,291,292],vaibhav:[171,184,185,187,193,226,231,275],vaidyanathan:[147,148,161,171,184,185,193,202,203,219,220,224,229,231,275],val:[123,128],valeev:193,valgrind:[171,172,220],valid:[9,17,23,35,38,41,43,47,49,50,56,70,97,100,102,103,117,134,144,145,146,162,171,172,178,182,183,193,202,203,215,220,226,227,229,230,231,232,239,241,246,247,258,271,275,276,279,282,283,286,287,291,292,294,312,316],validate_esl:[307,309],validate_esl_list:[307,309],validate_mask:134,valu:[1,2,4,5,13,14,15,17,19,21,23,24,28,31,35,37,41,52,56,58,61,62,68,69,70,88,89,90,93,95,96,97,98,100,101,102,103,105,107,108,110,114,117,121,123,126,128,129,132,134,145,146,147,148,161,162,166,171,172,173,175,178,182,183,184,186,188,194,198,201,202,203,204,213,215,220,221,224,226,227,228,229,230,231,232,233,238,239,240,241,246,247,248,250,251,257,258,261,268,271,272,273,274,275,276,278,279,281,282,283,284,285,288,289,291,292,294,299,311,313,314,316],valuabl:133,vari:[1,35,153,259,275,276,280],variabl:[1,17,23,38,42,44,69,75,76,141,162,182,183,204,215,219,220,225,226,227,231,232,246,247,258,275,276,279,282,285,287,291,292,304,311],variable_bank:311,variant:[231,232,246,247,248,256,278,282,283,312],variat:132,varieti:[275,276,283],variou:[2,4,27,29,35,37,43,68,144,171,172,173,218,226,227,229,231,232,244,245,246,247,258,273,274,275,276,279,282,283,311,314,316],vas_addr:33,vasant:[147,148,161,171,184,185,193,202,203,204,219,220,224,226,229,231,258,275,279,282,283],vc:[14,145,171,172,241,316],vcpu:316,vcss:13,vdd:[13,145,171,172],vdid:[275,276],vdn:[171,172],ve:[36,147,171,202,219,224,226,228,229,230,246,247,259,260,273,274,275,276,280,282,283,287,291,292],vector:[21,22,134,157,171,173,187,202,203,220,231,232,233,272,275,276,282,283],vendor:[2,26,27,30,34,139,140,171,172,220,224,226,227,231,232,234,268,273,274,287,291,292],venic:136,ver:35,verbatim:138,verbos:[171,172,175,205,226,228,282,283,291,292],veri:[1,4,5,22,41,42,58,146,171,172,182,202,203,217,226,227,229,231,232,233,236,246,247,261,271,272,273,274,275,276,281,282,283,285,286,291,292,313],verif:[3,23,38,134,171,172],verifi:[3,23,150,171,172,173,182,183,204,257,259,275,276,278,280,282,283,287,291,292,301,304],verify_signatur:[307,309],versa:[109,282,283],version:[1,2,3,8,21,22,24,25,26,35,38,41,42,43,46,47,50,67,70,84,115,130,131,132,138,140,143,144,147,148,149,150,171,172,173,174,175,178,179,180,181,188,189,190,192,193,195,196,197,198,199,200,201,202,203,219,220,221,224,226,227,229,230,231,232,233,241,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,286,287,288,289,290,291,292,294,295,296,297,299,300,301,302,303,305,306,307,309,310,313,316],versu:[16,202],vesnin:[136,182,183],vf:[220,261,281,286,291,292],vga:[155,184,185,220,251,268,273,274],via:[2,13,17,20,35,37,40,41,47,61,68,70,77,93,109,119,120,132,134,137,138,139,140,144,151,163,171,172,182,183,193,202,203,216,219,220,221,224,226,227,228,229,230,231,232,238,246,247,268,269,273,275,276,282,283,285,287,288,291,292,312,313,316],vice:[109,282,283],vid:[14,171,175],view:[12,171,172,220,275,276],vini:221,violat:[282,285],vipin:[147,148,161,184,185,193,202,203],virt:[182,183],virtual:[2,25,28,35,38,132,171,172,182,183,202,203,221,229,230,261,275,276,281,282,283,285,286,291,292,316],visibil:[226,227],visibl:[0,2,141,158,171,172,189,220,273,291,292,298,316],vital:[25,38,220],vmalloc:[202,203],vmlinux:132,vmlinux_map:[225,291,292],vmx:2,vmx_crypto:[162,215,226,227],vn:[171,172],vnet:224,vnvram:[210,217,231,232,302],volatil:[76,171,172,213,220,273,282,283,311],voltag:[13,14,182,183,229,230],volum:139,voluntarili:[114,151,171,172],vou:[246,247,272,275,276],vp:[171,172,220,231,232,233,241,282,283,316],vp_id:316,vpd:[2,25,38,135,146,171,172,180,194,219,220,221,222,231,232,234,246,247,273,282,283,288,295,301,316],vpd_data_pars:288,vpd_valid:220,vpd_vini_pars:288,vpnor:[171,172],vpodc:155,vprintk_emit:[217,231,233],vprlog:[273,274],vrm:[171,172],vrml:[171,172],vs:[13,35,109,144,220],vsd:222,vsnprintf:220,vsu:[157,187],vsx2:21,vsx:[2,22],vt:[231,232],vtpm:32,vv:[164,213,220],w25q256bv:[184,185],w2:[231,232],w:[171,172,220,231,232,246,247,269,275,276,282,283],wa:[5,39,41,42,43,45,49,50,58,70,72,75,76,81,83,87,99,100,109,110,113,118,119,120,122,124,129,130,131,132,134,136,138,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,316],waddress:[291,292],wafer:[231,232,317],wai:[20,22,36,37,44,58,61,77,117,121,138,139,140,160,171,172,173,178,180,182,183,193,201,205,213,220,224,226,227,228,229,230,231,232,234,238,246,247,250,261,273,274,275,276,279,281,282,283,285,286,291,292,298,316],wait:[0,35,43,96,108,109,110,113,117,119,120,131,160,161,162,163,171,172,174,175,182,183,184,185,202,203,208,209,213,216,220,226,227,228,229,230,231,233,241,243,246,247,248,255,258,261,271,272,273,274,275,276,279,281,282,283,286,287,289,291,292],wait_for_all_occ_init:299,wait_for_resource_load:[220,226,227],wait_tim:[287,291,292],waiter:[275,276],waitin:[287,291,292],wake:[122,171,172,202,203,246,247,257,273,274,275,276,278,282,283],wakeup:[122,171,172,182,183,231,232,235,242,255,275,276,302],wakup:[182,183],walk:[115,171,172,174,182,183],walthour:[164,184,185,231],want:[1,2,17,35,50,84,124,127,133,155,157,171,172,175,178,182,183,187,204,217,220,226,227,229,230,231,232,233,246,247,250,261,273,274,275,276,281,282,283,285,286,291,292,316],warkenti:[202,204],warkentin:[147,148],warn:[1,19,54,56,70,88,89,90,93,97,98,101,103,105,108,121,130,132,134,146,147,160,161,165,171,172,175,182,183,184,185,189,193,195,202,203,205,220,224,226,227,228,229,230,231,232,252,257,275,276,277,278,281,282,283,285,288,291,292,299],warrant:[21,256,275,276],wart:[226,227],wasn:[145,165,226,227,254,275,277,282,283],wast:[1,147,149,224,229,230],watch:[155,171,172,220,229,230,231,232,241],watchdog:[5,38,146,162,215,226,227,246,247,248],watermark:[171,172,238],wd_power_cycle_act:[273,274],wd_reset_act:[273,274],we:[1,2,4,17,19,24,26,29,35,36,39,40,42,43,47,50,51,68,71,95,108,120,130,131,132,133,134,138,139,140,141,144,146,147,148,149,150,151,152,153,157,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,193,194,195,196,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,266,267,268,269,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,289,291,292,298,304,308,312,316],weather:70,web:12,wed:[154,155,156,231,233],wedg:[258,279,282,283],wednesdai:[175,179,183,184,186,187,192,195,199,201,204,205,209,213,215,217,222,223,232,234,239,240,241,248,249,250,253,257,258,265,266,268,273,278,279,288,298,303,304,305,306],week:[139,203,204,205,206,219,220,221,222,223,224,225,226,227,228,283,284,285],wei:171,weird:[182,220],welcom:[132,202,203],well:[1,39,50,125,132,133,145,171,172,174,182,183,203,217,219,224,226,227,229,230,231,232,233,246,247,248,252,254,261,272,273,275,276,277,281,282,283,291,292],went:[43,83,117,124,151,195,202,203,217,231,232,233,246,259,280,282,283,287,291,292],were:[4,17,39,42,46,58,75,131,141,143,159,160,161,171,174,175,184,185,195,196,202,203,219,220,229,230,231,232,246,247,250,258,259,272,273,274,275,276,277,279,280,282,283,284,285,287,291,292,311,312,316],weren:[167,171,172,238,282],werner:[219,220],werror:[144,171,173,184,185,288],wformat:[184,185],what:[1,2,4,15,17,22,38,47,51,84,109,110,130,133,141,157,171,172,182,183,187,193,202,203,204,205,220,226,227,228,229,230,231,232,238,246,247,248,257,258,266,267,273,274,275,276,277,279,282,283,284,285,287,291,292,307,309,311,314,316],whatev:[139,171,172,226,227,228,261,272,275,276,281,286,287,291,292],wheel:132,when:[0,2,4,13,19,21,22,23,24,33,35,37,41,47,50,51,52,53,58,59,68,70,88,89,101,104,108,113,115,120,121,122,123,124,130,131,132,133,134,139,140,141,144,145,146,147,148,149,153,154,156,157,158,159,160,162,164,165,166,167,168,171,172,173,174,177,178,182,183,184,185,186,187,189,190,191,193,196,198,201,202,203,204,205,207,214,215,216,217,220,221,222,224,225,226,227,228,229,230,231,232,233,234,238,240,241,245,246,247,248,251,253,255,256,258,261,266,268,269,271,272,273,274,275,276,277,278,279,281,282,283,284,285,286,287,288,289,291,292,294,298,299,306,311,312,313,314,315,316],whenev:[40,182,183,217,226,228,229,230,231,233,239,268,273,274,275,276],where:[0,1,3,4,21,22,28,33,35,36,39,40,42,50,58,62,63,64,65,68,69,70,75,87,88,89,103,106,109,110,114,119,124,130,131,132,133,134,144,146,147,148,151,153,157,162,163,166,168,169,171,172,173,174,175,176,178,182,183,187,193,195,202,203,204,205,208,215,216,217,220,221,224,226,227,228,229,230,231,232,233,235,238,242,246,247,249,251,257,258,260,269,272,273,274,275,276,278,279,282,283,287,291,292,311,316,317],wherea:13,whether:[2,24,32,37,58,68,70,88,99,121,132,135,138,171,172,202,203,220,226,227,229,230,246,247,250,273,275,276,282,283,311,314,316],which:[0,1,2,3,9,13,14,15,16,17,19,21,22,24,27,28,29,33,35,37,41,44,50,52,56,58,62,67,68,69,70,73,76,84,88,93,100,102,104,106,108,109,118,119,120,122,123,129,133,134,135,140,141,145,146,147,148,149,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,195,196,201,202,203,204,205,206,208,214,215,217,218,219,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,238,241,242,244,245,246,247,248,250,251,254,255,256,257,258,261,267,268,269,271,272,273,274,275,276,277,278,279,281,282,283,284,285,287,288,291,292,293,298,304,308,310,311,313,314,316,317],whichev:224,whih:[282,283],whilst:[171,174],white:311,whitehorn:146,whitelist:[134,171,231,232,250,275,276],whitespac:[171,226,227,231],who:[1,4,72,95,138,141,147,148,160,161,164,172,184,185,187,193,202,203,204,246,247,259,280],whoever:133,whole:[138,147,148,154,161,171,172,204,206,226,227,229,230,231,261,273,274,275,276,282,283,291,292,313,316],wholesal:[291,292],whose:[68,182,183,231,232,246,247],whta:1,why:[70,140,171,172,220,224,226,246,247,268,273,274,287,291,292],wide:[14,20,171,172,282,283],width:[134,135,220,226,228,229,230,231,232,250,268,271,273,274,275,276,287,291,292],wild:[141,166,261,281,282,283,285],wildcard:[171,175,182,183,282,283,287,291,292],willi:[219,220],william:[161,184,185,187,193,202,203,219,220,231],wimplicit:224,win:[254,275,276],win_siz:88,win_size32:88,win_size_32:88,win_size_64:88,winbond:[184,185],window:[30,33,41,88,89,90,93,103,134,171,172,182,183,188,229,246,247,251,252,258,268,273,274,275,276,279,282,283,285],window_id:[88,89],window_num:[90,93,103,134],window_numb:[88,89],window_s:89,window_typ:[90,93,103,134],winkl:13,wio:[256,278],wipe:[161,171,172,316],wire:[27,29,135,189,226,229,230,282,283],wise:[14,282,283],wish:[140,204,258,279,282,283],wistron:[136,304],witherspoon:[41,134,136,174,182,183,220,226,227,231,232,246,247,250,273,274,279,285,291],within:[35,58,88,89,90,93,97,100,101,103,109,132,134,171,172,182,183,206,217,226,231,233,246,247,254,258,268,273,275,276,277,279,282,283,316],without:[5,21,22,37,42,61,89,100,104,122,135,161,169,171,172,173,174,180,182,183,189,195,201,202,203,204,207,208,220,221,224,226,227,228,229,231,232,238,241,246,247,253,254,258,261,266,272,273,274,275,276,279,281,282,283,285,291,292,312,316],witti:127,wkup:[171,172],wno:[275,276],woefulli:134,wof:[13,171,172,173,182,183,184,185,246,247],woken:[182,183],won:[121,150,168,171,172,182,183,220,226,227,238,258,273,274,275,276,279,282,283,287,291,292,316],wont:[182,282,283],word0:[162,215,226,227],word1:[162,215,226,227],word:[13,35,78,226,227,261,281,282,283,286,291,292,316],work:[2,5,13,17,22,39,42,44,49,50,84,130,138,139,144,145,151,162,164,171,172,173,174,175,178,182,183,193,195,202,203,204,205,206,207,208,209,215,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,240,246,247,248,250,259,261,266,272,273,274,275,276,277,279,280,282,283,284,285,287,291,292,316],workaround:[48,145,146,147,148,162,171,172,182,183,193,208,215,217,220,224,226,227,228,231,232,233,236,241,246,247,250,257,266,270,272,273,274,275,276,277,282,283,286,287,291,292],workaroundi:250,workbook:[171,172,180,182,183,226,228,231,232,236,246,247,248,255,275,282,284],worker_thread:[217,231,233,261,281,282,283],workflow:[184,185],workload:[13,109,153,157,184,185,187],workqueu:[217,231,233],world:[20,171,172,184,185,202,204,220,246,247,275,276,282],worri:219,wors:[150,182,183,246,248],worst:[169,220],worth:[171,172],would:[2,4,5,14,21,22,42,46,58,81,132,133,141,146,147,148,152,153,154,162,164,165,166,168,171,172,174,178,179,182,183,189,202,203,204,207,214,220,224,226,227,229,230,231,232,233,234,240,246,247,248,249,253,257,258,261,266,273,274,275,276,278,279,281,282,283,287,291,292],wouldn:[159,168,196,279,282,283],wrap:[133,171,172,220,246,247,275,276,291,292],wrapper:[35,50,120,171,172,198,202,203,282,285,314],wreck:[182,183,226,227],writ:220,writabl:[188,282,283],write:[1,2,9,12,13,24,28,37,39,40,41,47,49,52,54,61,69,76,77,78,107,108,117,118,127,128,139,146,158,161,162,171,172,173,174,176,182,183,188,189,193,202,203,205,215,217,219,220,224,226,227,228,229,230,231,232,233,238,242,246,247,248,252,258,261,268,271,272,273,274,275,276,279,281,282,283,284,285,287,288,290,291,292,294,299,311,313],write_reg:[287,291,292],writelock:313,writer:[291,292],written:[0,1,41,52,69,78,171,172,188,219,220,226,227,229,230,231,232,246,247,251,275,276,287,291,292,311,313],wrong:[43,51,83,117,124,129,131,166,171,172,182,183,193,194,201,213,220,226,227,228,229,230,231,232,238,246,250,259,271,272,273,274,275,276,280,282,285],wrongli:[202,203],wrote:[171,172],wrprotect:[202,204],wsp:[231,232],wspoon:[171,172],wstack:144,www:[136,155],wzs004a:[246,247,272,275,276,282,283],wzs007x:34,x08:[134,229,230,287,291,292],x16:[134,220,226,227,229,230,268,273,282,283,287,291,292],x1:220,x2:2,x86:[138,282,285],x86_64:[246,247],x8:[226,227,250,268,273,275,276,282,283],x8x8:[282,283],x:[2,35,36,56,134,136,140,161,162,163,165,171,172,173,174,175,176,177,178,179,180,181,182,183,184,187,188,189,192,201,202,203,204,205,206,208,209,210,213,214,215,216,217,218,220,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,278,279,280,281,286,287,288,289,290,294,295,296,297,299,300,301,302,303,305,306,307,309,317],x_tabl:[162,215,226,227],xer:[162,171,173,178,182,183,214,215,224,226,227,246,247,248,282,284],xhci:[282,285],xic:[62,63,64,65,121,193,224,316],xicp:2,xirr:[62,316],xive2:310,xive:[38,56,62,97,105,134,179,181,182,183,193,220,222,224,226,227,228,229,230,233,237,241,246,247,270,275,276,282,283,289,294,305],xive_cpu_st:[226,227],xive_dump_emu:316,xive_dump_tm_hyp:316,xive_dump_tm_o:316,xive_dump_tm_pool:316,xive_dump_tm_us:316,xive_dump_vp:316,xive_eq_for_target:[231,232,305],xive_get:220,xive_get_:220,xive_get_ir_target:220,xive_get_vp:220,xive_num:[56,105,134],xive_numb:[56,105,134],xive_provision_cpu:220,xive_reset:[171,172,220,241],xive_set_eq_info:220,xive_source_interrupt:[231,233],xive_source_set_x:220,xive_sync_ea:316,xive_sync_queu:316,xivr:[56,105,134],xlink:37,xml:[4,171,172,275,287,291,292],xmon:[171,172,178,182,183,246,247,291,292],xor:[171,172],xpec_nest_capp_cntl:[271,275,276],xpec_nest_read_stack_overrid:[269,275,276],xpec_pci_prdstkovr:[269,275,276],xscom:[2,26,27,28,29,30,38,128,146,158,166,171,172,174,180,182,187,190,191,193,198,199,202,203,207,220,226,227,228,229,230,231,232,242,246,247,257,261,272,273,274,275,276,281,282,285,287,291,292,296,305],xscom_addr:[28,229,230],xscom_read:[128,171,174,198,202,203,231,232,275,276],xscom_read_cfam_chipid:[226,227],xscom_reset:[171,172],xscom_writ:[128,171,174,272,275,276,288],xscom_write_mask:[171,174],xsl:[193,291,292],xslo:75,xstop:[44,171,172,238,251,261,268,272,273,274,275,276,281,282,285],xstop_error:70,xstop_reason:[70,291,292],xstop_typ:70,xt:[73,178,182,183,226,227,282,283,287,291,292],xts_bdf:[182,183,246,247],xts_bdf_map:[282,283],xts_pid:[182,183],xup:[162,214,224],xx:[2,21,141],xxx2:[171,174],xxx:[84,291,292],xxxx:2,xyz:[231,232],xz:[133,220,226,228,291,292],xz_embed:133,y:[35,140,231,232,246,248,317],y_m_d:[114,117,226,227],yadro:[136,182,183,275,291,292],ye:[131,226,268,273],year:[117,229,261,273,274,281,286,288,291,292],year_month_dai:117,yet:[35,41,60,125,146,166,171,172,178,182,183,219,220,224,226,229,230,237,246,247,273,274,275,276,282,283,284,287,291,292,316],yield:[14,282,283],yl10113bj001:34,yocto:[187,193],yolo:[268,273],york:138,you:[1,2,36,44,58,81,84,110,124,127,131,132,133,138,139,140,141,146,147,148,155,171,172,182,183,184,185,193,195,202,203,204,205,217,219,220,223,224,226,227,229,230,231,232,233,246,247,248,253,260,275,276,282,283,291,292,316],young:[155,184,185],your:[49,138,139,140,141,184,185,224,226,227,228,231,232,246,248,291,292],your_email:138,yourself:205,youtub:155,yuan:[202,224],yz:35,zaiu:[136,171,172,220,246,247,273,274,285],zalloc:[272,275,276,306],zcal:[226,227,282,283],zero:[1,4,21,61,87,88,89,100,101,114,118,127,171,172,182,183,193,195,201,202,203,221,224,226,227,229,231,235,246,247,260,261,273,274,275,276,281,282,283,285,286,291,292,299,311,313,314],zeroiz:311,zlib:28,zone:[246,247],zork:132,zz24p1:287,zz:[134,136,171,172,220,224,226,227,229,230,231,232,273,274,282,283,291,292]},titles:["OPAL &lt;\u2013&gt; BMC interactions","SkiBoot Console Log","Device Tree","ibm,cvc","ibm,firmware-versions node","ibm,opal","ibm,opal/diagnostics device tree entries","Dump (MPIPL) Device Tree Binding","System Firmware","ibm,opal/flash device tree entries","Service Indicators (LEDS)","nvram Device Tree Node","Operator Panel (oppanel)","ibm,opal/power-mgt device tree entries","ibm,opal/power-mgt/occ device tree entries","power-mgt/powercap","power-mgt/psr","Secvar Binding","ibm,opal/sensor-groups","ibm,opal/sensors/ device tree nodes","sysparams","ibm,powerpc-cpu-features Binding","ibm,powerpc-cpu-features Design","ibm,secureboot","IMC Device Tree Bindings","Device Tree","P9 memory hierarchy","Nvlink Device Tree Bindings","Nest (NX) Accelerator Coprocessor","OpenCAPI Device Tree Bindings","PCI Device Tree Bindings","reserved-memory device tree nodes","Trusted Platform Module (TPM)","Virtual Accelerator Switchboard (VAS)","VPD (Vital Product Data)","How to log errors on OPAL","GCOV for skiboot","OPAL/Skiboot In-Memory Collection (IMC) interface Documentation","SkiBoot Documentation","Memory in skiboot","MPIPL (aka FADUMP) Overview","OPAL/Skiboot Nvlink Interface Documentation","OPAL API Documentation","OPAL_CEC_POWER_DOWN","OPAL_CEC_REBOOT and OPAL_CEC_REBOOT2","OPAL_CHECK_ASYNC_COMPLETION","OPAL_CHECK_TOKEN","Code Update on FSP based machine","OPAL_CONFIG_CPU_IDLE_STATE","OPAL Console calls","OPAL Dumps","OPAL_ELOG: Error logging","OPAL Flash calls","OPAL_GET_DEVICE_TREE","OPAL_GET_EPOW_STATUS","OPAL_GET_MSG","OPAL_GET_MSI_32 and OPAL_GET_MSI_64","OPAL_GET_XIVE","Hypervisor Maintenance Interrupt (HMI)","OPAL_HANDLE_INTERRUPT","OPAL_I2C_REQUEST","OPAL_IMC_COUNTERS_INIT","OPAL_INT_EOI","OPAL_INT_GET_XIRR","OPAL_INT_SET_CPPR","OPAL_INT_SET_MFRR","OPAL_INVALID_CALL","OPAL_IPMI_SEND","Service Indicators (LEDS)","OPAL_LPC_READ","OPAL_MESSAGE","OPAL MPIPL APIs","OPAL_NMMU_SET_PTCR","OPAL NPU2 calls","OPAL_NPU_SET_RELAXED_ORDER","OPAL_NPU_SPA_SETUP","OPAL NVRAM","Get/Set System Parameters","OPAL PCI Config Space Access","OPAL_PCI_EEH_FREEZE_CLEAR","OPAL_PCI_EEH_FREEZE_SET","OPAL_PCI_EEH_FREEZE_STATUS","OPAL_PCI_ERR_INJECT","OPAL_PCI_GET_HUB_DIAG_DATA","OPAL_PCI_GET_PHB_DIAG_DATA2","OPAL_PCI_GET_POWER_STATE","OPAL_PCI_GET_PRESENCE_STATE","OPAL_PCI_GET_PBCQ_TUNNEL_BAR","OPAL_PCI_MAP_PE_DMA_WINDOW","OPAL_PCI_MAP_PE_DMA_WINDOW_REAL","OPAL_PCI_MAP_PE_MMIO_WINDOW","OPAL_PCI_MSI_EOI","OPAL_PCI_NEXT_ERROR","OPAL_PCI_PHB_MMIO_ENABLE","OPAL_PCI_POLL","OPAL_PCI_REINIT","OPAL_PCI_RESET","OPAL_PCI_SET_MVE","OPAL_PCI_SET_MVE_ENABLE","OPAL_PCI_SET_P2P","OPAL_PCI_SET_PE","OPAL_PCI_SET_PELTV","OPAL_PCI_SET_PHB_CAPI_MODE","OPAL_PCI_SET_PHB_MEM_WINDOW","OPAL_PCI_SET_POWER_STATE","OPAL_PCI_SET_XIVE_PE","OPAL_PCI_TCE_KILL","OPAL_PHB_SET_OPTION","OPAL_POLL_EVENTS","OPAL Power Shift Ratio","OPAL Power Caps","OPAL_PRD_MSG","OPAL_QUERY_CPU_STATUS","OPAL_QUIESCE","OPAL Timed Power On and Delayed Power Off","OPAL_REINIT_CPUS","OPAL_RESYNC_TIMEBASE","OPAL Real Time Clock (RTC) APIs","OPAL Secure Variable API","OPAL Sensor Groups","OPAL_SENSOR_READ","OPAL_SET_XIVE","OPAL_SIGNAL_SYSTEM_RESET","OPAL_SLW_SET_REG","Starting and stopping secondary CPUs","OPAL_SYNC_HOST_REBOOT","OPAL_TEST","OPAL_WRITE_OPPANEL_ASYNC","OPAL_XSCOM_READ","OPAL_NX_COPROC_INIT","POWER9 Changes to OPAL API","OPAL API Return Codes","OPAL Specification","Skiboot overview","PCI","PCI Slots","Supported platforms &amp; CPUs","Power Management","Contributing to skiboot","Development and Release Process","Skiboot stable tree rules and releases","Versioning Scheme of skiboot","Release Notes","skiboot 4.0","skiboot 4.1","skiboot 4.1.1","skiboot 5.0","skiboot-5.1.0","skiboot-5.1.0-beta1","skiboot-5.1.0-beta2","skiboot-5.1.1","skiboot-5.1.10","skiboot-5.1.11","skiboot-5.1.12","skiboot-5.1.13","skiboot-5.1.14","skiboot-5.1.15","skiboot-5.1.16","skiboot-5.1.17","skiboot-5.1.18","skiboot-5.1.19","skiboot-5.1.2","skiboot-5.1.20","skiboot-5.1.21","skiboot-5.1.3","skiboot-5.1.4","skiboot-5.1.5","skiboot-5.1.6","skiboot-5.1.7","skiboot-5.1.8","skiboot-5.1.9","skiboot-5.10","skiboot-5.10-rc1","skiboot-5.10-rc2","skiboot-5.10-rc3","skiboot-5.10-rc4","skiboot-5.10.1","skiboot-5.10.2","skiboot-5.10.3","skiboot-5.10.4","skiboot-5.10.5","skiboot-5.10.6","skiboot-5.11","skiboot-5.11-rc1","skiboot-5.2.0","skiboot-5.2.0-rc1","skiboot-5.2.0-rc2","skiboot-5.2.1","skiboot-5.2.2","skiboot-5.2.3","skiboot-5.2.4","skiboot-5.2.5","skiboot-5.3.0","skiboot-5.3.0-rc1","skiboot-5.3.0-rc2","skiboot-5.3.1","skiboot-5.3.2","skiboot-5.3.3","skiboot-5.3.4","skiboot-5.3.5","skiboot-5.3.6","skiboot-5.3.7","skiboot-5.4.0","skiboot-5.4.0-rc1","skiboot-5.4.0-rc2","skiboot-5.4.0-rc3","skiboot-5.4.0-rc4","skiboot-5.4.1","skiboot-5.4.10","skiboot-5.4.11","skiboot-5.4.12","skiboot-5.4.2","skiboot-5.4.3","skiboot-5.4.4","skiboot-5.4.5","skiboot-5.4.6","skiboot-5.4.7","skiboot-5.4.8","skiboot-5.4.9","skiboot-5.5.0","skiboot-5.5.0-rc1","skiboot-5.5.0-rc2","skiboot-5.5.0-rc3","skiboot-5.6.0","skiboot-5.6.0-rc1","skiboot-5.6.0-rc2","skiboot-5.7","skiboot-5.7-rc1","skiboot-5.7-rc2","skiboot-5.8","skiboot-5.8-rc1","skiboot-5.9","skiboot-5.9-rc1","skiboot-5.9-rc2","skiboot-5.9-rc3","skiboot-5.9-rc4","skiboot-5.9-rc5","skiboot-5.9.1","skiboot-5.9.2","skiboot-5.9.3","skiboot-5.9.4","skiboot-5.9.5","skiboot-5.9.6","skiboot-5.9.7","skiboot-5.9.8","skiboot-5.9.9","skiboot-6.0","skiboot-6.0-rc1","skiboot-6.0-rc2","skiboot-6.0.1","skiboot-6.0.10","skiboot-6.0.11","skiboot-6.0.12","skiboot-6.0.13","skiboot-6.0.14","skiboot-6.0.15","skiboot-6.0.16","skiboot-6.0.17","skiboot-6.0.18","skiboot-6.0.19","skiboot-6.0.2","skiboot-6.0.20","skiboot-6.0.21","skiboot-6.0.22","skiboot-6.0.23","skiboot-6.0.24","skiboot-6.0.3","skiboot-6.0.4","skiboot-6.0.5","skiboot-6.0.6","skiboot-6.0.7","skiboot-6.0.8","skiboot-6.0.9","skiboot-6.1","skiboot-6.1-rc1","skiboot-6.2","skiboot-6.2-rc1","skiboot-6.2-rc2","skiboot-6.2.1","skiboot-6.2.2","skiboot-6.2.3","skiboot-6.2.4","skiboot-6.3","skiboot-6.3-rc1","skiboot-6.3-rc2","skiboot-6.3-rc3","skiboot-6.3.1","skiboot-6.3.2","skiboot-6.3.3","skiboot-6.3.4","skiboot-6.3.5","skiboot-6.4","skiboot-6.4-rc1","skiboot-6.5","skiboot-6.5.1","skiboot-6.5.2","skiboot-6.5.3","skiboot-6.5.4","skiboot-6.6","skiboot-6.6.1","skiboot-6.6.2","skiboot-6.6.3","skiboot-6.6.4","skiboot-6.6.6","skiboot-6.7","skiboot-6.7.1","skiboot-6.7.2","skiboot-6.7.3","skiboot-6.8","skiboot-6.8.1","skiboot-7.0","Secvar Drivers","Skiboot edk2-compatible Secure Variable Backend","secboot_tpm secvar storage driver for P9 platforms","Secure and Trusted Boot Library (LibSTB) Documentation","Virtual Accelerator Switchboard (VAS)","P9 XIVE Exploitation","XSCOM Bindings"],titleterms:{"0":[143,146,147,148,149,184,185,186,192,193,194,202,203,204,205,206,219,220,221,222,223,224,225,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,310],"0x1":108,"0x10":108,"0x100":108,"0x2":108,"0x20":108,"0x200":108,"0x4":108,"0x40":108,"0x400":108,"0x8":108,"0x80":108,"0x800":108,"1":[144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,176,187,195,207,237,249,273,274,278,286,294,299,305,309],"10":[151,171,172,173,174,175,176,177,178,179,180,181,208,250],"11":[152,182,183,209,251],"12":[153,210,252],"13":[154,253],"14":[155,254],"15":[156,255],"16":[157,256],"17":[158,257],"18":[159,258],"19":[160,259],"2":[161,177,184,185,186,187,188,189,190,191,196,211,238,260,275,276,277,278,279,280,281,287,295,300,306],"20":[162,261],"21":[163,262],"22":263,"23":264,"24":265,"3":[164,178,189,192,193,194,195,196,197,198,199,200,201,202,212,239,266,280,282,283,284,285,286,287,288,289,290,296,301,307],"4":[143,144,145,165,179,190,198,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,240,267,281,289,291,292,297,302],"5":[146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,268,290,293,294,295,296,297],"6":[167,181,200,215,223,224,225,242,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309],"7":[168,201,216,226,227,228,243,270,304,305,306,307,310],"8":[169,217,229,230,244,271,308,309],"9":[170,218,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,272],"case":312,"function":126,"new":[147,148,149,171,172,182,183,184,185,186,202,203,220,224,226,227,229,230,231,232,246,247,282,283,291,292,293,298,304,310],"return":[43,44,45,47,48,50,53,54,55,60,61,67,69,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,91,92,94,95,96,99,100,102,104,106,107,109,110,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,131,312],"var":313,A:311,In:37,On:[17,37,114,139],The:147,abi:38,acceler:[28,33,315],accept:140,access:78,after:134,aka:40,all:[157,187,190],ami:[147,148],api:[37,42,71,117,118,130,131,193,311,316],apollo:135,ar:140,argument:[43,113,115,122,126,129,202,204],ast:[166,167,184,186,273,274],astbmc:[226,227,279],author:132,backend:[311,312],background:22,bank:313,barreley:[275,276],base:[13,47,147,148,153,182,183,184,186,193,202,203,220,226,231,232,273,274,275,276,282,283],been:147,behavior:[184,185],beta1:148,beta2:149,binari:133,bind:[7,17,21,24,27,29,30,41,134,312,317],bmc:[0,147,148,166,167,184,186,193,220,231,232,258,273,274,279],boot:[40,132,133,171,172,204,246,247,291,292,314],bootkernel:[202,204],branch:139,bug:[50,147,148,149,182,183,184,185,246,247,273,274],build:[36,291,292],call:[42,49,52,73,84,85,86,102,104,117],candid:202,cap:110,capabl:41,capi2:[275,276,282,283],capi:[154,171,172,182,183,193,194,202,203,220,231,232,246,247,268],caus:58,certif:138,chang:[130,149,150,157,158,161,164,165,166,167,171,184,185,187,202,204,219,220,223,224,226,229,231,246,247,273,274,275],changeset:[171,219,220,224,226,229,231,275],chassi:0,check:134,chip:[14,37],chiplet:317,ci:[273,275,277],clock:[0,117],close:139,code:[17,44,47,53,60,69,78,84,85,86,102,104,117,131,182,183,311,312,314],collect:[37,40],command:[202,204],comment:2,commun:[258,279],compat:[2,311,312],compress:28,config:78,configur:41,consider:141,consol:[1,49],constraint:35,contain:314,contribut:138,contributor:[147,148,164,171,184,185,187,193,202,203,204,219,220,224,226,229,231,275],control:[0,313],coprocessor:28,core:[13,37,220],counter:24,coverag:[182,183],cpu:[13,21,22,124,136],credit:[171,219,220,224,226,229,231,275],current:141,cvc:[3,314],data:[34,36],dd2:[229,230],debug:[1,44,134,137,171,172,182,183,202,203,226,246,247,275,276,282,283,291,292],defin:22,definit:132,degrad:134,delai:114,deprec:[282,283],design:[22,35,68],detect:132,develop:[38,138,139,171,219,220,224,226,228,229,231,275,276],devic:[2,6,7,9,11,13,14,19,24,25,27,29,30,31,40,41,130,134,193,312,316],diagnost:6,disabl:[134,137],dl:41,dma:134,document:[37,38,41,42,202,203,314],domain:14,driver:[311,313],drop:136,dump:[7,35,40,50],ecid:317,edk2:312,eeh:134,employ:[171,219,224,231,275],emul:[27,41],endpoint:317,enforc:17,entri:[6,9,13,14],environ:[132,138],error:[35,51,58,134],event:[24,316],exampl:[2,3,4,17,21,23,32],exploit:316,extract:36,fadump:40,fast:[5,171,172,182,183,204,220,275,276],featur:[21,22,147,148,149,171,172,182,183,184,185,202,203,220,226,227,229,230,231,232,246,247,282,283,291,292,293,298,304,310],ffspart:[246,247],firenz:[135,275,276],fireston:154,firmwar:[4,8,314],fix:[147,148,149,171,172,182,183,184,185,227,246,247,273,274,291],flag:[13,311],flash:[9,52,202,226,227],follow:147,fork:139,format:[8,313],freq:14,frequenc:13,from:35,fsp:[35,47,147,148,151,153,157,171,172,184,186,187,193,194,202,203,220,224,226,227,229,231,232,273,274,275,276,282,283],futur:42,g2:[275,276],gard:[154,171,172],garrison:[187,188,193],gave:[171,219,220,224,226,229,231,275],gcov:36,gen:41,gener:[2,41,147,148,151,153,154,157,166,167,171,172,184,186,187,189,193,194,202,203,226,227,229,230,231,232,273,274,275,276,282,283,291,316],get:77,getscom:[184,186],got:35,gpu:27,group:[18,119],guid:38,guidelin:22,hacker:[219,224,275],handl:[58,246,247],have:147,heap:39,heartbeat:5,hierarchi:26,hiomap:[258,279,282,283],histori:141,hmi:[58,171,172,193,246,247],hotplug:135,how:35,howto:140,hypervisor:58,i2c:[220,224,273,274],i:316,ibm:[3,4,5,6,9,13,14,17,18,19,21,22,23,151,153,171,172,202,203,226,227,229,231,232,282,283],id:[13,14,41],idl:13,ii:316,iii:316,imc:[24,37],improv:[147,148,171,172,182,183,184,185,246,247],improvemen:[182,183],indic:[10,68,313],initi:40,input:[44,47],interact:0,interfac:[22,35,37,41,133],intern:38,interrupt:[41,58,133],ioda:134,ipmi:[0,184,186,203,258,273,274,279,291,292],iv:316,kei:312,layout:[133,313],led:[10,68],level:[1,5,24],libff:[220,226],libflash:[171,172,227,246,247],librari:314,libstb:314,licens:139,lifecycl:139,line:[171,202,204,219,220,224,226,229,231,275],link:134,list:58,load_bank:311,lock:[311,313],log:[1,35,51,132,133],machin:[47,147,148,151,153,166,167],mainten:58,mambo:[184,186,193,202,203,275,276],manag:[137,182,183,226,227],map:2,mask:[13,14],mata:134,max:13,max_var_s:311,maximum:134,mbox:[182,183,226,227],memori:[26,27,31,37,39,133],messag:0,mgt:[13,14,15,16],mhz:13,mi:8,min:13,misc:224,ml:8,mmio:134,mode:[17,24,37,134],modul:32,most:[171,219,220,224,226,229,231,275],mpipl:[7,40,71],ms:5,msi:134,nest:[28,37],node:[2,4,5,7,11,17,19,21,24,31],nomin:13,note:[35,38,102,142,311],npu2:[73,182,183,226,227,246,247,268,273,274,291,292],npu:[29,202,203],nv:313,nvlink2:[171,172,182,183,221,231,232,246,247,268,273,274,275,276,282,283],nvlink:[27,41,202,203],nvram:[11,76,202,203],nx:[28,268],obsolet:23,occ:[14,226,227],off:[37,114],op:71,opal:[0,5,6,9,13,14,17,18,19,35,37,38,41,42,49,50,52,71,73,76,78,109,110,114,117,118,119,130,131,132,153,171,172,184,186,193,226,227,229,230,246,247,316],opal_async_complet:131,opal_busi:131,opal_busy_ev:131,opal_cec_power_down:43,opal_cec_reboot2:44,opal_cec_reboot:44,opal_check_async_complet:45,opal_check_token:46,opal_clos:131,opal_config_cpu_idle_st:48,opal_console_flush:49,opal_console_read:49,opal_console_writ:49,opal_console_write_buffer_spac:49,opal_constrain:131,opal_dump_ack:50,opal_dump_info2:50,opal_dump_info:50,opal_dump_init:50,opal_dump_read:50,opal_dump_resend:50,opal_elog:51,opal_elog_ack:51,opal_elog_read:51,opal_elog_resend:51,opal_elog_s:51,opal_elog_send:42,opal_elog_writ:42,opal_empti:131,opal_event_console_input:108,opal_event_console_output:108,opal_event_dump_avail:108,opal_event_epow:108,opal_event_error_log:108,opal_event_error_log_avail:108,opal_event_led_statu:108,opal_event_msg_pend:108,opal_event_nvram:108,opal_event_opal_intern:108,opal_event_pci_error:108,opal_event_rtc:108,opal_flash_eras:52,opal_flash_manag:47,opal_flash_read:52,opal_flash_upd:47,opal_flash_valid:47,opal_flash_writ:52,opal_get_completion_token_statu:42,opal_get_device_tre:53,opal_get_dpo_statu:114,opal_get_epow_statu:54,opal_get_msg:55,opal_get_msi_32:56,opal_get_msi_64:56,opal_get_param:77,opal_get_power_shift_ratio:109,opal_get_powercap:110,opal_get_x:57,opal_get_xive_sourc:42,opal_handle_hmi2:58,opal_handle_hmi:58,opal_handle_interrupt:59,opal_hardwar:131,opal_hardware_frozen:131,opal_i2c_arbt_lost:131,opal_i2c_bkend_access:131,opal_i2c_bkend_overrun:131,opal_i2c_invalid:131,opal_i2c_lbus_par:131,opal_i2c_nack_rcvd:131,opal_i2c_request:60,opal_i2c_stop_err:131,opal_i2c_timeout:131,opal_imc_counters_init:61,opal_imc_counters_start:61,opal_imc_counters_stop:61,opal_int_eoi:62,opal_int_get_xirr:63,opal_int_set_cppr:64,opal_int_set_mfrr:65,opal_internal_error:131,opal_invalid_cal:66,opal_ipmi_recv:67,opal_ipmi_send:67,opal_leds_get_ind:68,opal_leds_set_ind:68,opal_lpc_read:69,opal_lpc_writ:69,opal_messag:70,opal_mpipl_query_tag:71,opal_mpipl_register_tag:71,opal_mpipl_upd:71,opal_msg_async_comp:70,opal_msg_dpo:70,opal_msg_epow:70,opal_msg_hmi_evt:70,opal_msg_mem_err:70,opal_msg_occ:70,opal_msg_prd2:70,opal_msg_prd:70,opal_msg_shutdown:70,opal_nmmu_set_ptcr:72,opal_no_mem:131,opal_npu_destroy_context:73,opal_npu_get_relaxed_ord:74,opal_npu_init_context:73,opal_npu_map_lpar:73,opal_npu_mem_alloc:75,opal_npu_mem_releas:75,opal_npu_set_relaxed_ord:74,opal_npu_spa_clear_cach:75,opal_npu_spa_setup:75,opal_npu_tl_set:75,opal_nx_coproc_init:129,opal_old_i2c_request:42,opal_paramet:131,opal_parti:131,opal_pci_config_:78,opal_pci_config_read_byt:78,opal_pci_config_read_half_word:78,opal_pci_config_read_word:78,opal_pci_config_write_byt:78,opal_pci_config_write_half_word:78,opal_pci_config_write_word:78,opal_pci_eeh_freeze_clear:79,opal_pci_eeh_freeze_set:80,opal_pci_eeh_freeze_statu:81,opal_pci_eeh_freeze_status2:81,opal_pci_err_inject:82,opal_pci_fence_phb:42,opal_pci_get_hub_diag_data:83,opal_pci_get_pbcq_tunnel_bar:87,opal_pci_get_phb_diag_data2:84,opal_pci_get_phb_diag_data:42,opal_pci_get_power_st:85,opal_pci_get_presence_st:86,opal_pci_get_xive_reissu:42,opal_pci_map_pe_dma_window:88,opal_pci_map_pe_dma_window_r:89,opal_pci_map_pe_mmio_window:90,opal_pci_mask_pe_error:42,opal_pci_msi_eoi:91,opal_pci_next_error:92,opal_pci_phb_mmio_en:93,opal_pci_pol:94,opal_pci_reinit:95,opal_pci_reset:96,opal_pci_set_hub_tce_memori:42,opal_pci_set_mv:97,opal_pci_set_mve_en:98,opal_pci_set_p2p:99,opal_pci_set_p:100,opal_pci_set_pbcq_tunnel_bar:87,opal_pci_set_peltv:101,opal_pci_set_phb_capi_mod:102,opal_pci_set_phb_mem_window:103,opal_pci_set_phb_table_memori:42,opal_pci_set_phb_tce_memori:42,opal_pci_set_power_st:104,opal_pci_set_xive_p:105,opal_pci_set_xive_reissu:42,opal_pci_shpc:42,opal_pci_tce_kil:106,opal_permiss:131,opal_phb_get_opt:107,opal_phb_set_opt:107,opal_poll_ev:108,opal_prd_msg:111,opal_query_cpu_statu:112,opal_quiesc:113,opal_read_nvram:76,opal_read_tpo:114,opal_register_dump_region:50,opal_register_opal_exception_handl:42,opal_reinit_cpu:[115,130],opal_reinit_cpus_mmu_hash:115,opal_reinit_cpus_mmu_radix:115,opal_reinit_cpus_tm_suspend_dis:115,opal_reserved1:42,opal_reserved2:42,opal_resourc:131,opal_resync_timebas:116,opal_return_cpu:124,opal_rtc_read:117,opal_rtc_writ:117,opal_secvar_enqueue_upd:118,opal_secvar_get:118,opal_secvar_get_next:118,opal_sensor_group_clear:119,opal_sensor_group_en:119,opal_sensor_read:120,opal_sensor_read_u64:120,opal_set_param:77,opal_set_power_shift_ratio:109,opal_set_powercap:110,opal_set_slot_led_statu:42,opal_set_system_attention_l:42,opal_set_x:121,opal_signal_system_reset:122,opal_slw_set_reg:123,opal_start_cpu:124,opal_success:131,opal_sync_host_reboot:125,opal_test:126,opal_timeout:131,opal_unregister_dump_region:50,opal_unsupport:131,opal_write_nvram:76,opal_write_oppanel:42,opal_write_oppanel_async:127,opal_write_tpo:114,opal_wrong_st:131,opal_xive_allocate_irq:316,opal_xive_allocate_vp_block:316,opal_xive_donate_pag:316,opal_xive_dump:316,opal_xive_eoi:316,opal_xive_free_act:131,opal_xive_free_irq:316,opal_xive_free_vp_block:316,opal_xive_get_irq_config:316,opal_xive_get_irq_info:316,opal_xive_get_queue_info:316,opal_xive_get_queue_st:316,opal_xive_get_vp_info:316,opal_xive_get_vp_st:316,opal_xive_provis:131,opal_xive_reset:316,opal_xive_set_irq_config:316,opal_xive_set_queue_info:316,opal_xive_set_queue_st:316,opal_xive_set_vp_info:316,opal_xive_sync:316,opal_xscom_addr_error:131,opal_xscom_busi:131,opal_xscom_chiplet_off:131,opal_xscom_clock_error:131,opal_xscom_ctr_offlin:131,opal_xscom_parity_error:131,opal_xscom_partial_good:131,opal_xscom_read:128,opal_xscom_timeout:131,opal_xscom_writ:128,opencapi:[29,182,183,246,247,273,274,275,276,282,283],openpow:[166,189,202,204],oper:[12,135,316],oppanel:12,option:32,origin:138,os:133,other:[149,182,183,184,185,202,204],output:[35,47],overview:[22,37,38,40,41,118,133,312,313],p8dnu:220,p8dtu:[279,282,283],p8nvl:188,p9:[26,312,313,316],p9dsu:[246,247,282,283],panel:12,paramet:[41,44,57,58,61,67,69,74,75,76,77,84,85,86,87,99,102,104,109,110,111,117,118,120,121,123],patch:[139,140],payload:132,pci:[27,29,30,41,78,134,135,171,172,182,183,193,202,203,204,220,221,224,226,227,246,247,268],pcie:[153,282,283],pe:134,pel:35,persist:313,pflash:[153,171,172,187,194,204,226,227],phb3:[157,187,258,279],phb4:[171,172,226,227,228,229,230,231,232,268,275,276,291,292],phb:153,physic:313,platform:[32,136,154,157,171,172,182,183,184,186,187,189,190,193,194,202,203,204,220,224,226,231,232,246,247,273,274,275,276,282,283,291,292,312,313],pmicr:13,pnor:313,post_process:311,power10:310,power8:[153,157,187,231,232,273,274,275,276,282,283],power9:[130,171,172,193,194,202,203,220,221,224,226,227,228,229,230,231,232,268,273,274,275,276,282,283],power:[13,14,15,16,109,110,114,137,171,172,182,183,226,227],powercap:[15,258,279],powerpc:[21,22],practic:141,prd:[153,171,172,184,186,202,203,226,227,229,230,246,247],pre_process:311,presenc:313,previou:202,process:[38,139,311],product:34,properti:[3,4,5,23,32,135],psr:16,psscr:13,pstate:[13,14],qemu:[275,276],queue:316,quick:311,quiesc:[171,172],quiesce_typ:113,ratio:109,rc1:[172,183,184,185,193,203,220,224,227,230,232,247,274,276,283,292],rc2:[173,184,186,194,204,221,225,228,233,248,277,284],rc3:[174,205,219,222,234,285],rc4:[175,206,235],rc5:236,real:[0,117],reboot:[5,44,171,172,182,183,220,275,276],reg:14,region:317,regist:41,registr:40,releas:[38,139,140,142,202],reliabl:[171,172],remov:[42,171,184,185,219,220,224,231,275,282,283,291,292,298],report:[171,219,220,224,226,229,231,275],requir:[3,23,32],reserv:[2,31],reset:[204,313],retrain:134,retriev:35,review:[171,219,220,224,226,229,231,275],ric:134,rng:28,root:2,rtc:117,rule:140,run:14,runtim:132,rx:134,sampl:35,save:[171,172],sbe:0,scheme:141,scom:24,secboot:313,secboot_tpm:313,secondari:124,secur:[17,118,171,172,204,246,247,291,292,312,314],secureboot:23,secvar:[17,311,313],sensor:[0,18,19,119,171,172,229,230,268,291,292],sequenc:134,servic:[10,68,132,314],set:77,setup:134,sha512:314,shift:109,sign:314,signoff:[171,219,220,224,226,229,231,275],simic:[184,186,202,203],simul:[184,186,193,202,203,226,227,231,232,273,274,282,283,291,292],sinc:[184,202,219],skiboot:[1,36,37,38,39,41,133,138,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312],slot:135,sourc:[133,139],space:[41,78],special:312,specif:[41,132,137,147,148,153,171,172],speed:134,sreset:[182,183],stabl:140,start:124,stat:161,state:[13,137],statu:[17,311,312],stop:[124,137],storag:[311,313],store_init:311,submit:140,support:[0,44,132,136,184,185],switchboard:[33,315],sysparam:20,system:[8,77,171,172,220,224,226,227,229,231,232],tabl:17,target_cpu:113,test:[36,171,182,183,193,202,203,219,220,221,224,226,227,228,229,230,231,246,247,273,275,277],time:[0,114,117],tl:41,todo:130,tool:193,top:[5,24,219,224],tpm:[32,220,313],trace:[24,37],train:134,tree:[2,6,7,9,11,13,14,19,24,25,27,29,30,31,40,41,130,134,140,193,312,316],trust:[32,171,172,204,246,247,291,292,314],turbo:13,type:44,ultra:13,unit:[24,36,37],updat:[17,47,312,316],userspac:190,util:[154,171,172,184,186,189,190,202,203,204,220,229,230,231,232,273,274,275,276,277,282,283,291,292],va:[33,268,315],valid:[0,311],valu:[43,45,47,55,67,71,72,74,75,76,87,99,118,120],variabl:[118,312,313],vcss:14,vdd:14,vendor:41,verbos:134,verif:314,verifi:314,version:[4,141],vesnin:[275,276,282,283,291,292],virtual:[33,315],vital:34,vpd:[34,268],vs:311,watchdog:[0,273,274],what:[132,140],who:[171,219,220,224,226,229,231,275],witherspoon:[171,172,275,276,282,283],write_bank:311,xive:[171,172,231,232,316],xscom:317,zaiu:[275,276,282,283],zz:[246,247,275,276]}}) \ No newline at end of file
diff --git a/doc/secvar/driver-api.html b/doc/secvar/driver-api.html
index 176ba5a..626fa03 100644
--- a/doc/secvar/driver-api.html
+++ b/doc/secvar/driver-api.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Secvar Drivers &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Secvar Drivers &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -26,8 +25,9 @@
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Secvar Drivers</a></li>
</ul>
</div>
@@ -36,11 +36,11 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="secvar-drivers">
+ <section id="secvar-drivers">
<span id="secvar-driver-api"></span><h1>Secvar Drivers<a class="headerlink" href="#secvar-drivers" title="Permalink to this headline">¶</a></h1>
<p>This document will attempt to define the expected behavior of the two secvar
drivers, and how a developer should implement a new one.</p>
-<div class="section" id="storage-vs-backend-drivers">
+<section id="storage-vs-backend-drivers">
<h2>Storage vs Backend drivers<a class="headerlink" href="#storage-vs-backend-drivers" title="Permalink to this headline">¶</a></h2>
<p>There are two types of drivers for secure variable support, storage and backend
drivers. Storage drivers are the most simple: they control how and where secure
@@ -51,34 +51,33 @@ they are updated, and how to determine the platform’s OS secure boot state.</p
<p>These drivers are intended to be as self-contained as possible, so that ideally
any combination of storage and backend drivers in the future should be
compatible.</p>
-</div>
-<div class="section" id="storage-driver-api">
+</section>
+<section id="storage-driver-api">
<h2>Storage Driver API<a class="headerlink" href="#storage-driver-api" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>The storage driver is expected to:</dt>
-<dd><ul class="first last simple">
-<li>persist secure variables in a tamper-resistant manner</li>
-<li>handle two logical types of variable lists (referred to as “banks”)
+<dl class="simple">
+<dt>The storage driver is expected to:</dt><dd><ul class="simple">
+<li><p>persist secure variables in a tamper-resistant manner</p></li>
+<li><p>handle two logical types of variable lists (referred to as “banks”)
* the “variable bank” stores the active list of variables
-* the “update bank” stores proposed updates to the variable bank</li>
-<li>handle variables using a specific secvar flag in a sensible manner</li>
+* the “update bank” stores proposed updates to the variable bank</p></li>
+<li><p>handle variables using a specific secvar flag in a sensible manner</p></li>
</ul>
</dd>
</dl>
<p>Storage drivers must implement the following hooks for secvar to properly
utilize:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span> <span class="n">secvar_storage_driver</span> <span class="p">{</span>
- <span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">load_bank</span><span class="p">)(</span><span class="k">struct</span> <span class="n">list_head</span> <span class="o">*</span><span class="n">bank</span><span class="p">,</span> <span class="kt">int</span> <span class="n">section</span><span class="p">);</span>
- <span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">write_bank</span><span class="p">)(</span><span class="k">struct</span> <span class="n">list_head</span> <span class="o">*</span><span class="n">bank</span><span class="p">,</span> <span class="kt">int</span> <span class="n">section</span><span class="p">);</span>
- <span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">store_init</span><span class="p">)(</span><span class="kt">void</span><span class="p">);</span>
- <span class="kt">void</span> <span class="p">(</span><span class="o">*</span><span class="n">lock</span><span class="p">)(</span><span class="kt">void</span><span class="p">);</span>
- <span class="kt">uint64_t</span> <span class="n">max_var_size</span><span class="p">;</span>
-<span class="p">};</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">secvar_storage_driver</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">load_bank</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">list_head</span><span class="w"> </span><span class="o">*</span><span class="n">bank</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">section</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">write_bank</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">list_head</span><span class="w"> </span><span class="o">*</span><span class="n">bank</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">section</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">store_init</span><span class="p">)(</span><span class="kt">void</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">lock</span><span class="p">)(</span><span class="kt">void</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">max_var_size</span><span class="p">;</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
<p>The following subsections will give a summary of each hook, when they are used,
and their expected behavior.</p>
-<div class="section" id="store-init">
+<section id="store-init">
<h3>store_init<a class="headerlink" href="#store-init" title="Permalink to this headline">¶</a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">store_init</span></code> hook is called at the beginning of secure variable
intialization. This hook should perform any initialization logic required for
@@ -90,26 +89,25 @@ secure state. For example, if secure state is indeterminable due to some
hardware failure, this is grounds for a halt.</p>
<p>This hook should only be called once. Subsequent calls should have no effect,
or raise an error.</p>
-</div>
-<div class="section" id="load-bank">
+</section>
+<section id="load-bank">
<h3>load_bank<a class="headerlink" href="#load-bank" title="Permalink to this headline">¶</a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">load_bank</span></code> hook should load variables from persistent storage into the
in-memory linked lists, for the rest of secvar to operate on.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">bank</span></code> parameter should be an initialized linked list. This list may not
be empty, and this hook should only append variables to the list.</p>
-<dl class="docutils">
-<dt>The variables this hook loads should depend on the <code class="docutils literal notranslate"><span class="pre">section</span></code> flag:</dt>
-<dd><ul class="first last simple">
-<li>if <code class="docutils literal notranslate"><span class="pre">SECVAR_VARIABLE_BANK</span></code>, load the active variables</li>
-<li>if <code class="docutils literal notranslate"><span class="pre">SECVAR_UPDATE_BANK</span></code>, load the proposed updates</li>
+<dl class="simple">
+<dt>The variables this hook loads should depend on the <code class="docutils literal notranslate"><span class="pre">section</span></code> flag:</dt><dd><ul class="simple">
+<li><p>if <code class="docutils literal notranslate"><span class="pre">SECVAR_VARIABLE_BANK</span></code>, load the active variables</p></li>
+<li><p>if <code class="docutils literal notranslate"><span class="pre">SECVAR_UPDATE_BANK</span></code>, load the proposed updates</p></li>
</ul>
</dd>
</dl>
<p>This hook is called twice at the beginning of secure variable initialization,
one for loading each bank type into their respective lists. This hook may be
called again afterwards (e.g. a reset mechanism by a backend).</p>
-</div>
-<div class="section" id="write-bank">
+</section>
+<section id="write-bank">
<h3>write_bank<a class="headerlink" href="#write-bank" title="Permalink to this headline">¶</a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">write_bank</span></code> hook should persist variables using some non-volatile
storage (e.g. flash).</p>
@@ -124,8 +122,8 @@ EXCEPT where no updates were found by the backend (this includes error cases).</
<p>This hook should not be called more than once for the variable bank. This hook
is called once in the secvar initialization procedure, and then each time
<code class="docutils literal notranslate"><span class="pre">opal_secvar_enqueue_update()</span></code> is successfully called.</p>
-</div>
-<div class="section" id="lock">
+</section>
+<section id="lock">
<h3>lock<a class="headerlink" href="#lock" title="Permalink to this headline">¶</a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">lock</span></code> hook may perform any write-lock protections as necessary by the
platform. This hook is unconditionally called after the processing step
@@ -138,15 +136,15 @@ open to unauthorized writes.</p>
the protection of the storage.</p>
<p>If locking is not applicable to the storage mechanism, this hook may be
implemented as a no-op.</p>
-</div>
-<div class="section" id="max-var-size">
+</section>
+<section id="max-var-size">
<h3>max_var_size<a class="headerlink" href="#max-var-size" title="Permalink to this headline">¶</a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">max_var_size</span></code> field is not a function hook, but a value to be referenced
by other components to determine the maximum variable size. As this driver is
responsible for persisting variables somewhere, it has the option to determine
the maximum size to use.</p>
-</div>
-<div class="section" id="a-quick-note-on-secvar-flags">
+</section>
+<section id="a-quick-note-on-secvar-flags">
<h3>A Quick Note on Secvar Flags<a class="headerlink" href="#a-quick-note-on-secvar-flags" title="Permalink to this headline">¶</a></h3>
<p>While “communication” between the storage and backend drivers has been
minimized as best as possible, there are a few cases where the storage driver
@@ -165,27 +163,27 @@ to storage.</p>
other variables, and if applicable to the storage driver, stored in a more
secure/tamper-resistant region (e.g. store variables important to secureboot
state in TPM NV rather than PNOR on p9).</p>
-</div>
-</div>
-<div class="section" id="backend-driver-api">
+</section>
+</section>
+<section id="backend-driver-api">
<h2>Backend Driver API<a class="headerlink" href="#backend-driver-api" title="Permalink to this headline">¶</a></h2>
<p>The backend driver at the core defines how secure variables are defined and
processed, and by extension, also how operate the platform’s secure boot modes.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span> <span class="n">secvar_backend_driver</span> <span class="p">{</span>
- <span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">pre_process</span><span class="p">)(</span><span class="k">struct</span> <span class="n">list_head</span> <span class="o">*</span><span class="n">variable_bank</span>
- <span class="k">struct</span> <span class="n">list_head</span> <span class="o">*</span><span class="n">update_bank</span><span class="p">);</span>
- <span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">process</span><span class="p">)(</span><span class="k">struct</span> <span class="n">list_head</span> <span class="o">*</span><span class="n">variable_bank</span>
- <span class="k">struct</span> <span class="n">list_head</span> <span class="o">*</span><span class="n">update_bank</span><span class="p">);</span>
- <span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">post_process</span><span class="p">)(</span><span class="k">struct</span> <span class="n">list_head</span> <span class="o">*</span><span class="n">variable_bank</span>
- <span class="k">struct</span> <span class="n">list_head</span> <span class="o">*</span><span class="n">update_bank</span><span class="p">);</span>
- <span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">validate</span><span class="p">)(</span><span class="k">struct</span> <span class="n">secvar</span> <span class="o">*</span><span class="n">var</span><span class="p">);</span>
- <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">compatible</span><span class="p">;</span>
-<span class="p">};</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">secvar_backend_driver</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
+<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">pre_process</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">list_head</span><span class="w"> </span><span class="o">*</span><span class="n">variable_bank</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">list_head</span><span class="w"> </span><span class="o">*</span><span class="n">update_bank</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">process</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">list_head</span><span class="w"> </span><span class="o">*</span><span class="n">variable_bank</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">list_head</span><span class="w"> </span><span class="o">*</span><span class="n">update_bank</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">post_process</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">list_head</span><span class="w"> </span><span class="o">*</span><span class="n">variable_bank</span><span class="w"></span>
+<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">list_head</span><span class="w"> </span><span class="o">*</span><span class="n">update_bank</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">validate</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">secvar</span><span class="w"> </span><span class="o">*</span><span class="n">var</span><span class="p">);</span><span class="w"></span>
+<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">compatible</span><span class="p">;</span><span class="w"></span>
+<span class="p">};</span><span class="w"></span>
</pre></div>
</div>
<p>The following subsections will give a summary of each hook, when they are used,
and their expected behaviors.</p>
-<div class="section" id="pre-process">
+<section id="pre-process">
<h3>pre_process<a class="headerlink" href="#pre-process" title="Permalink to this headline">¶</a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">pre_process</span></code> hook is an optional hook that a backend driver may implement
to handle any early logic prior to processing. If this hook is set to <code class="docutils literal notranslate"><span class="pre">NULL</span></code>,
@@ -195,16 +193,15 @@ but just before <code class="docutils literal notranslate"><span class="pre">pro
early initialization logic as necessary.</p>
<p>Any error code returned by this hook will be treated as a failure, and halt
secure variable initialization.</p>
-<dl class="docutils">
-<dt>Example usage:</dt>
-<dd><ul class="first last simple">
-<li>initialize empty variables that were not loaded from storage</li>
-<li>allocate any internal structures that may be needed for processing</li>
+<dl class="simple">
+<dt>Example usage:</dt><dd><ul class="simple">
+<li><p>initialize empty variables that were not loaded from storage</p></li>
+<li><p>allocate any internal structures that may be needed for processing</p></li>
</ul>
</dd>
</dl>
-</div>
-<div class="section" id="process">
+</section>
+<section id="process">
<h3>process<a class="headerlink" href="#process" title="Permalink to this headline">¶</a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">process</span></code> hook is the only required hook, and should contain all variable
update process logic. Unlike the other two hooks, this hook must be defined, or
@@ -230,44 +227,44 @@ anything other than <code class="docutils literal notranslate"><span class="pre"
process). This includes all error cases, therefore the backend is responsible
for emptying the update bank prior to exiting with an error, if the bank is to
be cleared.</p>
-<div class="section" id="status-codes">
+<section id="status-codes">
<h4>Status codes<a class="headerlink" href="#status-codes" title="Permalink to this headline">¶</a></h4>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="27%" />
-<col width="73%" />
+<col style="width: 27%" />
+<col style="width: 73%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>update-status</td>
-<td>Generic Reason</td>
+<tbody>
+<tr class="row-odd"><td><p>update-status</p></td>
+<td><p>Generic Reason</p></td>
</tr>
-<tr class="row-even"><td>OPAL_SUCCESS</td>
-<td>Updates were found and processed successfully</td>
+<tr class="row-even"><td><p>OPAL_SUCCESS</p></td>
+<td><p>Updates were found and processed successfully</p></td>
</tr>
-<tr class="row-odd"><td>OPAL_EMPTY</td>
-<td>No updates were found, none processed</td>
+<tr class="row-odd"><td><p>OPAL_EMPTY</p></td>
+<td><p>No updates were found, none processed</p></td>
</tr>
-<tr class="row-even"><td>OPAL_PARAMETER</td>
-<td>Malformed, or unexpected update data blob</td>
+<tr class="row-even"><td><p>OPAL_PARAMETER</p></td>
+<td><p>Malformed, or unexpected update data blob</p></td>
</tr>
-<tr class="row-odd"><td>OPAL_PERMISSION</td>
-<td>Update failed to apply, possible auth failure</td>
+<tr class="row-odd"><td><p>OPAL_PERMISSION</p></td>
+<td><p>Update failed to apply, possible auth failure</p></td>
</tr>
-<tr class="row-even"><td>OPAL_HARDWARE</td>
-<td>Misc. storage-related error</td>
+<tr class="row-even"><td><p>OPAL_HARDWARE</p></td>
+<td><p>Misc. storage-related error</p></td>
</tr>
-<tr class="row-odd"><td>OPAL_RESOURCE</td>
-<td>Out of space (reported by storage)</td>
+<tr class="row-odd"><td><p>OPAL_RESOURCE</p></td>
+<td><p>Out of space (reported by storage)</p></td>
</tr>
-<tr class="row-even"><td>OPAL_NO_MEM</td>
-<td>Out of memory</td>
+<tr class="row-even"><td><p>OPAL_NO_MEM</p></td>
+<td><p>Out of memory</p></td>
</tr>
</tbody>
</table>
<p>See also: <code class="docutils literal notranslate"><span class="pre">device-tree/ibm,opal/secvar/secvar.rst</span></code>.</p>
-</div>
-</div>
-<div class="section" id="post-process">
+</section>
+</section>
+<section id="post-process">
<h3>post_process<a class="headerlink" href="#post-process" title="Permalink to this headline">¶</a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">post_process</span></code> hook is an optional hook that a backend driver may
implement to handle any additional logic after the processing step. Like
@@ -277,17 +274,16 @@ the persistant storage. Any changes to the variable bank list in this hook will
NOT be persisted to storage.</p>
<p>Any error code returned by this hook will be treated as a failure, and halt
secure variable initialization.</p>
-<dl class="docutils">
-<dt>Example usage:</dt>
-<dd><ul class="first last simple">
-<li>determine secure boot state (and set <code class="docutils literal notranslate"><span class="pre">os-secure-enforcing</span></code>)</li>
-<li>remove any variables from the variable bank that do not need to be exposed</li>
-<li>append any additional volatile variables</li>
+<dl class="simple">
+<dt>Example usage:</dt><dd><ul class="simple">
+<li><p>determine secure boot state (and set <code class="docutils literal notranslate"><span class="pre">os-secure-enforcing</span></code>)</p></li>
+<li><p>remove any variables from the variable bank that do not need to be exposed</p></li>
+<li><p>append any additional volatile variables</p></li>
</ul>
</dd>
</dl>
-</div>
-<div class="section" id="validate">
+</section>
+<section id="validate">
<h3>validate<a class="headerlink" href="#validate" title="Permalink to this headline">¶</a></h3>
<p>!!NOTE!! This is not currently implemented, and the detail below is subject to
change.</p>
@@ -298,28 +294,28 @@ on proposed variable validity.</p>
<p>This hook should return <code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code> if the validity check passes. Any
other return code is treated as a failure, and will be passed through the
<code class="docutils literal notranslate"><span class="pre">enqueue_update</span></code> call.</p>
-<dl class="docutils">
-<dt>Example usage:</dt>
-<dd><ul class="first last simple">
-<li>check for valid payload data structure</li>
-<li>check for valid signature format</li>
-<li>validate the signature against current variables</li>
-<li>implement a variable white/blacklist</li>
+<dl class="simple">
+<dt>Example usage:</dt><dd><ul class="simple">
+<li><p>check for valid payload data structure</p></li>
+<li><p>check for valid signature format</p></li>
+<li><p>validate the signature against current variables</p></li>
+<li><p>implement a variable white/blacklist</p></li>
</ul>
</dd>
</dl>
-</div>
-<div class="section" id="compatible">
+</section>
+<section id="compatible">
<h3>compatible<a class="headerlink" href="#compatible" title="Permalink to this headline">¶</a></h3>
<p>The compatible field is a required field that declares the compatibility of
this backend driver. This compatible field is exposed in the
<code class="docutils literal notranslate"><span class="pre">secvar/compatible</span></code> device tree node for subsequent kernels, etc to
determine how to interact with the secure variables.</p>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -361,17 +357,15 @@ determine how to interact with the secure variables.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -382,13 +376,14 @@ determine how to interact with the secure variables.</p>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Secvar Drivers</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/secvar/edk2.html b/doc/secvar/edk2.html
index d9fe47a..a9ea040 100644
--- a/doc/secvar/edk2.html
+++ b/doc/secvar/edk2.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Skiboot edk2-compatible Secure Variable Backend &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Skiboot edk2-compatible Secure Variable Backend &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -26,8 +25,9 @@
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Skiboot edk2-compatible Secure Variable Backend</a></li>
</ul>
</div>
@@ -36,9 +36,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="skiboot-edk2-compatible-secure-variable-backend">
+ <section id="skiboot-edk2-compatible-secure-variable-backend">
<span id="secvar-edk2"></span><h1>Skiboot edk2-compatible Secure Variable Backend<a class="headerlink" href="#skiboot-edk2-compatible-secure-variable-backend" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="overview">
+<section id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<p>The edk2 secure variable backend for skiboot borrows from edk2 concepts
such as the three key hierarchy (PK, KEK, and db), and a similar
@@ -60,24 +60,25 @@ malformed, or any other error occurs, NO updates will not be applied.
This includes updates that may have successfully applied prior to the
error. The system will continue in an error state, reporting the error
reason via the <code class="docutils literal notranslate"><span class="pre">update-status</span></code> device tree property.</p>
-</div>
-<div class="section" id="p9-special-case-for-the-platform-key">
+</section>
+<section id="p9-special-case-for-the-platform-key">
<h2>P9 Special Case for the Platform Key<a class="headerlink" href="#p9-special-case-for-the-platform-key" title="Permalink to this headline">¶</a></h2>
<p>Due to the powerful nature of the platform key and the lack of lockable
flash, the edk2 backend will store the PK in TPM NV rather than PNOR on
P9 systems. (TODO expand on this)</p>
-</div>
-<div class="section" id="update-status-return-codes">
+</section>
+<section id="update-status-return-codes">
<h2>Update Status Return Codes<a class="headerlink" href="#update-status-return-codes" title="Permalink to this headline">¶</a></h2>
<p>TODO, edk2 driver needs to actually return these properly first</p>
-</div>
-<div class="section" id="device-tree-bindings">
+</section>
+<section id="device-tree-bindings">
<h2>Device Tree Bindings<a class="headerlink" href="#device-tree-bindings" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -102,17 +103,15 @@ P9 systems. (TODO expand on this)</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -123,13 +122,14 @@ P9 systems. (TODO expand on this)</p>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Skiboot edk2-compatible Secure Variable Backend</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/secvar/secboot_tpm.html b/doc/secvar/secboot_tpm.html
index b1e1c47..9d4a9c3 100644
--- a/doc/secvar/secboot_tpm.html
+++ b/doc/secvar/secboot_tpm.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>secboot_tpm secvar storage driver for P9 platforms &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>secboot_tpm secvar storage driver for P9 platforms &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="../_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -26,8 +25,9 @@
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">secboot_tpm secvar storage driver for P9 platforms</a></li>
</ul>
</div>
@@ -36,9 +36,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="secboot-tpm-secvar-storage-driver-for-p9-platforms">
+ <section id="secboot-tpm-secvar-storage-driver-for-p9-platforms">
<span id="secvar-secboot-tpm"></span><h1>secboot_tpm secvar storage driver for P9 platforms<a class="headerlink" href="#secboot-tpm-secvar-storage-driver-for-p9-platforms" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="overview">
+<section id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<p>This storage driver utilizes the SECBOOT PNOR partition and TPM NV space to
persist secure variables across reboots in a tamper-resistant manner. While
@@ -50,16 +50,16 @@ variables are loaded from SECBOOT, this hash is recalculated and compared
against the value stored in the TPM. If they do not match, then the variables
must have been altered and are not loaded.</p>
<p>See the following sections for more information on the internals of the driver.</p>
-</div>
-<div class="section" id="storage-layouts">
+</section>
+<section id="storage-layouts">
<h2>Storage Layouts<a class="headerlink" href="#storage-layouts" title="Permalink to this headline">¶</a></h2>
<p>At a high-level, there are a few major logical components:</p>
<blockquote>
<div><ul class="simple">
-<li>(PNOR) Variable storage (split in half, active/staging)</li>
-<li>(PNOR) Update storage</li>
-<li>(TPM) Protected variable storage</li>
-<li>(TPM) Bank hashes &amp; active bit</li>
+<li><p>(PNOR) Variable storage (split in half, active/staging)</p></li>
+<li><p>(PNOR) Update storage</p></li>
+<li><p>(TPM) Protected variable storage</p></li>
+<li><p>(TPM) Bank hashes &amp; active bit</p></li>
</ul>
</div></blockquote>
<p>Variable storage consists of two smaller banks, variable bank 0 and variable
@@ -70,16 +70,16 @@ Variable Bank Updates” for more on the active/staging bank logic.</p>
<p>Protected variable storage is stored in <code class="docutils literal notranslate"><span class="pre">VARS</span></code> TPM NV index. Unlike the other
variable storage, there is only one bank due to limited storage space. See the
TPM NV Indices section for more.</p>
-</div>
-<div class="section" id="persisting-the-variable-bank">
+</section>
+<section id="persisting-the-variable-bank">
<h2>Persisting the Variable Bank<a class="headerlink" href="#persisting-the-variable-bank" title="Permalink to this headline">¶</a></h2>
<p>When writing a new variable bank to storage, this is (roughly) the procedure the
driver will follow:</p>
<ol class="arabic simple">
-<li>write variables to the staging bank</li>
-<li>calculate hash of the staging bank</li>
-<li>store the staging bank hash in the TPM NV</li>
-<li>flip the active bank bit</li>
+<li><p>write variables to the staging bank</p></li>
+<li><p>calculate hash of the staging bank</p></li>
+<li><p>store the staging bank hash in the TPM NV</p></li>
+<li><p>flip the active bank bit</p></li>
</ol>
<p>This procedure ensures that the switch-over from the old variables to the
new variables is as atomic as possible. This should prevent any possible
@@ -89,8 +89,8 @@ storage space allocated to the bank, including unused storage. For consistency,
unused space is always written as zeroes. Like the active/staging variable
banks, there are also two corresponding active/staging bank hashes stored in
the TPM.</p>
-</div>
-<div class="section" id="tpm-nv-indices">
+</section>
+<section id="tpm-nv-indices">
<h2>TPM NV Indices<a class="headerlink" href="#tpm-nv-indices" title="Permalink to this headline">¶</a></h2>
<p>The driver utilizes two TPM NV indices:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp"># size). datadefine SECBOOT_TPMNV_VARS_INDEX 0x01c10190</span>
@@ -108,29 +108,29 @@ bank is active. See the Active/Staging Bank Swapping section for more.</p>
indices are already defined but not in the expected state, (different
attributes, size, etc), then the driver will halt the boot. Asserting physical
presence will redefine the indices in the correct state.</p>
-</div>
-<div class="section" id="locking">
+</section>
+<section id="locking">
<h2>Locking<a class="headerlink" href="#locking" title="Permalink to this headline">¶</a></h2>
<p>PNOR cannot be locked, however the TPM can be. The TPM NV indices are double
protected via two locking mechanisms:</p>
<blockquote>
<div><ul class="simple">
-<li>The driver’s <code class="docutils literal notranslate"><span class="pre">.lock()</span></code> hook sends the <code class="docutils literal notranslate"><span class="pre">TSS_NV_WriteLock</span></code> TPM command.</li>
+<li><p>The driver’s <code class="docutils literal notranslate"><span class="pre">.lock()</span></code> hook sends the <code class="docutils literal notranslate"><span class="pre">TSS_NV_WriteLock</span></code> TPM command.</p></li>
</ul>
</div></blockquote>
<p>This sets the <code class="docutils literal notranslate"><span class="pre">WRITELOCKED</span></code> attribute, which is cleared on the next
TPM reset.</p>
<blockquote>
<div><ul class="simple">
-<li>The TPM NV indices are defined under the platform hierarchy. Skiboot will add</li>
+<li><p>The TPM NV indices are defined under the platform hierarchy. Skiboot will add</p></li>
</ul>
</div></blockquote>
<p>a global lock to all the NV indices under this hierarchy prior to loading a
kernel. This is also reset on the next TPM reset.</p>
<p>NOTE: The TPM is only reset during a cold reboot. Fast reboots or kexecs will
NOT unlock the TPM.</p>
-</div>
-<div class="section" id="resetting-storage-physical-presence">
+</section>
+<section id="resetting-storage-physical-presence">
<h2>Resetting Storage / Physical Presence<a class="headerlink" href="#resetting-storage-physical-presence" title="Permalink to this headline">¶</a></h2>
<p>In the case that secure boot/secvar has been rendered unusable, (for example:
corrupted data, lost/compromised private key, improperly defined NV indices, etc)
@@ -143,78 +143,75 @@ the remaining components of storage, similar to a first-boot scenario.</p>
device tree nodes are present in <code class="docutils literal notranslate"><span class="pre">ibm,secureboot</span></code>:</p>
<blockquote>
<div><ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">clear-os-keys</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">clear-all-keys</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">clear-mfg-keys</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">clear-os-keys</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">clear-all-keys</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">clear-mfg-keys</span></code></p></li>
</ul>
</div></blockquote>
-</div>
-</div>
-<div class="section" id="storage-formats-layouts">
+</section>
+</section>
+<section id="storage-formats-layouts">
<h1>Storage Formats/Layouts<a class="headerlink" href="#storage-formats-layouts" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="secboot-pnor">
+<section id="secboot-pnor">
<h2>SECBOOT (PNOR)<a class="headerlink" href="#secboot-pnor" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>Partition Format:</dt>
-<dd><ul class="first last simple">
-<li>8b secboot header
+<dl class="simple">
+<dt>Partition Format:</dt><dd><ul class="simple">
+<li><p>8b secboot header
- 4b: u32. magic number, always 0x5053424b
- 1b: u8. version, always 1
-- 3b: unused padding</li>
-<li>32k: secvars. variable bank 0</li>
-<li>32k: secvars. variable bank 1</li>
-<li>32k: secvars. update bank</li>
+- 3b: unused padding</p></li>
+<li><p>32k: secvars. variable bank 0</p></li>
+<li><p>32k: secvars. variable bank 1</p></li>
+<li><p>32k: secvars. update bank</p></li>
</ul>
</dd>
-<dt>Variable Format (secvar):</dt>
-<dd><ul class="first last simple">
-<li>8b: u64. key length</li>
-<li>8b: u64. data size</li>
-<li>1k: string. key</li>
-<li>(data size). data</li>
+<dt>Variable Format (secvar):</dt><dd><ul class="simple">
+<li><p>8b: u64. key length</p></li>
+<li><p>8b: u64. data size</p></li>
+<li><p>1k: string. key</p></li>
+<li><p>(data size). data</p></li>
</ul>
</dd>
</dl>
-</div>
-<div class="section" id="tpm-vars-nv">
+</section>
+<section id="tpm-vars-nv">
<h2>TPM VARS (NV)<a class="headerlink" href="#tpm-vars-nv" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>NV Index Format:</dt>
-<dd><ul class="first last simple">
-<li>8b secboot header
+<dl class="simple">
+<dt>NV Index Format:</dt><dd><ul class="simple">
+<li><p>8b secboot header
- 4b: u32. magic number, always 0x5053424b
- 1b: u8. version, always 1
-- 3b: unused padding</li>
-<li>1016b: packed secvars. protected variable storage</li>
+- 3b: unused padding</p></li>
+<li><p>1016b: packed secvars. protected variable storage</p></li>
</ul>
</dd>
-<dt>Variable Format (packed secvar):</dt>
-<dd><ul class="first last simple">
-<li>8b: u64. key length</li>
-<li>8b: u64. data size</li>
-<li>(key length): string. key</li>
-<li>(data size). data</li>
+<dt>Variable Format (packed secvar):</dt><dd><ul class="simple">
+<li><p>8b: u64. key length</p></li>
+<li><p>8b: u64. data size</p></li>
+<li><p>(key length): string. key</p></li>
+<li><p>(data size). data</p></li>
</ul>
</dd>
</dl>
-</div>
-<div class="section" id="tpm-control-nv">
+</section>
+<section id="tpm-control-nv">
<h2>TPM CONTROL (NV)<a class="headerlink" href="#tpm-control-nv" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li>8b secboot header
+<li><p>8b secboot header
- 4b: u32. magic number, always 0x5053424b
- 1b: u8. version, always 1
-- 3b: unused padding</li>
-<li>1b: u8. active bit, 0 or 1</li>
-<li>32b: sha256 hash of variable bank 0</li>
-<li>32b: sha256 hash of variable bank 1</li>
+- 3b: unused padding</p></li>
+<li><p>1b: u8. active bit, 0 or 1</p></li>
+<li><p>32b: sha256 hash of variable bank 0</p></li>
+<li><p>32b: sha256 hash of variable bank 1</p></li>
</ul>
</div></blockquote>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -247,17 +244,15 @@ device tree nodes are present in <code class="docutils literal notranslate"><spa
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -268,13 +263,14 @@ device tree nodes are present in <code class="docutils literal notranslate"><spa
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
- <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">secboot_tpm secvar storage driver for P9 platforms</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/stb.html b/doc/stb.html
index c791f9b..5a92c0f 100644
--- a/doc/stb.html
+++ b/doc/stb.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Secure and Trusted Boot Library (LibSTB) Documentation &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Secure and Trusted Boot Library (LibSTB) Documentation &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="vas.html" title="Virtual Accelerator Switchboard (VAS)"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Secure and Trusted Boot Library (LibSTB) Documentation</a></li>
</ul>
</div>
@@ -44,34 +44,33 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="secure-and-trusted-boot-library-libstb-documentation">
+ <section id="secure-and-trusted-boot-library-libstb-documentation">
<span id="stb-overview"></span><h1>Secure and Trusted Boot Library (LibSTB) Documentation<a class="headerlink" href="#secure-and-trusted-boot-library-libstb-documentation" title="Permalink to this headline">¶</a></h1>
<p><em>LibSTB</em> provides APIs to support Secure Boot and Trusted Boot in skiboot.</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">Secure</span> <span class="pre">Boot:</span> <span class="pre">verify</span> <span class="pre">and</span> <span class="pre">enforce.</span></code></dt>
-<dd>When the system is booting in secure mode, Secure Boot MUST ensure that
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">Secure</span> <span class="pre">Boot:</span> <span class="pre">verify</span> <span class="pre">and</span> <span class="pre">enforce.</span></code></dt><dd><p>When the system is booting in secure mode, Secure Boot MUST ensure that
only trusted code is executed during system boot by verifying if the
code is signed with trusted keys and halting the system boot if the
-verification fails.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">Trusted</span> <span class="pre">Boot:</span> <span class="pre">measure</span> <span class="pre">and</span> <span class="pre">record.</span></code></dt>
-<dd>When the system is booting in trusted mode, Trusted Boot MUST create
+verification fails.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">Trusted</span> <span class="pre">Boot:</span> <span class="pre">measure</span> <span class="pre">and</span> <span class="pre">record.</span></code></dt><dd><p>When the system is booting in trusted mode, Trusted Boot MUST create
artifacts during system boot to prove that a particular chain of events
have happened during boot. Interested parties can subsequently assess
the artifacts to check whether or not only trusted events happened and
then make security decisions. These artifacts comprise a log of
measurements and the digests extended into the TPM PCRs. Platform
Configuration Registers (PCRs) are registers in the Trusted Platform
-Module (TPM) that are shielded from direct access by the CPU.</dd>
+Module (TPM) that are shielded from direct access by the CPU.</p>
+</dd>
</dl>
<p>In order to support Secure and Trusted Boot, the flash driver calls libSTB to
verify and measure the code it fetches from PNOR.</p>
<p>LibSTB is initialized by calling <em>secureboot_init()</em>, see <code class="docutils literal notranslate"><span class="pre">libstb/secureboot.h</span></code>.</p>
-<div class="section" id="secure-boot">
+<section id="secure-boot">
<h2>Secure Boot<a class="headerlink" href="#secure-boot" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">Requirements:</span></code></dt>
-<dd><ol class="first last arabic simple">
-<li>CVC-verify service to verify signed firmware code.</li>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">Requirements:</span></code></dt><dd><ol class="arabic simple">
+<li><p>CVC-verify service to verify signed firmware code.</p></li>
</ol>
</dd>
</dl>
@@ -86,8 +85,8 @@ precisely the <em>CVC-verify</em> service, which requires both the fetched code
hardware key hash trusted by the platform owner.</p>
<p>The secure mode status, hardware key hash and hardware key hash size
information is found in the device tree, see
-<a class="reference internal" href="device-tree/ibm,secureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">doc/device-tree/ibm,secureboot.rst</span></a>.</p>
-<div class="section" id="signing-firmware-code">
+<a class="reference internal" href="device-tree/ibm%2Csecureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">doc/device-tree/ibm,secureboot.rst</span></a>.</p>
+<section id="signing-firmware-code">
<span id="id1"></span><h3>Signing Firmware Code<a class="headerlink" href="#signing-firmware-code" title="Permalink to this headline">¶</a></h3>
<p>Fimware code is signed using the <code class="docutils literal notranslate"><span class="pre">sb-signing-utils</span></code> utilities by running it
standalone or just calling op-build. The latter will automatically sign the
@@ -103,9 +102,9 @@ boot container format. All the information required to verify the signatures is
placed in the first 4K reserved for the container header (e.g. public keys,
hashes and signatures). The firmware code itself is placed in the container
payload.</p>
-</div>
-</div>
-<div class="section" id="container-verification-code">
+</section>
+</section>
+<section id="container-verification-code">
<span id="id2"></span><h2>Container Verification Code<a class="headerlink" href="#container-verification-code" title="Permalink to this headline">¶</a></h2>
<p>The <em>Container Verification Code</em> (a.k.a. ROM code) is stored in a secure
memory region and it provides basic Secure and Trusted Boot services for the
@@ -114,10 +113,10 @@ entire firmware stack. See <cite>doc/device-tree/ibm,secureboot.rst
&lt;device-tree/ibm,cvc&gt;</cite>.</p>
<p>LibSTB uses function wrappers to call into each CVC service, see
<code class="docutils literal notranslate"><span class="pre">libstb/cvc.h</span></code>.</p>
-<div class="section" id="cvc-verify-service">
+<section id="cvc-verify-service">
<h3>CVC-verify Service<a class="headerlink" href="#cvc-verify-service" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">call_cvc_verify</span><span class="p">(</span><span class="kt">void</span> <span class="o">*</span><span class="n">buf</span><span class="p">,</span> <span class="kt">size_t</span> <span class="n">size</span><span class="p">,</span> <span class="k">const</span> <span class="kt">void</span> <span class="o">*</span><span class="n">hw_key_hash</span><span class="p">,</span>
- <span class="kt">size_t</span> <span class="n">hw_key_hash_size</span><span class="p">,</span> <span class="n">__be64</span> <span class="o">*</span><span class="n">log</span><span class="p">)</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="n">call_cvc_verify</span><span class="p">(</span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">buf</span><span class="p">,</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">size</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">hw_key_hash</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">hw_key_hash_size</span><span class="p">,</span><span class="w"> </span><span class="n">__be64</span><span class="w"> </span><span class="o">*</span><span class="n">log</span><span class="p">)</span><span class="w"></span>
</pre></div>
</div>
<p>This function wrapper calls into the <em>CVC-verify</em>, which verifies if the
@@ -128,31 +127,30 @@ the firmware blob can be trusted.</p>
<p><code class="docutils literal notranslate"><span class="pre">&#64;log</span></code> is optional. If the verification fails, the caller can interpret
it to find out what checks has failed.</p>
<p>Enforcement is caller’s responsibility.</p>
-</div>
-<div class="section" id="cvc-sha512-service">
+</section>
+<section id="cvc-sha512-service">
<h3>CVC-sha512 Service<a class="headerlink" href="#cvc-sha512-service" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">call_cvc_sha512</span><span class="p">(</span><span class="k">const</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">data</span><span class="p">,</span> <span class="kt">size_t</span> <span class="n">data_len</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">digest</span><span class="p">,</span>
- <span class="kt">size_t</span> <span class="n">digest_size</span><span class="p">)</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="n">call_cvc_sha512</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="o">*</span><span class="n">data</span><span class="p">,</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">data_len</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="o">*</span><span class="n">digest</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">digest_size</span><span class="p">)</span><span class="w"></span>
</pre></div>
</div>
<p>This function wrapper calls into the <em>CVC-sha512</em>, which calculates the
sha512 hash of what is provided in &#64;data. Its parameters are documented in
<code class="docutils literal notranslate"><span class="pre">libstb/cvc.h</span></code>.</p>
-</div>
-</div>
-<div class="section" id="trusted-boot">
+</section>
+</section>
+<section id="trusted-boot">
<h2>Trusted Boot<a class="headerlink" href="#trusted-boot" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">Requirements:</span></code></dt>
-<dd><ol class="first last arabic simple">
-<li>TPM device and TPM driver. See devices supported in
-<a class="reference internal" href="device-tree/tpm.html#device-tree-tpm"><span class="std std-ref">doc/device-tree/tpm.rst</span></a>.</li>
-<li>TCG Software Stack (TSS) to send commands to the TPM device.</li>
-<li>Firmware Event Log driver to add new events to the log. Event log
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">Requirements:</span></code></dt><dd><ol class="arabic simple">
+<li><p>TPM device and TPM driver. See devices supported in
+<a class="reference internal" href="device-tree/tpm.html#device-tree-tpm"><span class="std std-ref">doc/device-tree/tpm.rst</span></a>.</p></li>
+<li><p>TCG Software Stack (TSS) to send commands to the TPM device.</p></li>
+<li><p>Firmware Event Log driver to add new events to the log. Event log
address and size information is found in the device tree, see
-<a class="reference internal" href="device-tree/tpm.html#device-tree-tpm"><span class="std std-ref">doc/device-tree/tpm.rst</span></a>.</li>
-<li>CVC-sha512 service to calculate the sha512 hash of the data that
-will be measured.</li>
+<a class="reference internal" href="device-tree/tpm.html#device-tree-tpm"><span class="std std-ref">doc/device-tree/tpm.rst</span></a>.</p></li>
+<li><p>CVC-sha512 service to calculate the sha512 hash of the data that
+will be measured.</p></li>
</ol>
</dd>
</dl>
@@ -160,7 +158,7 @@ will be measured.</li>
<p>The flash driver calls <code class="docutils literal notranslate"><span class="pre">trustedboot_measure()</span></code> to measure the firmware code
fetched from PNOR and also record its measurement in two places. This is
performed only when the system is booting in trusted mode (information found in
-the device tree, see <a class="reference internal" href="device-tree/ibm,secureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">doc/device-tree/ibm,secureboot.rst</span></a>).</p>
+the device tree, see <a class="reference internal" href="device-tree/ibm%2Csecureboot.html#device-tree-ibm-secureboot"><span class="std std-ref">doc/device-tree/ibm,secureboot.rst</span></a>).</p>
<p>Once the firmware code is measured by calling the <em>CVC-sha512</em> service, its
measurement is first recorded in a TPM PCR statically defined for each event.
In order to record it, the skiboot TCG Software Stack (TSS) API is called to
@@ -180,10 +178,11 @@ can make inferences about the system’s state by using an attestation tool to
remotely compare the PCR values of a TPM against known good values, and also
identify unexpected events by replaying the Event Log against known good Event
Log entries.</p>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -220,17 +219,15 @@ Log entries.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -247,13 +244,14 @@ Log entries.</p>
<li class="right" >
<a href="vas.html" title="Virtual Accelerator Switchboard (VAS)"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Secure and Trusted Boot Library (LibSTB) Documentation</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/vas.html b/doc/vas.html
index 524e554..36886b5 100644
--- a/doc/vas.html
+++ b/doc/vas.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Virtual Accelerator Switchboard (VAS) &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>Virtual Accelerator Switchboard (VAS) &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="mpipl.html" title="MPIPL (aka FADUMP) Overview"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Virtual Accelerator Switchboard (VAS)</a></li>
</ul>
</div>
@@ -44,7 +44,7 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="virtual-accelerator-switchboard-vas">
+ <section id="virtual-accelerator-switchboard-vas">
<h1>Virtual Accelerator Switchboard (VAS)<a class="headerlink" href="#virtual-accelerator-switchboard-vas" title="Permalink to this headline">¶</a></h1>
<p>This document provides information about using VAS from user space.
Applications send NX requests using COPY/PASTE instructions. NX raises
@@ -54,12 +54,14 @@ the interrupt and process the fault.</p>
provide backward compatibility for older kernels, enable VAS user space
support with NVRAM command.</p>
<blockquote>
-<div>nvram -p ibm,skiboot –update-config vas-user-space=enable</div></blockquote>
+<div><p>nvram -p ibm,skiboot –update-config vas-user-space=enable</p>
+</div></blockquote>
<p>This nvram config update is temporary and can be removed in future if
not needed.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -79,17 +81,15 @@ not needed.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -106,13 +106,14 @@ not needed.</p>
<li class="right" >
<a href="mpipl.html" title="MPIPL (aka FADUMP) Overview"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">Virtual Accelerator Switchboard (VAS)</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/xive.html b/doc/xive.html
index 3098fb9..a009270 100644
--- a/doc/xive.html
+++ b/doc/xive.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>P9 XIVE Exploitation &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>P9 XIVE Exploitation &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="xscom-node-bindings.html" title="XSCOM Bindings"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">P9 XIVE Exploitation</a></li>
</ul>
</div>
@@ -44,13 +44,13 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="p9-xive-exploitation">
+ <section id="p9-xive-exploitation">
<h1>P9 XIVE Exploitation<a class="headerlink" href="#p9-xive-exploitation" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="i-device-tree-updates">
+<section id="i-device-tree-updates">
<span id="xive-device-tree"></span><h2>I - Device-tree updates<a class="headerlink" href="#i-device-tree-updates" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ol class="arabic">
-<li><p class="first">The existing OPAL <code class="docutils literal notranslate"><span class="pre">/interrupt-controller&#64;0</span></code> node remains</p>
+<li><p>The existing OPAL <code class="docutils literal notranslate"><span class="pre">/interrupt-controller&#64;0</span></code> node remains</p>
<p>This node represents both the emulated XICS source controller and
an abstraction of the virtualization engine. This represents the
fact thet OPAL set_xive/get_xive functions are still supported
@@ -58,61 +58,56 @@ though they don’t provide access to the full functionality.</p>
<p>It is still the parent of all interrupts in the device-tree.</p>
<p>New or modified properties:</p>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">compatible</span></code> : This is extended with a new value <code class="docutils literal notranslate"><span class="pre">ibm,opal-xive-vc</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">compatible</span></code> : This is extended with a new value <code class="docutils literal notranslate"><span class="pre">ibm,opal-xive-vc</span></code></p></li>
</ul>
</li>
-<li><p class="first">The new <code class="docutils literal notranslate"><span class="pre">/interrupt-controller&#64;&lt;addr&gt;</span></code> node</p>
+<li><p>The new <code class="docutils literal notranslate"><span class="pre">/interrupt-controller&#64;&lt;addr&gt;</span></code> node</p>
<p>This node represents both the emulated XICS presentation controller
and the new XIVE presentation layer.</p>
<p>Unlike the traditional XICS, there is only one such node for the whole
system.</p>
<p>New or modified properties:</p>
<ul>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">compatible</span></code> : This contains at least the following strings:</p>
+<li><p><code class="docutils literal notranslate"><span class="pre">compatible</span></code> : This contains at least the following strings:</p>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">ibm,opal-intc</span></code> : This represents the emulated XICS presentation
+<li><p><code class="docutils literal notranslate"><span class="pre">ibm,opal-intc</span></code> : This represents the emulated XICS presentation
facility and might be the only property present if the version of
-OPAL doesn’t support XIVE exploitation.</li>
-<li><code class="docutils literal notranslate"><span class="pre">ibm,opal-xive-pe</span></code> : This represents the XIVE presentation
-engine.</li>
+OPAL doesn’t support XIVE exploitation.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ibm,opal-xive-pe</span></code> : This represents the XIVE presentation
+engine.</p></li>
</ul>
</li>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">ibm,xive-eq-sizes</span></code> : One cell per size supported, contains log2
-of size, in ascending order.</p>
-</li>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">ibm,xive-#priorities</span></code> : One cell, the number of supported priorities
-(the priorities will be 0…n)</p>
-</li>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">ibm,xive-provision-page-size</span></code> : Page size (in bytes) of the pages to
+<li><p><code class="docutils literal notranslate"><span class="pre">ibm,xive-eq-sizes</span></code> : One cell per size supported, contains log2
+of size, in ascending order.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ibm,xive-#priorities</span></code> : One cell, the number of supported priorities
+(the priorities will be 0…n)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ibm,xive-provision-page-size</span></code> : Page size (in bytes) of the pages to
pass to OPAL for provisioning internal structures
(see opal_xive_donate_page). If this is absent, OPAL will never require
-additional provisioning. The page must be naturally aligned.</p>
-</li>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">ibm,xive-provision-chips</span></code> : The list of chip IDs for which provisioning
+additional provisioning. The page must be naturally aligned.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ibm,xive-provision-chips</span></code> : The list of chip IDs for which provisioning
is required. Typically, if a VP allocation return OPAL_XIVE_PROVISIONING,
opal_xive_donate_page() will need to be called to donate a page to
-<em>each</em> of these chips before trying again.</p>
-</li>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">reg</span></code> property contains the addresses &amp; sizes for the register
+<em>each</em> of these chips before trying again.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">reg</span></code> property contains the addresses &amp; sizes for the register
ranges corresponding respectively to the 4 rings:</p>
<ul class="simple">
-<li>Ultravisor level</li>
-<li>Hypervisor level</li>
-<li>Guest OS level</li>
-<li>User level</li>
+<li><p>Ultravisor level</p></li>
+<li><p>Hypervisor level</p></li>
+<li><p>Guest OS level</p></li>
+<li><p>User level</p></li>
</ul>
<p>For any of these, a size of 0 means this level is not supported.</p>
</li>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">single-escalation-support</span></code> (option). When present, indicatges that
+<li><p><code class="docutils literal notranslate"><span class="pre">single-escalation-support</span></code> (option). When present, indicatges that
the “single escalation” feature is supported, thus enabling the use
-of the OPAL_XIVE_VP_SINGLE_ESCALATION flag.</p>
-</li>
+of the OPAL_XIVE_VP_SINGLE_ESCALATION flag.</p></li>
</ul>
</li>
</ol>
</div></blockquote>
<ol class="arabic" start="3">
-<li><p class="first">Interrupt descriptors</p>
+<li><p>Interrupt descriptors</p>
<blockquote>
<div><p>The interrupt descriptors (aka “interrupts” properties and parts
of “interrupt-map” properties) remain 2 cells. The first cell is
@@ -129,31 +124,31 @@ combination are not exposed and subject to change).</p>
</ol>
<blockquote>
<div><ol class="arabic" start="4">
-<li><p class="first">IPIs</p>
+<li><p>IPIs</p>
<p>Each <code class="docutils literal notranslate"><span class="pre">cpu</span></code> node now contains an <code class="docutils literal notranslate"><span class="pre">interrupts</span></code> property which has
one entry (2 cells per entry) for each thread on that core
containing the interrupt number for the IPI targeted at that
thread.</p>
</li>
-<li><p class="first">Interrupt targets</p>
+<li><p>Interrupt targets</p>
<p>Targetting of interrupts uses processor targets and priority
numbers. The processor target encoding depends on which API is
used:</p>
<blockquote>
<div><ul class="simple">
-<li>The legacy opal_set/get_xive() APIs only support the old
-“mangled” (ie. shifted by 2) HW processor numbers.</li>
-<li>The new opal_xive_set/get_irq_config API (and other
+<li><p>The legacy opal_set/get_xive() APIs only support the old
+“mangled” (ie. shifted by 2) HW processor numbers.</p></li>
+<li><p>The new opal_xive_set/get_irq_config API (and other
exploitation mode APIs) use a “token” VP number which is
described in II-2. Unmodified HW processor numbers are valid
-VP numbers for those APIs.</li>
+VP numbers for those APIs.</p></li>
</ul>
</div></blockquote>
</li>
</ol>
</div></blockquote>
-</div>
-<div class="section" id="ii-general-operations">
+</section>
+<section id="ii-general-operations">
<h2>II - General operations<a class="headerlink" href="#ii-general-operations" title="Permalink to this headline">¶</a></h2>
<p>Most configuration operations are abstracted via OPAL calls, there is
no direct access or exposure of such things as real HW interrupt or VP
@@ -177,13 +172,13 @@ in blocks of naturally aligned powers of 2, the underlying HW
numbers will respect this alignment.</p>
<blockquote>
<div><div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">The block group mode extension makes the numbering scheme
+<p class="admonition-title">Note</p>
+<p>The block group mode extension makes the numbering scheme
a bit more tricky than simple powers of two however, see below.</p>
</div>
</div></blockquote>
<ol class="arabic">
-<li><p class="first">Interrupt numbering and allocation</p>
+<li><p>Interrupt numbering and allocation</p>
<p>As specified in the device-tree definition, interrupt numbers
are abstracted by OPAL to be a 30-bit number. All HW interrupts
are “allocated” and configured at boot time along with enough
@@ -204,7 +199,7 @@ semantically equivalent to the old opal_set_xive() which is
still supported with the addition that opal_xive_set_irq_config()
can also specify the logical interrupt number.</p>
</li>
-<li><p class="first">VP numbering and allocation</p>
+<li><p>VP numbering and allocation</p>
<p>A VP number is a 64-bit number. The internal make-up of that number
is opaque to the OS. However, it is a discrete integer that will
be a naturally aligned power of two when allocating a chunk of
@@ -218,7 +213,7 @@ uses the system processor numbers as presented in the
content to represent physical processors within the same number
space as dynamically allocated VPs.</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
+<p class="admonition-title">Note</p>
<p>Note about block group mode:</p>
<p>The block group mode shall as much as possible be handled
transparently by OPAL.</p>
@@ -229,14 +224,14 @@ will encode the order of the allocation allowing OPAL to
reconstitute which bits are the block ID bits and which bits
are the index bits in a way transparent to the OS. The overall
range of numbers passed to Linux will still be contiguous.</p>
-<p class="last">That implies however a limitation: We can only allocate within
+<p>That implies however a limitation: We can only allocate within
power-of-two number of blocks. Thus the VP allocator will limit
itself to the largest power of two that can fit in the number
of available chips in the machine: A machine with 3 good chips
will only be able to allocate VPs from 2 of them.</p>
</div>
</li>
-<li><p class="first">Group numbering and allocation</p>
+<li><p>Group numbering and allocation</p>
<p>The group numbers are in the <em>same</em> number space as the VP
numbers. OPAL will internally use some bits of the VP number
to encode the group geometry.</p>
@@ -245,27 +240,27 @@ processors, per-chip groups or per-core groups. This will be
represented in the device-tree somewhat…</p>
<p>[TBD] OPAL will provide interfaces for allocating groups</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
+<p class="admonition-title">Note</p>
<p>Note about P/Q bit operation on sources:</p>
<p>opal_xive_get_irq_info() returns a certain number of flags
which define the type of operation supported. The following
rules apply based on what those flags say:</p>
-<ul class="last simple">
-<li>The Q bit isn’t functional on an LSI interrupt. There is no
+<ul class="simple">
+<li><p>The Q bit isn’t functional on an LSI interrupt. There is no
garantee that the special combination “01” will work for an
LSI (and in fact it will not work on the PHB LSIs). However
just setting P to 1 is sufficient to mask an LSI (just don’t
-EOI it while masked).</li>
-<li>The recommended setting for a masked interrupt that is
+EOI it while masked).</p></li>
+<li><p>The recommended setting for a masked interrupt that is
temporarily masked by a driver is “10”. This means a new
occurrence while masked will be recorded and a “StoreEOI”
-will replay it appropriately.</li>
+will replay it appropriately.</p></li>
</ul>
</div>
</li>
</ol>
-</div>
-<div class="section" id="iii-event-queues">
+</section>
+<section id="iii-event-queues">
<h2>III - Event queues<a class="headerlink" href="#iii-event-queues" title="Permalink to this headline">¶</a></h2>
<p>Each virtual processor or group has a certain number of event queues
associated with it. Each correspond to a given priority. The number
@@ -281,12 +276,12 @@ for the queue itself, but also to collect some configuration flags for
that queue such as whether it coalesces notifications etc…) and to
obtain the MMIO address of the queue EOI page (in the case where
coalescing is enabled).</p>
-</div>
-<div class="section" id="iv-opal-apis">
+</section>
+<section id="iv-opal-apis">
<h2>IV - OPAL APIs<a class="headerlink" href="#iv-opal-apis" title="Permalink to this headline">¶</a></h2>
<div class="admonition warning">
-<p class="first admonition-title">Warning</p>
-<p class="last"><em>All</em> the calls listed below may return OPAL_BUSY unless
+<p class="admonition-title">Warning</p>
+<p><em>All</em> the calls listed below may return OPAL_BUSY unless
explicitely documented not to. In that case, the call
should be performed again. The OS is allowed to insert a
delay though no minimum nor maxmimum delay is specified.
@@ -294,19 +289,19 @@ This will typically happen when performing cache update
operations in the XIVE, if they result in a collision.</p>
</div>
<div class="admonition warning">
-<p class="first admonition-title">Warning</p>
+<p class="admonition-title">Warning</p>
<p>Calls that are expected to be called at runtime
simultaneously without conflicts such as getting/setting
IRQ info or queue info are fine to do so concurrently.</p>
<p>However, there is no internal locking to prevent races
between things such as freeing a VP block and getting/setting
queue infos on that block.</p>
-<p class="last">These aren’t fully specified (yet) but common sense shall
+<p>These aren’t fully specified (yet) but common sense shall
apply.</p>
</div>
-<div class="section" id="opal-xive-reset">
+<section id="opal-xive-reset">
<span id="id1"></span><h3>OPAL_XIVE_RESET<a class="headerlink" href="#opal-xive-reset" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="n">opal_xive_reset</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">version</span><span class="p">)</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="n">opal_xive_reset</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">version</span><span class="p">)</span><span class="w"></span>
</pre></div>
</div>
<p>The OS should call this once when starting up to re-initialize the
@@ -330,128 +325,128 @@ basically should happen on an otherwise quiescent system. In the
case of kexec, it is recommended that all processors CPPR is lowered
first.</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">This call always executes fully synchronously, never returns
+<p class="admonition-title">Note</p>
+<p>This call always executes fully synchronously, never returns
OPAL_BUSY and will work regardless of whether VPs and EQs are left
enabled or disabled. It <em>will</em> spend a significant amount of time
inside OPAL and as such is not suitable to be performed during normal
runtime.</p>
</div>
-</div>
-<div class="section" id="opal-xive-get-irq-info">
+</section>
+<section id="opal-xive-get-irq-info">
<span id="id2"></span><h3>OPAL_XIVE_GET_IRQ_INFO<a class="headerlink" href="#opal-xive-get-irq-info" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_get_irq_info</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">girq</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_flags</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_eoi_page</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_trig_page</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">out_esb_shift</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">out_src_chip</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_get_irq_info</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">girq</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_flags</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_eoi_page</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_trig_page</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_esb_shift</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_src_chip</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Returns info about an interrupt source. This call never returns
OPAL_BUSY.</p>
<ul>
-<li><p class="first">out_flags returns a set of flags. The following flags
+<li><p>out_flags returns a set of flags. The following flags
are defined in the API (some bits are reserved, so any bit
not defined here should be ignored):</p>
<ul>
-<li><p class="first">OPAL_XIVE_IRQ_TRIGGER_PAGE</p>
+<li><p>OPAL_XIVE_IRQ_TRIGGER_PAGE</p>
<p>Indicate that the trigger page is a separate page. If that
bit is clear, there is either no trigger page or the trigger
can be done in the same page as the EOI, see below.</p>
</li>
-<li><p class="first">OPAL_XIVE_IRQ_STORE_EOI</p>
+<li><p>OPAL_XIVE_IRQ_STORE_EOI</p>
<p>Indicates that the interrupt supports the “Store EOI” option,
ie a store to the EOI page will move Q into P and retrigger
if the resulting P bit is 1. If this flag is 0, then a store
to the EOI page will do a trigger if OPAL_XIVE_IRQ_TRIGGER_PAGE
is also 0.</p>
</li>
-<li><p class="first">OPAL_XIVE_IRQ_LSI</p>
+<li><p>OPAL_XIVE_IRQ_LSI</p>
<p>Indicates that the source is a level sensitive source and thus
doesn’t have a functional Q bit. The Q bit may or may not be
implemented in HW but SW shouldn’t rely on it doing anything.</p>
</li>
-<li><p class="first">OPAL_XIVE_IRQ_SHIFT_BUG</p>
+<li><p>OPAL_XIVE_IRQ_SHIFT_BUG</p>
<p>Indicates that the source has a HW bug that shifts the bits
of the “offset” inside the EOI page left by 4 bits. So when
this is set, us 0xc000, 0xd000… instead of 0xc00, 0xd00…
as offets in the EOI page.</p>
</li>
-<li><p class="first">OPAL_XIVE_IRQ_MASK_VIA_FW</p>
+<li><p>OPAL_XIVE_IRQ_MASK_VIA_FW</p>
<p>Indicates that a FW call is needed (either opal_set_xive()
or opal_xive_set_irq_config()) to succesfully mask and unmask
the interrupt. The operations via the ESB page aren’t fully
functional.</p>
</li>
-<li><p class="first">OPAL_XIVE_IRQ_EOI_VIA_FW</p>
+<li><p>OPAL_XIVE_IRQ_EOI_VIA_FW</p>
<p>Indicates that a FW call to opal_xive_eoi() is needed to
successfully EOI the interrupt. The operation via the ESB page
isn’t fully functional.</p>
<ul class="simple">
-<li>out_eoi_page and out_trig_page outputs will be set to the
+<li><p>out_eoi_page and out_trig_page outputs will be set to the
EOI page physical address (always) and the trigger page address
(if it exists).
The trigger page may exist even if OPAL_XIVE_IRQ_TRIGGER_PAGE
is not set. In that case out_trig_page is equal to out_eoi_page.
-If the trigger page doesn’t exist, out_trig_page is set to 0.</li>
-<li>out_esb_shift contains the size (as an order, ie 2^n) of the
+If the trigger page doesn’t exist, out_trig_page is set to 0.</p></li>
+<li><p>out_esb_shift contains the size (as an order, ie 2^n) of the
EOI and trigger pages. Current supported values are 12 (4k)
and 16 (64k). Those cannot be configured by the OS and are set
-by firmware but can be different for different interrupt sources.</li>
-<li>out_src_chip will be set to the chip ID of the HW entity this
+by firmware but can be different for different interrupt sources.</p></li>
+<li><p>out_src_chip will be set to the chip ID of the HW entity this
interrupt is sourced from. It’s meant to be informative only
and thus isn’t guaranteed to be 100% accurate. The idea is for
the OS to use that to pick up a default target processor on
-the same chip.</li>
+the same chip.</p></li>
</ul>
</li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="opal-xive-eoi">
+</section>
+<section id="opal-xive-eoi">
<span id="id3"></span><h3>OPAL_XIVE_EOI<a class="headerlink" href="#opal-xive-eoi" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_eoi</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">girq</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_eoi</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">girq</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Performs an EOI on the interrupt. This should only be called if
OPAL_XIVE_IRQ_EOI_VIA_FW is set as otherwise direct ESB access
is preferred.</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
+<p class="admonition-title">Note</p>
<p>This is the <em>same</em> opal_xive_eoi() call used by OPAL XICS
emulation. However the XIRR parameter is re-purposed as “GIRQ”.</p>
-<p class="last">The call will perform the appropriate function depending on
+<p>The call will perform the appropriate function depending on
whether OPAL is in XICS emulation mode or native XIVE exploitation
mode.</p>
</div>
-</div>
-<div class="section" id="opal-xive-get-irq-config">
+</section>
+<section id="opal-xive-get-irq-config">
<span id="id4"></span><h3>OPAL_XIVE_GET_IRQ_CONFIG<a class="headerlink" href="#opal-xive-get-irq-config" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_get_irq_config</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">girq</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_vp</span><span class="p">,</span>
- <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">out_prio</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">out_lirq</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_get_irq_config</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">girq</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_vp</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_prio</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_lirq</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Returns current the configuration of an interrupt source. This is
the equivalent of opal_get_xive() with the addition of the logical
interrupt number (the number that will be presented in the queue).</p>
<ul class="simple">
-<li>girq: The interrupt number to get the configuration of as
-provided by the device-tree.</li>
-<li>out_vp: Will contain the target virtual processor where the
+<li><p>girq: The interrupt number to get the configuration of as
+provided by the device-tree.</p></li>
+<li><p>out_vp: Will contain the target virtual processor where the
interrupt is currently routed to. This can return 0xffffffff
-if the interrupt isn’t routed to a valid virtual processor.</li>
-<li>out_prio: Will contain the priority of the interrupt or 0xff
-if masked</li>
-<li>out_lirq: Will contain the logical interrupt assigned to the
-interrupt. By default this will be the same as girq.</li>
+if the interrupt isn’t routed to a valid virtual processor.</p></li>
+<li><p>out_prio: Will contain the priority of the interrupt or 0xff
+if masked</p></li>
+<li><p>out_lirq: Will contain the logical interrupt assigned to the
+interrupt. By default this will be the same as girq.</p></li>
</ul>
-</div>
-<div class="section" id="opal-xive-set-irq-config">
+</section>
+<section id="opal-xive-set-irq-config">
<span id="id5"></span><h3>OPAL_XIVE_SET_IRQ_CONFIG<a class="headerlink" href="#opal-xive-set-irq-config" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_set_irq_config</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">girq</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">vp</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">prio</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">lirq</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_set_irq_config</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">girq</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp</span><span class="p">,</span><span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">prio</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">lirq</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This allows configuration and routing of a hardware interrupt. This is
@@ -459,18 +454,15 @@ equivalent to opal_set_xive() with the addition of the ability to
configure the logical IRQ number (the number that will be presented
in the target queue).</p>
<ul>
-<li><p class="first">girq: The interrupt number to configure of as provided by the
-device-tree.</p>
-</li>
-<li><p class="first">vp: The target virtual processor. The target VP/Prio combination
+<li><p>girq: The interrupt number to configure of as provided by the
+device-tree.</p></li>
+<li><p>vp: The target virtual processor. The target VP/Prio combination
must already exist, be enabled and populated (ie, a queue page must
-be provisioned for that queue).</p>
-</li>
-<li><p class="first">prio: The priority of the interrupt.</p>
-</li>
-<li><p class="first">lirq: The logical interrupt number assigned to that interrupt</p>
+be provisioned for that queue).</p></li>
+<li><p>prio: The priority of the interrupt.</p></li>
+<li><p>lirq: The logical interrupt number assigned to that interrupt</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
+<p class="admonition-title">Note</p>
<p>Note about masking:</p>
<p>If the prio is set to 0xff, this call will cause the interrupt to
be masked (*). This function will not clobber the source P/Q bits (**).
@@ -480,14 +472,14 @@ discarded, potentially leaving the ESB in a stale state. Thus
care must be taken by the caller to “cleanup” the ESB state
appropriately before enabling an interrupt with this.</p>
<p>(*) Escalation interrupts cannot be masked via this function</p>
-<p class="last">(**) The exception to this rule is interrupt sources that have
+<p>(**) The exception to this rule is interrupt sources that have
the OPAL_XIVE_IRQ_MASK_VIA_FW flag set. For such sources, the OS
should make no assumption as to the state of the ESB and this
function <em>will</em> perform all the necessary masking and unmasking.</p>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">This call contains an implicit opal_xive_sync() of the interrupt
+<p class="admonition-title">Note</p>
+<p>This call contains an implicit opal_xive_sync() of the interrupt
source (see OPAL_XIVE_SYNC below)</p>
</div>
<p>It is recommended for an OS exploiting the XIVE directly to not use
@@ -499,124 +491,118 @@ a new handler for an interrupt that had none. In these case, losing
interrupts happening while no handler was attached is considered fine.</p>
</li>
</ul>
-</div>
-<div class="section" id="opal-xive-get-queue-info">
+</section>
+<section id="opal-xive-get-queue-info">
<span id="id6"></span><h3>OPAL_XIVE_GET_QUEUE_INFO<a class="headerlink" href="#opal-xive-get-queue-info" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_get_queue_info</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">vp</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">prio</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_qpage</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_qsize</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_qeoi_page</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">out_escalate_irq</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_qflags</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_get_queue_info</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">prio</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_qpage</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_qsize</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_qeoi_page</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_escalate_irq</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_qflags</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This returns informations about a given interrupt queue associated
with a virtual processor and a priority.</p>
<ul>
-<li><p class="first">out_qpage: will contain the physical address of the page where the
+<li><p>out_qpage: will contain the physical address of the page where the
interrupt events will be posted or 0 if none has been configured
-yet.</p>
-</li>
-<li><p class="first">out_qsize: will contain the log2 of the size of the queue buffer
-or 0 if the queue hasn’t been populated. Example: 12 for a 4k page.</p>
-</li>
-<li><p class="first">out_qeoi_page: will contain the physical address of the MMIO page
-used to perform EOIs for the queue notifications.</p>
-</li>
-<li><p class="first">out_escalate_irq: will contain a girq number for the escalation
+yet.</p></li>
+<li><p>out_qsize: will contain the log2 of the size of the queue buffer
+or 0 if the queue hasn’t been populated. Example: 12 for a 4k page.</p></li>
+<li><p>out_qeoi_page: will contain the physical address of the MMIO page
+used to perform EOIs for the queue notifications.</p></li>
+<li><p>out_escalate_irq: will contain a girq number for the escalation
interrupt associated with that queue.</p>
<div class="admonition warning">
-<p class="first admonition-title">Warning</p>
-<p class="last">The “escalate_irq” is a special interrupt number, depending
+<p class="admonition-title">Warning</p>
+<p>The “escalate_irq” is a special interrupt number, depending
on the implementation it may or may not correspond to a normal
XIVE source. Those interrupts have no triggers, and will not
be masked by opal_set_irq_config() with a prio of 0xff.</p>
</div>
-<dl class="docutils">
-<dt>..note:: The state of the OPAL_XIVE_VP_SINGLE_ESCALATION flag passed to</dt>
-<dd><p class="first last">opal_xive_set_vp_info() can change the escalation irq number,
+<dl class="simple">
+<dt>..note:: The state of the OPAL_XIVE_VP_SINGLE_ESCALATION flag passed to</dt><dd><p>opal_xive_set_vp_info() can change the escalation irq number,
so make sure you only retrieve this after having set the flag
to the desired value. When set, all priorities will have the
same escalation interrupt.</p>
</dd>
</dl>
</li>
-<li><p class="first">out_qflags: will contain flags defined as follow:</p>
+<li><p>out_qflags: will contain flags defined as follow:</p>
<ul>
-<li><p class="first">OPAL_XIVE_EQ_ENABLED</p>
+<li><p>OPAL_XIVE_EQ_ENABLED</p>
<p>This must be set for the queue to be enabled and thus a valid
target for interrupts. Newly allocated queues are disabled by
default and must be disabled again before being freed (allocating
and freeing of queues currently only happens along with their
owner VP).</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">A newly enabled queue will have the generation set to 1
+<p class="admonition-title">Note</p>
+<p>A newly enabled queue will have the generation set to 1
and the queue pointer to 0. If the OS wants to “reset” a queue
generation and pointer, it thus must disable and re-enable
the queue.</p>
</div>
</li>
-<li><p class="first">OPAL_XIVE_EQ_ALWAYS_NOTIFY</p>
+<li><p>OPAL_XIVE_EQ_ALWAYS_NOTIFY</p>
<p>When this is set, the HW will always notify the VP on any new
entry in the queue, thus the queue own P/Q bits won’t be relevant
and using the EOI page will be unnecessary.</p>
</li>
-<li><p class="first">OPAL_XIVE_EQ_ESCALATE</p>
+<li><p>OPAL_XIVE_EQ_ESCALATE</p>
<p>When this is set, the EQ will escalate to the escalation interrupt
when failing to notify.</p>
</li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="opal-xive-set-queue-info">
+</section>
+<section id="opal-xive-set-queue-info">
<span id="id7"></span><h3>OPAL_XIVE_SET_QUEUE_INFO<a class="headerlink" href="#opal-xive-set-queue-info" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_set_queue_info</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">vp</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">prio</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">qpage</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">qsize</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">qflags</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_set_queue_info</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">prio</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">qpage</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">qsize</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">qflags</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This allows the OS to configure the queue page for a given processor
and priority and adjust the behaviour of the queue via flags.</p>
<ul>
-<li><p class="first">qpage: physical address of the page where the interrupt events will
-be posted. This has to be naturally aligned.</p>
-</li>
-<li><p class="first">qsize: log2 of the size of the above page. A 0 here will disable
-the queue.</p>
-</li>
-<li><p class="first">qflags: Flags (see definitions in opal_xive_get_queue_info)</p>
+<li><p>qpage: physical address of the page where the interrupt events will
+be posted. This has to be naturally aligned.</p></li>
+<li><p>qsize: log2 of the size of the above page. A 0 here will disable
+the queue.</p></li>
+<li><p>qflags: Flags (see definitions in opal_xive_get_queue_info)</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">This call will reset the generation bit to 1 and the queue
+<p class="admonition-title">Note</p>
+<p>This call will reset the generation bit to 1 and the queue
production pointer to 0.</p>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">The PQ bits of the escalation interrupts and of the queue
+<p class="admonition-title">Note</p>
+<p>The PQ bits of the escalation interrupts and of the queue
notification will be set to 00 when OPAL_XIVE_EQ_ENABLED is
set, and to 01 (masked) when disabling it.</p>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">This must be called at least once on a queue with the flag
+<p class="admonition-title">Note</p>
+<p>This must be called at least once on a queue with the flag
OPAL_XIVE_EQ_ENABLED in order to enable it after it has been
allocated (along with its owner VP).</p>
</div>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">When the queue is disabled (flag OPAL_XIVE_EQ_ENABLED cleared)
+<p class="admonition-title">Note</p>
+<p>When the queue is disabled (flag OPAL_XIVE_EQ_ENABLED cleared)
all other flags and arguments are ignored and the queue
configuration is wiped.</p>
</div>
</li>
</ul>
-</div>
-<div class="section" id="opal-xive-donate-page">
+</section>
+<section id="opal-xive-donate-page">
<span id="id8"></span><h3>OPAL_XIVE_DONATE_PAGE<a class="headerlink" href="#opal-xive-donate-page" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_donate_page</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">chip_id</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">addr</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_donate_page</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">chip_id</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">addr</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call is used to donate pages to OPAL for use by VP/EQ provisioning.</p>
@@ -629,15 +615,15 @@ if unspecified. Ideally, when a VP allocation request fails with the
OPAL_XIVE_PROVISIONING error, the OS should allocate one such page
for each chip in the system and hand it to OPAL before trying again.</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">It is possible that the provisioning ends up requiring more than
+<p class="admonition-title">Note</p>
+<p>It is possible that the provisioning ends up requiring more than
one page per chip. OPAL will keep returning the above error until
enough pages have been provided.</p>
</div>
-</div>
-<div class="section" id="opal-xive-allocate-vp-block">
+</section>
+<section id="opal-xive-allocate-vp-block">
<span id="id9"></span><h3>OPAL_XIVE_ALLOCATE_VP_BLOCK<a class="headerlink" href="#opal-xive-allocate-vp-block" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_alloc_vp_block</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">alloc_order</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_alloc_vp_block</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">alloc_order</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call is used to allocate a block of VPs. It will return a number
@@ -653,10 +639,10 @@ see the documentation for opal_xive_donate_page() for details.</p>
below with the OPAL_XIVE_VP_ENABLED flag set before use.</p>
<p>For all priorities, the corresponding queues must also be individually
provisioned and enabled with opal_xive_set_queue_info.</p>
-</div>
-<div class="section" id="opal-xive-free-vp-block">
+</section>
+<section id="opal-xive-free-vp-block">
<span id="id10"></span><h3>OPAL_XIVE_FREE_VP_BLOCK<a class="headerlink" href="#opal-xive-free-vp-block" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_free_vp_block</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">vp</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_free_vp_block</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call is used to free a block of VPs. It must be called with the same
@@ -666,59 +652,56 @@ block will result in an OPAL_PARAMETER error).</p>
below with the OPAL_XIVE_VP_ENABLED flag cleared before use.</p>
<p>All the queues must also have been disabled.</p>
<p>Failure to do any of the above will result in an OPAL_XIVE_FREE_ACTIVE error.</p>
-</div>
-<div class="section" id="opal-xive-get-vp-info">
+</section>
+<section id="opal-xive-get-vp-info">
<span id="id11"></span><h3>OPAL_XIVE_GET_VP_INFO<a class="headerlink" href="#opal-xive-get-vp-info" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_get_vp_info</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">vp</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">flags</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">cam_value</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">report_cl_pair</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">chip_id</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_get_vp_info</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">flags</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">cam_value</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">report_cl_pair</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">chip_id</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call returns information about a VP:</p>
<ul>
-<li><p class="first">flags:</p>
+<li><p>flags:</p>
<ul>
-<li><p class="first">OPAL_XIVE_VP_ENABLED</p>
+<li><p>OPAL_XIVE_VP_ENABLED</p>
<p>Returns the enabled state of the VP</p>
</li>
-<li><p class="first">OPAL_XIVE_VP_SINGLE_ESCALATION (if available)</p>
+<li><p>OPAL_XIVE_VP_SINGLE_ESCALATION (if available)</p>
<p>Returns whether single escalation mode is enabled for this VP
(see opal_xive_set_vp_info()).</p>
</li>
</ul>
</li>
-<li><p class="first">cam_value: This is the value to program into the thread management
-area to dispatch that VP (ie, an encoding of the block + index).</p>
-</li>
-<li><p class="first">report_cl_pair: This is the real address of the reporting cache line
-pair for that VP (defaults to 0, ie disabled)</p>
-</li>
-<li><p class="first">chip_id: The chip that VCPU was allocated on</p>
-</li>
+<li><p>cam_value: This is the value to program into the thread management
+area to dispatch that VP (ie, an encoding of the block + index).</p></li>
+<li><p>report_cl_pair: This is the real address of the reporting cache line
+pair for that VP (defaults to 0, ie disabled)</p></li>
+<li><p>chip_id: The chip that VCPU was allocated on</p></li>
</ul>
-</div>
-<div class="section" id="opal-xive-set-vp-info">
+</section>
+<section id="opal-xive-set-vp-info">
<span id="id12"></span><h3>OPAL_XIVE_SET_VP_INFO<a class="headerlink" href="#opal-xive-set-vp-info" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_set_vp_info</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">vp</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">flags</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="n">report_cl_pair</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_set_vp_info</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">flags</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">report_cl_pair</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call configures a VP:</p>
<ul>
-<li><p class="first">flags:</p>
+<li><p>flags:</p>
<ul>
-<li><p class="first">OPAL_XIVE_VP_ENABLED</p>
+<li><p>OPAL_XIVE_VP_ENABLED</p>
<p>This must be set for the VP to be usable and cleared before freeing it.</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">This can be used to disable the boot time VPs though this
+<p class="admonition-title">Note</p>
+<p>This can be used to disable the boot time VPs though this
isn’t recommended. This must be used to enable allocated VPs.</p>
</div>
</li>
-<li><p class="first">OPAL_XIVE_VP_SINGLE_ESCALATION (if available)</p>
+<li><p>OPAL_XIVE_VP_SINGLE_ESCALATION (if available)</p>
<p>If this is set, the queues are configured such that all priorities
turn into a single escalation interrupt. This results in the loss of
priority 7 which can no longer be used. This this needs to be set
@@ -727,8 +710,8 @@ have been already enabled.</p>
<p>This feature is available if the “single-escalation-property” is
present in the xive device-tree node.</p>
<div class="admonition warning">
-<p class="first admonition-title">Warning</p>
-<p class="last">When enabling single escalation, and pre-existing routing
+<p class="admonition-title">Warning</p>
+<p>When enabling single escalation, and pre-existing routing
and configuration of the individual queues escalation
is lost (except queue 7 which is the new merged escalation).
When further disabling it, the previous value is not
@@ -738,156 +721,156 @@ all the queues.</p>
</li>
</ul>
</li>
-<li><p class="first">report_cl_pair: This is the real address of the reporting cache line
+<li><p>report_cl_pair: This is the real address of the reporting cache line
pair for that VP or 0 to disable.</p>
<blockquote>
<div><div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">When disabling a VP, all other VP settings are lost.</p>
+<p class="admonition-title">Note</p>
+<p>When disabling a VP, all other VP settings are lost.</p>
</div>
</div></blockquote>
</li>
</ul>
-</div>
-<div class="section" id="opal-xive-allocate-irq">
+</section>
+<section id="opal-xive-allocate-irq">
<span id="id13"></span><h3>OPAL_XIVE_ALLOCATE_IRQ<a class="headerlink" href="#opal-xive-allocate-irq" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_allocate_irq</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">chip_id</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_allocate_irq</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">chip_id</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call allocates a software IRQ on a given chip. It returns the
interrupt number or a negative error code.</p>
-</div>
-<div class="section" id="opal-xive-free-irq">
+</section>
+<section id="opal-xive-free-irq">
<span id="id14"></span><h3>OPAL_XIVE_FREE_IRQ<a class="headerlink" href="#opal-xive-free-irq" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_free_irq</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">girq</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_free_irq</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">girq</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call frees a software IRQ that was allocated by
opal_xive_allocate_irq. Passing any other interrupt number
will result in an OPAL_PARAMETER error.</p>
-</div>
-<div class="section" id="opal-xive-sync">
+</section>
+<section id="opal-xive-sync">
<span id="id15"></span><h3>OPAL_XIVE_SYNC<a class="headerlink" href="#opal-xive-sync" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_sync</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">type</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">id</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_sync</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">type</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">id</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call is uses to synchronize some HW queues to ensure various changes
have taken effect to the point where their effects are visible to the
processor.</p>
<ul>
-<li><p class="first">type: Type of synchronization:</p>
+<li><p>type: Type of synchronization:</p>
<ul>
-<li><p class="first">XIVE_SYNC_EAS: Synchronize a source. “id” is the girq number of the
+<li><p>XIVE_SYNC_EAS: Synchronize a source. “id” is the girq number of the
interrupt. This will ensure that any change to the PQ bits or the
-interrupt targetting has taken effect.</p>
-</li>
-<li><p class="first">XIVE_SYNC_QUEUE: Synchronize a target queue. “id” is the girq number
+interrupt targetting has taken effect.</p></li>
+<li><p>XIVE_SYNC_QUEUE: Synchronize a target queue. “id” is the girq number
of the interrupt. This will ensure that any previous occurrence of the
interrupt has reached the in-memory queue and is visible to the processor.</p>
<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">XIVE_SYNC_EAS and XIVE_SYNC_QUEUE can be used together
+<p class="admonition-title">Note</p>
+<p>XIVE_SYNC_EAS and XIVE_SYNC_QUEUE can be used together
(ie. XIVE_SYNC_EAS | XIVE_SYNC_QUEUE) to completely synchronize
the path of an interrupt to its queue.</p>
</div>
</li>
</ul>
</li>
-<li><p class="first">id: Depends on the synchronization type, see above</p>
-</li>
+<li><p>id: Depends on the synchronization type, see above</p></li>
</ul>
-</div>
-<div class="section" id="opal-xive-dump">
+</section>
+<section id="opal-xive-dump">
<span id="id16"></span><h3>OPAL_XIVE_DUMP<a class="headerlink" href="#opal-xive-dump" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_dump</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">type</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">id</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_dump</span><span class="p">(</span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">type</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">id</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This is a debugging call that will dump in the OPAL console various
state information about the XIVE.</p>
<ul class="simple">
-<li>type: Type of info to dump:<ul>
-<li><dl class="first docutils">
-<dt>XIVE_DUMP_TM_HYP: Dump the TIMA area for hypervisor physical thread</dt>
-<dd>“id” is the PIR value of the thread</dd>
+<li><p>type: Type of info to dump:</p>
+<ul>
+<li><dl class="simple">
+<dt>XIVE_DUMP_TM_HYP: Dump the TIMA area for hypervisor physical thread</dt><dd><p>“id” is the PIR value of the thread</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>XIVE_DUMP_TM_POOL: Dump the TIMA area for the hypervisor pool</dt>
-<dd>“id” is the PIR value of the thread</dd>
+<li><dl class="simple">
+<dt>XIVE_DUMP_TM_POOL: Dump the TIMA area for the hypervisor pool</dt><dd><p>“id” is the PIR value of the thread</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>XIVE_DUMP_TM_OS: Dump the TIMA area for the OS</dt>
-<dd>“id” is the PIR value of the thread</dd>
+<li><dl class="simple">
+<dt>XIVE_DUMP_TM_OS: Dump the TIMA area for the OS</dt><dd><p>“id” is the PIR value of the thread</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>XIVE_DUMP_TM_USER: Dump the TIMA area for the “user” area (unsupported)</dt>
-<dd>“id” is the PIR value of the thread</dd>
+<li><dl class="simple">
+<dt>XIVE_DUMP_TM_USER: Dump the TIMA area for the “user” area (unsupported)</dt><dd><p>“id” is the PIR value of the thread</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>XIVE_DUMP_VP: Dump the state of a VP structure</dt>
-<dd>“id” is the VP id</dd>
+<li><dl class="simple">
+<dt>XIVE_DUMP_VP: Dump the state of a VP structure</dt><dd><p>“id” is the VP id</p>
+</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>XIVE_DUMP_EMU: Dump the state of the XICS emulation for a thread</dt>
-<dd>“id” is the PIR value of the thread</dd>
+<li><dl class="simple">
+<dt>XIVE_DUMP_EMU: Dump the state of the XICS emulation for a thread</dt><dd><p>“id” is the PIR value of the thread</p>
+</dd>
</dl>
</li>
</ul>
</li>
</ul>
-</div>
-<div class="section" id="opal-xive-get-queue-state">
+</section>
+<section id="opal-xive-get-queue-state">
<span id="id17"></span><h3>OPAL_XIVE_GET_QUEUE_STATE<a class="headerlink" href="#opal-xive-get-queue-state" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_get_queue_state</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">vp</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">prio</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">out_qtoggle</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">out_qindex</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_get_queue_state</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">prio</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_qtoggle</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_qindex</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call saves the queue toggle bit and index. This must be called on
an enabled queue.</p>
<ul class="simple">
-<li>vp, prio: The target queue</li>
-<li>out_qtoggle: toggle bit of the queue</li>
-<li>out_qindex: index of the queue</li>
+<li><p>vp, prio: The target queue</p></li>
+<li><p>out_qtoggle: toggle bit of the queue</p></li>
+<li><p>out_qindex: index of the queue</p></li>
</ul>
-</div>
-<div class="section" id="opal-xive-set-queue-state">
+</section>
+<section id="opal-xive-set-queue-state">
<span id="id18"></span><h3>OPAL_XIVE_SET_QUEUE_STATE<a class="headerlink" href="#opal-xive-set-queue-state" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_set_queue_state</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">vp</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">prio</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">qtoggle</span><span class="p">,</span>
- <span class="kt">uint32_t</span> <span class="n">qindex</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_set_queue_state</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp</span><span class="p">,</span><span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">prio</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">qtoggle</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">qindex</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call restores the queue toggle bit and index that was previously
saved by a call to opal_xive_get_queue_state(). This must be called on
an enabled queue.</p>
<ul class="simple">
-<li>vp, prio: The target queue</li>
-<li>qtoggle: toggle bit of the queue</li>
-<li>qindex: index of the queue</li>
+<li><p>vp, prio: The target queue</p></li>
+<li><p>qtoggle: toggle bit of the queue</p></li>
+<li><p>qindex: index of the queue</p></li>
</ul>
-</div>
-<div class="section" id="opal-xive-get-vp-state">
+</section>
+<section id="opal-xive-get-vp-state">
<span id="id19"></span><h3>OPAL_XIVE_GET_VP_STATE<a class="headerlink" href="#opal-xive-get-vp-state" title="Permalink to this headline">¶</a></h3>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span> <span class="nf">opal_xive_get_vp_state</span><span class="p">(</span><span class="kt">uint64_t</span> <span class="n">vp_id</span><span class="p">,</span>
- <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">out_state</span><span class="p">);</span>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_xive_get_vp_state</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">vp_id</span><span class="p">,</span><span class="w"></span>
+<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">out_state</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This call saves the VP HW state in “out_state”. The format matches the
XIVE NVT word 4 and word 5. This must be called on an enabled VP.</p>
<ul class="simple">
-<li>vp_id: The target VP</li>
-<li>out_state: Location where the state is to be stored</li>
+<li><p>vp_id: The target VP</p></li>
+<li><p>out_state: Location where the state is to be stored</p></li>
</ul>
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -939,17 +922,15 @@ XIVE NVT word 4 and word 5. This must be called on an enabled VP.</p>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -966,13 +947,14 @@ XIVE NVT word 4 and word 5. This must be called on an enabled VP.</p>
<li class="right" >
<a href="xscom-node-bindings.html" title="XSCOM Bindings"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">P9 XIVE Exploitation</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/xscom-node-bindings.html b/doc/xscom-node-bindings.html
index a5a4dbc..5c48d37 100644
--- a/doc/xscom-node-bindings.html
+++ b/doc/xscom-node-bindings.html
@@ -1,21 +1,20 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>XSCOM Bindings &#8212; skiboot d6d8386
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>XSCOM Bindings &#8212; skiboot e6cda17
documentation</title>
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="_static/classic.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
+ <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+ <script src="_static/jquery.js"></script>
+ <script src="_static/underscore.js"></script>
+ <script src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
@@ -34,8 +33,9 @@
<li class="right" >
<a href="pci-slot.html" title="PCI Slots"
accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">XSCOM Bindings</a></li>
</ul>
</div>
@@ -44,9 +44,9 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="xscom-bindings">
+ <section id="xscom-bindings">
<h1>XSCOM Bindings<a class="headerlink" href="#xscom-bindings" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="xscom-regions">
+<section id="xscom-regions">
<h2>XSCOM regions<a class="headerlink" href="#xscom-regions" title="Permalink to this headline">¶</a></h2>
<p>The top-level xscom nodes specify the mapping range from the 64-bit address
space into the PCB address space.</p>
@@ -59,31 +59,31 @@ space into the PCB address space.</p>
</pre></div>
</div>
<ul class="simple">
-<li>where &lt;chip-base-address-n&gt; is the xscom base address with the gcid-specific
-bits (for chip n) OR-ed in.</li>
+<li><p>where &lt;chip-base-address-n&gt; is the xscom base address with the gcid-specific
+bits (for chip n) OR-ed in.</p></li>
</ul>
<p>Each xscom node has the following properties:</p>
<blockquote>
<div><ul class="simple">
-<li>#address-cells = 1</li>
-<li>#size-cells = 1</li>
-<li>reg = &lt;base-address[#parent-address-cells] size[#parent-size-cells]&gt;</li>
-<li>ibm,chip-id = gcid</li>
-<li>compatible = “ibm,xscom”, “ibm,power8-scom” / “ibm,power7-xscom”</li>
-<li>ecid = &lt;Electronic Chip ID, applicable for POWER9 onwards&gt;</li>
-<li>wafer-id = &lt;wafer ID, applicable for POWER9 onwards&gt;</li>
-<li>wafer-location = &lt;wafer location, applicable for POWER9 onwards&gt;</li>
+<li><p>#address-cells = 1</p></li>
+<li><p>#size-cells = 1</p></li>
+<li><p>reg = &lt;base-address[#parent-address-cells] size[#parent-size-cells]&gt;</p></li>
+<li><p>ibm,chip-id = gcid</p></li>
+<li><p>compatible = “ibm,xscom”, “ibm,power8-scom” / “ibm,power7-xscom”</p></li>
+<li><p>ecid = &lt;Electronic Chip ID, applicable for POWER9 onwards&gt;</p></li>
+<li><p>wafer-id = &lt;wafer ID, applicable for POWER9 onwards&gt;</p></li>
+<li><p>wafer-location = &lt;wafer location, applicable for POWER9 onwards&gt;</p></li>
</ul>
</div></blockquote>
-</div>
-<div class="section" id="ecid">
+</section>
+<section id="ecid">
<h2>ECID<a class="headerlink" href="#ecid" title="Permalink to this headline">¶</a></h2>
<p>Electronic Chip ID (ECID) is a process by which the wafer number, chip location
(i.e. X,Y) and other optional data items are electrically encoded directly on
the chip. wafer-id property represents wafer number and wafer-location property
represents chip location (both X and Y location).</p>
-</div>
-<div class="section" id="chiplet-endpoints">
+</section>
+<section id="chiplet-endpoints">
<h2>Chiplet endpoints<a class="headerlink" href="#chiplet-endpoints" title="Permalink to this headline">¶</a></h2>
<p>One sub-node per endpoint. Endpoints are defined by their (port,
endpoint-address) data on the PCB, and are named according to their endpoint
@@ -94,15 +94,15 @@ types:</p>
</pre></div>
</div>
<ul class="simple">
-<li>where the &lt;endpoint-addr&gt; is a single address (as distinct from the current
+<li><p>where the &lt;endpoint-addr&gt; is a single address (as distinct from the current
(gcid,base) format), consisting of the SCOM port and SCOM endpoint bits in
-their 31-bit address format.</li>
+their 31-bit address format.</p></li>
</ul>
<p>Each endpoint node has the following properties:</p>
<blockquote>
<div><ul class="simple">
-<li>reg = &lt;endpoint-address[#parent-address-cells] size[#parent-size-cells]&gt;</li>
-<li>compatible - depends on endpoint type, eg “ibm,power8-chiptod”</li>
+<li><p>reg = &lt;endpoint-address[#parent-address-cells] size[#parent-size-cells]&gt;</p></li>
+<li><p>compatible - depends on endpoint type, eg “ibm,power8-chiptod”</p></li>
</ul>
</div></blockquote>
<p>The endpoint address specifies the address on the PCB. So, to calculate the
@@ -114,15 +114,16 @@ MMIO address for a PCB register:</p>
<p>Where:</p>
<blockquote>
<div><ul class="simple">
-<li>xscom-base-addr is the address from the first two cells of the parent
-node’s reg property</li>
-<li>pcb_addr is the first cell of the endpoint’s reg property</li>
+<li><p>xscom-base-addr is the address from the first two cells of the parent
+node’s reg property</p></li>
+<li><p>pcb_addr is the first cell of the endpoint’s reg property</p></li>
</ul>
</div></blockquote>
-</div>
-</div>
+</section>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
@@ -152,17 +153,15 @@ node’s reg property</li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
+ <h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
- <input type="text" name="q" />
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
</form>
</div>
</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
@@ -179,13 +178,14 @@ node’s reg property</li>
<li class="right" >
<a href="pci-slot.html" title="PCI Slots"
>previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">skiboot d6d8386
- documentation</a> &#187;</li>
+ <li class="nav-item nav-item-0"><a href="index.html">skiboot e6cda17
+ documentation</a> &#187;</li>
+ <li class="nav-item nav-item-this"><a href="">XSCOM Bindings</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016-2017, IBM, others.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html> \ No newline at end of file